Đại Học Quốc Gia Tp. Hồ Chí Minh
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------------------------------------
PHẠM VĂN SIM BÉ
NGHIÊN CỨU THUẬT TOÁN
NHẬN DIỆN CẢM XÚC KHUÔN MẶT
Chuyên ngành: Kỹ thuật điện tử
LUẬN VĂN THẠC SĨ
TP.HỒ CHÍ MINH, tháng 01 năm 2019
Trang 1
CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM
Cán bộ hướng dẫn khoa học : ..................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 1: .........................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Cán bộ chấm nhận xét 2: .........................................................................
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM
ngày 16 tháng 01 năm 2019
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ĩ)
1. ............................................................
2. ............................................................
3. ............................................................
4. ............................................................
5. ............................................................
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA …………
Trang 2
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Phạm Văn Sim Bé
MSHV: 7140939
Ngày, tháng, năm sinh: 17/11/1988
Nơi sinh: Kiên Giang
Chuyên ngành: Kỹ thuật điện tử
Mã số: 60520203
I. TÊN ĐỀ TÀI: Nghiên cứu thuật toán nhận diện cảm xúc khuôn mặt
II. NHIỆM VỤ VÀ NỘI DUNG: Phát hiện và xác định cảm xúc của khuôn mặt xuất
hiện trên video thời gian thực sử dụng thuật toán mạng nơ-ron tích chập
III. NGÀY GIAO NHIỆM VỤ : 15/01/2018
IV. NGÀY HỒN THÀNH NHIỆM VỤ: 30/12/2018
V. CÁN BỘ HƯỚNG DẪN: Tiến sĩ Trương Quang Vinh
Tp. HCM, ngày . . . . tháng .. . . năm 20....
CÁN BỘ HƯỚNG DẪN
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
(Họ tên và chữ ký)
(Họ tên và chữ ký)
TRƯỞNG KHOA….………
(Họ tên và chữ ký)
Ghi 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 3
ĐẠI HỌC QUỐC GIA TP.HCM
CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
Độc lập – Tự do – Hạnh phúc
NHẬN XÉT LUẬN VĂN THẠC SĨ
(Nhận xét của CB hướng dẫn
Họ và tên học viên: Phạm Văn Sim Bé.
Nhận xét của CB phản biện )
Đề tài luận văn: Phát hiện và xác định cảm xúc của khuôn mặt xuất hiện trên video
thời gian thực sử dụng thuật tốn mạng nơ-ron tích chập
Chun ngành: Kỹ thuật Điện tử
Người nhận xét (họ tên, học hàm, học vị): TS. Nguyễn Minh Sơn
Cơ quan cơng tác (nếu có): Đại học CNTT – ĐHQG TPHCM
Ý KIẾN NHẬN XÉT
1- Về nội dung & đánh giá thực hiện nhiệm vụ nghiên cứu của đề tài:
Đề tài này trình bày một hệ thống nhận dạng cảm xúc trên khn mặt người có các
chức năng chính: phát hiện khn mặt trên video / camera, trích xuất khuôn mặt và
nhận dạng cảm xúc trên khuôn mặt đó. Hệ thống có khả năng phát hiện và trích xuất
được 7 cảm xúc cơ bản trên khuôn mặt người, bao gồm: buồn, vui, giận, bình thường,
ngạc nhiên, ghê tỏm và sợ hãi, xử lý thời gian thực.
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: Phát hiện
khuôn mặt trên video / camera và trích xuất khn mặt. Sử dụng phương pháp mạng
nơ-ron tích chập để phát hiện khn mặt thơng qua một hệ thống đã được huấn luyện
sẵn. Hiển thị cảm xúc của khuôn mặt trên video thời gian thực. Luận văn này đáp ứng
được yêu cầu của một luạn văn thạc sĩ.
2- Về phương pháp nghiên cứu, độ tin cậy của các số liệu:
Thuyết minh đã trình bày một số nội dung minh chứng cho phương pháp nghiên cứu
của đề tài. Số liệu nghiên cứu trong luận văn này có độ tin cậy thể hiện được tính đúng
đắn của phuong pháp nghiên cứu trong luận văn này.
3- Về kết quả khoa học của luận văn:
Chưa có
4- Về kết quả thực tiễn của luận văn:
Luận văn này hiện thực được công cụ mô phỏng nhận diện cảm xúc khuôn mặt và thử
nghiệm trên các bộ video và webcam thực tế. Kết quả cơ bản chưa đánh giá được tập
Trang 4
dữ liệu của ngừoi Việt Nam, và chưa đánh giá độ chính xác nhưng chưa tập trung đến
các thơng só khác như: hiệu suất thuật toán, thời gian …
5- Những thiếu sót & vấn đề cần làm rõ (nếu có):
-Cần có bảng tổng hợp kết quả của thuật tốn cho quá trình training và quá trinh nhận
dạng.
-Cần làm rõ thuật tốn nhận dạng trên trên các kích thước video khác nhau
6. Ý kiến kết luận (mức độ đáp ứng yêu cầu đối với LVThS):
Cần hiệu chỉnh nội dung còn thiếu sot theo trên. Đánh giá luận văn này đạt loại khá
7. Câu hỏi của người nhận xét dành cho học viên (nếu có):
a) Thuật tốn nhận dạng đám so với các thuật tốn khác có gì nổi bật?
b) Dữ liệu training có ảnh hưởng gì đến tốc độ nhận dạng và độ chính xác?
Ngày 14 tháng 1 năm 2019
NGƯỜI NHẬN XÉT
Nguyễn Minh Sơn
Trang 5
PHẦN NỘI DUNG CHỈNH SỬA
Luận văn được chỉnh sửa cho phù hợp với ý kiến nhận xét của cán bộ phản biện, cụ
thể như sau :
1. Bổ sung danh mục hình ảnh và danh mục bảng ở trang 11 và 12
2. Bổ sung phần so sánh kết quả của model trong đề tài và một số model được
nghiên cứu trên thế giới trên tập dữ liệu FER2013, ở bảng 6 trang 49
3. Bổ sung nội dung làm rõ thuật toán nhận dạng trên trên các kích thước
video khác nhau, ở trang 58
Trang 6
LỜ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áo
viên hướng dẫn TS. Trương Quang Vinh, em đã thực hiện luận văn thạc sĩ chuyên
ngành kỹ thuật điện tử với đề tài “Nghiên cứu thuật toán nhận diện cảm xúc khuôn
mặt”. Qua trang viết này em xin gửi lời cảm ơn tới những ngườ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ương Quang 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ìm
kiế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ể hồn
thành luận văn cao học.
Ngoài ra, em cũng xin chân thành cảm ơn quý đồng nghiệp, gia đình và bạn bè
cùng khóa đã ln động viên và hỗ trợ em trong suốt q trình nghiên cứu và hồn
thành luận văn này.
TÁC GIẢ
Phạm Văn Sim Bé
Trang 7
TÓM TẮT
Cảm xúc của con người là những phản ứng rời rạc và nhất quán đối với các sự
kiện bên ngồi hoặc bên trong con người đó. Chúng tạo thành một phần quan trọng
trong giao tiếp phi ngôn ngữ của xã hội lồi người. Tuy việc nhận dạng cảm xúc
khn mặt dễ dàng với con người nhưng đó vẫn là thách thức lớn đối với việc nhận
dạng và phân loại bởi máy tính hoặc các hệ thống điện tử.
Những thành cơng gần đây của mạng nơ-ron tích chập (CNN) là một trong
những giải pháp cho bài toán nhận dạng cảm xúc khuôn mặt cũng như những ứng
dụng nhận dạng và phân loại khác. Đề tài này sẽ trình bày phương pháp tiếp cận dựa
trên mạng nơ-ron tích chập trong việc phân phát hiện và phân loại 7 cảm xúc cơ bản
của con người, bao gồm: buồn, vui, giận, bình thường, ngạc nhiên, ghê tỏm và sợ hãi
sử dụng phương pháp phân loại Mạng nơ-ron tích chập.
ABSTRACTS
Human emotions are discrete a consistent responses to internal or external
events which have significance for an organism. They constitute a major part of our
non-verbal communication. The task seems easy for human but it is so difficult for a
machine or electronic system to recognize emotion.
The recent success of Convolutional Neural Networks (CNN) in tasks such as
object classification extends to the problem of facial expression recognition. In this
project, we would like to present an approach based on CNN for facial expression
recognition. The objective of this project is to classify 7 basic emotions: anger,
disgust, fear, happiness, sadness, surprise and neutral
Trang 8
LỜ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 bất 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 thự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
tháng
Học viên thực hiện
Phạm Văn Sim Bé
Trang 9
năm
Mục lục
1. Tổng quan ......................................................................................................... 13
1.1.
Giới thiệu về đề tài ...................................................................................... 13
1.2.
Đặc trưng của mặt người ............................................................................. 13
1.2.1
Yêu cầu về nhận dạng khuôn mặt. ............................................................ 14
1.2.2
Các biểu cảm cảm xúc trên mặt người ...................................................... 14
1.3.
Mục tiêu, nhiệm vụ và phạm vi đề tài .......................................................... 15
1.3.1
Mục tiêu của đề tài ................................................................................ 15
1.3.2
Nhiệm vụ của đề tài .............................................................................. 15
1.3.3
Phạm vi của đề tài ................................................................................. 15
1.4.
Tổ chức luận văn ......................................................................................... 15
2. Tình hình nghiên cứu trong và ngoài nước ..................................................... 16
3. Mạng nơ-ron tích chập (Convolution neural network - CNN) ...................... 23
3.1.
Tổng quan ................................................................................................... 23
3.2.
Mạng nơ-ron tích chập................................................................................. 24
4. Thiết kế hệ thống và mô phỏng thử nghiệm ................................................... 29
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) ........................................................................................................... 29
4.2.
Dữ liệu sử dụng cho huấn luyện mạng (Training dataset) ............................ 37
4.3.
Huấn luyện cho kiến trúc mạng nơ-ron tích chập ......................................... 39
4.4.
Thiết kế giao diện chương trình (GUI)......................................................... 50
4.5.
Mơ phỏng và thực nghiệm ........................................................................... 51
5. Hướng phát triển đề tài ................................................................................... 63
6. Tài liệu tham khảo ........................................................................................... 64
Trang 10
Danh mục hình ảnh
Trang
Hình 1: 7 cảm xúc cơ bản của con người ................................................................... 14
Hình 2: Các thành phần cơ bản của khn mặt .......................................................... 18
Hình 3: Cảm xúc khn mặt và thống kê dữ liệu trong tập Kaggle ............................. 19
Hình 4: Ma trận cảm xúc của đề tài (1) ...................................................................... 20
Hình 5: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc ............... 21
Hình 6: Mơ hình được giới thiệu trong đề tài ............................................................. 22
Hình 7: Ma trận xảm xúc của đề tài (2) ...................................................................... 22
Hình 8: Tích chập giữa ngõ vào và cửa sổ tích chập .................................................. 25
Hình 9: Hoạt động của max-pooling .......................................................................... 26
Hình 10: Hoạt động của lớp hiệu chuẩn tuyến tính..................................................... 26
Hình 11: Kỹ thuật chia sẽ trọng số ............................................................................. 28
Hình 12: Cấu trúc của mạng nơ-ron tích chập ........................................................... 29
Hình 13: 7 cảm xúc khuôn mặt cơ bản trong tập FER2013 ......................................... 37
Hình 14: Cấu trúc của tập dữ liệu FER2013 .............................................................. 37
Hình 15: Phân bố dữ liệu trong tập FER2013 ............................................................ 38
Hình 16: Một số ảnh khơng đúng nhãn trong tập FER2013 ........................................ 39
Hình 17: Lưu đồ quá trình huấn luyện mạng .............................................................. 40
Hình 18: Mơ tả thuật tốn gradient descent ............................................................... 41
Hình 19: So sánh tốc độ học của mạng....................................................................... 44
Hình 20: Lan truyền ngược của lớp tích chập ............................................................ 46
Hình 21: Độ chính xác trong q trình huấn luyện và validation................................ 48
Hình 22: Mất mát trong quá trình huấn luyện và validation ....................................... 49
Hình 23: Ma trận cảm xúc trên tập Private test .......................................................... 50
Hình 24: Giao diện GUI............................................................................................. 51
Hình 25: Lưu đồ hoạt động của hệ thống nhận dạng cảm xúc .................................... 52
Hình 26: Phát hiện khn mặt bằng Haar cascade ..................................................... 52
Hình 27: Xác định và trích xuất khn mặt ................................................................ 53
Hình 28: Chuyển đổi mức xám ................................................................................... 53
Hình 29: Kết quả nhận diện cảm xúc Vui với tỉ lệ dự đoán là 100% ........................... 54
Hình 30: Kết quả nhận diện cảm xúc Vui với tỉ lệ dự đốn là 99.74% ........................ 55
Hình 31: Kết quả nhận diện cảm xúc Buồn với tỉ lệ dự đốn là 58.67%...................... 55
Hình 32: Kết quả nhận diện cảm xúc Giận với tỉ lệ dự đoán là 92.29% ...................... 56
Hình 33: Kết quả nhận diện cảm xúc Ngạc nhiên với tỉ lệ dự đốn là 100% ............... 56
Hình 34: Kết quả nhận diện cảm xúc Sợ với tỉ lệ dự đốn là 69.81% .......................... 57
Hình 35: Kết quả nhận diện cảm xúc nhiều khn mặt trên hình ................................ 57
Hình 36: Kết quả nhận diện cảm xúc khuôn mặt trên video ........................................ 61
Hình 37: Kết quả ghi nhận cảm xúc trên file excel ..................................................... 61
Hình 38: Phát hiện sai vị trí khn mặt ...................................................................... 62
Trang 11
Danh mục bảng
Trang
Bảng 1: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (1) ......... 17
Bảng 2: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (2) ......... 17
Bảng 3: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (3) ......... 19
Bảng 4: Kích thước ngõ ra của các lớp trong mạng ................................................... 31
Bảng 5: Thống kê dữ liệu trong tập FER2013 ............................................................ 38
Bảng 6: So sánh kết quả của một số model trên tập dữ liệu FER2013 ........................ 49
Trang 12
1. Tổng quan
1.1. Giới thiệu về đề tài
Trong những năm gần đây, cùng với sự phát triển nhanh của các mạng xã hội,
ảnh và video bao gồm các khuôn mặt tạo thành một lượng lớn dữ liệu hình ảnh
qua Internet và việc sử dụng máy để thực hiện nhận dạng khuôn mặt ngày càng
trở nên phổ biến. Biểu hiện trên khuôn mặt, là cách biểu đạt và trực tiếp nhất để
giao tiếp cảm xúc ở người. Tuy nhiên, mặc dù nét mặt có thể dễ dàng nhận ra bởi
con người, nhưng nhận dạng khuôn mặt đáng tin cậy bằng máy vẫn là một thách
thức lớn. Hơn nữa, nó là một vấn đề thú vị và đầy thử thách do phạm vi rộng của
các ứng dụng như tương tác giữa con người và máy tính, nhận dạng hình mẫu,
phân loại hình ảnh và nhiều lĩnh vực khác.
Luận văn này xin trình bày một hệ thống nhận dạng cảm xúc trên khuôn mặt
người. Hệ thống thực hiện các chức năng chính: phát hiện khn mặt trên video /
camera, trích xuất khn mặt và nhận dạng cảm xúc trên khn mặt đó. Hệ thống
có khả năng phát hiện và trích xuất được 7 cảm xúc cơ bản trên khuôn mặt người,
bao gồm: buồn, vui, giận, bình thường, ngạc nhiên, ghê tỏm và sợ hãi, xử lý thời
gian thực.
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:
Phát hiện khn mặt trên video / camera và trích xuất khn mặt
Sử dụng phương pháp mạng nơ-ron tích chập để phát hiện khuôn mặt
thông qua một hệ thống đã được huấn luyện sẵn
Hiển thị cảm xúc của khuôn mặt trên video thời gian thực
1.2. Đặc trưng của mặt người
Khuôn mặt là trọng tâm chính trong mối quan hệ giao tiếp trong xã hội, đóng
vai trị quan trọng trong việc truyền tải bản sắc và cảm xúc. Chúng ta có thể nhận
ra khuôn mặt của rất nhiều người trong suốt cuộc đời, và việc nhận diện khuôn
mặt quen thuộc chỉ trong nháy mắt thậm chí sau nhiều năm khơng gặp. Điều này
khá là rõ nét, bất chấp những thay đổi lớn về thị giác, biểu hiện, lão hóa, hoặc
những thay đổi về kiểu tóc, về kính... Ngồi ra, ảnh khn mặt trong thực tế còn
Trang 13
chứa đựng rất nhiều vấn đề như: độ sáng, độ nhịe/mờ, độ nhiễu, độ phân giải, góc
ảnh…
Hình 1: 7 cảm xúc cơ bản của con người
1.2.1 Yêu cầu về nhận dạng khn mặt.
Ổn định, thích ứng với nhiều khn mặt
Nhận biết được 7 cảm xúc cơ bản của con người
Thích ứng với các điều kiên khác nhau thu được từ camera: anh sáng,
màu sắc, độ tương phản…
1.2.2 Các biểu cảm cảm xúc trên mặt người
Con người có nhiều cách để truyền đạt thông tin với nhau: ngôn ngữ, cử chỉ,
lời nói… Biểu hiện cảm xúc trên khn mặt cũng là một cách để truyền đạt thơng
tin, nó có thể biểu hiện một nhận định của con người trước sự vậ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ới – nhận
dạ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ười ở mọi nền văn hóa thể hiện giống
nhau trong Emotions Revealed (2003).
Trang 14
1.3. Mục tiêu, nhiệm vụ và phạm vi đề tài
1.3.1 Mục tiêu của đề tài
Nhận diện cảm xúc trên khuôn mặt người là một trong những đề tài thiết thực và
cầ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 khn 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ận để 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ằm
nâ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 khn mặt từ ảnh / video thời gian thực
Tính tốn và ước lượng cảm xúc trên khuôn mặt ở khung ảnh hiện tại
Trích xuất cảm xúc trên khn mặt và hiển thị kết quả
1.3.3 Phạm vi của đề tài
Đề tài luận văn này sẽ được thực hiện với đáp ứng đầu vào là video và đầu ra
cũng là video cùng với cảm xúc trên khuôn mặt trên video với độ chính xác cao.
Hệ thống sẽ được thiết kế hoạt động trên các bộ dữ liệu video lấy từ thực tế, thời
gian thực
1.4. Tổ chức luận văn
Luận văn sẽ đi qua các mục chính sau:
-
Xem qua các nghiên cứu trong và ngồi nước về đề tài của luận văn
-
Phân tích thuật tốn nhận dạng cảm xúc khn 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 15
2. Tình hình nghiên cứu trong và ngồi nước
Nhận diện cảm xúc trên khuôn mặt người đang là một lĩnh vực được nghiên
cứu nhiều trong lĩnh vực thị giác máy tính. Trong phần luận văn này, em xin đưa
ra một số lĩnh vực nghiên cứu, một số phương pháp tiếp cận đặc trưng để người
đọc có thể kham thảo.
Năm 2010, tác giả Đinh Xuân Nhất trong khóa luận tốt nghiệp Đại học Công
nghệ - Đại học Quốc gia Hà Nội, “Nghiên cứu các thuật tốn nhận dạng cảm
xúc trên khn mặt 2D”, đã đưa các so sánh 3 thuật toán nhận dạng cảm xúc
trên khuôn mặt gồm 5 cảm xúc cơ bản: vui, buồn, ghê tởm, giận dữ và tự nhiên.
Tác giả đã chỉ ra một số thuậ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ữ liệu đầu vào mà đề tài sử dụng bao gồm có 75 ảnh khn mặt mẫu, độ
phân giải 600x800 điểm ảnh, tất cả đều là ảnh khn 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ận
dữ 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ệu
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 về phương pháp trích chọn đặc trưng (PCA) và Mạng
noron nhiều tầng truyền thẳng, đồng thời giới thiệu sơ lược về một giải
thuậ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 một chương trình hồn chỉnh có giao diện tương tác với người
sử dụng.
Kết quả nhận dạng thu được chưa cao, phân bố không đồng đều giữa các cảm
xúc với nhau:
Trang 16
Cảm xúc
Vui
Phương pháp
Ghê
tởm
Giận
dữ
Buồn
Bình
thường
Trung
bình
PCA truyền thống
80%
70%
86%
55%
84% 75.00%
Mạng noron
100%
100%
67%
50%
80% 79.40%
Cây quyết định
60% 14.30% 16.70%
0%
60% 30.20%
Bảng 1: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (1)
Năm 2010, Trong bài báo “Facial Expression Recognition Using AAM
Algorithm”, 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ốc
độ 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 độ
đặc biệt nhanh.
Cảm xúc
Độ chính xác
AAM kết hợp mạng nơ-ron
AAM kết hợp tương quan điểm
Vui
82.66%
85.33%
Buồn
96.00%
90.66%
Ngạc nhiên
85.33%
81.33%
Giận dữ
84.00%
82.66%
Trung bình
87.00%
85.00%
Bảng 2: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (2)
Năm 2011, Tại Hội nghị Quốc tế về Công nghệ tiên tiến áp dụng cho Truyền
thông, với bài báo “Toward a Vietnamese facial expression recognition system
for human-robot interaction” các tác giả Le Thi-Lan và Dong Van-Thai đến từ
Đại học Bách Khoa Hà Nội đã trình bày kết quả nghiên cứu về nhận dạng cảm
xúc khuôn mặt người Việt Nam, trong đó bao gồm việc xây dựng database, phát
hiện khn mặt và nhận dạng biểu hiện khn mặt. Đóng góp chính trong bài báo
là database biểu hiện khn mặt của người Việt Nam, và kết quả sơ bộ về phát
hiện và nhận dạng biểu hiện cảm xúc trên khuôn mặt.
Kết quả phát hiện khn mặt với độ chính xác là 83% với hình ảnh nhiều
khn mặt và 94% với hình ảnh một khn mặt.
Trang 17
Hình 2: Các thành phần cơ bản của khn mặt
Một nghiên cứu Liyuan Zhen và Shifeng Zhu, “Convolutional Neural Network
for Facial Expression Recognition” chỉ ra kết quả triển khai của một số kiến trúc
của mạng nơ ron tích chập mà nhóm đã thực hiện. Tuy nhiên kết quả đạt được
chưa cao.
Đối với kiến trúc nơ ron tích chập tiêu chuẩn: 5 × 5 Conv(ReLU) → 2 × 2
Max-Pooling → Fully-Connected(ReLU) → Softmax, kết quả đạt được chỉ
ở 48%
Với kiến trúc CNN 6 lớp, độ chính xác ở mức 52.72%
Đối với kiến trúc học sâu hơn (Depper CNN): 3 × 3 Conv(ReLU) - 2 × 2
Max-Pooling with dropout rate of 0.25 → 3 × 3 Conv(ReLU) - 2 × 2 MaxPooling with dropout rate of 0.25 → 3 × 3 Conv(ReLU) - 2 × 2 MaxPooling with dropout rate of 0.25 → Fully-Connected(ReLU) with dropout
rate of 0.5 → Softmax., độ chính xác được cải thiện ở mức 61.19%
Tác giả sử dụng dữ liệu từ cuộc thi nhận dạng cảm xúc khuôn mặt Kaggle
(Kaggle facial expression challenge) bao gồm 28709 ảnh và cho việc huấn luyện
Trang 18
và 3589 ảnh cho việc kiểm tra, các ảnh này là ảnh khn mặt người có kích thước
48x48 pixels và được định dạng ở ảnh xám.
Hình 3: Cảm xúc khn mặt và thống kê dữ liệu trong tập Kaggle
Arushi Raghuvanshi và Vivek Choksi đã giới thiệu đề tài “Facial
Expression Recognition with Convolutional Neural Networks” sử dụng mạng
nơ ron tích chập 5 lớp để giải quyết bài toán nhận diện cảm xúc khuôn mặt trên
ảnh. Baseline classifier cũng được sử dụng trong đề tài này để đưa ra kết quả tính
tốn về cảm xúc khn mặt.
Nhóm sử dụng dữ liệu từ cuộc thi nhận dạng cảm xúc khuôn mặt Kaggle
(Kaggle facial expression challenge) để triển khai và kiểm tra hệ thống, kết quả
triển khai của 5 mơ hình dựa trên mạng nơ-ron tích chập khơng cao
Độ chính xác
Mơ hình
Huấn luyện
Test
Baseline
0.25
0.24
Five-layer CNN
0.46
0.39
Deeper CNN
0.6
0.48
VGG16 fine-tuned CNN
VGGFace fine-tuned CNN
0.37
Bảng 3: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc (3)
Năm 2017, các tác giả Minh-An Quinn, Grant Sivesind, Guilherme Reis
của đại học Stanford đã giới thiệu nhiều mơ hình nhân dạng cảm xúc khuôn mặt
trong đề tài: “Real-time Emotion Recognition From Facial Expressions”, thực
Trang 19
hiện trên một số tập dữ liệu, trong đó có FER2013. Trong đó có mơ hình mạng
nơ-ron tích chập với 10 lớp và độ chính xác đạt được 66,67% trên tập FER2013.
Độ chính xác tập trung chủ yếu ở 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 4: Ma trận cảm xúc của đề tài (1)
Trang 20
Hình 5: So sánh độ chính xác của một số phương pháp nhận dạng cảm xúc
Ngày 20 tháng 10 năm 2017, các tác giả Octavio Arriaga, Matias ValdenegroToro, Paul Plöger giới thiệu một nghiên cứu mang tên “Real-time Convolutional
Neural Networks for Emotion and Gender Classification”. Nghiên cứ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ới
tính xử lý thời gian thực.
Trang 21
Hình 6: Mơ hình được giới thiệu trong đề tài
Hình 7: Ma trận xảm xúc của đề tài (2)
Trang 22
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, tuy nhiên, khơng sử dụng lớp kết nối đầy đủ trong mạng. Hệ thống được
huấn luyện với IMDB dataset với 460,723 hình ảnh RGB về giới tính, độ chính
xá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 số nghiên cứu trong và ngoài nước liên quan đến việc nhận
dạng cảm xúc khuôn mặt, mỗi nghiên cứu đều có ưu điểm và nhược điểm riêng,
hầ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 hệ thống. Phần tiếp theo của đề tài sẽ là phần phân tích thuật
tốn nhận dạng cảm xúc khn 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 thẳng nhiều lớp là một kỹ thuật có sức mạ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 để giải quyết một số bài tốn thực tế. Tuy nhiên việc
lựa chọn thủ cơng thuật tốn trích xuất đặt trưng và thuật toán phân loại thường
dựa theo kinh nghiệm, dẫn đến bài tốn khơng tối ưu. Do đó, hướng giải quyết tốt
nhất là đưa mạng nơ-ron lên dữ liệu thơ ban đầu và để cho thuật tốn huấn luyện
tìm ra đặt trưng tối ưu bằng cách thay đổi các trọng số tương ứng.
Vấn đề của cách tiếp cận này là số chiều của dữ liệu đầu vào tương đối lớn
đồng thời là một lượng lớn liên kết giữa các phần tử ẩn và lớp ngõ vào (input
layer). Thông thường con số này đạt khoảng 10,000 hoặc lớn hơn tùy vào từng
ứng dụng cụ thể. Số lượng lớn mẫu dùng để huấn luyện có thể tương đối nhỏ so
với kích thước mẫu sẽ dẫn đến mạ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 đúng
theo 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ực
tế.
Trang 23
Mạng nơ-ron tích chập (CNN) khơng những sẽ giải quyết các vấn đề đã nêu ở
trên mà cịn cho có thể áp dụng giải quyết các bài toán nhận dạng phức tạp với
hiệu xuất cao.
3.2. Mạng nơ-ron tích chập
Mạng nơ-ron tích chập (Convolutional Neural Network – 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 những hệ thống thông minh với độ chính xác cao. CNN trong nhận dạng
cảm xúc khn 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ười – máy trong xu thế hiện nay.
Cấu trúc cơ bản của một mạng nơ-ron tích chập (CNN) thường bao gồm các
lớp: Lớp tích chập (Convolution layer), lớp Pooling (Pooling layer), lớp hiệu
chỉnh tuyến tính (Rectified linear units layer - ReLU) và lớp kết nối đầy đủ (Fully
connected layer). Độ phức tạp của kiến trúc mạng tích chập cịn tùy từng ứng
dụng cụ thể mà người thiết kế có thể 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ọc có kích thước nhỏ so với ảnh áp vào một
vùng trong ảnh và tiến hành tính tích chập giữa bộ filter và giá trị điểm ảnh trong
vùng cục bộ đó. Bộ lọc sẽ lần lượt được dịch chuyển theo một giá trị bước trượt
và quét toàn bộ ảnh. Các thông số của bộ lọc này sẽ được khởi tạo một cách ngẫu
nhiên và sẽ được cập nhật dần trong quá trình huấn luyện cho mạng.
Giả sử fk là bộ lọc có kích thước 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ữa fk và ngõ vào x cho
ta kết quả như sau:
n 1 m 1
O ( xu ,v ) f k (i, j ) xu i ,v j
i 0 j 0
(3.1)
Để có được nhiều đặt trưng đại diện từ dữ liệu đầu vào, ta có thể áp dụng nhiều
bộ lọc fk với k lên ngõ vào x. Bộ lọc fk được thực hiện bằng cách chia sẻ trọng
Trang 24
số của các nơ-ron lân cận. Điều này có ý nghĩa tích cực cho việc cập nhậ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 8: Tích chập giữa ngõ vào và cửa sổ tích chập
b. Lớp Pooling (Pooling layer)
Mục tiêu của lớp pooling là làm giảm kích thước của ảnh nhưng vẫn giữ các
thông tin quan trọng nhất trong đó. Sử dụng một hàm kích hoạt tương ứng với
mục đích của người thiết kế để. Các phương thức lấy phổ biến trong lớp Pooling
là MaxPooling (lấy giá trị lớn nhất), MinPooling (lấy giá trị nhỏ nhất) và
AveragePooling (lấy giá trị trung bình). Khác với lớp tích chập, lớp Pooling
khơ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 mẫu với hàm kích hoạt là
Maximun được áp dụng trên ngõ vào x. Giả sử m là kích thước của cửa sổ trượt,
kết quả thu được khi áp dụng hàm kích hoạt Maximun như sau:
M ( xi ) max{xi k ,i l | k
Trang 25
m
m
, l ; k , l }
2
2
(3.2)