Tải bản đầy đủ (.pdf) (78 trang)

Nghiên cứu xây dựng hệ thống nhận dạng cảm xúc gương mặt bằng phương pháp học sâu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.62 MB, 78 trang )

Đ I H CăĐĨăN NG
TR
NGăĐ I H CăS ăPH M

Đ

ĐỊNHăCH

NG

NGHIểNăC UăXỂYăD NGăH ăTH NGă
NH NăD NGăC MăXÚCăG
NGăM Tă
B NGăPH
NGăPHỄPăH CăSỂU

LU NăVĔNăTH CăSƾă
H ăTH NGăTHỌNGăTIN

ĐƠăN ngă- Nĕmă2020


Đ I H CăĐĨăN NG
TR
NGăĐ I H C S ăPH M

Đ

ĐỊNHăCH

NG



NGHIểNăC UăXỂYăD NGăH ăTH NGă
NH NăD NGăC MăXÚCăG
NGăM Tă
B NGăPH
NGăPHỄPăH CăSỂU

ChuyênăngƠnh:ăH ăth ngăthôngătin
Mƣăs :ă848.01.04

LU NăVĔNăTH CăSƾ

Ng iăh ngăd năkhoaăh c:
TS. NGUY NăTH ăNG CăANH

ĐƠăN ngă- Nĕm 2020


i

L IăC Mă N
L i đầu tiên tôi xin gửi l i c m ơn chân thành đ n các quý thầy cô giáo, Khoa tin
học, Trư ng Đ i học Sư Ph m đã tận tình gi ng d y, truyền đ t những ki n th c, kinh
nghiệm quý báu trong suốt th i gian tôi theo học chương trình th c sĩ. Các ki n th c,
kinh nghiệm quý báu c a các thầy cô giáo không chỉ giúp cá nhân tơi hồn thiện hệ
thống ki n th c trong học tập mà cịn giúp tơi ng dụng các ki n th c đó trong cơng
việc hiện t i.
Đặc biệt, tôi xin g i l i c m ơn chân thành và sâu sắc nhất đ n cô giáo c a tôi là
TS. Nguy n Th Ng c Anh, ngư i đã tận tình hướng dẫn và t o điều kiện tốt nhất để
tơi hồn thành luận văn này.

Tơi cũng xin được bày tỏ tình c m với gia đình, đ ng nghiệp, b n bè đã t o điều
kiện để tơi có thể dành th i gian cho khóa học. Xin chân thành c m ơn các anh chị em
trong lớp K34 đã luôn hỗ trợ tơi trong q trình học tập để có được k t qu như ngày
hôm nay, tôi s nhớ mãi về lớp K34 thân thương này.
Tuy có nhiều cố gắng, nhưng chắc chắn luận văn khơng tránh khỏi những thi u
sót nhất định. Tôi rất mong nhận được ý ki n đóng góp q báu c a các q thầy cơ
giáo và các anh chị, các b n để luận văn ngày càng được hoàn thiện hơn.
Trân trọng c m ơn!





v

M CL C
L I C Mă N ................................................................................................................. i
L IăCAMăĐOAN ..........................................................................................................ii
TÓM T T .................................................................................................................... iii
M C L C ...................................................................................................................... v
DANH M C CÁC KÝ HI U, CÁC CH VI T T T ............................................vii
DANH M C CÁC B NG......................................................................................... viii
DANH M C CÁC HÌNH ............................................................................................ ix
M Đ U......................................................................................................................... 1
1. Lý do chọn đề tài................................................................................................... 1
2. Mục đích nghiên c u............................................................................................. 2
3. Mục tiêu nghiên c u ............................................................................................. 2
4. Đối tượng và ph m vi nghiên c u ........................................................................ 2
5. Phương pháp nghiên c u ...................................................................................... 2
6. Ý nghĩa khoa học và thực tiễn c a luận văn. ........................................................ 2

7. Nội dung luận văn ................................................................................................. 3
CH
NGă1.ăGI I THI U T NG QUAN ................................................................. 4
1.1. Nhận d ng c m xúc khuôn mặt và ng dụng ........................................................... 4
1.2. Phương pháp nhận d ng c m xúc khuôn mặt ........................................................... 5
1.2.1. Phương pháp nhận d ng thông thư ng ........................................................... 5
1.2.2. Phương pháp sử dụng Action Units ................................................................ 6
1.2.3. Phương pháp dựa trên đặc trưng c a nh........................................................ 8
1.2.4. Phương pháp nhận d ng sử dụng kĩ thuật học sâu.......................................... 8
1.3. Thách th c trong vấn đề nhận d ng c m xúc khuôn mặt ......................................... 9
CH
NGă2.ăC ăS LÝ THUY T ........................................................................... 10
2.1. Trích chọn đặc trưng............................................................................................... 10
2.1.1. Ho t động c a nơ-ron sinh học ..................................................................... 10
2.1.2. Logistic regression ........................................................................................ 11
2.1.3. Ki n trúc m ng Artificial Neural Network. .................................................. 11
2.1.4. M ng Nơ-ron Tích Chập (Convolutional Neural Network) ......................... 13
2.1.5. M ng AlexNet ............................................................................................... 16
2.1.6. Trích xuất đặc trưng hình nh với m ng Alexnet ......................................... 21
2.2. Phân lớp với Support Vector Machines ................................................................. 22
2.2.1. Giới thiệu ...................................................................................................... 22
2.2.2. Siêu phẳng tối ưu .......................................................................................... 22


