6. Bố cục luận văn
3.4.2. Kết quả trên bộ dữ liệu FEI
Bảng kết quả thử nghiệm mạng Nơron khi thay đổi số lớp ẩn trong mạng Nơ-ron của bộ dữ liệu FEI
Bảng 3.3. Bảng kết quả thử nghiệm khi thay đổi hidden layer của mạng Nơron
ố eural lớp ẩ
hứ tự thực hiệ
ố mẫu
khô hợp lệ iệu suất
3
Lần 1 4/100 96%
Lần 2 6/100 94%
Lần 3 7/100 93%
ầ 2 4/100 96% ầ 3 4/100 96% 10 Lần 1 7/100 93% Lần 2 6/100 94% Lần 3 6/100 94% 15 Lần 1 7/100 93% Lần 2 4/100 96% Lần 3 8/100 92%
Từ Bảng kết quả cho thấy số lượng neural là 5 cho kết quả kiểm thử khá cao (trung bình 96,3%). Nên trong mạng này em sử dụng số Neural là 5.
Hình 3.11. Sơ đồ Neural Network được sử dụng trong tập dữ liệu FEI
Hình 3.12. Confusion matrix for ANN
Hình 3.11 trên thể hiện 2 cảm xúc, nhãn số 1 tương ứng với cảm xúc vui, nhãn số
kết quả nhận diện đúng của từng loại cảm xúc, những giá trị nằm ngoài đường chéo là số ảnh và tỷ lệ nhận diện nhầm của cảm xúc này thành cảm xúc khác. Ví dụ: trên hình
3.12a có 1 ảnh là cảm xúc trung tính nhưng bị nhận dạng nhầm thành vui và hình 3.12b có 1 ảnh biểu cảm khuôn mặt vui thì bị nhận dạng nhầm là trung tính.
Hình 3.13a. Cảm xúc trung tính bị nhận dạng nhầm thành vui
Hình 3.13b. Cảm xúc vui bị nhận dạng nhầm thành trung tính
3.5. Kết quả thực hiệm trên các mô hình khác
Hình 3.15. Kết quả thực nghiệm trên mô hình SVM
Hình 3.16. Kết quả thực nghiệm trên mô hình KNN
Bộ dữ liệu JAFEE thử nghiệm trên mô hình SVM, KNN và Decision Tree và cho ra kết quả dộ chính xác như bảng sau:
Bảng 3.4. Bảng kết quả thử nghiệm trên các mô hình
Các mô hình PCA+SVM PCA+Decision Tree PCA+KNN PCA+ANN ộ chí h
xác 38,7% 68,6% 86,1% 93,8%
hậ xét: Bảng kết quả trên được thử nghiệm trên bộ dữ liệu JAFEE. Thuật toán PCA kết hợp lần lượt với các mô hình: SVM cho kết quả chỉ 38,7%, mô hình Decision Trê cho kết quả 68,6%, mô hình KNN cho kết quả 86,1% và cuối cùng là ANN, cho kết quả 93,8%. Vậy ta thấy, việc nhận dạng bằng thuật tóan PCA kết hợp với ANN cho độ chính xác cao nhất.
3.6. ô cụ thử hiệm atlab
MATLAB là phần mềm cung cấp môi trường tính toán số và lập trình, do công ty MathWorks thiết kế. MATLAB cho phép tính toán số với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác.
Hình 3.17. Logo Matlab
MATLAB là một công cụ có ngôn ngữ hiệu năng cao cho tính toán kỹ thuật. Môi trường của nó được tích hợp khả năng tính toán, trực quan và lập trình rất thích hợp để giải quyết các bài toán liên quan nhiều đến các vấn đề toán học.
MATLAB là một hệ thống tương tác mà các dữ liệu cơ bản là các mảng, các ma trận. Điều này cho phép giải quyết các bài toán mất ít thời gian hơn rất nhiều nếu giải bằng các công cụ ngôn ngữ không tương tác khác như C hoặc Java.
Đặc trưng của MATLAB là các thư viện chuyên dụng gọi là Toolboxes. Các thư viện chuyên dụng này chứa tâp hợp các hàm của MATLAB (file.m) mà nó có thể mở rộng MATLAB để giải quyết các bài toán đặc biệt. Các thư viện đó bao gồm các lĩnh vực: xử lý tín hiệu số, hệ thống điều khiển, logic mờ, …
MATLAB rất phù hợp cho những nghiên cứu cơ bản, trong phạm vi của luận văn này, với bộ công cụ mạng noron, MATLAB được sử dụng để xây dựng một hệ thống nhận dạng cảm xúc. Hơn nữa, MATLAB cũng có các thành phần cho phép các công cụ lập trình khác truy cập, nhằm khai thác khả năng của MATLAB. Do đó, một hệ thống nhận dạng cảm xúc mặt người hoàn toàn có thể sử dụng lại những kết quả của MATLAB như những thành phần chương trình cơ bản.
3.7. Xây dự demo
- Giao diện chính của chương trình
Hình 3.18. Giao diện chính
Chương trình được sử dụng trong Matlab như sau:
Hình 3.19. Giao diện mô phỏng
Hình 3.20. Giao diện mô phỏng (cảm xúc vui)
Hình 3.22. Trường hợp không tìm thấy khuôn mặt
Khi ta đưa vào hệ thống nhận dạng một khuôn mặt bất kì, có kích cỡ khác với ban đầu đưa vào hệ thống, thì hệ thống sẽ thông báo là “Không chứa khuôn mặt”
Nút Open Data cso chức năng mở ra bảng kết quả lưu lại lịch sự nhận dạng của hệ thống, thời gian, ngày giờ cùng với cảm xúc được hệ thoogns nhận dạng rõ ràng.
Tổng kết hươ 3
Tuy hệ thống xây dựng còn đơn giản nhưng đã cơ bản giải quyết được bài toán nhận diện ở quy mô nhỏ. Hiệu suất của hệ thống khá cao với tỉ lệ nhận dạng 93,8% trung bình của nhiều lần huấn luyện, khi test với đầu vào là ảnh cùng chung kích cỡ với ảnh của tập huấn luyện. Ngoài ra mô hình này cũng đã được áp dụng trên các bộ dữ liệu khác cũng cho ra kết quả cũng cao và khi so sánh kết quả thử nghiệm trên các mô hình khác như SVM, KNN, Decision Tree thì kết quả của PCA kết hợp ANN vẫn là cao nhất.
KẾT LUẬN
Kết luận
Luận văn tập trung nghiên cứu về thuật toán trích chọn đặc trưng – Principal Component Analisis (PCA) và quá trình nhận dạng cảm xúc bằng mạng Nơron. Bài toán đặt ra là làm thế nào để nhận dạng cảm xúc trên khuôn mặt người. Với hai bộ dữ liệu JAFEE và FEI, cùng các cảm xúc như vui, buồn, ngạc nhiên và biểu cảm không có cảm xúc gì gọi là trung tính. Hệ thống này có khả năng nhận dạng được các dạng cảm xúc cơ bản như vậy.
Luận văn đã giới thiệu được các bước thực hiện của việc trích chọn đặc trưng từ thuật toán PCA được thể hiện qua các mô hình trong bài; luận văn cũng đã giới thiệu được mạng Nơron, mô hình mạng Nơron, cách huấn luyện mạng bằng thuật toán lan truyền ngược, mô hình thể hiện quá trình học và nhận dạng của mạng... Trên cơ sở đó, em tiến hành cài đặt chương trình trên Matlab.
Bài toán áp dụng nhằm minh họa những kiến thức nghiên cứu đã trình bày trong 2 chương đầu.Qua việc thực hiện, luận văn cũng góp phần giúp em vận dụng và củng cố lại kiến thức phần lớn về khai phá dữ liệu và một phần của trí tuệ nhân tạo đã học ở trường, mở rộng thêm các kiến thức liên quan đến đề tài như xử lí, chuẩn hóa hình ảnh,..; rèn luyện kỹ năng xử lí dữ liệu đối với từng bộ dữ liệu khác nhau, kỹ năng huấn luyện mạng Nơron và test ảnh nhìn thấy được hình ảnh nào được nhận dạng đúng và hình ảnh nào bị nhận dạng nhầm trong tập test của mình, học được cách khắc phục giải quyết một số vấn đề trục trặc trong quá trình thực hiện luận văn.
Những hạn chế của đề tài: thuật toán được xây dựng có quy mô còn khá đơn giản, đối với bộ dữ liệu JAFEE, chỉ nhận dạng được 3 cảm xúc: vui, buồn và ngạc nhiên, còn đối với bộ dữ liệu FEI tuy số lượng đầu vào nhiều hơn nhưng chỉ nhận đạng được 2 cảm xúc là vui vẻ và trung tính thôi; khi kiểm thử thực tế cho kết quả khá ổn nhưng chúng ta vẫn chưa thể đánh giá đó là kết quả cao được vì số hình ảnh trong bộ dữ liệu còn quá ít; chưa phong phú các cảm xúc trên khuôn mặt người.
ướng phát triể đề tài
Phát triển thêm việc xây dựng thuật toán với quy mô lớn hơn như là nhận diện 7 loại cảm xúc trở lên: vui, buồn, giận dữ, ngạc nhiên, sợ hãi, kinh tởm, lo lắng, trung lập,... Hoặc nhận dạng những loại cảm xúc hỗn hợp như biểu cảm vừa hạnh phúc vừa ngạc nhiên hoặc vừa tức giận vừa buồn hoặc vừa sợ hãi vừa lo lắng,…
Phát triển hệ thống kết hợp vừa nhận dạng khuôn mặt người và nhận dạng luôn cả cảm xúc đang thể hiện trên mặt của họ. Ví dụ như bắt một cảnh quay trong video có
nhiều người thì chúng ta có thể nhận dạng được họ là ai và cảm xúc thể hiện của họ lúc đó đang như thế nào.
Hệ thống nhận dạng được các hình ảnh khuôn mặt có góc nghiêng, hình ảnh quay ngang chỉ một phần mặt, hình ảnh khuôn mặt có đeo kính,…
TÀI LIỆU THAM KHẢO
[1] Campo, São Paulo, Brazil, The FEI face database (2006), Phòng thí nghiệm trí tuệ
nhân tạo của FEI ở São Bernardo.
[2] Nguyễn Văn Chức, “Tổng quan về Mạng Neuron (Neural Network)”, từ http://bis.net.vn/forums/t/482.aspx
[3] Nguyễn Thị Ngọc Hân (2016), Mạng Nơron và ứng dụng mạng Nơron trong nhận
dạng cảm xúc trên khuôn mặt người.
[4] Từ Minh Hiển, Trần Thị Khánh Hoa (2012), Nhận dạng khuôn mặt người bằng mạng Nơron và phương pháp phân tích thành phần chính.
[5] Michael Lyons, Miyuki Kamachi và Jiro Gyoba cùng Reiko Kubota, Japanese Female Facial Expression hay Cohn-Kanade, Khoa Tâm lý học tại Đại học Kyushu, Nhật Bản.
[6] Vương Nguyễn (2010), Tổng quan về mạng Nơ ron nhân tạo, Trích dẫn từ trang
web https://vi.scribd.com/document/45779785/m%E1%BA%A1ng-noron
[7] Đinh Xuân Nhất (2010), Nghiên cứu các thuật toán nhận dạng cảm xúc trên ảnh
2D.
[8] Lê Hoàng Thanh, Dò tìm và nhận dạng khuôn mặt người bằng Eigenfaces.
[9] Nguyễn Thị Thanh Vân (2016), Nghiên cứu nhận dạng biểu cảm mặt người trong
tương tác người máy.
[10] Đặng Tuấn Vũ, theo trang web https://rpubs.com/vudt1993/257891, tháng 3 năm 2012
[11] Trích dẫn từ trang web https://vi.wikipedia.org/wiki/Mạng_nơ-ron_nhân_tạo [12] B. Fasel and J. Luettin (2003), Automatic Facial Expression Analysis: A Survey,
Pattern Recognition, Vol. 36(1), pp. 259-275.
[13] J. McClelland, D. Rumelhart, and G. Hinton (1987), The Appeal of Parallel Distributed Processing, Vol.1: Foundations, MIT Press, Cambridge, pp. 3-44.
[14] A. Mehrabian (1968), Communication without Words, Psychology Today, Vol. 2, No. 4, pp.53-56
[15] Trích từ trang web