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

Trong lĩnh vực khoa học máy tính và trí tuệ nhân tạo, tương tác người - máy (Human-Computer Interaction) đóng vai trò then chốt nhằm nâng cao khả năng phục vụ và mức độ tương thích của hệ thống máy móc đối với con người. Một trong những kỹ năng trọng tâm để máy tính có thể giao tiếp tự nhiên là khả năng thấu hiểu trạng thái cảm xúc. Nghiên cứu thực nghiệm của nhà tâm lý học Albert Mehrabian (1968) đã chỉ ra rằng trong quá trình truyền đạt thông điệp, ngôn ngữ từ ngữ chỉ chiếm 7% mức độ ảnh hưởng, âm lượng giọng nói chiếm 38%, trong khi ngôn ngữ cơ thể và biểu cảm khuôn mặt chiếm tới 55%. Do đó, nhận dạng cảm xúc qua khuôn mặt (Facial Expression Recognition) là bài toán cơ bản nhưng có ảnh hưởng xã hội sâu rộng, phục vụ các lĩnh vực như giáo dục (đo lường độ tập trung của người học), y tế (hỗ trợ bệnh nhân suy giảm khả năng nói), tiếp thị và bán hàng (phân tích phản ứng người tiêu dùng), giải trí thực tế ảo và an ninh trật tự.

Mặc dù bài toán nhận diện cảm xúc khuôn mặt đã được nghiên cứu từ những năm 1970, việc xây dựng các hệ thống tự động đạt độ chính xác cao trong môi trường tự nhiên vẫn gặp nhiều thách thức. Nhằm giải quyết vấn đề này, tác giả Trần Văn Hùng (ngành Toán Ứng dụng, Khoa Toán - Tin, Đại học Thăng Long) đã thực hiện khóa luận tốt nghiệp với đề tài "Ứng dụng kỹ thuật nhận dạng cảm xúc qua khuôn mặt" dưới sự hướng dẫn của TS. Nguyễn Công Điều (năm 2022).

Mục tiêu tổng quát của khóa luận là xây dựng một hệ thống hoàn chỉnh có khả năng phát hiện khuôn mặt và nhận diện các trạng thái cảm xúc theo thời gian thực thông qua webcam bằng ngôn ngữ lập trình Python. Bài toán tổng thể được phân tách thành hai bài toán con:

  1. Phát hiện khuôn mặt (Facial Detection): Định vị tọa độ và kích thước của khuôn mặt người trong ảnh tĩnh hoặc từng khung hình (frame) của video.
  2. Nhận dạng cảm xúc (Emotion Detection): Phân loại và gán nhãn biểu cảm khuôn mặt đã trích xuất theo các trạng thái cơ bản bao gồm: hạnh phúc (happy), buồn bã (sad), ngạc nhiên (surprise), sợ hãi (fear), giận dữ (angry), chán ghét (disgust) và bình thường/trung tính (neutral).

