Bối cảnh và vấn đề nghiên cứu

Nhận diện cảm xúc khuôn mặt (Facial Expression Recognition - FER) là một nhánh nghiên cứu chuyên sâu và quan trọng thuộc lĩnh vực thị giác máy tính và xử lý ảnh. Khác với nhận diện danh tính khuôn mặt thông thường nhằm xác định "người đó là ai", nhận diện cảm xúc hướng đến việc phân tích các biến đổi cơ mặt giữa trạng thái trung tính và trạng thái biểu cảm để phân loại chính xác các trạng thái cảm xúc như vui vẻ, buồn bã, giận dữ, ngạc nhiên, ghê tởm, sợ hãi hoặc khinh miệt.

Trong bối cảnh thực tiễn, đặc biệt là giai đoạn dịch bệnh COVID-19 diễn biến phức tạp, sức khỏe tinh thần của con người—nhất là giới trẻ và thanh thiếu niên—bị ảnh hưởng đáng kể bởi tình trạng cách ly và áp lực tâm lý. Việc theo dõi tâm trạng định kỳ qua nhật ký giúp người dùng tự nhận thức và điều hòa cảm xúc. Tuy nhiên, phần lớn các ứng dụng nhật ký hiện nay chỉ dừng lại ở mức nhập văn bản thủ công hoặc chọn biểu tượng cảm xúc có sẵn. Khóa luận tốt nghiệp kỹ sư ngành Hệ thống Thông tin của sinh viên Lê Đặng Xuân Thụy (Đại học Công nghệ Thông tin, Đại học Quốc gia TP.HCM) đã đặt ra vấn đề nghiên cứu mô hình học sâu hiện đại nhằm tự động nhận diện cảm xúc khuôn mặt từ hình ảnh camera và tích hợp vào một hệ sinh thái ứng dụng nhật ký theo dõi tâm trạng (Mood Tracking Diary).

Mục tiêu và nhiệm vụ nghiên cứu cụ thể của đề tài bao gồm:

  1. Nghiên cứu tổng quan về bài toán nhận diện khuôn mặt và nhận diện cảm xúc khuôn mặt, khảo sát các công trình nghiên cứu cùng các ứng dụng theo dõi tâm trạng thực tế.
  2. Tìm hiểu và tái hiện lại mô hình học sâu FMPN (Facial Motion Prior Networks) nhằm trích xuất các vùng vận động cơ mặt để phân loại cảm xúc.
  3. Huấn luyện, đánh giá và kiểm thử mô hình FMPN trên hai bộ dữ liệu thực nghiệm chuẩn là CK+ (The Extended Cohn-Kanade Dataset) và JAFFE (The Japanese Female Facial Expression Dataset).
  4. Phân tích, thiết kế và phát triển ứng dụng web demo "Mood Tracking Diary" cho phép người dùng chụp ảnh khuôn mặt, tự động nhận diện cảm xúc, ghi nhật ký và trực quan hóa biểu đồ diễn biến tâm trạng theo thời gian.

Đối tượng nghiên cứu trọng tâm là mô hình mạng nơ-ron học sâu FMPN kết hợp cơ chế mặt nạ chuyển động cơ mặt (Facial-Motion Mask) và các bộ dữ liệu biểu cảm khuôn mặt tiêu chuẩn. Phạm vi nghiên cứu tập trung vào bài toán phân loại biểu cảm tĩnh trên ảnh chụp trực diện khuôn mặt và triển khai phần mềm ứng dụng web hỗ trợ chăm sóc sức khỏe tinh thần cho người dùng trẻ tuổi.


Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý thuyết thị giác máy tính, tâm lý học biểu cảm và kiến trúc học sâu:

  • Hệ thống mã hóa chuyển động khuôn mặt (FACS - Facial Action Coding System): Dựa trên lý thuyết của Paul Ekman, cảm xúc con người được phân thành 6 trạng thái cơ bản (vui vẻ, buồn bã, sợ hãi, tức giận, ghê tởm, ngạc nhiên) và các trạng thái mở rộng như khinh miệt, trung tính. FACS đo lường sự co thắt của từng nhóm cơ mặt thông qua các đơn vị hành động (Action Units - AUs).
  • Mạng nơ-ron tích chập (CNN - Convolutional Neural Network): Sử dụng các khối tích chập (Convolutional layer), tầng gộp (Pooling layer), khối phần dư (Residual blocks) và tầng liên kết đầy đủ (Fully connected layer) nhằm tự động trích xuất các đặc trưng hình học và ngữ nghĩa từ ảnh khuôn mặt.
  • Mô hình Facial Motion Prior Networks (FMPN): Đề xuất bởi Yudong Chen và cộng sự (2019), mô hình khai thác tri thức tiên nghiệm về chuyển động cơ mặt (sự sai khác giữa khuôn mặt trung tính và khuôn mặt biểu cảm) để tạo mặt nạ chuyển động mà không phụ thuộc hoàn toàn vào ảnh trung tính trong quá trình kiểm thử.
  • Mạng phân loại Inception-V3: Kiến trúc mạng tích chập sâu gồm 42 tầng với các khối Inception A, B, C và bộ phân loại phụ (Auxiliary Classifier) giúp giảm hiện tượng nghẽn biểu diễn (representational bottleneck) và tối ưu hóa tốc độ huấn luyện.