vi
2.2.3. Phân lớp mềm ............................................................................................... 25
2.2.4. Trư ng hợp phân tách phi tuy n ................................................................... 29
2.2.5. Một số hàm nhân (Kernel) thông dụng ......................................................... 30
2.3. K t chương ............................................................................................................. 30
CH

NGă3. XÂY D NG MƠ HÌNH ALEXNET K T H P SVM ÁP D NG
CHO BÀI TOÁN NH N D NG C M XÚC ........................................................... 31
3.1. Mơ t bài tốn nhận d ng c m xúc gương mặt....................................................... 31
3.2. Đề xuất mơ hình ..................................................................................................... 31
3.3. Thực nghiệm và đánh giá ....................................................................................... 33
3.3.1. Môi trư ng thực nghiệm ............................................................................... 33
3.3.2. Giới thiệu về cơ s dữ liệu thực nghiệm ....................................................... 34
3.3.3. K t qu thực nghiệm và đánh giá ................................................................. 40
CH
NGă4.ăK T LU NăVĨăH
NG PHÁT TRI N .......................................... 52
4.1. K t Luận ................................................................................................................. 52
4.2. Định hướng phát triển............................................................................................. 53
TÀI LI U THAM KH O
QUY TăĐ NHăGIAOăĐ TÀI LU NăVĔNă(B n sao)


vii

DANHăM CăCỄCăKụăHI U,ăCỄCăCH ăVI TăT T
Ký hi u

Thu t ng

CNN

Convoluton Neural Network (mạng nơ-ron tích chập)

CNTT


Cơng nghệ thơng tin

CPU

Central Processing Unit

CSDL

Cở sở dữ liệu

CUDA

Compute Unified Device Architecture
( Là kiến trúc tính tốn song song do NVIDIA phát triển )

KKT

Karush-Kuhn-Tucker

KNN

K-nearest neighbors (K láng giềng gần nhất)

NB

Naïve Bayes

SVM

Support Vector Machines (Máy vector hỗ trợ)


AU

Ation Units


viii

DANHăM CăCỄCăB NG
S ăhi uă
b ng

Tênăb ng

Trang

1.1.

Một số AU chính

6

1.2.

C m xúc và các đơn vị chuyển động

7

2.1.


Một số hàm truyền thơng dụng

13

2.1.

Hình dung những đặc trưng c a mơ hình AlexNet train trước

22

3.1.

Thi t bị thực nghiệm

34

3.2.

B ng c m xúc và kí hiệu

38

3.3.

B ng c m xúc và số lượng nh tương ng

39

3.4.


B ng phân chia dữ liệu

40

3.5.

Ma trận kiểm tra k t qu dự đoán với tập dữ liệu test. Đánh giá
theo số mẫu

41

3.6.

Ma trận kiểm tra k t qu dự đoán với tập dữ liệu test. Đánh giá
theo phần trăm

42

3.7.

Ma trận kiểm tra k t qu dự đoán theo phần trăm

44

3.8.

Ki n trúc m ng AlexNet trong Matlab

45


3.9.

Ma trận k t qu dự đoán theo mẫu test

47

3.10.

C m xúc giận dữ nhận d ng nhầm sang ghê t m

47

3.11.

Ma trận k t qu dự đốn tính theo phần trăm

48

3.12.

Ma trận k t qu dự đốn tính theo phần trăm.

48

3.13.

C m xúc trung tính nhầm lẫn với c m xúc giận dữ

49


3.14.

C m xúc trung tính nhầm lẫn với c m xúc bu n.

49

3.15.

Ma trận k t qu dự đốn tính theo phần trăm.

50

3.16.

So sánh k t qu thực nghiệm

51


ix

DANHăM CăCỄCăHỊNHă
S ăhi uă
hình

Tên hình

Trang

1.1.


Qui trình nhận d ng c m xúc thông thư ng

6

1.2.

ACTION UNITS

7

1.3.

Nhập d ng c m xúc với CNN cơ b n

8

1.4.

Nhận d ng c m xúc với GAN

9

2.1.

Ho t động c a các nơ-ron sinh học

10

2.2.


Mơ hình logistic regression

11

2.3.

M ng ANN

11

2.4.

Mơ hình m ng CNN

14

2.5.

Ví dụ về bộ lọc tích chập được sử dựng trên ma trận điểm nh

15

2.6.

Ví dụ Max Pooling

16

2.7.


Ki n trúc m ng AlexNet.

17

2.8.

Thay đ i kích thước nh về chuẩn 256x256

18

2.9.

Rút trích đặc trựng b i conv1

19

2.10.

Biểu diễn hàm ReLu

20

2.11.

nh đầu vào sau khi qua bộ lọc Sobel

22

2.12.


Biểu diễn siêu phẳng lề cực đ i SVM trên hai lớp

23

2.13.

Siêu phẳng tách tuy n tính

24

2.14.

Phân lớp mềm

25

2.15.

Ánh x dữ liệu vào khơng gian nhiều chiều

29

3.1.

Mơ hình chung cho các bài tốn phân lớp sử dụng
DeepLearning

32


3.2.

Mơ hình k t hợp AlexNet và SVM

33

3.3.

Biểu hiện c m xúc giận dữ.

34

3.4.