Khóa luận xác định hệ thống 7 nhiệm vụ nghiên cứu cụ thể:

  1. Tìm hiểu, nghiên cứu nguyên lý cơ sở lý thuyết liên quan đến học máy và thị giác máy tính.
  2. Khảo sát mô hình bài toán và các bước kỹ thuật để xây dựng hệ thống nhận dạng khuôn mặt người.
  3. Nghiên cứu và nắm vững các công nghệ, thuật toán đang được áp dụng cho từng bước trong hệ thống.
  4. Phân tích nền tảng lý thuyết toán học (đại số tuyến tính, xác suất thống kê, lý thuyết chuẩn) và đặc trưng kỹ thuật của các phương pháp được chọn.
  5. Nghiên cứu và ứng dụng các thư viện, công cụ lập trình chuyên dụng gồm Python, OpenCV, TensorFlow, Anaconda Navigator và Jupyter Notebook.
  6. Tiến hành thực nghiệm chương trình trên các tập dữ liệu chuẩn và tập dữ liệu thực tế, đo lường và đánh giá kết quả đạt được.
  7. Đúc kết kinh nghiệm trong quá trình xây dựng hệ thống và đề xuất các giải pháp nâng cao hiệu năng trong tương lai.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các thuật toán phát hiện khuôn mặt (Viola-Jones, Haar Cascades, AdaBoost), các mô hình phân loại học máy và học sâu (Support Vector Machine - SVM, Convolutional Neural Network - CNN, Mini Xception với Depthwise Separable Convolution), cùng các biểu hiện cơ mặt tương ứng với 6-7 trạng thái cảm xúc chuẩn.
  • Phạm vi không gian và dữ liệu: Hệ thống được thử nghiệm trên bộ cơ sở dữ liệu quốc tế FER2013 (Challenges in Representation Learning: Facial Expression Recognition Challenge), bộ dữ liệu Multiple Biometric Grand Challenge (MBGC), và bộ dữ liệu khuôn mặt thực tế người Việt Nam (Vietnamese database) do chính tác giả tự thu thập và xử lý.
  • Phạm vi công nghệ: Xử lý ảnh đầu vào từ tệp dữ liệu tĩnh hoặc luồng video thu trực tiếp qua webcam cá nhân trên môi trường Python.

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

Khóa luận thiết lập nền tảng lý thuyết liên ngành bao gồm tâm lý học hành vi, học máy (Machine Learning), học sâu (Deep Learning) và các công cụ toán học giải tích - đại số:

Khung lý thuyết và mô hình sử dụng

  1. Đặc trưng tâm lý học của biểu cảm khuôn mặt: Phân tích chi tiết chuyển động cơ học của 6 nhóm cảm xúc chính:
    • Hạnh phúc (Happy): Nâng khóe miệng, tạo nụ cười rạng rỡ, phản ánh sự hài lòng.
    • Buồn bã (Sad): Hạ thấp khóe miệng, nâng phần trong chân mày, mắt chùng xuống.
    • Ngạc nhiên (Surprise): Nhô cao lông mày, mở to mắt, miệng mở tròn, trề hàm dưới.
    • Nỗi sợ (Fear): Nhướn mày, hé miệng, mở rộng mắt trước phản ứng đau đớn/nguy hiểm.
    • Giận dữ (Angry): Hạ thấp lông mày, ấn chặt môi, căng cơ mắt, tăng huyết áp/nhịp tim.
    • Chán ghét (Disgust): Nâng môi trên, nhăn mũi, nâng má, làm giảm nhịp tim.
  2. Khung lý thuyết Học máy và Học sâu:
    • Phân biệt các mô hình học có giám sát (Supervised Learning), học không giám sát (Unsupervised Learning) và học tăng cường (Reinforcement Learning).
    • Quy trình làm việc chuẩn trong học máy (Machine Learning Workflow) gồm 5 bước: Thu thập dữ liệu (Data collection), Tiền xử lý (Preprocessing), Huấn luyện mô hình (Training), Đánh giá (Evaluating), và Tối ưu/Cải thiện (Improve).
    • Kiểm soát hiện tượng quá khớp (Overfitting) và chưa khớp (Underfitting) thông qua phân chia tập dữ liệu (Train/Validation/Test theo tỷ lệ 8/2), kỹ thuật lấy lại mẫu ($k$-fold Cross Validation) và phương pháp kết hợp mô hình (Ensemble Methods).
  3. Mô hình nhận diện khuôn mặt Viola-Jones (Haar Cascades):
    • Bộ đặc trưng Haar (Haar-like features) dạng 2 hình chữ nhật, 3 hình chữ nhật và 4 hình chữ nhật.
    • Kỹ thuật tính ảnh tích phân (Integral Image) giúp tính tổng mức xám trong vùng chữ nhật bất kỳ với độ phức tạp $O(1)$ thay vì $O(n^2)$.
    • Thuật toán Boosting (AdaBoost) kết hợp tuần tự các bộ phân loại yếu (weak classifiers) thành bộ phân loại mạnh (strong classifier) qua cơ chế cập nhật trọng số phân phối $D_t$.
  4. Mô hình Mạng nơ-ron tích chập (CNN) và Mini Xception:
    • Các tầng chức năng cơ bản: Tầng tích chập (Convolution Layer với các tham số kích thước bộ lọc, stride, padding), Tầng phi tuyến (Hàm kích hoạt ReLU: $f(x) = \max(0, x)$), Tầng lấy mẫu gộp (Pooling Layer gồm Max-pooling, Average-pooling, Sum-pooling), Tầng kết nối đầy đủ (Fully Connected Layer) và tầng Softmax.
    • Kiến trúc tích chập chiều sâu tách biệt (Depthwise Separable Convolution) gồm hai pha: Depthwise Convolution và Pointwise Convolution ($1 \times 1$), giúp giảm thiểu tham số và chi phí tính toán.
  5. Nền tảng Toán học bổ trợ:
    • Đại số ma trận: Ma trận chuyển vị ($A^T$), ma trận nghịch đảo ($A^{-1}$), phép nhân ma trận - vector phục vụ biểu diễn ảnh số 2 chiều và 3 chiều (RGB).
    • Xác suất thống kê và Định lý Bayes: Không gian xác suất $(\Omega, \mathcal{F}, \text{Pr})$, quy tắc xác suất có điều kiện và mô hình Naive Bayes: $$P(A/B) = \frac{P(A) \cdot P(B/A)}{P(B)}$$
    • Lý thuyết chuẩn (Norms): Chuẩn khoảng cách Euclid ($L_2$), chuẩn tổng quát ($L_p$) và giả-chuẩn ($L_0$) phục vụ kiểm soát độ thưa (sparsity) của trọng số.

