1. Trang chủ
  2. » Luận Văn - Báo Cáo

THIẾT KẾ ASIC CHO BỘ LỌC FIR CÔNG SUẤT THẤP LUẬN VĂN THẠC SỸ KỸ THUẬT ĐIỆN, ĐẠI HỌC BÁCH KHOA

62 47 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,89 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.2.1 Yêu cầu về thiết k ế ASIC cho bộ lọc FIRTối ưu số Area củủa Cell Tối ưu chi phí sản xuấấtt Tối ưu công suấtt 1.2.2 Các biểu cảm cảm xúc trên mặt ngườ iCon ngườ i có nhiều cách để

Trang 1

ĐẠ ĐẠI H I HỌ ỌC QU C QUỐ ỐC GIA TP.HCM C GIA TP.HCM TRƯỜNG ĐẠ

CHHOEUNG YEAN

THI THIẾ ẾT K  T K Ế Ế ASIC CHO B  ASIC CHO BỘ Ộ L  LỌ ỌC FIR C FIR

CÔNG SU CÔNG SUẤ ẤT TH T THẤ ẤP P

Chuyên ngành: K ỹỹ thuật điện tửử  

Mã sốố: 1678001

LU LUẬN VĂN THẠC SĨ ẬN VĂN THẠC SĨ  

Trang 2

ngày tháng tháng năm năm .

Thành phầần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họọ, tên, họọc hàm, họọc vịị củủa Hội đồng chấấm bảảo vệệ luận văn thạc sĩ)  

Trang 3

ĐẠI HỌC QUỐC GIA TP.HCM ĐẠI HỌC QUỐC GIA TP.HCM   TRƯỜNG ĐẠI HỌC BÁCH KHOA TRƯỜNG ĐẠI HỌC BÁCH KHOA   CỘNG HÒA XÃ HỘI CHỦ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Tự do Tự do Hạnh phúc Hạnh phúcNGHĨA VIỆT NAM  Độc lập   Độc lập

NHI NHIỆ ỆM V M VỤ Ụ LU  LUẬN VĂN THẠC SĨ ẬN VĂN THẠC SĨ  

Họ tên học viên: Chhoeung Chhoeung Yean Yean MSHV: MSHV: 16780011678001

I.  TÊN ĐỀTÊN ĐỀ TÀI: THI TÀI: THIẾẾT K T K ẾẾ ASIC CHO B ASIC CHO BỘỘ L LỌỌC FIR CÔNG SUC FIR CÔNG SUẤẤT THT THẤẤPP

II.  NHINHIỆỆM M VVỤỤ   VÀ VÀ NNỘỘI DUNG:I DUNG:   ThiThiếết t k k ếế  đượ c c mmộột con chip có thểể   ttối ưu đượ cccông suấất vớ i thuậật toán bộộ l lọọc FIR bằằng tr ễễ và diệện tích củủa a CMOS CMOS trong trong vi mvi mạạch

ssốố  III.   NGÀY GIAO NHINGÀY GIAO NHIỆỆM VM VỤỤ : : 15/01/2018  

IV.   NGÀY HOÀN THÀNH NHINGÀY HOÀN THÀNH NHIỆỆM VM VỤỤ: 30/12/2018

V.  CÁN BCÁN BỘỘ  HƯỚ HƯỚ NG DNG DẪẪNN: TS Trương Quang Vinh  

CHỦ NHIỆM BỘ

CHỦ NHIỆM BỘ  MÔN ĐÀO TẠOMÔN ĐÀO TẠO  

(Họ tên và chữ ký) (Họ tên và chữ ký)  

TRƯỞNG KHOA….………

TRƯỞNG KHOA….………  

(H ọọ  tên và ch ữữ  ký)

G Ghi ch hi chú ú: Học viên phải đóng tờ nhiệm vụ này vào trang đầu tiên của tập thuyết minh LV   

Trang 4

L LỜI CÁM ƠN ỜI CÁM ƠN  

Được sự phân công của nhà trường, khoa điện –   điện tử và  sự đồng ý của giáoviên hướng dẫn TS Trương Quang Vinh, em đã thực hiện luận văn thạc sĩ chuyênngành kỹ thuật điện tử  với đề tàivới đề tài ““ThiThiếết t k k ếế ASIC cho b ASIC cho bộộ  llọọc FIR công suc FIR công suấất t ththấấpptrên công ngh

trên công nghệệ CMOS 90NM CMOS 90NM”” Qua trang viết này emQua trang viết này em  xin gửi lời cảm ơn tới nhữngngười đã giúp đỡ em  trong thời gian học tập, nghiên cứu luận văn thời gian qua.  

Trước hết, em xin gửi lời cảm ơn chân thành đến TS TrươngQuang Vinh Thầy  

là người đã trực tiếp hướng dẫn và tận tình chỉ bảo trong công việc nghiên cứu, tìmkiếm tài liệu, xử lý và phân tích vấn đề của luận văn Nhờ thầy  mà em có thể hoànthành luận văn cao học.  

 Ngoài  Ngoài ra, em ra, em cũng xcũng xin in chân tchân thành cảm hành cảm ơn ơn quý quý đồng đồng nghiệp, nghiệp, gia gia đìnhđình  và bạn bècùng khóa đã luôn động viên và hỗ trợ em trong suốt quá trình nghiên cứu và hoànthành luận văn này.  

TÁC GIẢ TÁC GIẢ  

Chhoeung Yean

Trang 5

TÓM T TÓM TẮ ẮT TTi

Tiếếng Ving Việệt:t:

 Ngày nay các thiếết bịị  di động như điện thoại di động, máy tính xách tay, hay cácthiếết t bbịị  y sinh cầầm tay ngày càng tr ở   nên phổổ   bibiếến và mộột t phphầần n ttấất t yyếếu trong cuộộcc

ssốống Bô lọọc FIR , hay bộộ l lọc đáp ứng xung hữữu hạạn (Finite Impulse Response) đượ cc

ssửử dụụng r ấất r ộộng rãi trong các thiếết bịị y sinh, xửử lý tiếếng nói, xửử lý hình ảảnh, và xửử lývideo Bộộ l lọọc này, sửử dụụng các nguồn năng lượng để xửử lý các quá trình trên r ấất nhiềềuunăng lượ ng Không chỉỉ  có độ  ổn định điện áp và dòng điện mà nó còn có hiệệu suấất lọọccnăng lượ ng cao Sựự l lọc ọc năng năng lượ lượ ng từừ bộộ l lọọc FIR cấp điệc cho mộột thiếết bịị hoạt động

vvới điện áp thấp hơn thương thông qua các nguồn điện củủa tín hiệệu, tín hiệệu hình ảảnh,tín hiệệu video, tín hiệệu tiếếng nói Việệc sửử dụụng bộộ l lọọc FIR nhằằm tạạo ra nhiềều mức điệnn

áp khác nhau phụục c vvụụ cho các khốối i chchức năng mạch, thiếết t bbịị và các ứứng ng ddụụng trong

cùng mộột hệệ thốống Yêu cầầu bộộ l lọc đáp ứng xung hữữu hạạn, hiệu năng sau khi đượ c lọọcc

có độ gợn năng lượng tháp để  đảm bảảo cho hệệ thốốngổn định theo ngõ ra cho phép

Luận văn này trình bày các vấn đề  liên quan đến n bbộộ  llọọc FIR giảảm m hihiệệu u susuấất tín

hiệệu u bbằng phương pháp xung, thực c hihiệện trên mô phỏỏng hoạt động vi mạạch trên nên

ttảảng công nghệệ 180nm  180nm Trong báo Trong báo cáo này, cáo này,

Luận văn đã thực c hihiệện thành công mô phỏỏng ng bbộộ  llọọc FIR trên cấp độ  ddạạng khốốiitrên Matlab và mô phỏỏng vi mạạch ch bbằằng phầần n mmềềm Synopsis sửử  ddụụng mã bù bộộ  ccộộngCIA 4bit, và bô cộộng Ripple 16bit K ếết mô phỏỏng so sánh hai bộộ  công này là 70%nhanh hơn so vớ i bộộ cộộng Ripple 16 bit và tiêu thụụ   năng lượ ng hiều hơn 24,7% Mô

 phỏỏng thựực hiện trên thư viện vi mạạch 180nm CMOS TSMC 1p6M cho hiệệu suấất 80%