Biểu hiện c m xúc ghê t m.

35

3.5.

Biểu hiện c m xúc vui vẻ (h nh phúc)

35

3.6.

Biểu hiện c m xúc bu n bã

36


3.7.

Biểu hiện c a c m xúc ng c nhiên

36

3.8.

Biểu hiện c m xúc bu n bã

37

3.9.

Biểu hiện c m xúc trung tính.

37

3.10.

Một số hình nh trong bộ CSDL CK+

38

3.11.

Một số nh chọn lọc từ CSDL CK+

39



x
S ăhi uă
hình

Tên hình

Trang

3.12.

Một số hình nh biểu diễn 7 c m xúc trong CSDL thực
nghiệm

39

3.13.

Đặc trưng c a c m xúc ng c nhiên trích xuất từ „conv1‟

42

3.14.

Thay 3 lớp cuối c a AlexNet cho phù hợp với CSDL mới

43

3.15.


Cài đặt tham số huấn huyện

43

3.16.

Ti n trình train với CSDL mới

43

3.17.

Một số hình nh đặc trưng được trích xuất từ lớp „conv1‟

46


1

M ăĐ U
1. Lý do ch năđ tài
Th i gian gần đây, sự phát triển và ph bi n nhanh chóng c a cơng nghệ phần
c ng máy tính và các thi t bị liên quan đã t o điều kiện thuận lợi cho sự phát triển c a
những hệ thống phần mềm u cầu khối lượng tính tốn cao.
Kỹ thuật học sâu thể hiện tính ưu việt hơn các kỹ thuật khác trong việc nhận diện
hình nh cũng như nhiều lĩnh vực khác, những k t qu nghiên c u gần đây áp dụng kỹ
thuật này cho độ chính xác cao hơn. Nhiều công ty ho t động về lĩnh vực công nghệ trên
th giới đang đầu tư rất nhiều ngu n lực vào nghiên c u và phát triển nhằm t o ra các
s n phẩm ng dụng sử dụng kỹ thuật học sâu. Những công ty lớn như Google, Baidu…
cũng sử dụng kỹ thuật học sâu dùng trong các thuật tốn nhận d ng giọng nói, hình nh

và đã mang k t qu tốt khi đem vào ng dụng trong thực t . Các lĩnh vực về cơng nghệ
đã dùng kỹ thuật học sâu có thể kể đ n là: cơng nghệ nhận diện giọng nói (các trợ lý o
giọng nói như Siri c a Apple, Cortana c a Microsoft, Alexa c a Amazon, DeepVoice
c a Baidu...), dịch tự động và các công nghệ xử lý ngôn ngữ tự nhiên, cơng nghệ nhận
diện hình nh (Google, Microsoft, Facebook, Baidu,...). Cơng nghệ nhận diện hình nh
sử dụng kỹ thuật học sâu đang được nhiều nhà nghiên c u tìm hiểu và đưa vào ng dụng
thực t ; nhóm nghiên c u về trí tuệ nhân t o c a Facebook đã t o ra phần mềm
DeepFace có kh năng nhận d ng khuôn mặt tốt như con ngư i với độ chính xác kho ng
97.35%, cơng trình được công bố năm 2014, sử dụng kho ng 4 triệu nh khuôn mặt c a
hơn 4000 ngư i để huấn luyện cho m ng nơron nhiều lớp, k t qu thu được đã vượt qua
các kỹ thuật được nghiên c u đề xuất trước đó. [15]
B c tranh về cơng nghệ ngày nay thật tuyệt v i.Trí tuệ nhân t o (AI) đã bắt đầu
tr thành xu hướng ch đ o c a nền kinh t toàn cầu và thu hút được một sự quan tâm
lớn c a các doanh nghiệp và cơng chúng nói chung. Trong số các ngành khác nhau c a
AI, computer vision (thị giác máy tính) đang có được những động lực thúc đẩy đáng
kể. Ti n bộ trong trí tuệ nhân t o và cơng nghệ robot có xu hướng gi m kho ng cách
giữa kh năng c a con ngư i và máy móc. Việc bi n một máy tính (Robot) có thể c m
nhận được c m xúc c a con ngư i đã được các nhà khoa học nghiên c u từ những
năm 1970 nhưng những k t qu đ t được vẫn cịn nhiều h n ch .
Cơng nghệ phân tích c m xúc cịn có thể giúp ngư i, thậm chí c u m ng ngư i.
Các camera được cài phần mềm phân tích c m xúc có thể bi t được khi nào tài x lái xe
t i đang kiệt s c để ngăn ông ta ng gục trên vơ-lăng. Hoặc việc cài phần mềm phân tích
c m xúc vào camera được gắn trong lớp học có thể giúp thầy giáo bi t được họ có thu
hút được sự chú ý lắng nghe c a học viên. ng dụng c a cơng nghệ phân tích c m xúc


2
có thể giúp các cơng ty hiểu rõ hơn những điều mà khách hàng thích và khơng thích và
dựa trên đó, để đưa ra các chi n dịch qu ng cáo, marketing cho phù hợp.
Với những vấn đề nêu trên tôi chọn đề tài “Nghiên cứu xây dựng hệ thống