Phương pháp nghiên cứu thực tế và nguồn dữ liệu

  • Phương pháp nghiên cứu: Kết hợp phân tích lý thuyết toán học với phương pháp thực nghiệm phát triển phần mềm và huấn luyện mô hình học máy.
  • Nguồn dữ liệu:
    • Dữ liệu chuẩn quốc tế FER2013 (Challenges in Representation Learning: Facial Expression Recognition Challenge).
    • Dữ liệu chuẩn MBGC (Multiple Biometric Grand Challenge Database).
    • Dữ liệu thực tế tự xây dựng gồm các hình ảnh khuôn mặt người Việt Nam (Vietnamese database) được thu thập và gán nhãn phục vụ kiểm thử thực tế.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình pipeline nối tiếp hai giai đoạn xử lý chính, chạy trên nền tảng máy tính cá nhân có kết nối webcam:

[Ảnh tĩnh / Khung hình Video Webcam]
[Tiền xử lý: Chuẩn hóa ma trận điểm ảnh, thang độ xám]
[Khối 1: Phát hiện khuôn mặt (Viola-Jones / Haar Cascades)]
[Khối 2: Phân loại cảm xúc (Mini Xception / Depthwise CNN)]
[Đầu ra: Nhãn cảm xúc + Độ tin cậy hiển thị trên màn hình]

Kiến trúc công nghệ và môi trường phát triển

  • Môi trường: Python 3.x trên nền quản lý gói Anaconda Navigator và giao diện tương tác Jupyter Notebook.
  • Thư viện chuyên dụng: OpenCV (xử lý luồng ảnh, video, phát hiện khuôn mặt Haar Cascades), TensorFlow/Keras (xây dựng, tối ưu hóa và huấn luyện mạng CNN).