có khảả  năng

Trang 6

In the 21st  century, the fast growing demand of portable and filter electronicsystem has driven the efforts to reduce power consumption or to improve theefficiency of these electronic equipments Regulator are essential for most electrically powered

 powered system system which which include include the the prevalent prevalent filter filter equipments equipments and and singal singal processing.processing.Regulators are required to reduce the power varriation from DSP system,

Trang 7

L LỜI CAM ĐOAN ỜI CAM ĐOAN  

Tôi xin cam đoan đây là công trình nghiên cứu củủa riêng tôi Các sốố liệệu, k ếết quảả  trong đề tài này là trung thực và chưa công bố  dướ i i bbấất t k k ỳỳ hình thức nào trước đây

Tấất cảả nhữững tham khảảo và k ếế thừừa cho việệc tc thhựực hiệện luận văn này đã đượ c cảm ơn

và các thông tin trích dẫẫn trong luận văn đã đượ c chỉỉ rõ nguồồn gốc và đượ c phép công

 bốố

TP.HCM, ngày ngày tháng tháng năm  

HHọọc viên thc viên thự ự c hic hiệệnn

Chhoeung Yean

Trang 8

Mục lục

1    T Tổổng quan: ng quan:     9 9 1.1    Gi ớ  i thi ệệ u v ềề    đề  tài     9 9 1.2    Đặc trưng củ a m ặt ngườ  ii   Error! Bookmark not defined   

1.2.1    Yêu c ầầ u v ềề  nh ậậ n d ạạ ng khuôn m ặặ t.t    10 10

1.2.2    Các bi ểể u c ảả m c ảả m xúc trên m ặt ngườ  ii   10

1.3    M ụụ c tiêu, nhi ệệ m v ụụ  và ph ạm vi đề  tài   10

1.3.1    M ụụ c tiêu c ủa đề  tài    10 10

1.3.2     Nhi ệệ m v ụụ  c ủa đề  tài    10 10

1.3.3    Ph ạạ m vi c ủa đề  tài    11 11

1.4    T ổổ  ch ứứ c lu ận văn   11

2    Tình hình nghiên c Tình hình nghiên cứu trong và ngoài nướ  ứu trong và ngoài nướ cc    12 12

3    M Mạng nơ  ạng nơ -ron tích ch -ron tích chậập (Convolution neural network - CNN) p (Convolution neural network - CNN)    19 19

3.1    T ổổ ng quan    19 19

3.2    M ạng nơ  -ron tích ch ậậ  p    20 20

4    Thi Thiếết k  t k ếế h  hệệ th  thốống và mô ph ng và mô phỏỏng th ng thử  ử  nghi  nghiệệm m    25 25

4.1    Ki ếế n trúc h ệệ  th ốố ng nh ậậ n di ệệ n c ảả m xúc khuôn m ặặ t s ửử  d ụụ ng m ạng nơ  -ron tích ch ậậ  p (CNN)   25 4.2    D ữữ  li ệệ u s ửử  d ụụ ng cho hu ấấ n luy ệệ n m ạạ ng (Training dataset)    33 33

4.3    Hu ấấ n luy ệệ n cho ki ếế n trúc m ạng nơ  -ron tích ch ậậ  p    35 35

4.4    Thi ếế t k  ếế  giao di ện chương trình (GUI)    46 46

4.5    Mô ph ỏỏ ng và th ựự c nghi ệệ m    47 47

5    Hướ  Hướ ng phát tri ng phát triển đề ển đề tài  tài    58 58

6    Tài li Tài liệệu tham kh u tham khảảoo    59 59

Trang 9

1.  Tổng quan1.1. Giớ i thiệu về đề tàiTrong những năm gần đây, cùng vớ i i ssựự phát triểển nhanh củủa vi mạạch ch ssốố, nóđượ c thiếết k ếế bở i hai quá trình, mộột là thiếết k ếế Front –  End và hai là thiếết k ếế Back –  End Cảả hai qua trình thiếết t k k ếế nhà thiếết k ếế ngày càng dòi hỏỏi công suấất t ththấấ p  p vàvàthông lượ ng cao củủa mứức tiêu thụụ  năng lượ ng Nhữững các nhà thiếết k ếế vi  vi mmạạch sốố  

ssửử  ddụụng ng r r ấất nhiềều toán họọc c ccầần thiết để  ththựực c hihiệện trong qua trình thiếết t k k ếế  để thuđượ c vi mạạch có công suấất thấp, và độ tr ễễ r ấất ít

Luận văn này xin trình bày một quá trình thiếết t k k ếế  vi vi mmạạch ch ssốố  ccủủa a bbộộ  llọc đáp

ứứng xung hữữu hạạn (FIR) Quà trình thiếết k ếế thựực hiệện các chức năng chính: Thiếếtt

k ếế bộộ l lọc đáp ứng xung hữữu hạạn, dựựa vào toán họọc củủa bộộ l lọc đáp ứng xung hữữuu

hhạạn thiếết k ếế mộột vi mạạch sốố bằằng phầần mềềm synopsis Vi mạch đã thiết k ếế có thểể  

ttối ưu đượ c mứức tiệệu thụụ  năng lượ ng

Cốốt lõi của phương pháp tiế p cậận củủa luận văn đưa ra đượ c dựựa trên việệc:

    Lựựa chọọn bài toán học để thiếết k ếế  

    Sửử dụng phương pháp bộộ l lọc đáp ứng xung hữữu hạạn (FIR)

    Thiếết k ếế bộộ l lọc đáp ứng xung hữữu hạạn công suậật thấấ p1.2. Đặc tr ưng của quá trình thiết k ế ASIC cho bộ lọc FIR

Vi mạạch sốố là tr ọọng tâm chính trong mốối quan hệệ giao tiếế p trong  p trong mmọi lĩnh vực,

đó vai trò quan trọng trong việệc thiếết k ếế   vi vi mach mach ssốố có thểể t tối ưu đượ c công suốốtt

và tốối i titiểu đượ c chi phí sảản sn suuất cũng như chi phí tiêu thụ  năng lượ ng ng ccủa ngườ iidùng Để thiếết k ếế  được điều đó, chúng ta thiết k ếế vi mạạch cho mộột bộộ l lọc đáp ứngxung hữữu hạn (FIR) Điều này khá là rõ nét, Bộộ l lọc đáp ứng xung hữữu hạạn là mộộtt

 bộộ l lọọc tính toán nhanh và tốối tiểểu con CMOS cho qua trình thiếết k ếế  ASIC Nhũng bài toán đã xử trong bộộ l lọọc FIR này gồồm có:

1.   Cửửa sốố  

2.   Mẫẫu tầần sốố  

3.   Lặặ p tối ưu  

Trang 10

1.2.1  Yêu cầu về thiết k ế ASIC cho bộ lọc FIR

Tối ưu số Area củủa Cell

Tối ưu chi phí sản xuấấtt

Tối ưu công suấtt

1.2.2 

Các biểu cảm cảm xúc trên mặt ngườ iCon ngườ i có nhiều cách để truyền đạt thông tin vớ i nhau: ngôn ngữữ, , ccửử  chchỉỉ,,

llời nói… Biểu hiệện cảảm xúc trên khuôn mặt cũng là một cách để truyền đạt thôngtin, nó có thểể   bibiểểu u hihiệện n mmộột t nhnhận định nh ccủa con người trướ c c ssựự   vvậật, hiện tườ ng.Hình bên dướ i là 7 cảm xúc cơ bản cửử  con người mà đề  tài này đề cậậ p tớ ii –  nhậậnn

ddạạng, phân biệt đượ c 7 loạại cảm xúc cơ bản của con ngườ i Tiến sĩ Paul Ekman đãtrình bày 7 cảm xúc cơ bản và được con ngườ ii ở  mọọi nền văn hóa thể hiệện giốốngnhau trong Emotions Revealed (2003)