Phương pháp nghiên cứu kết hợp giữa nghiên cứu lý thuyết, thực nghiệm mô hình học sâu và quy trình kỹ thuật phần mềm:

  • Phương pháp thực nghiệm kiểm thử: Đánh giá độ chính xác của mô hình bằng kỹ thuật kiểm định chéo K-fold (10-fold cross-validation) với tỷ lệ phân chia tập huấn luyện/kiểm thử là 9:1. Đo lường hiệu năng thông qua các chỉ số: Độ chính xác (Accuracy), Precision, Recall, F1-score và Ma trận nhầm lẫn (Confusion Matrix).
  • Nguồn dữ liệu:
    • Bộ dữ liệu CK+ (The Extended Cohn-Kanade Dataset): Gồm 981 ảnh thuộc 7 nhãn cảm xúc (Anger, Contempt, Disgust, Fear, Happiness, Sadness, Surprise).
    • Bộ dữ liệu JAFFE (The Japanese Female Facial Expression Dataset): Gồm 213 ảnh của phụ nữ châu Á thuộc 6 nhãn cảm xúc cơ bản (loại trừ Contempt).

Kiến trúc mô hình và thiết kế hệ thống

1. Kiến trúc mô hình FMPN

Mô hình FMPN gồm ba khối mạng chính hoạt động tuần tự:

  • Facial-Motion Mask Generator (FMG): Khối sinh mặt nạ chuyển động cơ mặt. Đầu vào là ảnh biểu cảm kích thước 320×320 pixel được giảm mẫu xuống 299×299 pixel, đưa qua 2 tầng tích chập để lấy đặc trưng hình học, 4 khối ResNet để chuyển đổi thành đặc trưng ngữ nghĩa vùng động, và 2 tầng tích chập chuyển vị (Transposed Convolution) để tái tạo mặt nạ cơ mặt. Khối FMG được giám sát bằng hàm mất mát sai số bình phương trung bình (MSE) dựa trên Ground Truth Mask của tập CK+.
  • Prior Fusion Net (PFN): Khối hợp nhất đặc trưng. PFN kết hợp thông tin toàn thể từ ảnh gốc với các vùng cơ mặt trọng điểm được làm nổi bật từ FMG thông qua phép nhân ma trận từng phần tử (element-wise multiplication) và tổng có trọng số (weighted sum).
  • Classification Net (CN): Khối mạng phân loại sử dụng kiến trúc Inception-V3 nhận đầu vào từ PFN, trích xuất đặc trưng sâu và sử dụng hàm mất mát Cross Entropy Loss để đưa ra xác suất dự đoán nhãn cảm xúc.
Thành phần FMPN (Yudong Chen et al., 2019) FERC (Ninad Mehendale, 2021)
Phát hiện khuôn mặt MTCNN Face Expression Vector (EV)
Trích xuất đặc trưng Chuyển động cơ mặt (FMG + PFN) Vector biểu cảm khuôn mặt (Nose, Lip, Eyes, Forehead)
Mạng phân loại Inception-V3 CNNs tuần tự
Số lượng cảm xúc 7 nhãn 5 nhãn
Độ chính xác công bố 82% – 98.52% 85% – 96%

2. Thiết kế và hiện thực ứng dụng Mood Tracking Diary