nhận d ng c m xúc gương mặt bằng phương pháp học sâu” làm ch đề nghiên c u
trong luận văn này.
2. M căđíchănghiên c u
Nghiên c u về m ng Nơ_ron nhân t o (Neural Network), kỹ thuật học sâu (Deep
Learning) và thật toán phân lớp SVM áp dụng vào bài toán nhận d ng c m xúc gương
mặt.
3. M c tiêu nghiên c u
- Xây dựng kho dữ liệu huấn luyện để ng dụng vào bài toán nhận d ng c m xúc
gương mặt.
- K t hợp Alexnet và SVM để gi i xây dựng mơ hình nhận d ng c m xúc với độ
chính xác cao.
4. Đ iăt ng và ph m vi nghiên c u
Trong khuôn kh luận văn thuộc lo i nghiên c u và ng dụng, đề tài chỉ giới h n
nghiên c u các vấn đề sau:
- Các vấn đề liên quan đ n học sâu.
- Các hình nh biểu hiện c m xúc c a gương mặt.
- Nghiên c u về mơ hình m ng Alexnet, và thuật toán phân lớp SVM để gi i
quy t bài toán nhận d ng c m xúc gương mặt: Bu n, h nh phúc, ng c nhiện, sợ hãi,
ghê t m, giận dữ, trung tính.
5. Ph ngăphápănghiênăc u
5.1 . Phương pháp lý thuyết
- Thu thập và nghiên c u tài liệu có liên quan.
- Nghiên c u kỹ thuật học máy, học sâu
- Nghiên c u lý thuy t về c m xúc gương mặt.
- Biểu đ t k t qu .
5.2 . Phương pháp thực nghiệm
- Xây dựng kho dữ liệu huấn luyện.
- Xây dựng mơ hình phân lo i c m xúc gương mặt.
- ng dụng mơ hình với kho dữ liệu hình nh chụp c m xúc gương mặt.
6. ụănghƿaăkhoaăh c và th c ti n c a lu năvĕn.

6.1 . Ý nghĩa khoa học
- Nắm vững các vấn đề về lĩnh vực thống kê, xác suất và học máy áp dụng vào
bài toán nhận d ng c m xúc gương mặt.


3
- Nắm vững và vận dụng lý thuy t kỹ thuật học sâu, lý thuy t phân lớp, mơ hình
CNN, AlexNet.
- Hiểu được lý thuy t về nhận d ng c m xúc gương mặt.
- Nhìn nhận được m c độ đóng góp c a các tác gi so với các phương pháp trước
đây; ý nghĩa đóng góp về mặt học thuật có tính ngun gốc, cụ thể là đề tài khai thác
sự k t hợp mơ hình học sâu AlexNet cho việc trích chọn đặc trưng c a nh và SVM
cho việc nhận d ng c m xúc c a con ngư i trên bộ dữ liệu thực t .
6.2 . Ý nghĩa thực tiễn
- Trong thực tiễn đ i sống hằng ngày, thông tin quanh ta là rất nhiều. Bi n thông
tin thành tri th c để phục vụ con ngư i là khát vọng không chỉ riêng đối với các nhà
khoa học.
- Nhận d ng c m xúc có thể giúp theo dõi m c độ chuyên nghiệp c a dịch vụ
b n cung cấp tới khách hàng, để hiểu rõ hành vi c a chàng trai b n chuẩn bị thuê về
dựa trên ph n x c m xúc c a họ trong bu i phỏng vấn xin việc, hay để đọc c m xúc
đám đông trong một bu i trình diễn âm nh c chẳng h n. Ngồi ra nó cịn có thể được
các cơng ty dùng để phân tích năng suất lao động cũng như kiểm tra chéo chúng với
m c độ hài lòng c a công nhân viên.
7. N i dung lu năvĕn
Luận văn g m 3 chương chính:
Ch ngă1:ăGi i thi u t ng quan
Trong chương này, luận văn trınh bay một cách t ng quan về c m xúc gương
mặt và bài toán nhận d ng c m xúc gương mặt thơng qua hình nh.
Ch ngă2:ăC ăs ălýăthuy t
Trong chương này, luận văn đi sâu phân tích đặc trưng c m xúc gương mặt.

Tìm hiểu lý thuy t về m ng Nơ_ron nhân t o, học sâu, mơ hình AlexNet và thuật
tốn phân lớp SVM.
Ch ngă3:ăXây d ng mơ hình AlexNet k t h p SVM - Th c nghi măvƠăđánhă
giá mơ hình
Từ những cơ s lý thuy t đã được tìm hiểu chương 2, trong chương này đề xuất
phương pháp k t hợp mơ hình Alexnet để trích xuất đặc trưng hình nh và thuật tốn
phân lớp SVM để gi i quy t bài toán nhận diện c m xúc gương mặt. Giới thiệu về bộ
dữ liệu nh chụp c m xúc gương mặt. Từ mơ hình xây dựng trên, tơi sử dụng ngơn
ngữ lập trình Matlab ch y thử mơ hình.
Ch ngă4: K t lu năvƠăh ng phát tri n
Sau nhiều lần thực nghiệm chương 3, cuối cùng là những kinh nghiệm, k t
luận, định hướng nghiên c u và phát triển c a luận văn.


4