1.3. Mục tiêu, nhiệm vụ và phạm vi đề tài1.3.1  Mục tiêu của đề tài

 Nhậận n didiệện n ccảảm xúc trên khuôn mặt ngườ i là mộột trong những đề tài thiếết t ththựực và

ccầần thiết đối vớ i sựự phát triểển giao tiếp ngườ i-máy hiệện nay, vì vậậy:

    Cảảm xúc trên khuôn mặt người đượ c máy nhậận biếết mộột cách tựự  động

    Thông tin vềề cảảm xúc có thểể  đượ c ghi nhậậnn để làm dữữ liệệu cho nhữững phân

tích vềề thịị  trườ ng, mức độ hài lòng củủa khách hàng

    Từừ việệc phân tích dữữ liệệu trên, một vài hành động có thểể  được đưa ra nhằmnâng cao chất lượ ng dịịch vụụ hoặc điều chỉỉnh chất lượ ng sảản phẩẩm

1.3.2   Nhiệm vụ của đề tài

    Phát hiệện và trích xuấất khuôn mặặt từừ  ảảnh / video thờ i gian thựựcc

    Tính toán và ước lượ ng cảảm xúc trên khuôn mặặtt ở  khung ảảnh hiệện tạạii

    Trích xuấất cảảm xúc trên khuôn mặặt và hiểển thịị k ếết quảả  

Trang 11

Luận văn sẽ  đi qua các mục chính sau:

   Xem qua các nghiên cứu trong và ngoài nướ c vềề  đề tài củủa luận văn      Phân tích thuậật toán nhậận dạạng cảảm xúc khuôn mặặt (Mạng nơ -ron tích chậậ p)    Mô phỏỏng và thửử nghiệệm

   K ếết luậận và thảảo luậận vềề các cảải tiếến có thểể  trong tương lai  

Trang 12

2.  Tình hình nghiên cứu trong và ngoài nướ c

 Nhậận n didiệện n ccảảm xúc trên khuôn mặt ngườ ii đang là một lĩnh vực đượ c nghiên

ccứứu nhiều trong lĩnh vực thịị giác máy tính. giác máy tính Trong phTrong phần luận văn này, em xin đưa

ra

ra mmộột t ssốố  lĩnh vực nghiên cứứu, u, mmộột t ssốố   phương  phương pháp pháp tiếtiế p  p ccậậnn đặc trưng để  ngườ ii

đọc có thểể kham thảảo

 Năm 2010,  Năm 2010, táctác  gigiảả  Đinh Xuân Nhấất trong khóa luậận n ttốốt nghiệp Đại i hhọọc Côngnghệệ   Đại i hhọọc c QuQuốốc gia Hà Nội, “ội, “Nghiên cNghiên cứ ứ u các thuu các thuậật toán nht toán nhậận n ddạạng ng ccảảmmxúc trên khuôn m

xúc trên khuôn mặặt t 2D2D”, đã đưa các so sánh 3 thuậ”, đã đưa các so sánh 3 thuật toán nhậận n ddạạng ng ccảảm xúctrên khuôn mặặt t ggồồm 5 m 5 ccảảm xúc cơ bản: vui, buồồn, ghê tở m, giậận n ddữữ  và tvà tựự nhiên.Tác giảả  đđã ã chchỉỉ  ra ra mmộột t ssốố  thuthuậật toán họọc và áp dụụng thuậật toán này cho bài toán phân lớp để nhậận dạạng cảảm xúc

Dữữ   liliệu đầu u vvào mà đề  tài sửử   ddụụng bao gồồm có 75 ảảnh khuôn mặặt t mmẫu, độ  

 phân giải 600x800 điểm ảảnh, tấất cảả  đều là ảảnh khuôn mặặt một ngườ i và có độ sángđồng đều nhau Tậậ p ảảnh này chỉỉ có 5 cảảm xúc chính là: vui, buồồn, ghê tở m, giậậnn

ddữữ và bình thườ ng Trong 75 ảảnh khuôn mặặt mẫẫu, 40 ảảnh bấất k ỳỳ chọọn làm dữữ liệệuu

huấấn luyệện cho mạạng, còn 35 ảảnh làm dữữ liệệu kiểểm tra

 Nhữững k ếết quảả chính mà khóa luận đạt đượ c:

    Giớ i thiệệu chi tiếết t vvềề   phương  phương phpháp trích chọn đặc trưng (PCA) và à MMạạngnoron nhiềều u ttầầng truyềền n ththẳng, đồng thờ i i gigiớ i thiệu sơ lượ c c vvềề  mmộột t gigiảảiithuậật phân lớ  p khác là cây quyết định

    Áp dụụng các giảải thuậật này cho bài toán nhậận dạạng cảảm xúc

 Nhữững vấn đề mà khóa luận chưa giải quyết đượ c:

    Xây dựựng tậậ p huấấn luyệện lớn để  đạt k ếết quảả chính xác hơn  

    Xây dựựng ng mmột chương tr ình hoàn chỉỉnh có giao diện tương tác với ngườ ii

ssửử dụụng

Trang 13

K ếết quảả nhậận dạng thu được chưa cao, phân bốố không đồng đều giữữa các cảảmxúc vớ i nhau:

Cảm xúc  Phương pháp  

Vui Ghêtởm   Giậndữ   Buồn   thườngBình    Trung bình

PCA truyền thống   80% 70% 86% 55% 84% 84% 75.00%75.00%Mạng noron   100% 100% 67% 50% 80% 80% 79.40%79.40%Cây quyết định   60% 60% 14.30% 14.30% 16.70% 16.70% 0% 60% 60% 30.20%30.20%

BBảảng 2.1:ng 2.1: So sánh độSo sánh độ chính xác c chính xác củủa ma mộột st sốố  phương phápphương pháp (1) (1)Năm 2010

Năm 2010, Trong bài báo “, Trong bài báo “F F a acia cial E l Exp xprre essio ssion Re n Reco cogni gnittiio on Using A n Using AA AM M  A

 Algo lgorriitthm hm”, các tác giả Nguyen Duc Thanh, Nguyen Huu Tan, Nguyen Tan Luy

đến từừ Bộộ môn Tựự  động, Đại họọc Bách Khoa TP.HCM đã đề xuất 2 phương pháp,trong đó 1 là AAM kết hợ  p mạạng thầần kinh cho k ếết quảả chính xác hơn nhưng tốcc

độ xửử lý chậậm, và phương pháp kia là AAM kết hợp tương quan điểm vớ i tốc độ  

for human-robot interaction” các tác giả” các tác giả Le Thi-Lan và Dong Van-Thai đến từừ  

Đại i hhọọc Bách Khoa Hà Nội ội đđã trình bày k ếết t ququảả nghiên cứứu u vvềề  nhnhậận n ddạạng ng ccảảmxúc khuôn mặt ngườ i i ViViệệt Nam, trong đó bao gồồm việệc xây dựựng database, phát

hiệện khuôn mặặt và nhậận dạạng biểểu hiệện khuôn mặt Đóng góp chính trong bài báo

là database biểểu u hihiệện khuôn mặặt t ccủa ngườ i i ViViệệt Nam, và k ếết t ququảả  sơ bộ  vvềề  phát

hiệện và nhậận dạạng biểểu hiệện cảảm xúc trên khuôn mặặt.t

Trang 14

K ếết t ququảả  phát hiệện khuôn mặặt t vvới độ  chính xác là 83% vớ i hình ảảnh nhiềềuukhuôn mặặt và 94% vớ i hìnhảảnh mộột khuôn mặặt.t.

Hình 2.1: Các thành phHình 2.1: Các thành phần cơ bảần cơ bản cn củủa khuôn ma khuôn mặặtt

Mộột nghiên cứứu Liyuan Zhen và Shifeng Zhu, “Convolutional Neural Networkfor Facial Expression Recognition” chỉ ra k ếết quảả triểển khai củủa mộột sốố kiếến trúc

ccủủa mạng nơ ron tích chậậ p mà nhóm đã thực hiệện Tuy nhiên k ếết quảả  đạt đượ ccchưa cao

Trang 15