Ứng dụng được xây dựng theo mô hình ứng dụng web với kiến trúc hướng dịch vụ:

  • Môi trường phát triển & Thư viện: Python 3.7, PyTorch, Visdom server (theo dõi loss và learning rate), Visual Studio Code, Google Colab (sử dụng tài nguyên GPU đám mây).
  • Cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu SQLite (quản lý trực quan qua DB Browser for SQLite) với 3 thực thể chính:
    • User: Lưu trữ thông tin tài khoản, tên người dùng, mật khẩu đã mã hóa.
    • Diary: Lưu trữ nội dung nhật ký, ngày giờ tạo, liên kết khóa ngoại với bảng User.
    • Emotion: Lưu trữ nhãn cảm xúc được nhận diện, giá trị độ tin cậy, liên kết với bài viết nhật ký tương ứng.
  • Các phân hệ chức năng: Đăng ký/đăng nhập, cập nhật thông tin cá nhân, bật camera nhận diện cảm xúc khuôn mặt thời gian thực, lưu trữ nhật ký theo ngày, tra cứu lịch sử qua Calendar, biểu đồ thống kê số lượng cảm xúc và chuỗi theo dõi tâm trạng (Streak) để đưa ra lời khuyên.

Nội dung chính theo từng chương

Chương 1: Problem Statement (Đặt vấn đề nghiên cứu)

Tác giả trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn trong chăm sóc sức khỏe tinh thần và tính phức tạp của bài toán nhận diện cảm xúc trên máy tính. Chương này xác định rõ mục tiêu nghiên cứu, phạm vi ứng dụng FMPN vào nhật ký cảm xúc dành cho lứa tuổi thanh thiếu niên, đồng thời nêu cấu trúc tổng quan của 5 chương trong khóa luận.

Chương 2: Theoretical Background and Literature Review (Cơ sở lý thuyết và tổng quan nghiên cứu)

Chương 2 tổng hợp các khái niệm cơ bản về quy trình FER: phát hiện khuôn mặt (dựa trên đặc trưng và dựa trên ảnh), trích xuất đặc trưng và phân loại. Tác giả phân tích các nghiên cứu truyền thống và hiện đại:

  • Phương pháp LBP kết hợp bộ phân loại khoảng cách (Ekweariri et al., 2017): Đạt độ chính xác 66.67% trên tập BU-3DFE khi có chọn lọc đặc trưng.
  • Phương pháp SVM phân loại Action Units (Li et al., 2021): Đạt độ chính xác trung bình 93% trên tập CK+ và LFW.
  • Phương pháp FERC (Ninad Mehendale, 2021): Sử dụng vector biểu cảm (EV) qua mạng CNN hai giai đoạn, đạt độ chính xác từ 78% đến 96%.
  • Phương pháp FMPN (Yudong Chen et al., 2019): Sử dụng mạng mặt nạ chuyển động cơ mặt, đạt kết quả vượt trội trên các tập dữ liệu CK+, MMI và AffectNet.
Phương pháp nghiên cứu Bộ dữ liệu thử nghiệm Độ chính xác trung bình
Không sử dụng LBP (Ekweariri et al.) BU-3DFE 49.17%
Sử dụng LBP (Ekweariri et al.) BU-3DFE 55.00%
LBP + Feature Selection (Ekweariri et al.) BU-3DFE 66.67%
Active Learning + SVM theo AU (Li et al.) CK+ & LFW 93.00%
FERC (Ninad Mehendale) CK+, NIST 78.00% – 96.00%
FMPN gốc (Yudong Chen et al.) CK+ (Sequence/Image-based) 98.52%

Chương 3: Experiment and Result of Facial Motion Prior Network Model (Thực nghiệm và kết quả mô hình FMPN)

Tác giả mô tả chi tiết quy trình huấn luyện và đánh giá mô hình FMPN trên Google Colab. Do giới hạn về tài nguyên phần cứng, tác giả huấn luyện 60 epoch cho FMG và 50 epoch cho PFN trên tập CK+ (thay vì 300 và 200 epoch như bài báo gốc).

Chỉ số đánh giá CK+ (7 nhãn cảm xúc) JAFFE (6 nhãn cảm xúc)
Số lượng ảnh 981 ảnh 213 ảnh
Số epoch huấn luyện (FMG / PFN) 60 / 50 200 / 100
Độ chính xác trung bình (10-fold) 92.00% 82.00%
Cảm xúc nhận diện tốt nhất Happy (99%), Surprise (97%) Surprise (97%), Happy
Cảm xúc hay nhầm lẫn nhất Contempt (dễ nhầm sang Happy) Sadness (chỉ đúng 68%, nhầm sang Anger 16%)

Báo cáo phân loại (Classification Report) trên tập dữ liệu CK+ của khóa luận đạt kết quả chi tiết như sau:

Nhãn cảm xúc (CK+) Precision Recall F1-Score Support
Anger (AN) 0.968 0.920 0.943 135
Contempt (CO) 0.850 0.740 0.791 54
Disgust (DI) 0.940 0.930 0.935 177
Fear (FE) 0.880 0.860 0.870 75
Happiness (HA) 0.990 0.990 0.990 207
Sadness (SA) 0.910 0.890 0.900 84
Surprise (SU) 0.970 0.980 0.975 249