Kỹ thuật tối ưu hóa và xử lý nâng cao

  1. Kiến trúc mạng Mini Xception: Sử dụng các khối Depthwise Separable Convolution thay thế các tầng tích chập tiêu chuẩn. Cấu trúc này chia nhỏ phép tính tích chập thông thường thành phép lọc không gian từng kênh riêng biệt (Depthwise) kết hợp phép chiếu kênh tuyến tính $1 \times 1$ (Pointwise), giúp giảm đáng kể số lượng tham số cần học và tăng tốc độ suy luận (inference).
  2. Cơ chế đa luồng (Multithreading) và Hàng đợi (Queue): Nhằm giải quyết hiện tượng nghẽn luồng khi xử lý khung hình liên tục từ video/webcam, hệ thống áp dụng cơ chế đa luồng trong Python. Một luồng chuyên trách việc đọc khung hình từ camera và nạp vào hàng đợi (Queue), trong khi luồng thứ hai thực hiện trích xuất khuôn mặt và dự đoán nhãn cảm xúc, đảm bảo độ trễ thấp khi chạy thời gian thực.
  3. Quy trình gán nhãn dữ liệu bán tự động: Tác giả xây dựng kịch bản tự động cắt khuôn mặt và sử dụng mô hình đã huấn luyện sơ bộ để gợi ý nhãn, sau đó kiểm tra và hiệu chỉnh thủ công nhằm nhanh chóng mở rộng tập dữ liệu người Việt Nam.
  4. Xử lý ảnh mờ (Out nét): Tích hợp bước lọc và kiểm tra chất lượng khung hình video trước khi đưa vào mô hình phân loại cảm xúc để giảm thiểu sai số dự đoán do rung lắc hoặc chuyển động nhanh.

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

Chương 1. Cơ sở lý thuyết

Chương 1 đóng vai trò thiết lập khung kiến thức toàn diện cho bài toán nhận dạng biểu cảm khuôn mặt:

  • Cảm xúc và biểu hiện khuôn mặt: Hệ thống hóa 6 nhóm biểu cảm cơ bản (hạnh phúc, buồn bã, ngạc nhiên, nỗi sợ, giận dữ, chán ghét), liên hệ cơ chế sinh lý và cử động cơ mặt với các ứng dụng thực tiễn trong giáo dục, y tế, thương mại và bảo mật.
  • Học máy và quy trình làm việc: Trình bày chi tiết 5 bước trong Machine Learning Workflow; phân tích bản chất của việc phân chia dữ liệu huấn luyện, kiểm chứng và kiểm tra; giải thích cơ chế cân bằng giữa sai số (bias) và phương sai (variance) để kiểm soát Overfitting và Underfitting.
  • Phương pháp nhận diện khuôn mặt với Haar Cascades: Trình bày nguyên lý thuật toán Viola-Jones (2002) với khả năng xử lý đạt 15 khung hình/giây; phân tích cấu trúc 3 loại đặc trưng Haar chữ nhật; chứng minh hiệu quả giảm độ phức tạp tính toán về $O(1)$ thông qua cấu trúc dữ liệu ảnh tích phân; trình bày chi tiết thuật toán AdaBoost trong việc chọn lọc đặc trưng tối ưu và cơ chế tầng lọc (Cascade classifier).
  • Cơ sở Toán học: Trình bày hệ thống công thức ma trận (chuyển vị, nghịch đảo, phép nhân ma trận), lý thuyết xác suất thống kê (không gian mẫu, tính độc lập, xác suất có điều kiện, định lý Bayes) và định nghĩa các chuẩn khoảng cách ($L_2$, $L_p$, $L_0$).
  • Độ đo đánh giá mô hình: Giới thiệu công thức tính Độ chính xác tổng thể (Accuracy), Ma trận nhầm lẫn (Confusion Matrix) và các chỉ số dẫn xuất: Độ nhạy/Độ gợi nhớ (Recall/Sensitivity), Độ đặc hiệu (Specificity), Giá trị dự đoán dương (Precision), Điểm F-score và Đường cong ROC (Receiver Operating Characteristic).

Chương 2. Lựa chọn phương pháp nhận diện cảm xúc