Tác giảả   ssửử   ddụụng ng ddữữ   liliệệu u ttừừ   cucuộộc thi nhậận n ddạạng ng ccảảm xúc khuôn mặặt Kaggle(Kaggle facial expression challenge) bao gồồm 28709 ảảnh và cho việệc c huhuấấn luyệệnn

và 3589 ảảnh cho việệc kiểểm tra, các ảảnh này là ảảnh khuôn mặt ngườ i có kích thướ cc48x48 pixels và được định dạạng ở   ảảnh xám

Hình 2.2: CHình 2.2: Cảảm xúc trên khuôn mm xúc trên khuôn mặặt và tht và thốống kê dng kê dữ ữ  li liệệu trongu trong  KaggleArushi Raghuvanshi và   Vivek Choksi   đã giớ i thiệu đề   ttài ài ““FacialFacialExpression Recognition with Convolutional Neural Networks

Expression Recognition with Convolutional Neural Networks” ” sửsử  ddụụng ng mmạạng

nơ ron tích chậậ p  p 5 5 llớp để  gigiảải quyếết bài toán nhậận n didiệện n ccảảm xúc khuôn mặặt trênảnh Baseline classifier cũng đượ c sửử dụụnng trong đề t tài này để  đưa ra kết quảả tínhtoán vềề cảảm xúc khuôn mặặt.t

 Nhóm  Nhóm ssửử   ddụụng ng ddữữ   liliệệu u ttừừ   cucuộộc thi nhậận n ddạạng ng ccảảm xúc khuôn mặặt Kaggle

(Kaggle facial expression challenge) để  tritriểển khai và kiểểm tra hệệ  ththốống, k ếết t ququảả  triểển khai củủa 5 mô hình dựựa trên mạạng nơ -ron tích chậậ p không cao

Trang 16

 Năm  Năm 2017, 2017, các các tác tác giảgiả  Minh-An Quinn, Grant Sivesind, Guilherme Reis  

ccủa đại i hhọọc Stanford đã giớ i thiệệu nhiềều mô hình nhân dạạng ng ccảảm xúc khuôn mặặtttrong đề  tài: “tài: “Real-time Emotion Recognition From Facial ExpressionsReal-time Emotion Recognition From Facial Expressions””, thựựcc

hiệện trên mộột t ssốố  ttậậ p  p ddữữ  liliệệu, trong đó có  FER2013 Trong đó có mô hình mạng

nơ -ron tích chậậ p  p vvớ i 10 lớp và độ  chính xác đạt đượ c 66,67% trên tậậ p FER2013

Độ chính xác tậậ p  p trung trung chchủủ  yyếếuu ở  các cảảm xúc vui, ngạạc nhiên, giậận và tựự nhiên

K ếết quảả này hoàn toàn trùng khớ  p khi thựực hiệện giảải thuậật này trên video thờ i gian

thựực

Hình 2.3 Ma trHình 2.3 Ma trậận cn cảảm xúc cm xúc của đềủa đề tài (1) tài (1)

Trang 17

BBảảng 2.4:ng 2.4: So sánh độSo sánh độ chính xác c chính xác củủa ma mộột st sốố  phương pháp (4)phương pháp (4)   Ngày 20

 Ngày 20 tháng 10 tháng 10 năm 2017,năm 2017, các tác giảả Octavio Arriaga, Matias Toro, Paul Plöger giớ i thiệệu mộột nghiên cứu mang tên “ứu mang tên “Real-time ConvolutionalReal-time ConvolutionalNeural Networks for Emotion and Gender Classification

Valdenegro-Neural Networks for Emotion and Gender Classification”.”. Nghiên  Nghiên ccứứu này

thựực hiệện các công việệc: nhậận diệện khuôn mặặt, nhậận diệện cảảm xúc k ếết hợ  p vớ i giớ iitính xửử lý thờ i gian thựực

Trang 18

Hình 2.4 MôHình 2.4 Mô hình đượ hình đượ c gic giớ ớ i thii thiệu trong đềệu trong đề tài tài

Hình 2.5 Ma trHình 2.5 Ma trậận cn cảảm xúc cm xúc của đềủa đề tài (2) tài (2)

Trang 19

Hệệ thống đượ c thiếết k ếế vớ i các lớp cơ bản củủa mộột hệệ thốống mạng nơ -ron tích

chậậ p,  p, tuy tuy nhiên, nhiên, không không ssửử   ddụụng ng llớ  p  p k k ếết t nnối đầy đủ  trong mạạng Hệệ   ththống đượ cc

huấấn luyệện n vvớ i IMDB dataset vớ i 460,723 hình ảảnh RGB vềề  gigiới tính, độ chínhxác đạt đượ c là 96%, 35,887 hình ảảnh từừ  FER2013 với độ chính xác khoảản 66%.Trên đây là một t ssốố nghiên cứu trong và ngoài nước liên quan đến n viviệệc c nhnhậậnn

ddạạng ng ccảảm xúc khuôn mặặt, t, mmỗỗi nghiên cứu đều có ưu  điểm và nhược điểm riêng,

hhầầu hếết các nghiên cứu đều dùng hình ảnh để làm tậậ p huấấn luyệện và tậậ p kiểểm tra

độ chính xác củủa a hhệệ  ththốống Phầần n titiếế p  p theo theo ccủa đề tài sẽẽ là phầần phân tích thuậậtttoán nhậận dạạng cảảm xúc khuôn mặặt sửử dụụng mạng nơ -ron tích chậậ p (CNN)

3.  Mạng nơ -ron tích chập (Convolution neural network - CNN)3.1.  Tổng quan

Mạng nơ -ron truyềền n ththẳẳng nhiềều u llớ  p  p là là mmộột t k k ỹỹ  thuthuậật có sứức c mmạạnh và tầầm ảảnh

hưở ng lớ n trong máy họọc (machine learning) vớ i việc đượ c huấấn luyệện dựa như là

mộột hàm không tuyến tính để  gigiảải quyếết t mmộột t ssốố bài toán thựực c ttếế Tuy nhiên việệcc

llựựa a chchọọn n ththủủ công thuậật toán trích xuất đặt trưng và thuật toán phân loại thườ ng

ddựựa theo kinh nghiệệm, dẫn đến bài toán không tối ưu Do đó, hướ ng giảải quyếết tốốtt

nhất là đưa mạng nơ -ron lên dữữ liệu thô ban đầu và để cho thuậật toán huấấn luyệệnntìm ra đặt trưng tối ưu bằng cách thay đổi các tr ọọng sốố  tương ứng

Vấn đề   ccủủa cách tiếế p  p ccậận này là sốố   chichiềều u ccủủa a ddữữ   liliệu đầu vào tương đối i llớ nn