CH
NGă1
GI IăTHI UăT NGăQUAN
Trong chương này, các nội dung được trình bày ch y u liên quan đ n các vấn
đề về cơng nghệ phân tích c m xúc khn mặt và các ng dụng c a nó trong th i đ i
ngày nay.
1.1. Nh n d ng c m xúc khuôn m t và ng d ng
Trong những năm gần đây, cùng với sự phát triển về khoa học và cơng nghệ, nhu
cầu khai phá trí th c từ các ngu n dữ liệu kh ng l được lưu trữ ngày càng tăng. Hiện
nay, trí tuệ nhân t o (AI) là xu th phát triển c a th giới, học máy, học sâu là những
lĩnh vực quan trọng c a AI được sinh ra nhằm khai thác thông tin kh ng l này. Tương
tác giữa ngư i với máy đã tr thành một lĩnh vực n i bật nhằm cung cấp cho con
ngư i kh năng phục vụ c a máy móc. Điều này bắt ngu n từ kh năng máy móc có
thể tương tác được với con ngư i. Máy móc cần các kỹ năng để trao đ i thông tin với

con ngư i và một trong những kỹ năng đó là kh năng hiểu được c m xúc. Cách tốt
nhất để một ngư i biểu thị c m xúc là qua khn mặt. Bài tốn nhận d ng c m xúc
khuôn mặt đã được bắt đầu nghiên c u từ những năm 1970 nhưng k t qu đ t được
đ n nay vẫn còn nhiều h n ch . Trong th i đ i 4.0 hiện nay, sự phát triển nhanh chóng
về tốc độ xử lý, tính toán với tham số đầu vào lớn c a GPU đã giúp các nhà khoa học
nghiên c u sâu hơn về vấn đề nhận d ng c m xúc với nhiều phương pháp khác nhau.
Điển hình là phương pháp nhận diện c m xúc thơng qua giọng nói, tín hiệu sóng não,
video, hình nh biểu hiện c m xúc trên khuôn mặt.
Hiện t i, các công ty lớn như Unilever và Coca-Cola đã sử dụng các cơng cụ
phân tích c m xúc để hiểu rõ hơn những điều mà khách hàng thích và khơng thích và
dựa trên đó, để đưa ra các chi n dịch qu ng cáo, marketing cho phù hợp. Có kho ng
hơn 10 cơng ty đang s n xuất và hỗ trợ những phần mềm như vậy, theo hãng nghiên
c u Crone Consulting [20].
Các công ty dẫn đầu thị trư ng trong đó có cơng ty kh i nghiệp Emotient và
Affectiva. Unilever ph i nh cậy đ n cơng nghệ phân tích c m xúc c a Affectiva để
đánh giá ph n ng c a khách hàng đối với các mẫu qu ng cáo c a Công ty. Trong khi
đó, Emotient đã hợp tác với Honda Motor và Procter & Gamble để theo dõi c m xúc
c a ngư i tiêu dùng khi họ thử dùng s n phẩm c a mình.
Trong khi đó, cơng ty kh i nghiệp Beyond Verbal, được thành lập cách đây 3
năm t i Tel Aviv, Israel, s hữu một cơ s dữ liệu khơng nhỏ lên tới 1,5 triệu giọng
nói. Cơng ty phân tích ngữ điệu để nhận diện hơn 300 tr ng thái tâm tr ng khác nhau
hơn 40 ngôn ngữ với m c độ chính xác 80% [21].


5
ng dụng Seeing AI c a Microsoft có thể nhận d ng tiền tệ, nói chuyện bằng
văn b n, thậm chí là xác định c m xúc hỗ trợ đắc lực cho ngư i khi m thị [22].
Rõ ràng ng dụng c a cơng nghệ phân tích c m xúc là rất lớn, nó có thể giúp
ngư i, thậm chí c u m ng ngư i. Các camera được cài phần mềm phân tích c m xúc
có thể bi t được khi nào tài x lái xe t i đang kiệt s c để ngăn ông ta ng gục trên vơlăng. Hoặc việc cài phần mềm phân tích c m xúc vào camera được gắn trong lớp học

có thể giúp thầy giáo bi t được họ có thu hút được sự chú ý lắng nghe c a học viên...
Mục tiêu c a luận văn là nghiên c u về kỹ thuật trích xuất đặc trưng từ mơ hình
m ng AlexNet đã được huấn luyện trước, k t hợp với học máy truyền thống SVM đề
xuất mơ hình nhận d ng c m xúc c a khn mặt với độ chính xác cao thông qua bộ dữ
liệu nh JAFEE [23] và Cohn – Kanade [24].
1.2. Ph ngăphápănh n d ng c m xúc khn m t
Có nhiều phương pháp đã được nghiên c u để gi i quy t bài toán này, tuy nhiên
dù là phương pháp ti p cận nào thì cũng chia ra làm hai nhóm chính đó là phương
pháp thông thư ng và phương pháp học sâu. Phương pháp thơng thư ng bao g m ba
bước chính: tiền xử lý hình nh, trích xuất đặc trưng và phân lo i c m xúc. Với các
phương pháp này, việc trích xuất đặc trưng thư ng thực hiện th cơng, ít phụ thuộc
vào dữ liệu và phần c ng. Đối với phương pháp ti p cận dựa trên kĩ thuật học sâu thì
hiệu qu hơn với dữ liệu đầu vào lớn, phương pháp này phụ thuộc nhiều vào thi t bị
phần c ng máy tính và dữ liệu đầu vào.
Điển hình là một số phương pháp sau: Phương pháp Action Units (AU) sử dụng
các đơn vị chuyển động trên khuôn mặt [6], [17], sử dụng PCA, AAM k t hợp tương
quan điểm. Mỗi phương pháp đều có ưu và nhược điểm riêng. Đối với các phương
pháp sử dụng PCA k t hợp m ng nơ-ron cần một tập dữ liệu chuẩn để huấn luyện.
Việc xây dựng các tập dữ liệu huấn luyện này cũng tương đối khó khăn và tốn kém vì
cần nhiều ngư i làm mẫu, những ngư i này cũng cần ph i có kh năng diễn đ t c m
xúc tốt, ngồi ra cịn cần sự đánh giá c a các chuyên gia tâm lý. Hiện nay một số tập
dữ liệu huấn luyện chuẩn thư ng được dùng như JAFEE (Japanese Fermale Facial
Expression) hay Cohn – Kanade.
1.2.1. Phương pháp nhận d ng thông thường
Một đặc điểm đáng chú ý c a phương pháp nhận d ng c m xúc theo hướng ti p
cận thông thư ng là nó phụ thuộc nhiều vào việc trích chọn đặc trưng một cách th
công. Các nhà nghiên c u cần xử lý trước hình nh, chọn phương pháp phân lo i và
trích chọn đặc trưng phù hợp với tập dữ liệu đích.