Chương 2 tập trung so sánh, lựa chọn và thiết kế giải pháp kỹ thuật:

  • Mô tả dữ liệu đầu vào: Phân tích định dạng ma trận điểm ảnh xám và ma trận RGB 3 kênh ($H \times W \times D$).
  • So sánh phương pháp phân loại: Đặt mô hình truyền thống Support Vector Machine (SVM) — dựa trên nguyên lý tìm siêu phẳng phân cách cực đại hóa biên độ cách biệt (margin) giữa hai lớp tuyến tính — đối chiếu với mô hình hiện đại Deep CNN. Phân tích ưu thế của CNN trong việc tự động trích xuất đặc trưng không gian đa mức mà không cần thiết kế đặc trưng thủ công.
  • Kiến trúc mạng Mini Xception: Phân tích chi tiết nguyên lý tích chập chiều sâu tách biệt (Depthwise Separable Convolution), so sánh độ phức tạp tính toán và dung lượng trọng số giữa tích chập thông thường và tích chập Mini Xception.
  • Quy trình huấn luyện và tối ưu: Phân tích các hiện tượng ảnh hưởng đến quá trình hội tụ khi tối ưu hàm mất mát bằng Gradient Descent, bao gồm cực tiểu địa phương (local minima), điểm yên ngựa (saddle points) và suy giảm đạo hàm (vanishing gradient).
  • Đề xuất cải tiến kỹ thuật: Trình bày giải pháp gán nhãn bán tự động cho tập ảnh mới, kỹ thuật cấu trúc hàng đợi trong xử lý đa luồng và phương pháp xử lý ảnh out nét trên luồng video.

Chương 3. Triển khai hệ thống dựa theo Haar và CNN

Chương 3 trình bày chi tiết kết quả xây dựng ứng dụng thực nghiệm:

  • Chuẩn bị môi trường: Hướng dẫn cài đặt cấu hình Python, OpenCV, TensorFlow trên môi trường Anaconda Navigator và Jupyter Notebook.
  • Dự đoán cảm xúc trên ảnh tĩnh: Triển khai module đọc ảnh từ thư mục, chạy bộ phát hiện khuôn mặt Haar Cascade, cắt trích xuất vùng đặc trưng, chuẩn hóa kích thước đầu vào cho mạng CNN và gán nhãn xác suất cảm xúc đầu ra.
  • Dự đoán cảm xúc trên luồng video/webcam: Triển khai module đọc luồng khung hình thời gian thực từ camera, kết hợp xử lý đa luồng để tối ưu hóa tốc độ nhận dạng, hiển thị bounding box quanh khuôn mặt kèm nhãn cảm xúc tương ứng trên giao diện người dùng.
  • Thử nghiệm trên các bộ dữ liệu: Tiến hành thực nghiệm trên bộ dữ liệu chuẩn FER2013, MBGC và bộ dữ liệu thực tế khuôn mặt người Việt Nam (Vietnamese database).

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

Khóa luận đã hoàn thành việc xây dựng một chương trình thử nghiệm nhận dạng cảm xúc khuôn mặt hoạt động ổn định trên máy tính cá nhân. Các kết quả và đóng góp cụ thể gồm:

Hạng mục / Bộ dữ liệu Phương pháp áp dụng Kết quả / Mục tiêu đạt được
Phát hiện khuôn mặt Viola-Jones (Haar Cascades, AdaBoost) Đạt tốc độ xử lý thời gian thực xấp xỉ 15 fps; tỷ lệ phát hiện khuôn mặt đạt mức cao (~98%).
Dữ liệu chuẩn FER2013 Deep CNN (Kiến trúc Mini Xception) Độ chính xác nhận dạng đạt trên 70% trên tập thử nghiệm chuẩn.
Dữ liệu thực tế người Việt Pipeline Haar Cascades + Mini Xception Độ chính xác nhận dạng thực nghiệm đạt từ 70% đến 80%.
Tối ưu hóa thời gian thực Đa luồng (Multithreading) & Queue Giảm thiểu độ trễ khung hình, xử lý đồng thời luồng đọc camera và luồng suy luận mạng nơ-ron.