Trên tập JAFFE, nhãn Sadness đạt độ chính xác thấp nhất (68%) do điều kiện ánh sáng tối hơn và độ tương phản của ảnh JAFFE khác biệt so với Ground Truth Mask tạo từ tập CK+.

Chương 4: Implementation Mood Tracking Diary (Hiện thực hóa ứng dụng nhật ký theo dõi tâm trạng)

Chương 4 tập trung vào khảo sát các ứng dụng theo dõi tâm trạng hiện hành (Daylio, Reflectly, Pixel với 1-10 triệu lượt tải; EMMO, DailyBean với 100-500 nghìn lượt tải; Chiku, MOODA) và thiết kế hệ thống Mood Tracking Diary. Tác giả xây dựng sơ đồ Use Case, sơ đồ quan hệ thực thể (ERD), thiết kế cơ sở dữ liệu SQLite và triển khai giao diện người dùng hoàn chỉnh bao gồm các màn hình: đăng nhập, kích hoạt camera, dự đoán cảm xúc tự động, viết nhật ký và xem biểu đồ chuỗi cảm xúc.


Kết quả và đóng góp

1. Kết quả đạt được

  • Tái hiện thành công mô hình học sâu FMPN với quy trình huấn luyện 2 giai đoạn: tiền huấn luyện FMG (tạo mặt nạ cơ mặt) và đồng huấn luyện PFN (hợp nhất đặc trưng) kết hợp mạng phân loại Inception-V3.
  • Đạt độ chính xác phân loại 92% trên bộ dữ liệu CK+ (7 nhãn) và 82% trên bộ dữ liệu JAFFE (6 nhãn khuôn mặt châu Á) thông qua kiểm định chéo 10-fold.
  • Xây dựng hoàn chỉnh ứng dụng web "Mood Tracking Diary" cho phép tự động trích xuất cảm xúc từ ảnh chụp webcam, giảm thiểu thao tác nhập liệu thủ công của người dùng.

2. Đóng góp của đề tài

  • Khẳng định tính khả thi của phương pháp chuyển giao tri thức mặt nạ chuyển động cơ mặt (Ground Truth Mask tạo từ CK+) sang tập dữ liệu khuôn mặt người châu Á (JAFFE) mà không cần xây dựng lại mặt nạ từ đầu.
  • Cung cấp giải pháp ứng dụng kết hợp giữa mô hình học sâu thị giác máy tính và hệ thống thông tin theo dõi sức khỏe tâm thần hàng ngày.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận chỉ ra một số hạn chế cụ thể trong quá trình thực nghiệm:

  • Thời gian thực thi và tốc độ suy luận của mô hình FMPN còn tương đối chậm khi chạy kiểm thử thực tế.
  • Mô hình nhạy cảm với góc quay khuôn mặt; chỉ hoạt động chính xác với ảnh chụp góc thẳng trực diện, chưa xử lý tốt các trường hợp mặt nghiêng trái/phải quá 30 độ hoặc bị che khuất.
  • Số lượng epoch huấn luyện trên Google Colab bị giới hạn do tài nguyên phần cứng miễn phí (60 epoch FMG / 50 epoch PFN trên CK+ so với 300 / 200 epoch của tác giả gốc), dẫn đến việc phân loại nhãn Contempt và Sadness còn nhầm lẫn.
  • Chưa tự xây dựng được bộ Ground Truth Mask riêng cho khuôn mặt người Việt Nam mà phải dùng khuôn mẫu sẵn có của tập CK+.

Hướng mở rộng tiếp theo:

  • Mở rộng tập dữ liệu huấn luyện thu thập trực tiếp từ người dùng Việt Nam nhằm nâng cao độ chính xác nhận diện theo đặc trưng nhân khẩu học.
  • Tối ưu hóa kiến trúc mạng để giảm độ phức tạp tính toán, tăng tốc độ xử lý khung hình thời gian thực.
  • Phát triển phiên bản ứng dụng trên nền tảng di động (iOS/Android) và tích hợp các gợi ý tư vấn tâm lý nâng cao.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo giá trị đối với:

  • Sinh viên ngành Hệ thống Thông tin, Khoa học Máy tính, Kỹ thuật Dữ liệu: Tham khảo quy trình xây dựng đồ án tốt nghiệp từ khâu nghiên cứu lý thuyết, thực nghiệm mô hình học sâu trên Colab/PyTorch đến khâu đóng gói thành ứng dụng web hoàn chỉnh.
  • Người nghiên cứu lĩnh vực Nhận diện Cảm xúc (FER): Nắm vững cơ chế hoạt động của mô hình FMPN, cách thức tích hợp FACS và Action Units vào mạng tích chập, cũng như kỹ thuật chuyển giao mặt nạ chuyển động cơ mặt (Motion Mask Transfer) giữa các tập dữ liệu khác nhau.
  • Nhà phát triển ứng dụng sức khỏe kỹ thuật số: Tham khảo kiến trúc cơ sở dữ liệu và luồng nghiệp vụ của hệ thống nhật ký theo dõi tâm trạng kết hợp trí tuệ nhân tạo.