6

Hình 1.1. Qui trình nhận d ng c m xúc thơng thường
ng với mỗi một bước c a qui trình nhận d ng thì có những thuật tốn khác
nhau để xử lý.
Bước tiền xử lý nhằm lo i bỏ thông tin dư thừa nhằm nâng cao kh năng phát
hiện đặc trưng. Các nhà nghiên c u thư ng hay dùng các bộ lọc Average Filter (AF),
Gaussian Filter (GF), Median Filter (MF), Adaptive Median Filter (AMF), and
Bilateral Filter (BF) để gi m nhiễu hình nh đầu vào.
Bước trích chọn đặc trưng cũng có nhiều phương pháp khác nhau như: Gabor
Feature Extraction, Local Binary Pattern (LBP), ASM/AAM, Optical Flow Method,
Haar-like Feature Extraction, Feature Point Tracking.
Bước phân lớp c m xúc thư ng dùng các thuật toán K-Nearest Neighbors
(KNN), Support Vector Machine (SVM). Đ n th i điểm hiện t i SVM được đánh giá
rất cao về tốc độ phân lớp cũng như độ chính xác c a nó.
1.2.2. Phương pháp sử dụng Action Units
Phương pháp này [25] nhận d ng c m xúc dựa trên Hệ thống mã hóa chuyển
động trên khn mặt (FACS) đề cập đ n một tập hợp các chuyển động cơ mặt tương
ng với một c m xúc hiển thị.
Có tất c 64 Action Units (AU), mỗi AU là sự k t hợp c a một số các cơ trên
khuôn mặt. C m xúc được nhận d ng bằng cách phát hiện t i một th i điểm có bao
nhiêu AU xuất hiện trên khn mặt và với các AU xuất hiện cùng nhau tương ng với
một c m xúc.
B ng 1.1. Một số AU chính
AU

Mơăt

1


Nhướng đầu mày

2

Nhướng đi mày

4

Châu đầu mày l i với nhau

6

Nâng gị má

9

Nhăn mũi

12

2 khóe mơi kéo về hướng mang tai

20

Mím mơi

23

Chu miệng



7
AU

Mơăt

27

Miệng m trịn chữ o

28

Bậm mơi

41

Mí trên mắt sụp xuống

43

Nhắm mắt

44

Nheo mắt

Ví dụ c m xúc h nh phúc được xác định b i việc k t hợp đơn vị chuyển động 6
(cơ gò má nâng lên) và chuyển động 12 (khóe mơi kéo dài ra).
B ng 1.2. C m xúc và các đơn vị chuyển động
C măxúc


Action Units

H nh phúc

6+12

Bu n

1+4+15

Ng c nhiên

1+2+5+26

Sợ hãi

1 + 2 + 4 + 5 + 7 + 20 + 26

Giận dữ

4 + 5 + 7 + 23

Ghê t m

9 + 15 + 16

Khinh bỉ

R12A+R14A


Hình 1.2. ACTION UNITS
Ngu n: />

8
1.2.3. Phương pháp dựa trên đặc trưng của nh
Các kỹ thuật sử dụng trong phương pháp này là phân tích thành phần chính
Principal Component Analysis (PCA) [26], sau đó huấn luyện bằng các thuật toán học.
PCA được Karl Pearson t o ra năm 1901. Đ n những năm 80, Sirovich và Kirby đã
phát triển kỹ thuật này để thể hiện khuôn mặt một cách hiệu qu . Đưa ra sự giống nhau
giữa nhiều hình nh khn mặt khác nhau, kĩ thuật này tìm ra những thành phần cơ
b n c a sự phân bố trên khuôn mặt, thể hiện bằng các eigenvectors. Từng khuôn mặt
trong một tập hợp các khuôn mặt sau đó có thể tính xấp xỉ bằng sự k t hợp tuy n tính
giữa những eigenvector lớn nhất, được bi t tới như eigenfaces [27].
Nhược điểm c a phương pháp này là cài đặt thuật toán ph c t p do việc xác định
mối quan hệ giữa các đặc tính, địi hỏi các thuật tốn ph c t p và phương pháp này s
ho t động không hiệu qu khi kích thước hình nh nhỏ vì rất khó phân biệt được các
đặc tính.
1.2.4. Phương pháp nhận d ng sử dụng kĩ thuật học sâu.
Học sâu đã ch ng tỏ hiệu suất vượt trội trong nhiều tác vụ học máy bao g m
xác định, phân lo i và phát hiện mục tiêu. Về lĩnh vực nhận d ng c m xúc, các phương
pháp ti p cận bằng kĩ thuật học sâu giúp gi m thiểu sự phụ thuộc vào việc xử lý trước
hình nh, cũng như trích xuất đặc trưng. Phương pháp này m nh m , vượt trội hơn rất
nhiều so với các phương pháp thông thư ng, ngồi ra nó cịn có kh năng xử lý khối
dữ liệu lớn. Sau đây là một số phương pháp ph bi n:
 Convolutional Neural Network (CNN)