Các đóng góp chính của tác giả

  1. Hoàn thiện hệ thống nhận dạng hai pha: Kết hợp hiệu quả giữa thuật toán Viola-Jones tốc độ cao để định vị khuôn mặt và mạng CNN cải tiến (Mini Xception) để phân loại cảm xúc.
  2. Ứng dụng Depthwise Separable Convolution: Giảm thiểu đáng kể số lượng tham số tính toán của mô hình nhận diện cảm xúc, giúp chương trình chạy mượt mà trên phần cứng máy tính cá nhân thông thường mà không đòi hỏi hạ tầng GPU chuyên dụng cao cấp.
  3. Xây dựng bộ dữ liệu người Việt Nam: Đã tiến hành thu thập, tiền xử lý và gán nhãn bán tự động tập dữ liệu hình ảnh khuôn mặt người Việt Nam, chứng minh tính khả thi của mô hình khi áp dụng vào thực tế trong nước.
  4. Giải pháp xử lý video thực tế: Đề xuất cơ chế đa luồng quản lý hàng đợi và xử lý khung hình bị nhòe/mờ, cải thiện độ ổn định khi tương tác trực tiếp qua webcam.

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

Khóa luận chỉ ra một số hạn chế kỹ thuật và định hướng mở rộng:

  • Hạn chế:
    • Độ chính xác của mô hình vẫn bị suy giảm khi đối tượng chuyển động quá nhanh dẫn đến khung hình bị nhòe mờ (out nét), hoặc khi góc nghiêng của khuôn mặt quá lớn vượt ngoài khả năng bắt diện của bộ lọc Haar Cascade.
    • Vấn đề mất cân bằng số lượng mẫu giữa các nhãn cảm xúc trong tập dữ liệu (một số biểu cảm như "hạnh phúc" thường có nhiều mẫu hơn so với "chán ghét" hay "sợ hãi") ảnh hưởng đến độ nhạy của từng lớp riêng biệt.
    • Dung lượng bộ dữ liệu khuôn mặt người Việt Nam tự thu thập còn ở quy mô vừa phải, chưa bao phủ hết mọi điều kiện ánh sáng và góc quay phức tạp.
  • Hướng nghiên cứu tiếp theo:
    • Mở rộng quy mô và độ đa dạng của bộ dữ liệu khuôn mặt người Việt Nam trong các điều kiện môi trường ánh sáng phức tạp.
    • Nâng cấp bộ phát hiện khuôn mặt bằng các kiến trúc học sâu hiện đại để nhận diện tốt hơn ở các góc quay nghiêng.
    • Tối ưu hóa sâu hơn cấu trúc mạng Mini Xception nhằm nâng cao độ chính xác tổng thể trên luồng video và tích hợp hoàn chỉnh vào các ứng dụng tương tác người - máy thực tế.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên: Thuộc các ngành Toán Ứng dụng, Khoa học Máy tính, Công nghệ Thông tin, Trí tuệ Nhân tạo đang nghiên cứu về Thị giác máy tính (Computer Vision), Xử lý ảnh số và Học máy.
  • Người thực hiện đề tài tương tự: Có thể tham khảo trực tiếp các nội dung:
    • Nền tảng toán học giải thích chi tiết cơ chế hoạt động của mạng CNN, phép biến đổi ma trận, định lý Bayes và không gian chuẩn vector.
    • Phương pháp luận phân tích và so sánh giữa mô hình học máy truyền thống (SVM) và mô hình học sâu (CNN).
    • Kiến trúc Depthwise Separable Convolution và giải pháp tối ưu hóa luồng xử lý video thời gian thực bằng kỹ thuật đa luồng trong Python.

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