Câu hỏi thường gặp

1. Tại sao tác giả lựa chọn mô hình FMPN thay vì các mô hình nhận diện khuôn mặt truyền thống hoặc GANs?

FMPN tập trung trích xuất chuyển động của các nhóm cơ mặt đặc trưng thay vì chỉ dựa vào các điểm mốc hình học cố định (landmarks). Khác với các phương pháp truyền thống bỏ qua ảnh khuôn mặt trung tính hoặc GANs đòi hỏi chi phí tính toán cao để tự tạo ảnh trung tính nhân tạo, FMPN tận dụng tri thức tiên nghiệm về sự sai khác giữa mặt trung tính và biểu cảm để tạo mặt nạ chuyển động tổng quát, có khả năng tái sử dụng trên các bộ dữ liệu mới mà không cần ảnh trung tính đi kèm.

2. Sự khác biệt về kết quả giữa khóa luận và bài báo gốc của Yudong Chen trên tập dữ liệu CK+ là gì?

Trên tập CK+, bài báo gốc đạt độ chính xác 98.52% sau khi huấn luyện 300 epoch cho khối FMG và 200 epoch cho khối PFN. Trong khóa luận, do giới hạn tài nguyên tính toán trên Google Colab, tác giả chỉ huấn luyện 60 epoch cho FMG và 50 epoch cho PFN, đạt độ chính xác trung bình là 92.00% qua kiểm định chéo 10-fold.

3. Tại sao tác giả lại thực nghiệm thêm trên bộ dữ liệu JAFFE?

Mặc dù bài báo gốc của FMPN thử nghiệm trên CK+, MMI và AffectNet, tác giả khóa luận chọn JAFFE (chỉ gồm ảnh của phụ nữ Nhật Bản/châu Á) nhằm kiểm tra khả năng thích ứng của mô hình đối với đặc điểm khuôn mặt người châu Á, hướng đến mục tiêu triển khai ứng dụng thực tế cho người dùng tại Việt Nam.

4. Khối Classification Net (CN) trong mô hình FMPN sử dụng kiến trúc nào và có ưu điểm gì?

Khối CN sử dụng kiến trúc mạng Inception-V3 gồm 42 tầng. Ưu điểm của Inception-V3 là kết hợp nhiều bộ lọc kích thước khác nhau trong cùng một khối và sử dụng bộ phân loại phụ (Auxiliary Classifier) cùng kỹ thuật làm mịn nhãn (label-smoothing), giúp tránh giảm đột ngột kích thước đặc trưng và hạn chế tối đa hiện tượng nghẽn biểu diễn thông tin.

5. Cơ sở dữ liệu SQLite của ứng dụng Mood Tracking Diary quản lý những bảng dữ liệu nào?

Cơ sở dữ liệu SQLite của ứng dụng gồm 3 bảng chính: bảng User (lưu trữ thông tin tài khoản người dùng), bảng Diary (lưu trữ ngày tạo và nội dung văn bản nhật ký), và bảng Emotion (lưu trữ kết quả nhận diện cảm xúc tự động từ camera tương ứng với bài viết).


Kết luận

Khóa luận tốt nghiệp của sinh viên Lê Đặng Xuân Thụy đã nghiên cứu và triển khai thành công mô hình học sâu Facial Motion Prior Networks (FMPN) cho bài toán nhận diện cảm xúc khuôn mặt dựa trên chuyển động cơ mặt. Kết quả thực nghiệm đạt độ chính xác 92% trên tập dữ liệu chuẩn CK+ và 82% trên tập dữ liệu châu Á JAFFE thông qua phương pháp kiểm định chéo 10-fold. Đồng thời, tác giả đã hiện thực hóa thành công ứng dụng web "Mood Tracking Diary", chứng minh tính ứng dụng thực tiễn của thị giác máy tính trong việc hỗ trợ theo dõi và chăm sóc sức khỏe tinh thần cho người dùng.