CNN là một mơ hình “end-to-end”, một c i ti n c a m ng thần kinh nhân t o
Artificial Neural Network (ANN). Các đặc điểm c a CNN bao g m k t nối cục bộ và
chia sẻ trọng lượng, dẫn đ n ít tham số m ng hơn, tốc độ đào t o nhanh hơn.


Hình 1.3. Nhập d ng c m xúc với CNN cơ b n
/>

9
 Deep Belief Network (BDN)
Phương pháp nhận d ng c m xúc trên khn mặt dựa trên DBN có thể tìm hiểu
thơng tin trừu tượng c a hình nh khn mặt một cách tự động và dễ bị nh hư ng b i
các y u tố ho t động. K t hợp với các thành phần khác, DBN đã được ch ng minh là
một phương pháp nhận d ng c m xúc hiệu qu .

 Generative Adversarial Network (GAN)
GAN là một mơ hình học tập khơng giám sát bao g m một m ng chung và một
m ng phân biệt, đã được áp dụng thành công cho việc t ng hợp hình nh để t o ra hình
nh khn mặt, video và các hình nh thực t ấn tượng khác. Các mơ hình dựa trên
GAN khơng chỉ có lợi cho việc đào t o tăng dữ liệu và các nhiệm vụ nhận d ng tương
ng, mà còn ho t động tốt cho việc nhận d ng c m xúc.

Hình 1.4. Nhận d ng c m xúc với GAN
1.3. Thách th c trong v năđ nh n d ng c m xúc khuôn m t
Xác định c m xúc khuôn mặt là một bài tốn khó b i vì con ngư i ngồi 7 c m
xúc cơ b n, cịn rất nhiều c m xúc đa d ng khác. Hơn nữa việc nhận d ng c m xúc dựa
trên các đặc điểm c a khuôn mặt nên thực t không thể bi t được c m xúc đó là đúng
hay khơng. Về phương pháp nhận d ng cũng gặp khó khăn khi nh khn mặt khơng
chính diện, q bé, hay nh được chụp trong điều kiện ánh sáng khơng tốt. Ngồi ra,
điều vướng mắc muôn thu đối với công nghệ nhận d ng c m xúc là tính riêng tư c a
con ngư i.


10


CH
NGă2
C ăS ăLụăTHUY T
2.1. Trích ch năđ cătr ng
2.1.1. Ho t động của nơ-ron sinh học

Hình 2.1. Ho t động của các nơ-ron sinh học
Nguồn: />Nơ-ron là đơn vị cơ b n cấu t o hệ thống thần kinh và là một phần quan trọng
nhất c a não. Não chúng ta g m kho ng 10 triệu nơ-ron và mỗi nơ-ron liên k t với
10.000 nơ-ron khác. mỗi nơ-ron có phần thân (soma) ch a nhân, các tín hiệu đầu
vào qua sợi nhánh (dendrites) và các tín hiệu đầu ra qua sợi trục (axon) k t nối với các
nơ-ron khác. Hiểu đơn gi n mỗi nơ-ron nhận dữ liệu đầu vào qua sợi nhánh và truyền
dữ liệu đầu ra qua sợi trục, đ n các sợi nhánh c a các nơ-ron khác. Mỗi nơ-ron nhận
xung điện từ các nơ-ron khác qua sợi nhánh. N u các xung điện này đ lớn để kích
ho t nơ-ron, thì tín hiệu này đi qua sợi trục đ n các sợi nhánh c a các nơ-ron khác.
mỗi nơ-ron cần quy t định có kích ho t nơ-ron đấy hay không.
Lấy c m h ng từ não bộ và cách nó ho t động c a nó, trong những năm 19571958, một b n học ph thông c a Minksy tên là Frank Rosenblatt, ngư i s được hậu
th mệnh danh là cha đẻ c a neurocomputing (tính tốn bằng thần kinh), cùng với
Charles Wightman và một số ngư i khác đã thi t k thành cơng chi c máy tính m ng
thần kinh (neuro-computer) đầu tiên, gọi là “Mark 1 Perceptron“(“Máy nhận bi t Mark
1”), dùng để nhận d ng nh. Perceptron c a Rosenblatt sử dụng cùng một lúc nhiều
input (nhiều “khớp thần kinh”, mỗi khớp nhận một input) qua một hàm tuy n tính
nhiều bi n, r i k t hợp với thành phần th hai là một hàm một bi n để cho ra k t qu
d ng “YES/NO” [28].


11
2.1.2. Logistic regression
Logistic regression là mơ hình neural network đơn gi n nhất chỉ với input layer
và output layer