1. Khóa luận sử dụng mô hình nào cho hai bài toán con phát hiện khuôn mặt và nhận diện cảm xúc?

Khóa luận sử dụng thuật toán cổ điển Viola-Jones (với các bộ đặc trưng Haar-like, ảnh tích phân Integral Image và thuật toán Boosting AdaBoost) cho bài toán phát hiện khuôn mặt; và sử dụng mạng nơ-ron tích chập (Convolutional Neural Network) với kiến trúc Mini Xception áp dụng Depthwise Separable Convolution cho bài toán phân loại cảm xúc.

2. Kỹ thuật ảnh tích phân (Integral Image) trong thuật toán Viola-Jones mang lại ưu điểm gì?

Ảnh tích phân cho phép tính toán tổng giá trị các điểm ảnh trong một vùng hình chữ nhật bất kỳ chỉ qua một số lượng phép tra cứu bộ nhớ cố định (từ 6 đến 9 phép toán tùy theo đặc trưng 2, 3 hay 4 hình chữ nhật), giúp đưa độ phức tạp thời gian tính toán đặc trưng từ $O(n^2)$ về thời gian hằng số $O(1)$, đáp ứng khả năng xử lý thời gian thực đạt 15 khung hình/giây.

3. Tích chập chiều sâu tách biệt (Depthwise Separable Convolution) trong Mini Xception hoạt động như thế nào?

Thay vì thực hiện phép tích chập chuẩn trên toàn bộ không gian và toàn bộ kênh đồng thời, Depthwise Separable Convolution tách thành hai bước độc lập: (1) Depthwise Convolution thực hiện lọc không gian riêng biệt trên từng kênh màu/đặc trưng, và (2) Pointwise Convolution sử dụng bộ lọc kích thước $1 \times 1$ để tổng hợp tuyến tính thông tin giữa các kênh. Cách tiếp cận này giúp giảm đáng kể số lượng trọng số và chi phí tính toán.

4. Các bộ dữ liệu nào được sử dụng để huấn luyện và đánh giá mô hình trong khóa luận?

Mô hình được huấn luyện và đánh giá trên bộ dữ liệu chuẩn quốc tế FER2013 (Facial Expression Recognition Challenge), bộ dữ liệu Multiple Biometric Grand Challenge (MBGC), cùng với một tập dữ liệu ảnh thực tế gồm khuôn mặt người Việt Nam (Vietnamese database) do tác giả tự thu thập và gán nhãn.

5. Khóa luận áp dụng giải pháp kỹ thuật nào để tối ưu tốc độ khi nhận diện cảm xúc từ webcam?

Tác giả áp dụng cơ chế đa luồng (multithreading) kết hợp với cấu trúc hàng đợi (queue) trong Python để tách biệt tiến trình thu nhận khung hình từ webcam và tiến trình xử lý trích xuất/dự đoán cảm xúc của mạng CNN, đồng thời tích hợp thuật toán lọc ảnh bị mờ nhằm duy trì độ mượt và tính ổn định khi chạy thời gian thực.


Kết luận

Khóa luận tốt nghiệp "Ứng dụng kỹ thuật nhận dạng cảm xúc qua khuôn mặt" của tác giả Trần Văn Hùng đã trình bày một cách hệ thống cơ sở lý thuyết toán học, thị giác máy tính và học sâu phục vụ bài toán tương tác người - máy. Tác giả đã thiết kế và triển khai thành công hệ thống nhận dạng cảm xúc hai pha kết hợp giữa thuật toán Haar Cascades và kiến trúc mạng Mini Xception trên môi trường Python. Kết quả thực nghiệm cho thấy chương trình đạt độ chính xác trên 70% trên tập dữ liệu chuẩn FER2013 và đạt từ 70% đến 80% trên tập dữ liệu thực tế người Việt Nam, đáp ứng mục tiêu nghiên cứu và tạo tiền đề cho các ứng dụng nhận diện biểu cảm thời gian thực tiếp theo.