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
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 yêu cầu khối lượng tính toán cao.
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 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.
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.
– 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.
– 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ả.
– 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.
- . Ý 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.
– 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 phát minh.
– 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. Ngoà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.
Luận văn gồm 3 chương chính:
Chương 1: Giới thiệu tổng quan
Chương 2: Cơ sở lý thuyết
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
Chương 4: Kết luận và hướng phát triển
CHƯƠNG 1
1.1. Nhận dạng cảm xúc khuôn mặt và ứng dụng
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.
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.
Ứ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ị.
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…
1.2. Phương pháp nhận dạng cảm xúc khuôn mặt
1.2.1. Phương pháp nhận dạng thông thường
1.2.2. Phương pháp sử dụng Action Units
1.2.3. Phương pháp dựa trên đặc trưng của ảnh
1.2.4. Phương pháp nhận dạng sử dụng kĩ thuật học sâu
1.3. Thách thức trong vấn đề nhận dạng cảm xúc khuôn mặt
CHƯƠNG 2
2.1.1. Hoạt động của nơ-ron sinh học
2.1.3. Kiến trúc mạng Artificial Neural Network.
b. Kiến trúc Mạng nơ-ron tích chập
a. Bối cảnh ra đời
b. Kiến trúc mạng AlexNet
Nhóm của Alex Krizhevsky đã đưa ra mô hình mạng huấn luyện gồm 5 lớp Convulutional và 3 lớp Fully – Connnected, được huấn luyện song song trên 2 card đồ họa GPU.
Hình 2.7. Kiến trúc mạng AlexNet.
Nguồn: https://www.learnopencv.com/understanding-alexnet/
2.1.6. Trích Xuất Đặc Trưng Hình Ảnh Với Mạng Alexnet
a. Khái niệm đặc trưng hình ảnh.
- Hình ảnh trong máy tính
Hình ảnh trong máy tính được biểu diễn dưới dạng ma trận. Giả sử ảnh đầu vào là ảnh có kích thước 28x28x3 thì được biểu diễn bởi 3 ma trận Red, Green, Blue. Mỗi ma trận có 28 dòng 28 cột, một ô mang một giá trị màu tương ứng với 1 pixel của ảnh.
- Đặc trưng hình ảnh
Là các cạnh, các góc, các texture được tìm thấy sau khi cho ảnh qua các bộ lọc. Gọi M là ma trận ảnh đầu vào, K là bộ lọc thì phép nhân tích chập (convolution) của M với K sẽ được đặc trưng của ảnh đầu vào M.
Ví dụ ảnh đầu vào bên trái sau khi qua bộ lọc cạnh Sobel trục x được ảnh bên phải.
K = (1 0 -1; 2 0 -2 ; 1 0 -1)
Hình 2.11. Ảnh đầu vào sau khi qua bộ lọc Sobel
Với mô hình AlexNet thì trước lớp Fully Connected 8 có thể được xem như là bộ công cụ trích xuất đặc trưng.
Bảng 2.1. Hình dung những đặc trưng của mô hình AlexNet train trước
Gà trống | Ếch | Cốc bia | Đồng hồ |
2.2. Phân lớp với Support Vector Machines
2.2.4. Trường hợp phân tách phi tuyến
2.2.5. Một số hàm nhân (Kernel) thông dụng
2.3. Kết chương
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
3.1. Mô Tả Bài Toán Nhận Dạng Cảm Xúc Gương Mặt
Bài toán đặt ra là sử dụng phương pháp học sâu để xây dựng mô hình nhận dạng được cảm xúc gương mặt người. Bộ dữ liệu là 1296 hình ảnh có gán nhãn chụp lại biểu hiện cảm xúc của nhiều người khác nhau. Trong bài toán nhận dạng cảm xúc này, tôi tập trung nghiên cứu xây dựng mạng neural sâu đã được huấn luyện trước với bộ CSDL lớn để khai thác các đặc trưng cơ bản của hình ảnh, cung cấp các đặc trưng này cho phương pháp học máy truyền thống SVM để giải quyết các vấn đề nhận dạng 7 biểu hiện cảm xúc khác nhau trên gương mặt, trong giới hạn của luận văn này, 7 biểu hiện cảm xúc đó là: trung tính, buồn, hạnh phúc, sợ hãi, ghê tởm, ngạc nhiên, giận dữ. Trong nghiên cứu này, tôi hy vọng sẽ cải thiện kết quả dựa trên việc phân biệt đặc trưng được tách rút bằng cách sử dụng kết hợp mạng AlexNet và máy vector hỗ trợ (SVM).
Như đã đề cập toàn bộ các layer trừ output layer có thể được coi là một bộ công cụ trích xuất đặc trưng (Feature Extractor). Dựa trên nhận xét rằng các bức ảnh đều có những đặc tính giống nhau nào đó, với cơ sở dữ liệu khác, ta cũng có thể sử dụng phần Feature Extractor này để tạo ra các feature vectors. Sau đó, cho vào SVM phân lớp.
Hình 3.2. Mô hình kết hợp AlexNet và SVM
Phần trên của hình 3.2 là mô hình AlexNet được trích xuất một phần kết hợp với SVM cho ra mô hình kết hợp.
Dữ liệu đầu vào được chia làm 2 phần với tỷ lệ 70-30. 70% làm dữ liệu huấn luyện sau khi đi vào input của mô hình thì được chuẩn hóa về kích thước 227x227x3.
Tất cả dữ liệu huấn luyện sau khi qua 5 convolution và đến lớp FC6 của AlexNet thì được vector đặc trưng của pha huấn luyện. Cho vector này qua phân lớp với SVM ta được các lớp cảm xúc từ 1 đến 7.
30% dữ liệu còn lại đi vào pha kiểm thử đến FC6 của AlexNet thì được vector đặc trưng kiểm thử. Cho vector đặc trưng này qua lớp SVM ở trên để nhận dạng cảm xúc. So khớp cảm xúc nhận dạng được với nhãn cảm xúc thật của mỗi hình ảnh kiểm thử ta được phần trằm độ chính xác của mô hình nhận dạng.
3.3.2. Giới thiệu về cơ sở dữ liệu thực nghiệm
Dữ liệu dùng để thực nghiệm bài toán nhận dạng cảm xúc gương mặt là sự kết hợp của bộ dữ liệu JAFEE và một phần hình ảnh của bộ Cohn – Kanade mở rộng.
Bảng 3.3. Bảng cảm xúc và số lượng ảnh tương ứng
SỐ LƯỢNG ẢNH | CẢM XÚC | ||||||
AN | DI | FE | HA | NE | SA | SU | |
174 | 221 | 119 | 267 | 116 | 200 | 311 | |
TỔNG | 1296 |
Giận dữ | Ghê tởm | Sợ hãi | Hạnh Phúc |
Trung tính | Buồn | Ngạc nhiên |
Hình 3.12. Một số hình ảnh biểu diễn 7 cảm xúc trong CSDL thực nghiệm
3.3.3. Kết quả thực nghiệm và đánh giá
Để thấy rõ kết quả đạt được của mô hình đề xuất ở trên tôi tiến hành thực nghiệm với 3 phương pháp: Kết hợp mạng CNN và SVM, kết hợp mạng AlexNet và SVM, học chuyển giao và tinh chỉnh mô hình mạng AlexNet đã được huấn luyện trước.
Trước khi tiến hành thực nghiệm, tôi chia dữ liệu làm 2 phần: trainingSet và testSet theo tỷ lệ 70% – 30%.
Cụ thể như sau:
Tổng số hình ảnh là 1296 ảnh.
Trong đó phần trainingSet là 907 ảnh và testSet là 389.
a. Thực nghiệm với phương pháp CNN kết hợp SVM.
– Các bước thực hiện:
+ Tổ chức cở sở dữ liệu
+ Cài đặt Matlab 2018a, cập nhật Deep Learning Tolbox
+ Cấu hình tham số huấn luyện
+ Tiền xử lý dữ liệu phù hợp với mô hình
+ Thực hiện huấn luyện dữ liệu và phân lớp.
Bảng 3.5. Ma trận kiểm tra kết quả dự đoán với tập dữ liệu test.
Mẫu Cảm Xúc | Giận Dữ | Ghê Tởm | Sợ Hãi | Hạnh Phúc | Trung Tính | Buồn | Ngạc Nhiên | Tổng |
Giận Dữ | 41 | 8 | 0 | 1 | 0 | 0 | 0 | 50 |
Ghê Tởm | 2 | 56 | 3 | 1 | 0 | 0 | 0 | 62 |
Sợ Hãi | 0 | 1 | 29 | 4 | 0 | 0 | 1 | 35 |
Hạnh Phúc | 0 | 3 | 2 | 75 | 0 | 0 | 0 | 80 |
Trung Tính | 7 | 6 | 4 | 2 | 4 | 5 | 2 | 30 |
Buồn | 10 | 13 | 3 | 0 | 0 | 26 | 0 | 52 |
Ngạc Nhiên | 0 | 0 | 2 | 0 | 0 | 0 | 78 | 80 |
Bảng 3.5 được gọi là Confusion Matrix dùng để đánh giá độ chính xác của mô hình
Kết quả đạt được có độ chính xác trung bình là 72,82%.
b. Thực nghiệm với phương pháp học chuyển giao
- Các bước thực hiện:
+ Tổ chức dữ liệu
+ Tiền xử lý dữ liệu cho phù hợp với mạng AlexNet
+ Tinh chỉnh 3 lớp cuối của mạng AlexNet phù hợp với dữ liệu mới
+ Train lại mạng với CSDL mới
+ Cho tập test qua mạng mới để xác định độ chính xác.
Hình 3.14. Tiến trình train với CSDL mới
Hình 3.15 Là đồ thị biểu diễn độ chính xác đạt được trong quá trình học cũng như hàm Loss hội tụ về 0 lúc nào trong quá trình huấn luyện. Ở đây độ chính xác tăng lên quá nhanh có nghĩa dữ liệu huấn luyện trùng khớp nhiều.
Bảng 3.7. Ma trận kiểm tra kết quả dự đoán theo phần trăm
Mẫu Cảm Xúc | Giận Dữ | Ghê Tởm | Sợ Hãi | Hạnh Phúc | Trung Tính | Buồn | Ngạc Nhiên |
Giận Dữ | 95% | 4% | 0% | 0% | 0% | 0% | 0% |
Ghê Tởm | 0% | 92% | 0% | 0% | 0% | 7% | 0% |
Sợ Hãi | 0% | 0% | 90% | 0% | 3% | 6% | 0% |
Hạnh Phúc | 0% | 0% | 0% | 98% | 1% | 0% | 0% |
Trung Tính | 0% | 0% | 0% | 0% | 89% | 3% | 0% |
Buồn | 0% | 0% | 0% | 0% | 0% | 100% | 0% |
Ngạc Nhiên | 0% | 0% | 0% | 0% | 0% | 0% | 100% |
Độ chính xác trung bình của phương pháp học chuyển giao là 95,19%. Tuy nhiên đây là kết quả không tốt, từ hình 3.14 ta thấy chỉ sau vài Epoch mà hàm Loss đã hội tụ về 0, cũng từ bảng 3.7 có đến 2 lớp buồn và ngạc nhiên có tới 100% kết quả nhận dạng đúng điều này chứng tỏ mô hình bị quá trùng khớp dữ liệu hay nói cách khác là mô hình bị Overfitting.
c. Thực nghiệm với phương pháp kết hợp AlexNet và SVM
- Các bước thực hiện:
+ Load mạng
+ Tiền xử lý dữ liệu đầu vào cho phù hợp
+ Chia dữ liệu thành 2 phần: 70% cho tập huấn luyện, 30% cho tập test
+ Trích xuất đặc trưng tập huấn luyện với mô hình mạng AlexNet
+ Phân lớp với SVM
+ Kiểm thử mô hình.
Kích hoạt layer ‘pool5’ trong mô hình AlexNet. Cụ thể là 988×9216= 9.105.405 features. Sau khi cho vector đặc trưng này qua SVM phân loại thì được ma trận kết quả thực nghiệm đánh giá theo phần trăm.
Bảng 3.11. Ma trận kết quả dự đoán tính theo phần trăm
Mẫu Cảm Xúc | Giận Dữ | Ghê Tởm | Sợ Hãi | Hạnh Phúc | Trung Tính | Buồn | Ngạc Nhiên |
Giận Dữ | 84% | 9% | 0% | 0% | 5% | 0% | 0% |
Ghê Tởm | 0% | 92% | 1% | 0% | 0% | 6% | 0% |
Sợ Hãi | 0% | 2% | 97% | 0% | 0% | 0% | 0% |
Hạnh Phúc | 0% | 0% | 0% | 97% | 1% | 1% | 0% |
Trung Tính | 0% | 0% | 0% | 0% | 97% | 2% | 0% |
Buồn | 0% | 6% | 0% | 0% | 0% | 93% | 0% |
Ngạc Nhiên | 1% | 0% | 1% | 0% | 2% | 0% | 95% |
Độ chính xác trong trường hợp này là 94% tuy nhiên biểu cảm hạnh phúc và ngạc nhiên bị trùng khớp dữ liệu. Tiếp tục thay đổi số features đầu vào SVM bằng cách kích hoạt layer ‘drop6’ trong mô hình AlexNet. Cụ thể là 988 x 4096 = 4,046,848 features thì được 93,87% độ chính xác. Thời gian huấn luyên 120s.
Mẫu Cảm Xúc | Giận Dữ | Ghê Tởm | Sợ Hãi | Hạnh Phúc | Trung Tính | Buồn | Ngạc Nhiên |
Giận Dữ | 94% | 0% | 0% | 0% | 0% | 5% | 0% |
Ghê Tởm | 1% | 93% | 0% | 3% | 0% | 1% | 0% |
Sợ Hãi | 0% | 0% | 94% | 0% | 0% | 2% | 2% |
Hạnh Phúc | 0% | 0% | 0% | 95% | 1% | 3% | 0% |
Trung Tính | 8% | 0% | 0% | 0% | 82% | 8% | 0% |
Buồn | 0% | 6% | 0% | 0% | 0% | 93% | 0% |
Ngạc Nhiên | 0% | 0% | 2% | 0% | 1% | 0% | 96% |
Xem bảng 3.12 ta thấy cảm xúc “giận dữ” không còn nhầm sang cảm xúc “ghê tởm”. Cảm xúc “trung tính” bị nhận dạng nhầm sang cảm xúc “buồn” chiếm tỉ lệ 8%, nhầm sang cảm xúc “giận dữ” 8%.
Bảng 3.13. Cảm xúc trung tính nhầm lẫn với cảm xúc giận dữ | |
Ảnh trung tính | Ảnh Giận dữ |
Đặc trưng của ảnh trung tính | Đực trưng của ảnh giận dữ |
Bảng 3.14. Cảm xúc trung tính nhầm lẫn với cảm xúc buồn. | |
Ảnh trung tính | Ảnh buồn |
Đặc trưng của ảnh trung tính | Đực trưng của ảnh buồn |
Tiếp tục thay đổi số feature đầu vào SVM bằng kích hoạt lớp FC6. Số features đầu vào là 988 x 4096 = 4,046,848 features. Sau khi phân lớp với SVM và dự đoán với tập dự liệu test thì ta được ma trận kết quả dự đoán theo phần trăm sau:
Bảng 3.15. Ma trận kết quả dự đoán tính theo phần trăm.
Mẫu Cảm Xúc | Giận Dữ | Ghê Tởm | Sợ Hãi | Hạnh Phúc | Trung Tính | Buồn | Ngạc Nhiên |
---|---|---|---|---|---|---|---|
Giận Dữ | 98% | 1% | 0% | 0% | 0% | 0% | 0% |
Ghê Tởm | 4% | 86% | 1% | 0% | 0% | 7% | 0% |
Sợ Hãi | 0% | 0% | 94% | 0% | 0% | 5% | 0% |
Hạnh Phúc | 0% | 0.01 | 0% | 98% | 0% | 0% | 0% |
Trung Tính | 0% | 0% | 0% | 2% | 97% | 0% | 0% |
Buồn | 0% | 5% | 1% | 0% | 0% | 93% | 0% |
Ngạc Nhiên | 0% | 0% | 0% | 0% | 1% | 0% | 98% |
Độ chính xác trung bình là 94,85%, thời gian huấn luyện là 120s.
Tiếp tục thay đổi số feature đầu vào SVM bằng kích hoạt lớp FC7 thì được độ chính xác là 92%. Kích hoạt FC8 thì được 91% độ chính xác. Như vậy kể từ lớp FC6 nếu ta kích hoạt các lớp phía sau nó thì thì kết quả dự đoán giảm dần. Còn nếu kích hoạt các lớp trước FC6 thì kết quả dự đoán với tập dự đoán với tập dữ liệu test tang lên nhưng bị hiện tượng trùng khớp dữ liệu. Tôi chọn lớp FC6 để trích chọn đặc trưng cho mô hình của mình (AlexNet_SVM).
Qua nhiều lần thực nghiệm phương pháp kết hợp AlexNet và SVM là tối ưu nhất, mô hình có độ chính xác cao và thời gian huấn luyện ngắn.
Bảng 3.16. So sánh kết quả thực nghiệm
Mô hình | Độ chính xác | Tốc độ xử lý |
CNN_SVM | 71,59%. | 90s |
Transfer Learning | 95,19% | 120s |
AlexNet_SVM | 94.85% | 57s |
Cấu hình máy tính thực nghiệm: HP Z8 G4 Workstation, Intel® Ceon® GOLD 6128 @ 3.4GHz, NVIDIA Quadro P5000, RAM 128GB |
CHƯƠNG 4
Dựa vào những nghiên cứu các vấn đề về bài toán nhận dạng sử dụng kỹ thuật xử lý ảnh, trí tuệ nhân tạo và đặc biệt là mạng tích chập sâu CNN. Luận văn trình bày 3 giải pháp nhận dạng cảm xúc: Sử dụng mạng CNN, học chuyển giao từ mô hình AlexNet, Trích xuất đặc trưng từ mô hình AlexNet đã được huấn luyện trước kết hợp với SVM để phân loại cảm xúc.
Sau khi thực nghiệm với 3 phương pháp ở trên chúng tôi nhận thấy rằng phương pháp trích xuất đặc trưng từ mô hình đã được huấn luyện trước (AlexNet) kết hợp với học máy truyền thống SVM phân loại cảm xúc là tối ưu nhất trong trường họp CSDL mới nhỏ và gần giống với CSDL của mô hình AlexNet. Phương pháp này phù hợp với máy tính cấu hình thấp. Tốc độ xử lý nhanh hơn. Độ chính xác tương đối ổn từ 90 đến 95 phần trăm.
Qua quá trình thực nghiệm và thay đổi nhiều tham số bản thân cũng rút ra được nhiều kinh nghiệm trong vấn đề mô hình mạng học sâu:
- Việc chọn lọc và tiền xử lý dữ liệu đầu vào là rất quan trọng. Nếu ảnh bị mờ, thiếu contras, thiếu sáng, ảnh bị nhiễu thì phải xử lý trước khi cho qua mô hình mới đạt kết quả cao.
- Việc chia dữ liệu train và test theo tỷ lệ 75% – 25% cho kết quả tốt.
- Trong mô hình AlexNet có 3 lớp FC đều có thể kích hoạt để lấy đặc trưng, tuy nhiên lớp FC6 là phù hợp nhất, cho kết quả cao hơn 2 lớp kia.
- Đối với CSDL mới là nhỏ và tương tự như CSDL gốc. Vì CSDL mới nhỏ, việc tiếp tục train model dễ dẫn đến hiện tượng overfitting. Cũng vì hai CSDL là tương tự nhau, ta dự đoán rằng các high-level features là tương tự nhau. Vậy nên ta không cần train lại model mà chỉ cần train một classifer dựa trên feature vectors ở đầu ra ở layer gần cuối.
- Đối với CSDL mới là lớn và tương tự như CSDL gốc. Vì CSDL này lớn, overfitting ít có khả năng xảy ra hơn, ta có thể train mô hình thêm một chút nữa (toàn bộ hoặc chỉ một vài layers cuối).
- Đối với CSDL mới là nhỏ và rất khác với CSDL gốc. Vì CSDL này nhỏ, tốt hơn hết là dùng các classifier đơn giản (các linear classifiers) để tránh overfitting). Nếu muốn train thêm, ta cũng chỉ nên train các layer cuối. Hoặc có một kỹ thuật khác là coi đầu ra của một layer xa layer cuối hơn làm các feature vectors.
- Đối với CSDL mới là lớn và rất khác CSDL gốc. Trong trường hợp này, ta vẫn có thể sử dụng mô hình đã train như là điểm khởi tạo cho mô hình mới, không nên train lại từ đầu.
- Còn một điểm đáng chú ý nữa là khi tiếp tục train các mô hình này, ta chỉ nên chọn learning rate nhỏ để các weights mới không đi quá xa so với các weights đã được trained ở các mô hình trước. Theo tôi 0.0001 là tốt nhất.
Để cải thiện độ chính xác của mô hình chúng tôi tiếp tục thu thập thêm dữ liệu của nhiều loại ảnh cảm xúc của nhiều người khác nhau trên thế giới, mở rộng đầu vào dữ liệu là video và xử lý theo thời gian thực. Ngoài 7 cảm xúc cở bản trong giới hạn của luận văn thì còn nhiều cảm xúc khác nữa. Cảm xúc của con người rất phong phú, trong đó có cảm xúc giả tạo.
E:\DỮ LIỆU COP CỦA CHỊ YẾN\DAI HOC DA NANG\HE THONG THONG TIN\DO DINH CHUONG\SAU BAO VE