Hình 2.2. Mơ hình logistic regression
Hệ số w0 được gọi là bias. Dữ liệu khi tính tốn ln được thêm 1 để tính hệ số
bias w0. Việc thêm bias (hệ số tự do) là rất quan trọng. Hàm sigmoid đây được gọi
là activation function.
2.1.3. Kiến trúc m ng Artificial Neural Network.
M ng nơron nhân t o, Artificial Neural Network (ANN) là một mơ hình xử lý
thơng tin mơ phỏng theo cách th c xử lý thông tin c a các hệ nơron sinh học. Nó được
t o nên từ một số lượng lớn các phần tử (nơron) k t nối với nhau thông qua các liên
k t (trọng số liên k t) làm việc như một thể thống nhất để gi i quy t một vấn đề cụ thể
nào đó. Một m ng nơron nhân t o được cấu hình cho một ng dụng cụ thể (nhận d ng
mẫu, phân lo i dữ liệu, ...) thơng qua một q trình học từ tập các mẫu huấn luyện. Về
b n chất học chính là quá trình hiệu chỉnh trọng số liên k t giữa các nơron [18].

Hình 2.3. M ng ANN
Nguồn: />

12
Layer đầu tiên là input layer, các layer giữa được gọi là hidden layer, layer cuối
cùng được gọi là output layer. Các hình trịn được gọi là node. Mỗi mơ hình ln có 1
input layer, 1 output layer, có thể có hoặc khơng các hidden layer. T ng số layer trong
mơ hình được quy ước là số layer – 1 (Khơng tính input layer).
Ví dụ như hình 2.3 trên có 1 input layer, 3 hidden layer và 1 output layer. Số lượng
layer c a mơ hình là 4 layer. Mỗi node trong hidden layer và output layer :
 Liên k t với tất c các node layer trước đó với các hệ số w riêng.
 Mỗi node có 1 hệ số bias b riêng.
 Diễn ra 2 bước: tính t ng linear và áp dụng activation function.
 Tập các đầu vào: Là các tín hiệu vào (input signals) c a nơron, các tín hiệu này
thư ng được đưa vào dưới d ng một vector N chiều.
 Tập các liên k t: Mỗi liên k t được thể hiện b i một trọng số liên k t – Synaptic

weight. Trọng số liên k t giữa tín hiệu vào th j với nơron k thư ng được kí
hiệu là wkj. Thơng thư ng, các trọng số này được kh i t o một cách ngẫu nhiên
th i điểm kh i t o m ng và được cập nhật liên tục trong quá trình học m ng.
 Bộ t ng (Summing function): Thư ng dùng để tính t ng c a tích các đầu vào
với trọng số liên k t c a nó.
 Ngưỡng (còn gọi là một độ lệch - bias): Ngưỡng này thư ng được đưa vào như
một thành phần c a hàm truyền.
 Hàm truyền (Transfer function): Hàm này được dùng để giới h n ph m vi đầu
ra c a mỗi nơron. Nó nhận đầu vào là k t qu c a hàm t ng và ngưỡng.
 Đầu ra: Là tín hiệu đầu ra c a một nơron, với mỗi nơron s có tối đa là một đầu
ra.

uk 



w
n

j 1

kj

xj

yk = f(uk –bk)

Trong đó: x1, x2, …, xn: là các tín hiệu vào; (wk1, wk2,..., wkn) là các trọng số liên
k t c a nơron th k; uk là hàm t ng; bk là một ngưỡng; f là hàm truyền và yk là tín hiệu
đầu ra c a nơron.

Như vậy nơron nhân t o nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này
với trọng số liên k t, tính t ng các tích thu được r i gửi k t qu tới hàm truyền), và
cho một tín hiệu đầu ra (là k t qu c a hàm truyền).


13
B ng 2.1. Một số hàm truyền thông dụng
Hàm truy n

Đ th

Đ nhănghƿa

ReLu

f(u) = max(0,x)

Tanh

f(x) = tanh(x)

Sigmoid

M ng Nơ-ron truyền thống (Neural Network) ho t động không thực sự hiệu qu
với dữ liệu đầu vào là hình nh. N u coi mỗi điểm nh là một thuộc tính (feature), một
nh RGB kích thước (64x64) có 64x64x3=12288 thuộc tính. N u kích thước nh tăng
lên 1000×1000, chúng ta có 3 triệu (3M) thuộc tính cho mỗi nh đầu vào. N u sử dụng
m ng liên k t đầy đ (fully connected NN) và gi sử lớp th 2 có 1000 thành phần
(units/ neurons), ma trận trọng số s có kích thước 1000 × 3 M tương đương với 3B
trọng số cần huấn luyện (learning). Điều này yêu cầu khối lượng tính toán cực lớn và

thư ng dẫn đ n overfitting do khơng đ dữ liệu huấn luyện.
2.1.4. M ng Nơ-ron Tích Chập (Convolutional Neural Network)
a. Khái niệm
M ng nơ-ron tích chập (CNN - Convolutional Neural Network) [12] là một trong
những mô hình m ng học sâu ph bi n nhất hiện nay, có kh năng nhận d ng và phân
lo i hình nh với độ chính xác rất cao, thậm chí còn tốt hơn con ngư i trong nhiều
trư ng hợp. Mơ hình này đã và đang được phát triển, ng dụng vào các hệ thống xử lý


×