đồng thờ i là một lượ ng ng llớ n liên k ếết t gigiữữa các phầần n ttửử  ẩẩn và lớ  p  p ngõ ngõ vào vào (input(input

layer) Thông thườ ng con sốố  này đạt khoảảng 10,000 hoặặc c llớn hơn tùy vào từng

ứứng ng ddụụng ng ccụụ t thhểể SSốố  lượ ng ng llớ n n mmẫẫuu dùng để  huhuấấn luyệện có thểể  tương đối i nhnhỏỏ  soso

vvới kích thướ c mẫẫu sẽẽ dẫn đến n mmạng nơ -ron truyềền thẳẳng sẽẽ tr ở  nên phứức tạạ p, vàcũng dẫn đến hiện tượ ng quá khớ  p dữữ liệệu

Một điểm không thuậận lợ i củủa nữữa mạng nơ -ron truyềền thẳng đó là dữ liệệu ngõvào phải có kích thước không đổi và các mẫẫu ngõ vào phải được định dạng đúngtheo mộột yêu cầu nào đó của lớp ngõ vào, điều này khó thựực hiện đượ c trong thựựcc

ttếế

Trang 20

Mạng nơ -ron tích chậậ p (CNN)  p (CNN) không không nhnhữững sẽẽ giảải quyếết các vấn đề  đã nêu ở   trên mà còn cho có thểể  áp áp ddụụng giảải quyếết các bài toán nhậận n ddạạng phứức c ttạạ p  p vvớ ii

hiệệu xuấất cao

3.2.  Mạng nơ -ron tích chậ p

Mạng nơ -ron tích chậậ p  p (Convolutional (Convolutional Neural Neural NetworkNetwork –  CNN) là mộột trong

nhữững mô hình máy họọc (machine learning) tiên tiếến giúp cho chúng ta xây dựựngđượ c c nhnhữững ng hhệệ   ththốống thông minh với độ  chính xác cao CNN trong nhậận n ddạạng

ccảảm xúc khuôn mặt cũng là một trong nhữững giảải pháp trong thịị giác máy tính,giao tiếp ngườ ii –  máy trong xu thếế hiệện nay

Cấu trúc cơ bản n ccủủa a mmộột t mmạng nơ -ron tích chập (CNN) thườ ng bao gồồm các

llớ  p:  p: LLớ  p  p tích tích chchậậ p  p (Convolution (Convolution layer), layer), llớ  p  p Pooling Pooling (Pooling (Pooling layer), layer), llớ  p  p hihiệệuu

chỉỉnh tuyếến tính (Rectified linear units layer - ReLU) và lớ  p k ếết nối đầy đủ (Fullyconnected layer) Độ   phphứức c ttạạ p  p ccủủa a kikiếến trúc mạạng tích chậậ p  p còn còn tùy tùy ttừừng ứứng

ddụụng cụụ thểể  mà ngườ i thiếết k ếế có thểể l lựựa chọọn mộột hoặặc nhiềều lớp để xây dựựng.Dưới đây là phần giớ i thiệệu các lớp cơ bản có trong mộột mạng nơ -ron tích chậậ p

và các thành phầần chính trong hệệ thốống của đề tài

a.   Lớ  p tích chậậ p (Convoluation layer)

Lớ  p này sẽẽ sửử dụụng mộột bộộ các bộộ l lọc có kích thướ c nhỏỏ so vớ ii ảảnh áp vào mộộttvùng trong ảảnh và tiếến hành tính tích chậậ p giữữa bộộ filter và giá tr ịị  điểm ảảnh trongvùng cụục c bbộộ  đó Bộ  llọọc sẽẽ  llần lượt đượ c c ddịịch chuyểển theo mộột giá tr ịị   bước  bước trượ trượ tt

và quét toàn bộộ  ảảnh Các thông sốố củủa bộộ l lọọc này sẽẽ  đượ c khở i tạạo mộột cách ngẫẫuu

nhiên và sẽẽ  đượ c cậậ p nhậật dầần trong quá trình huấấn luyệện cho mạạng

Giảả sửử   f  k    là bộộ l lọc có kích thướ cc n  m  đượ c áp dụụng trên ngõ vào x    n  m là sốố  lượ ng liên k ếết ngõ vào mà mỗi nơ -ron có Phép tích chậậ p giữữaa f  k  và ngõ vào x cho

n m u

Trang 21

ssốố   ccủa các nơ -ron lân cận Điều này có ý nghĩa tích cực cho việệc c ccậậ p  p nhnhậật các

tr ọọng sốố thấp, trái ngượ c vớ i mạng nơ -ron truyềền thẳẳng, và các tr ọọng sốố có sựự ràng

 buộộc vớ i nhau

Hình 3.1: Tích chHình 3.1: Tích chậập gip giữ ữ a ngõ vào và ca ngõ vào và cử ử a sa sổổ ch chậậpp

 b.   Lớ  p Pooling (Pooling layer)

Mụục tiêu củủa a llớ  p  p pooling pooling là là làm làm gigiảm kích thướ c c ccủủaa ảnh nhưng vẫn n gigiữữ cácthông tin quan tr ọọng nhất trong đó Sửử   ddụụng ng mmộột hàm kích hoạt tương ứng ng vvớ ii

mục đích của ngườ i thiếết k ếế  để Các phương thức lấấy phổổ biếến trong lớ  p  p PoolingPooling

là MaxPooling (lấấy giá tr ịị   llớ n n nhnhấất), MinPooling (lấấy giá tr ịị   nhnhỏỏ   nhnhấất) vàAveragePooling (lấấy giá tr ịị  trung bình) Khác vớ i i llớ  p  p tích tích chchậậ p,  p, llớ  p  p PoolingPoolingkhông tính tích chậậ p mà tiếến hành lấấy mẫẫu (subsampling)

Max pooling là phương pháp giảm kích thướ c c mmẫẫu u vvớ i hàm kích hoạạt làMaximun đượ c áp dụụng trên ngõ vào x.  GiGiảả sửử  m là kích thướ c c ccủủa a ccửửa sổổ  trượ t,t,

k ếết quảả  thu đượ c khi áp dụụng hàm kích hoạt Maximun như sau:

Trang 22

Hình 3.2: HoHình 3.2: Hoạt độạt động cng củủa max-poolinga max-pooling

c.   Lớ  p hiệệu chỉỉnh tuyếến tính (Rectified Linear Unit –  ReLU layer)

Lớ  p  p này này có có nhinhiệệm m vvụụ chuyểển toàn bộộ giá tr ịị âm trong k ếết t ququảả  llấấy y ttừừ  llớ  p  p tíchtích

chậậ p  p thành thành giá giá tr tr ịị 0 mà vẫẫn n gigiữữ  đượ c sựự tin cậậy toán họọc củủa a mmạng Ý nghĩa củaa

llớ  p nà p này này y này chính lchính là tà tạạo nên tính phi tuyếến cho mô hình Ngoài ra, nó còn có tác

ddụụng giảm lượ ng tính toán cho các lớ  p tiếp theo, và ngăn chặn việệc triệệt tiêu sai sốố  gradient vì gradient là mộột hàm tuyếến tính hoặặc là 0

Tương tự  như trong mạng truyềền tn thhẳẳng, việệc xây dựựng ng ddựựa trên các phép biếếnn

đổi tuyếến tính sẽẽ   khikhiếến n viviệệc xây dựng đa tầng đa lớ  p  p tr tr ở   nên vô nghĩa Có rấttnhiều cách để  khikhiếến mô hình tr ở   nên phi tuyến như sử  ddụụng các hàm kích hoạạttsigmoid, tanh, … nhưng hàm R (x) = max(0,x) dễễ tính toán nhanh mà vẫẫn hiệệu quảả  

Hình 3.3: HoHình 3.3: Hoạt độạt động cng củủa la lớ ớ p hip hiệệu chuu chuẩẩn tuyn tuyếến tínhn tính

Trang 23

Lớ  p k ếết nối đầy đủ (Fully connected layer)

Lớ  p  p k k ếết t nnối đầy đủ  đượ c c bibiết đến như là mạng nơ -ron nhiềều u ttần, các nơ -rontrong mạạng ng k k ếết t nnốối i ttấất t ccảả  các nơ -ron củủa a llớp trướ c Giảả   ssửử  ngõ vào x  có kíchthướ cc k  và l  là sốố  lượ ng nỏỏ-ron có trong lớ  p k ếết nối đầy đủ này K ếết quảả trong ma

tr ậậnn W  l l k  k 

   

( ( ) ) ( ( ))

 F

Trong đó,   là hàm kích hoạạt.t Ở  đề tài này, hàm kích hoạạt là hàm softmax

Vớ i mỗỗi phầần tửử  1    j j  N , ngõ được tính như sau:

1

( ( ))

 j ii

 x

 x ii

( ( ) ) { {ii| | i i j j ii: :  j ii} C

C x x         x x  x x    (3.5)(3.5)

e.   Drop out

Mặặt dù có nhiều thành công nhưng mạng nơ -ron vẫẫn tồồn tạại những nhược điểm

nhất định Sựự t tồồn tạại củủa các lớ  ẩẩn phi tuyếến làm cho mạạng tr ở  nên phứức tạạ p vàchiếếm nhiềều tài nguyên, quá trình huấấn luyệện cho mạng cũng mất khá nhiềều tu thhờ iigian Bên cạnh đó, sự phù hợ  p quá  p quá mmức (Overfitting) cũng gây nhiều cảản tr ở  cho

ssựự phát triểển củủa mạng nơ -ron

Drop-out là mộột t k k ỹỹ  thuthuậậtt dùng để  loloạại i bbỏỏ  mmộột t ssốố thành phầần cùng vớ i i k k ếết t nnốốii

ccủủa nó ra khỏỏi i mmạạng trong quá trình huấấn luyệện nhằm ngăn chặn sựự phù hợ  p quá

mứức củủa mạạng, nghĩa là tạm thờ i loạại bỏỏ mộột vài thành phầần cùng vớ i các k ếết nốốii

Trang 24

ccủủa nó ra khỏỏi i mmạạng Các phầần n ttửử  đượ c c loloạại i bbỏỏ trong mạng đượ c c llựựa a chchọọn n mmộộttcách ngẫẫu nhiên

Hình 3.4: K Hình 3.4: K ỹỹ thu thuậật drop-out trong CNNt drop-out trong CNN

f.   Chia sẻẻ tr ọọng sốố  Chia sẻẻ   tr tr ọọng ng ssốố   là là mmộột trong nhữững nguyên tắắt quan tr ọọng trong CNN, cónghĩa rất lớ  p làm  p làm gigiảảm các tham sốố cần đượ c cậậ p nhậật trong quá trình huấấn luyệệnncho mạng Hơn nữa, chia sẻẻ tr ọọng sốố còn giúp việệc huấấn luyệện cho mạạng tr ở  nên

hiệệu u ququảả  hơn, đặt t bibiệt là trườ ng ng hhợ  p  p mmộột t ssốố  kikiếến trúc cụục c bbộộ  xuxuấất t hihiệệnn ở  khônggian ngõ vào

Hình 3.5: K Hình 3.5: K ỹỹ thu thuậật chia st chia sẽẽ tr trọọng sng sốố trong CNN trong CNN

Trang 25

4.  Thiết k ế hệ thống và mô phỏng thử  nghiệm4.1. Kiến trúc hệ thống nhận diện cảm xúc khuôn mặt sử dụng mạng nơ -ron tích

chậ p (CNN)

Mộột t kikiếến trúc mạng có đượ c c hihiệệu u ququảả  ttốốt cho quá trình nhậận n ddạng đượ c hìnhthành từừ  nhinhiềều u yyếếu u ttố, trong đó việc c llựựa a chchọọn n ssốố  lượ ng các lớp cơ bản cũng nhưcác thốống sốố hay hàm kích hoạạt cho từừng lớ  p chiếếm vài trò quan tr ọọng, sao cho nó

đảm bảo đượ c các yêu cầầu nhậận dạng được đề ra

Trong đề tài này, hệệ thống đượ c thiếết k ếế bao gồồm 2 phầần chính: Phầần trích xuấấttđặt trưng và phân phân loại cảảm xúc

Hình 4.1: CHình 4.1: Cấấu trúc hu trúc hệệ th thốống mng mạng nơ ạng nơ -ron tích ch-ron tích chậậpp

Trang 26

Phầần trích xuất đặt trưng bao gồm 4 lớ  p tích chậậ p và 2 lớ  p pooling, cụụ thểể  như sau:  

   Data: là dữữ liệệu ngõ vào củủa hệệ thốống Dữữ liệệu huấấn luyệện cho mạạng là tậậ p

ddữữ   liliệệu u ggồồm các hình ảnh được định nh ddạạng ở    mmức xám, có kích thướ cc48x48 pixels Kích thước này cũng là kích thướ c ngõ vào củủa a mmạạng khi

thựực thi hệệ  ththốống Ảnh nh ttừừ video / webcam sẽẽ  đượ c chuyển đổi kênh màu

và định dạạng lạại sao cho phù hợ  p vớ i k ích thước đã khai báo

   Conv_1: Conv_1: là là llớ  p  p tích tích chchập đầu tiên củủa a hhệệ  ththốống, sửử  ddụụng 96 bộộ   llọọc c vvớ iicùng kích thướ c 3x3 pixels Ở l lớp đầu tiên này, không có bộộ l lọc đượ c áp

ddụụng

   Pooling_1 là lớ  p  p pooling pooling ngay ngay sau sau llớ  p  p conv_1, conv_1, vvới kích thướ c c ccửửa a ssổổ  làlà3x3 pixels

   Conv_2a là lớ  p  p tích tích chchậậ p  p ththứứ   2 2 ssửử   ddụụng 108 bộộ   llọc có kích thướ c 2x2 pixels Đi cùng vớ i nó là hàm kích hoạạt ReLU

   Pooling_2 là lớ  p  p pooling pooling ththứứ 2 trong mạng, tuy nhiên kích thướ c c bbộộ  llọọcc

chỉỉ là 2x2 pixels, và mỗỗi lần trượ t củủa cửửa sổổ là 1 pixel

   Tiếế p  p theo theo là là 2 2 llớ  p  p tích tích chchậậ p  p liên liên titiếế p  p vvới kích thước tương ứng là 208 bộộ  

llọọc 2x2 và 64 bộộ l lọọc 2x2 Cảả 2  2 llớ  p tích  p tích chchập này đều sửử dụụng hàm ReLU

để làm hàm kích hoạạt.t

   Tiếế p  p theo theo là là phphầần phân loạại i ccảảm xúc, bao gồồm thành phầần chính là 3 lớ fully connected với kích thướ cc khác nhau, tương ứng là 512, 256 và 7 K ỹỹ  

thuật drop out đượ c áp dụụng trên 2 lớp đầu tiên vớ i tỉỉ l lệệ 0.3, tứức là có 30%

nơ -ron củủa 2 lớ  p này bịị t tắắt trong quá trình huấấn luyệện, nhằằm hạạn chếế hiệệnntượ ng quá khớ  p  p (overfitting) (overfitting) vvốốn là một nhược điểm m llớ n trong các mạạng

nơ -ron nhân tạạo Hàm mấất mát softmax cross-entropy đượ c c ssửử   ddụng để  

 phảản hồồi thông tin trong quá trình huấấn luyệện mạạng

   Tương ứng vớ i kiến trúc đã nêu ở   trên, kích thướ c ngõ ra củủa hệệ  ththốống cho

ttừừng ng llớp đượ c lc liiệệt kêở  bảng bên dướ i.i

Trang 27

Layer KíchLayer Kích thước ngõ rathước ngõ ra  

Dữ liệu ngõ vào    48x48 48x48 Convolution

Convolution Convolution 2c 2c 64x24x24

Fully connected_2 connected_2 256x1 Fully

Fully connected_3 connected_3 7x1

BBảng 4.1: Kích thướ ảng 4.1: Kích thướ c ngõ ra cc ngõ ra củủa các la các lớ ớ p trong mp trong mạạngng

a.   Input layer

 Nh  ̃  ̃ng phương thưưưng phương thư ́ ́c trong module tf.layer cho viêê   ̣   ̣c taa   ̣   ̣o ra lơ  ́ ́ p convolutional  p convolutional vvaa ̀ ̀  

llơ  ́ ́ p pooling  p pooling đốđối vơ  ́ ́i dữữ liêê   ̣   ̣uu aa ̉ ̉nh 2 chiềều chââ ́ ́ p nhââ   ̣   ̣n ngõõ vaa ̀ ̀o laa ̀ ̀ mộột tensor coo ́ ́ shape

llaa ̀ ̀ [ batch_size, image_width, image_height, channels] Trong đo batch_size, image_width, image_height, channels] Trong đo ́ ́::

llaa ̀ ̀ [batch_size; 48, 48, 1] vàà  đôđô ̀ ̀ng thờ i input layer phảải resize caa ́ ́c maa ̉ ̉ng 1 chiêê ̀ ̀u vêê ̀ ̀  

maa ̉ ̉ng 2 chiềều k  ́ ́ch thướ ch thướ c 48x48 tương ưtương ư ́ ́ng vơ  ́ ́i k  ́ ́ch thướ c không gian cuu ̉ ̉aa ảảnh

b.   LLớ ớ p tích chp tích chậậppTrong lơ  ́ ́ p t ́ ́ch chââ   ̣   ̣ p đâ p đâ ̀ ̀u tiên, 95 bôô   ̣   ̣ l loo   ̣   ̣c 3x3 đươ    ̣c sưư ̉ ̉ duu   ̣   ̣ng đêng đê ̉ ̉  aa ́ ́ p duu   ̣   ̣ng cho inputlayer, vơ  ́ ́i activation function laa ̀ ̀   hhaa ̀ ̀m ReLU Phương thưm ReLU Phương thư ́ ́c con2d() trong module

Trang 28

conv_1 = conv_2d

(self.network, 96, 3, strides=1, bias=True, padding=padding,

activation= ‘‘relu’’,,name='Conv2d_1')

Tham sôô ́ ́ inputs tiêê ́ ́ p nhââ   ̣   ̣n đần đầu vaa ̀ ̀o củủa lơ  ́ ́ p conv_1 vaa ̀ ̀ ch ̉ ̉ nhậận tensor hợ  p lêê   ̣   ̣ nêê ́ ́uu

ccóó  shape làà  [batch_size, image_width, image_height, channels] ƠƠ ̉ ̉   đđây conv1layer đươ    ̣c k ếết nôô ́ ́i vớ i input_layer coo ́ ́ shape [batch_size; 48, 48, 1]

Tham sôô ́ ́ filters ch ̉ ̉ ra  ra ssốố  lươ    ̣ng bôô   ̣   ̣ l loo   ̣   ̣c đươ c đươ    ̣c sưư ̉ ̉ duu   ̣   ̣ng, ơ  ̉ ̉  đây lađây la ̀ ̀ 96 Tham sôô ́ ́ tiếế ptheo ch ̉ ̉ ra k  ́ ́ch thươ ch thươ  ́ ́c cuu ̉ ̉a mỗỗi bôô   ̣   ̣ l loo   ̣   ̣c, ơ  ̉ ̉  đây sưđây sư ̉ ̉ duu   ̣   ̣ng [3,3]

Tham sốố strides chỉỉ mức độ  trượ t củủa cửửa sốố tích chậậ p trên ảảnh ngõ vào, ở   đây

mỗỗi lần trượ t củủa cửửa sổổ tích chậậ p là 1 pixel (strides=1)

Tham sôô ́ ́ padding nhậận 2 giaa ́ ́  tr tr ii   ̣   ̣hoặặcc ““same”” hoặặcc ““valid”. Nêê ́ ́u u gigiaa ́ ́  tr tr ịị truyêê ̀ ̀nn

vvàào làà  ““valid”, input đượ c giữữ  nguyên để xưư ̉ ̉ l lýý vaa ̀ ̀ dẫẫn đên đê ́ ́n cáác feature map ơ  ̉ ̉ ngoo  ̃  ̃  

ra củủa lớ  p conv  p conv ccoo ́ ́ k  ́ ́ch thươ ch thươ  ́ ́c nhoo ̉ ̉  hơn đâhơn đâ ̀ ̀u vàào Nêê ́ ́u giaa ́ ́ tr ii   ̣   ̣truyêê ̀ ̀n vàào laa ̀ ̀  ““same”,TensorFlow see  ̃  ̃ thêm cáác giáá tr ii   ̣   ̣0 vaa ̀ ̀o input sao cho khi t ́ ́nh tíích chââ   ̣   ̣ p hoaa ̀ ̀n thaa ̀ ̀nh

ssee  ̃  ̃ cho ra feature map coo ́ ́ cuu ̀ ̀ng k  ́ ́cch thươ  ́ ́c vơ  ́ ́i input.

Tham sốố activation chỉỉ ra haa ̀ ̀m activation function naa ̀ ̀o sẽẽ  đươ    ̣cc aa ́ ́ p duu   ̣   ̣ng sau khi

tt ́ ́nh tíích chââ   ̣   ̣ p đêđê ̉ ̉  cho đâcho đâ ̀ ̀u ra cuôô ́ ́i cuu ̀ ̀ng,ơ  ̉ ̉  đây activation function laa ̀ ̀ haa ̀ ̀m ReLU

 Ngoo  ̃  ̃  ra ra ccuu ̉ ̉a a llơ  ́ ́ p  p conv_1 conv_1 ssee  ̃  ̃  ccoo ́ ́ shape laa ̀ ̀ [batch_size, 84, 84, 96]: cóó  ccuu ̀ ̀ng chiềềuu

ddàài vàà chiềều r ộộng vơ  ́ ́ii input nhưng sôinput nhưng sô ́ ́ channels ơ  ̉ ̉ ngoo  ̃  ̃ ra cho mỗỗi input laa ̀ ̀ 96

c.   LLớ ớ p poolingp pooling

Lơ  ́ ́ p  p pooling pooling ththưư ́ ́  nhnhââ ́ ́t t ssee  ̃  ̃  k k ếết t nnôô ́ ́i i vvớ i i llơ  ́ ́ p  p conv_1 conv_1 vvừa đượ c taa   ̣   ̣oo ra Phương thưra Phương thư ́ ́ccmax_pooling2d() đươ    ̣c c ssưư ̉ ̉   dduu   ̣   ̣ng đểng để  xây dựựng ng llơ  ́ ́ p  p pooling pooling ssưư ̉ ̉   dduu   ̣   ̣ng thuââ   ̣   ̣t t totoaa ́ ́nn

Trang 29

maxpool_1 = max_pool_2d(conv_1, 3,

strides=2, padding=padding,name='MaxPool_1')

Tham sôô ́ ́  inputs ch ̉ ̉  ra ngõõ   vvaa ̀ ̀o o ccuu ̉ ̉a pool_1 vớ i shape hơ    ̣ p  p llêê   ̣   ̣   llaa ̀ ̀  [batch_size,image_width, image_height, channels] ƠƠ ̉ ̉  đđây, input laa ̀ ̀ ngoo  ̃  ̃ ra cuu ̉ ̉a conv1 coo ́ ́ shape[batch_size; 48; 48; 96]

Tham sôô ́ ́ pool_size chỉỉ  ra k ra k  ́ ́cch thướ c củủa bộộ  lloo   ̣   ̣c lơ  ́ ́ p p p pooling,ooling, ơ  ̉ ̉  đây kđây k ́ ́cch thươ  ́ ́ccđươ    ̣c sưư ̉ ̉ dụụng laa ̀ ̀ 3x3

Tham sốố strides chỉỉ r a bước trượ t cuu ̉ ̉a bôô   ̣   ̣ l loo   ̣   ̣c, ở   đây đươ    ̣c caa ̀ ̀i đăi đă   ̣   ̣t băă ̀ ̀ng 2, ngh ĩ aa

llaa ̀ ̀  ccaa ́ ́c c vvùùng nhỏỏ  đượ c chia ra mỗỗi i llââ ̀ ̀n trươ n trươ    ̣t phân cáách ch vvơ  ́ ́i nhau bơ  ̉ ̉i 2 pixel theochiềều ngang vàà 2 pixel theo chiềều u ddọọc c VVàà  vv ̀ ̀  k k ích thươ  ́ ́c c bbôô   ̣   ̣  lloo   ̣   ̣c c llàà 2x2 nên mỗỗii

vvùùng nhỏỏ sẽẽ chỉỉ  aa ́ ́ p duu   ̣   ̣ng bôô   ̣   ̣ l loo   ̣   ̣c 1 c 1 llââ ̀ ̀n (không coo ́ ́ pixel chung gi  ̃  ̃ưưa caa ́ ́c vuu ̀ ̀ng trong

mỗỗi lââ ̀ ̀n loo   ̣   ̣c)

 Ngoo  ̃  ̃   ra ra ccuu ̉ ̉a pool_1 coo ́ ́  shape làà  [batch_size, 24, 24, 96]: mỗỗii feature map đafeature map đa  ̃  ̃  đươ    ̣c giảm đi 50% kảm đi 50% k ́ ́ch thướ ch thướ c

d.   LLớ ớ p tích chp tích chậập thp thứ ứ  2, pooling th 2, pooling thứ ứ  2, l 2, lớ ớ p tích chp tích chậập thp thứ ứ  3 và th 3 và thứ ứ  4 4Cũng với phương thức conv2d() và max_pooling2d(), 4 lớ  p  p titiếế p  p theo theo thuthuộộcc

 phầần tích xuất đặt trưng đượ c sửử dụụng vớ i cấấu hình khác nhau:

Trang 30

e.   LLớ ớ p k p k ếết nt nối đầy đủối đầy đủ 1 (FC layer) 1 (FC layer)

Lơ  ́ ́ p  p FC FC (v(vơ  ́ ́i 512 nơ -ron vaa ̀ ̀   R R eLU activation) đươ    ̣c thêm vàào o mmạạnng CNN đêg CNN đê ̉ ̉  

thựực c hihiệện nhiệệm m vvuu   ̣   ̣ phân loạại i ddưư   ̣   ̣a trên các đăác đă   ̣   ̣c trưng đac trưng đa  ̃  ̃  đươ    ̣c c tr tr  ́ ́ch xuââ ́ ́t t bbơ  ̉ ̉i i llơ  ́ ́ pconvolutional vàà pooling ở  ph ́ ́aa trươ  ́ ́c Một điêột điê ̉ ̉m lưu ym lưu y ́ ́  ở   đây lađây la ̀ ̀ caa ́ ́c feature map ơ  ̉ ̉  

ngoo  ̃  ̃   ra ra ccủủa a llơ  ́ ́ p  p pooling pooling ththứứ   2 2 ccoo ́ ́  shape laa ̀ ̀  [batch_size; 24; 24; 64], tương ư64], tương ư ́ ́ng 1

mẫẫuu ơ  ̉ ̉   ngngoo  ̃  ̃   ra ra ccuu ̉ ̉a a llớ  p  p conv_2cconv_2c đượ c c tr tr íích xuââ ́ ́t t ththaa ̀ ̀nh 64 ma tr ââ   ̣   ̣n 2 chiêê ̀ ̀u u k k  ́ ́chthươ  ́ ́c 24x24 Trướ cc khi đưa vakhi đưa va ̀ ̀o lơ  ́ ́ p FC, 64  p FC, 64 ma tr ma tr ââ   ̣   ̣n 2 chiêê ̀ ̀u (tương ưu (tương ư ́ ́ng vơ  ́ ́i 1 đăi 1 đă   ̣   ̣cctrưng) được phương thức flatten chuyểển thành vector 1 chiêê ̀ ̀u có 36864 phầần n ttửử,,cũng chính là 36864 nơ -ron

net = flatten(conv_2c, name='Net')drop_net_1 = dropout(net, 0.1)

Ở  đây, để tránh hiện tượ ng over fitting, k ỹỹ thuật drop out đượ c áp dụụng cho lớ flatten Ngoo  ̃  ̃ vaa ̀ ̀o lơ  ́ ́ p dropout  p dropout llaa ̀ ̀ ngoo  ̃  ̃ ra cuu ̉ ̉a lơ  ́ ́ p flatten,  p flatten, tt ̉ ̉ l lêê   ̣   ̣ dropout (rate) đươ    ̣   ̣c đăc đă   ̣   ̣tt

llaa ̀ ̀  0.1, ngh  ̃  ̃a a llàà  trong suôô ́ ́t t ququáá   tr tr  ̀ ̀nh huââ ́ ́n luyêê   ̣   ̣n, n, ccoo ́ ́  10% caa ́ ́c c nơ nơ -ron trong lơ  ́ ́ pflatten see  ̃  ̃  bbii   ̣   ̣ttăă ́ ́t t mmôô   ̣   ̣t t ccaa ́ ́ch ngẫẫu nhiên (1 nơ u nhiên (1 nơ -ron bii   ̣   ̣ttăă ́ ́t khi noo ́ ́  nhnhââ   ̣   ̣n n gigiaa ́ ́ t tr r ii   ̣   ̣tr oo   ̣   ̣ng ng ssôô ́ ́  

f.   LLớ ớ p k p k ếết nt nối đầy đủối đầy đủ 2 (FC layer) 2 (FC layer)

final_2 = fully_connected (drop_net_2, 256, activation = 'relu')drop_net_3 = dropout(final_2, 0.5)

Trang 31

Tương tự  như lớ  p  p FC FC ththứứ  nhnhấất, t, llớ  p  p FC FC ththứứ  2 này cũng sử  ddụng phương thứccfully_connected() với 256 nơ -ron tham gia vào quá trình phân loại, drop out vơi tỉ  

llệệ  50% cũng đượ c áp dụng để tránh hiện tượ ng over fitting cho mạạng trong quátrình huấấn luyệện Hàm kích hoạạt vẫẫn là ReLU

 Ngõ  Ngõ ra ra ccủủa a llớ  p  p FC FC ththứứ  hai này (sau khi áp dụụng drop out) là môô   ̣   ̣t tensor coo ́ ́  shape [batch_size, 256]

g.   LLớ ớ p k p k ếết nt nối đầy đủối đầy đủ 3 (FC layer) 3 (FC layer)

Lớ  p  p này này là là llơ  ́ ́ p  p cucuôô ́ ́i i ccuu ̀ ̀ng trong maa   ̣   ̣ng CNN laa ̀ ̀   llơ  ́ ́ p  p ssee  ̃  ̃   tr tr aa ̉ ̉   vvêê ̀ ̀   mmôô   ̣   ̣t vector haa ̀ ̀ng

chưư ́ ́a a ccaa ́ ́c c xxáác c susuââ ́ ́t t ddưư   ̣   ̣  đoađoa ́ ́n n ccủủa mô h ̀ ̀nh Lơ  ́ ́ p  p FC FC cucuôô ́ ́i i ccuu ̀ ̀ng ng ggôô ̀ ̀m m 77 nơ -r on tương

ưư ́ ́ng vơ  ́ ́i 7 cảảm xúc mà hệệ thốống xửử lý nhậận dạạng vàà activation function laa ̀ ̀ softmax.Loss = fully_connected(drop_net_3,7,activation='softmax', name='Total_loss')

 Ngoo  ̃  ̃ ra cuôô ́ ́i cuu ̀ ̀ng củủa maa   ̣   ̣ng CNN làà tensor coo ́ ́ shape [batch_size, 7]

h.   CCấấu hình hu hình hồồi quy (regression)i quy (regression) Ngõ ra

 Ngõ ra ccủủa lớ  p k ếết nối đầy đủ cuối cùng đượ cc đăng ký hồi quy vớ i Tflearn hổổ  

tr ợ    phương  phương thức thức đăng đăng ký ký hồhồi quy cùng vớ i i viviệc định nghĩa tối ưu hàm mất mát(loss fuction) và tốc độ   hhọọc c ccủủa a mmạạng Ở   đây, hàm mất mát là hàmategorical_crossentropy và tốc độ học được đặt là 0.0001

self.network = tflearn.regression

(Loss, optimizer = 'Adam' , loss='categorical_crossentropy',learning_rate=0.0001)

i.i.   Load dLoad dữ ữ  li liệệu cho huu cho huấấn huyn huyệện và validationn và validation

Để  huhuấấn luyêê   ̣   ̣n mô h ̀ ̀nh nh bbằằng TensorFlow, d  ̃  ̃ưư  liliệệu u totoaa ̀ ̀n n bbôô   ̣   ̣   ttââ   ̣   ̣ p  p training training set set vvaa ̀ ̀  

toaa ̀ ̀n bôô   ̣   ̣ t tââ   ̣   ̣ p t p testing setesting set đượ cc lưu trong 4 mảng cóó k ích thươ  ́ ́c lớn Trong đoớn Trong đo ́ ́ imagedata vàà labels data sẽẽ  được lưu riêng trong 2 mảng riêng biêê   ̣   ̣tt nhưng vẫnhưng vẫn đan đa ̉ ̉m baa ̉ ̉oo

ccoo ́ ́ thêê ̉ ̉ tr  ́ ́ch xuââ ́ ́t thaa ̀ ̀nh mộột căă   ̣   ̣ p d  ̃  ̃ưư liệệu khi huââ ́ ́n luyêê   ̣   ̣n.

Ngày đăng: 16/08/2020, 11:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w