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

Khóa luận tốt nghiệp "Ứng dụng các kỹ thuật thị giác máy tính trong việc điểm danh sinh viên tham gia hoạt động phong trào tại Học viện Ngân hàng" được thực hiện bởi sinh viên Vũ Văn Duy (Lớp K21HTTTB, Khoa Hệ thống thông tin quản lý, Học viện Ngân hàng) dưới sự hướng dẫn của TS. Vũ Trọng Sinh vào năm 2022.

Bối cảnh thực tiễn và lý do chọn đề tài

Tại Học viện Ngân hàng, phong trào sinh viên và hoạt động ngoại khóa có quy mô lớn với hơn 50 đơn vị trực thuộc gồm Câu lạc bộ (CLB), Đội, Liên chi Đoàn (LCĐ), Liên chi Hội (LCH). Hàng năm, các đơn vị phối hợp tổ chức nhiều sự kiện quy mô lớn như: The Face BA, Yêu thương bay xa - Đẩy lùi Corona, BA Financial Research Challenge, Startup BA, Chào tân sinh viên, Ngày hội văn hóa thể thao, Bản lĩnh nhà đầu tư, Pink Storm, Đại hội đại biểu Hội Sinh viên, Ấn tượng sinh viên, cùng các chương trình chuyên môn như Vệ sinh máy tính, Sửa máy tính - Cài win của CLB Tin học Ngân hàng (BIT).

Việc đánh giá thi đua, khen thưởng và cộng điểm rèn luyện cho sinh viên dựa trên mức độ tham gia các sự kiện (thang điểm từ 5 đến 30 điểm/sự kiện tùy vai trò tổ chức hoặc tham dự). Tuy nhiên, công tác quản lý và điểm danh hiện nay bộc lộ nhiều bất cập:

  • Phương pháp điểm danh truyền thống dựa trên việc gọi tên, ký sổ hoặc nhập liệu thủ công qua tệp Excel, dẫn đến tình trạng sai sót, trùng lặp và tốn nhiều thời gian tổng hợp.
  • Trong giai đoạn dịch bệnh Covid-19, hoạt động chuyển sang hình thức trực tuyến; việc điểm danh bằng hình thức chụp ảnh màn hình Zoom hoặc Google Meet mang tính hình thức, không xác thực được mức độ tham gia thực tế của thành viên.
  • Khâu tổng hợp danh sách từ nhiều nguồn phục vụ xét khen thưởng cấp LCĐ và Đoàn trường thiếu công cụ kiểm soát độc lập, khách quan.

Từ thực tế đó, tác giả đề xuất ứng dụng thị giác máy tính và kỹ thuật học sâu để tự động nhận diện danh tính sinh viên từ ảnh chụp sự kiện, xuất danh sách người tham dự phục vụ quản lý và xét khen thưởng.

Mục tiêu và nhiệm vụ nghiên cứu

  1. Nghiên cứu cơ sở lý thuyết về thị giác máy tính và các kỹ thuật học sâu (Deep Learning) phục vụ bài toán nhận diện khuôn mặt (Face Recognition).
  2. Khảo sát các quy trình, mô hình và thư viện hiện đại trong việc phát hiện và trích xuất đặc trưng khuôn mặt (RetinaFace, ArcFace, DeepFace).
  3. Thu thập dữ liệu thực tế tại đơn vị nghiên cứu, xây dựng hệ thống thử nghiệm điểm danh tự động từ ảnh chụp sự kiện.
  4. Đánh giá độ chính xác của mô hình trên tập dữ liệu ảnh cá nhân và ảnh tập thể, từ đó phân tích ưu điểm, hạn chế và đề xuất giải pháp hoàn thiện.

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

  • Đối tượng nghiên cứu: Các kiến thức thị giác máy tính, quy trình phân tích hình ảnh, thuật toán phát hiện và căn chỉnh khuôn mặt, kỹ thuật trích xuất vector đặc trưng và các mô hình học sâu nhận diện khuôn mặt.
  • Phạm vi nghiên cứu:
    • Không gian: Dữ liệu nội bộ thuộc Câu lạc bộ Tin học Ngân hàng (CLB BIT) – Khoa Hệ thống thông tin quản lý, Học viện Ngân hàng.
    • Thời gian: Dữ liệu hình ảnh các sự kiện được thu thập trong giai đoạn từ năm 2020 đến năm 2021.

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

Khung lý thuyết và mô hình nhận diện khuôn mặt

Tác giả tiếp cận bài toán theo quan điểm kỹ thuật của thị giác máy tính (Computer Vision), tập trung vào 4 tác vụ chính: phân loại hình ảnh (Image Classification), phát hiện đối tượng (Object Detection), theo dõi đối tượng (Object Tracking) và truy xuất hình ảnh dựa trên nội dung (Content-Based Image Retrieval).

Hệ thống nhận diện khuôn mặt được chuẩn hóa theo quy trình 4 giai đoạn:

  1. Phát hiện khuôn mặt (Face Detection): Quét ảnh đầu vào để định vị vùng khuôn mặt và xác định các điểm mốc cơ bản (mắt, chóp mũi, khóe miệng).
  2. Căn chỉnh khuôn mặt (Face Alignment): Xác định 67 điểm mốc trên khuôn mặt 2D, ánh xạ và chuyển đổi sang mô hình 3D (3D frontalization) nhằm dóng thẳng khuôn mặt, loại bỏ sai lệch do góc nghiêng hoặc chuyển động quay đầu.
  3. Trích xuất đặc trưng (Features Extraction): Sử dụng mạng nơ-ron tích chập sâu (CNN) xử lý ảnh RGB kích thước $152 \times 152$ pixel đã căn chỉnh. Kiến trúc gồm:
    • Lớp tích chập đầu vào $C1$ (32 bộ lọc kích thước $11 \times 11 \times 3$) kết hợp lớp tổng hợp tối đa $M2$ (Max Pooling) để trích xuất cạnh và kết cấu cơ bản.
    • Lớp tích chập $C3$ (16 bộ lọc kích thước $9 \times 9 \times 16$).
    • Các lớp tích chập cục bộ $L4, L5, L6$ áp dụng các tập bộ lọc riêng biệt cho từng vùng giải phẫu (như vùng mắt, chân mày, mũi, miệng).
    • Hai lớp kết nối đầy đủ $F7, F8$ nhằm nắm bắt mối tương quan toàn cục; đầu ra lớp $F7$ được sử dụng làm vector đặc trưng đại diện cho khuôn mặt.
  4. Nhận diện khuôn mặt (Face Recognition): So sánh khoảng cách giữa vector đặc trưng của ảnh đầu vào với vector mẫu trong cơ sở dữ liệu.

Tổng quan các kỹ thuật Deep Learning trong bài toán nhận diện

Khóa luận khảo sát các mô hình nhận diện khuôn mặt phổ biến và độ chính xác được công bố trên tập dữ liệu chuẩn LFW (Labeled Faces in the Wild):

STT Tên mô hình / Kỹ thuật Đơn vị phát triển / Tác giả Đặc điểm kỹ thuật chính Độ chính xác trên LFW
1 VGG-Face Visual Geometry Group (Đại học Oxford) Dựa trên kiến trúc VGGNet, tinh chỉnh cho dữ liệu khuôn mặt 97,78%
2 FaceNet Google Sử dụng cấu trúc nhúng (embedding) 128 byte/khuôn mặt 99,63%
3 OpenFace Đại học Carnegie Mellon Phát triển dựa trên FaceNet, mã nguồn mở, tối ưu tài nguyên 93,80%
4 DeepID2 Đại học Trung văn Hồng Kông Sử dụng mạng tích chập sâu, vượt qua hiệu suất con người 99,15%
5 Dlib Davis E. King Ánh xạ khuôn mặt vào không gian 128 chiều, ngưỡng khoảng cách Euclid 0.6 99,38%
6 ArcFace Imperial College London & InsightFace Tối ưu hóa hàm mất mát góc cộng thêm biên (Additive Angular Margin Loss) 99,40%
7 RetinaFace Nhóm nghiên cứu InsightFace Phát hiện khuôn mặt mạnh mẽ, định vị theo điểm ảnh trên nhiều tỷ lệ —

Bên cạnh các mô hình lý thuyết, tác giả tổng hợp một số nghiên cứu tiền đề (như nghiên cứu của Edy Irwansyah và cộng sự tại Đại học Binus về hệ thống điểm danh FaceNet) và các sản phẩm thương mại như Camera AI Hanet, thiết bị MinMoe của Hikvision.

Phương pháp nghiên cứu và công cụ sử dụng

  • Phương pháp nghiên cứu: Nghiên cứu thực nghiệm (Experimental Research) kết hợp phân tích so sánh định lượng.
  • Thư viện thực thi: Sử dụng framework mã nguồn mở DeepFace (giấy phép MIT trên nền tảng Python), tích hợp module phát hiện RetinaFace và module nhận diện ArcFace.
  • Độ đo so khớp: Sử dụng độ đo khoảng cách Cosine giữa các vector nhúng của ArcFace (Arcface_cosine). Ngưỡng quyết định (threshold) được thiết lập tại mức 0.45.

Thiết kế và triển khai thử nghiệm

Thu thập và tổ chức dữ liệu

  • Cơ sở dữ liệu mẫu (Database): Thu thập 80 ảnh thẻ chân dung ban đầu của các thành viên CLB BIT. Qua quá trình kiểm tra chất lượng, tác giả loại bỏ 3 ảnh không đạt chuẩn (mờ, thiếu sáng, góc chụp lệch), giữ lại 77 ảnh rõ nét của 77 thành viên. Toàn bộ ảnh chuẩn được lưu vào thư mục Data_DeepFace, cấu trúc mỗi thư mục con mang tên một thành viên.
  • Dữ liệu thử nghiệm (Test Dataset): Gồm 2 bộ dữ liệu độc lập:
    • Bộ dữ liệu test cá nhân: 77 ảnh chụp cá nhân của các thành viên tại các sự kiện CLB.
    • Bộ dữ liệu test tập thể: 20 bức ảnh chụp tập thể sự kiện, mỗi ảnh có từ 2 người trở lên.
Cấu trúc tổ chức dữ liệu:

Môi trường cài đặt và cấu hình thư viện

Hệ thống được cài đặt bằng ngôn ngữ Python với thư viện DeepFace:

# Cài đặt gói thư viện DeepFace từ PyPI
!pip install deepface
# Nạp thư viện thực thi
from deepface import DeepFace

Quy trình xử lý thực nghiệm

  1. Thử nghiệm trên ảnh cá nhân:
    • Sử dụng hàm DeepFace.find() để đối soát ảnh test với cơ sở dữ liệu Data_DeepFace.
    • Kết quả trích xuất vector được đưa vào cấu trúc dữ liệu DataFrame.
    • Kiểm tra giá trị khoảng cách Arcface_cosine: Nếu DataFrame không rỗng và giá trị khoảng cách $\le 0.45$, hệ thống xác nhận nhận diện đúng danh tính thành viên; nếu khoảng cách $> 0.45$ hoặc DataFrame rỗng, hệ thống phân loại là không nhận diện được hoặc không có trong cơ sở dữ liệu.
  2. Thử nghiệm trên ảnh tập thể:
    • Sử dụng RetinaFace phát hiện tất cả các vùng khuôn mặt có trong bức ảnh tập thể.
    • Cắt tự động các khuôn mặt phát hiện được và lưu trữ vào thư mục tạm thời (folder 1.).
    • Khởi tạo vòng lặp so khớp từng ảnh cắt trong thư mục tạm với cơ sở dữ liệu gốc bằng DeepFace.find().
    • Trích xuất danh sách tên thành viên được nhận diện tương ứng trong bức ảnh.

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

Chương 1: Giới thiệu và đặt vấn đề bài toán

Chương 1 trình bày tổng quan về hệ thống hơn 50 CLB/Đội/LCĐ/LCH tại Học viện Ngân hàng và các chương trình hoạt động tiêu biểu. Tác giả phân tích chi tiết quy trình thi đua khen thưởng cá nhân gồm 6 nhóm chỉ tiêu (Tổ chức sự kiện: 10-30 điểm; Tham gia sự kiện: 5 điểm, vắng -5 điểm; Cuộc thi cấp Viện/Khoa: 10-30 điểm; Cán sự/chủ chốt: 10-30 điểm, vi phạm -20 điểm; Xếp loại thi đua Đoàn trường/LCĐ; Chấm điểm rèn luyện).

Chương này nêu rõ những hạn chế của phương pháp điểm danh thủ công qua Excel hoặc chụp ảnh phòng họp trực tuyến, từ đó đề xuất mô hình tự động hóa điểm danh bằng công nghệ nhận diện khuôn mặt nhằm hỗ trợ công tác quản lý và xét thưởng chính xác.

Chương 2: Cơ sở lý thuyết của phương pháp

Chương 2 cung cấp nền tảng lý thuyết về thị giác máy tính và cấu trúc của một hệ thống nhận diện khuôn mặt 4 bước. Tác giả phân tích cơ chế căn chỉnh khuôn mặt 3D frontalization dựa trên 67 điểm mốc hình học để xử lý vấn đề biến dạng góc mặt, đồng thời diễn giải chi tiết kiến trúc mạng CNN nhiều tầng ($C1, M2, C3, L4, L5, L6, F7, F8$) dùng để trích xuất vector đặc trưng.

Nội dung chương cũng tổng quan các nghiên cứu thực nghiệm trên thế giới, so sánh 7 mô hình học sâu tiêu biểu (VGG-Face, FaceNet, OpenFace, DeepID, Dlib, ArcFace, RetinaFace) và giới thiệu các ứng dụng camera AI thực tế.

Chương 3: Cài đặt thử nghiệm

Chương 3 trình bày toàn bộ quá trình cài đặt thực nghiệm. Tác giả mô tả chi tiết khâu xử lý dữ liệu đầu vào (tuyển chọn 77/80 ảnh mẫu CLB BIT), cấu hình công cụ DeepFace kết hợp RetinaFace và ArcFace.

Chương này thiết lập quy trình kiểm thử trên 2 bộ dữ liệu: bộ test cá nhân (77 ảnh) và bộ test tập thể (20 ảnh), thực hiện tính toán khoảng cách cosine với ngưỡng 0.45, ghi nhận chi tiết kết quả nhận diện và phân tích nguyên nhân sai lệch số liệu trong điều kiện chụp ảnh thực tế.

Chương 4: Kết luận

Chương 4 tổng kết kết quả thực nghiệm của khóa luận, khẳng định tính khả thi của giải pháp nhận diện khuôn mặt phục vụ điểm danh phong trào. Tác giả đúc kết các bài học kinh nghiệm về quy trình thu thập dữ liệu ảnh mẫu, ảnh hưởng của độ phân giải và góc chụp đối với độ chính xác của mô hình, đồng thời định hướng khả năng mở rộng hệ thống trong tương lai.


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

Kết quả thực nghiệm định lượng

Khóa luận đã tiến hành thử nghiệm và ghi nhận kết quả chi tiết trên hai tập dữ liệu:

Tập dữ liệu thử nghiệm Quy mô tập test Nhận diện đúng Không nhận diện được Không tìm thấy trong CSDL Tỷ lệ nhận diện chính xác
Ảnh test cá nhân 77 ảnh 63 12 2 81,82%
Ảnh test tập thể 20 ảnh — — — 66,67%

Ghi chú kết quả chi tiết từ văn bản:

  • Trên tập dữ liệu cá nhân: Trong 77 ảnh kiểm thử, có 63 ảnh được nhận diện chính xác danh tính (đạt 81,82%), 12 ảnh không nhận diện được do khoảng cách cosine $> 0.45$, và 2 ảnh không tìm thấy dữ liệu đối khớp trong cơ sở dữ liệu.
  • Trên tập dữ liệu tập thể: Khả năng phát hiện (Detection) khuôn mặt bằng RetinaFace đạt tỷ lệ cao, khoanh vùng được tất cả các khuôn mặt có trong ảnh. Về khả năng nhận diện danh tính (Recognition), tỷ lệ nhận diện đúng trên tổng số khuôn mặt có trong cơ sở dữ liệu đạt 66,67% (thấp hơn tập cá nhân 15,15%).
    • Ví dụ đối với ảnh kiểm thử TT1.jpg (có 10 khuôn mặt trong ảnh, trong đó 7 người có dữ liệu trong CSDL, 3 người ngoài CSDL): Hệ thống nhận diện đúng 2 người, không nhận diện được 5 người trong CSDL, xác định đúng 3 người không có trong CSDL, và số ca nhận diện sai danh tính là 0.

Nguyên nhân suy giảm độ chính xác trên ảnh tập thể

Tác giả xác định 3 nguyên nhân chính dẫn đến sự chênh lệch độ chính xác giữa ảnh tập thể và ảnh cá nhân:

  1. Quy trình xử lý ảnh tập thể phải qua khâu cắt khuôn mặt lưu tệp tạm thời trước khi chạy vòng lặp so khớp, dẫn đến sự sai lệch về tỷ lệ khung hình so với ảnh gốc.
  2. Khoảng cách vector giữa ảnh khuôn mặt bị cắt và ảnh thẻ mẫu bị giãn rộng, khiến khoảng cách cosine vượt ngưỡng 0.45.
  3. Ảnh tập thể chụp tại sự kiện có kích thước, độ phân giải không đồng đều; nhiều khuôn mặt bị mờ, vỡ hạt khi phóng to, hoặc bị ảnh hưởng bởi hiệu ứng xóa phông và điều kiện ánh sáng không tối ưu.

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

  • Xây dựng thành công quy trình thử nghiệm ứng dụng DeepFace tích hợp RetinaFace và ArcFace để tự động hóa hoạt động điểm danh sinh viên tham gia phong trào từ ảnh chụp sự kiện thực tế.
  • Đưa ra dữ liệu thực nghiệm cụ thể chứng minh tính khả thi của việc thay thế phương thức điểm danh, ghi nhận thi đua thủ công trong môi trường quản lý sinh viên cấp CLB và Liên chi đoàn.

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

Hạn chế của nghiên cứu

  • Quy mô dữ liệu còn hẹp: Cơ sở dữ liệu gốc mới chỉ thu thập được 77 thành viên thuộc nội bộ một câu lạc bộ (CLB BIT), chưa bao phủ toàn bộ sinh viên trong khoa hay Học viện.
  • Quy trình thu thập dữ liệu thủ công: Dữ liệu ảnh chủ yếu lấy lại từ website và fanpage Facebook của CLB nên độ phân giải, độ sắc nét và điều kiện ánh sáng chưa đồng nhất; mất nhiều thời gian chọn lọc và loại bỏ ảnh lỗi.
  • Hiệu suất xử lý ảnh đông người: Độ chính xác trên ảnh tập thể (66,67%) vẫn còn khoảng cách so với ảnh cá nhân (81,82%) do biến dạng tỷ lệ và chất lượng điểm ảnh của các khuôn mặt nhỏ.

Hướng nghiên cứu tiếp theo

  • Xây dựng quy trình chuẩn hóa và thu thập dữ liệu ảnh thẻ của thành viên/sinh viên ngay từ đầu khóa học với độ phân giải cao và góc chụp trực diện.
  • Nâng cấp thuật toán xử lý ảnh cắt nhằm giảm thiểu sai lệch vector đặc trưng trên ảnh tập thể đông người.
  • Mở rộng phạm vi ứng dụng mô hình sang các bài toán quản lý quy mô lớn hơn: điểm danh sinh viên ra vào lớp học cho giảng viên, kiểm soát sự kiện cấp Học viện, hoặc nghiên cứu tích hợp vào hệ thống nhận diện khách hàng tại các phòng giao dịch ngân hàng.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo hữu ích cho các nhóm đối tượng sau:

  • Sinh viên ngành Hệ thống thông tin quản lý, Công nghệ thông tin, Khoa học dữ liệu: Tham khảo cấu trúc triển khai bài toán Computer Vision ứng dụng; cách thức tích hợp thư viện DeepFace, mô hình RetinaFace và ArcFace trên nền tảng Python; phương pháp thiết lập ngưỡng đo khoảng cách cosine để phân loại danh tính.
  • Cán bộ quản lý Đoàn Thanh niên – Hội Sinh viên, Ban Chủ nhiệm các CLB: Tham khảo mô hình quy trình số hóa công tác điểm danh và quản lý thi đua khen thưởng nhằm giảm bớt thao tác thủ công và nâng cao tính minh bạch trong đánh giá điểm rèn luyện.
  • Phần nội dung đáng tham khảo nhất: Chương 2 (phân tích chi tiết quy trình 4 bước nhận diện khuôn mặt và kiến trúc trích xuất đặc trưng CNN) và Chương 3 (quy trình thực nghiệm, tổ chức thư mục dữ liệu, mã nguồn tích hợp DeepFace và phân tích lỗi trên ảnh thực tế).

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

1. Khóa luận sử dụng những mô hình và thư viện cụ thể nào để thực hiện bài toán điểm danh?

Khóa luận sử dụng thư viện mã nguồn mở DeepFace trên nền tảng ngôn ngữ Python. Trong đó, tác giả lựa chọn kỹ thuật RetinaFace để thực hiện phát hiện khuôn mặt (Face Detection) và mô hình ArcFace để trích xuất đặc trưng và nhận diện danh tính (Face Recognition).

2. Dữ liệu thực nghiệm của khóa luận được thu thập từ đâu và có quy mô như thế nào?

Dữ liệu được thu thập từ nội bộ CLB Tin học Ngân hàng (BIT) thuộc Học viện Ngân hàng trong giai đoạn 2020–2021. Cơ sở dữ liệu gốc gồm 77 ảnh thẻ đạt chuẩn của 77 thành viên (chọn lọc từ 80 ảnh ban đầu). Dữ liệu kiểm thử gồm 77 ảnh sự kiện cá nhân và 20 bức ảnh chụp sự kiện tập thể.

3. Ngưỡng quyết định khoảng cách (threshold) được tác giả thiết lập là bao nhiêu và dựa trên độ đo nào?

Tác giả sử dụng độ đo khoảng cách Cosine giữa các vector đặc trưng (Arcface_cosine). Qua nghiên cứu và thực nghiệm, ngưỡng khoảng cách được chọn là 0.45; giá trị khoảng cách $\le 0.45$ được xác định là nhận diện đúng danh tính, giúp hạn chế việc bỏ sót khuôn mặt.

4. Kết quả độ chính xác nhận diện trên hai bộ dữ liệu thử nghiệm cá nhân và tập thể đạt bao nhiêu?

Trên bộ dữ liệu ảnh cá nhân (77 ảnh), mô hình đạt tỷ lệ nhận diện chính xác 81,82% (nhận diện đúng 63 ảnh). Trên bộ dữ liệu ảnh tập thể (20 ảnh), tỷ lệ phát hiện khuôn mặt đạt mức tối đa, và tỷ lệ nhận diện đúng danh tính trên tổng số khuôn mặt có trong cơ sở dữ liệu đạt 66,67%.

5. Vì sao độ chính xác khi nhận diện trên ảnh tập thể lại giảm 15,15% so với ảnh cá nhân?

Độ chính xác trên ảnh tập thể giảm do 3 nguyên nhân: quá trình cắt khuôn mặt lưu vào thư mục tạm làm lệch tỷ lệ kích thước so với ảnh mẫu gốc, khiến khoảng cách vector cosine bị nới rộng; ảnh chụp sự kiện có độ phân giải không đồng đều; và một số khuôn mặt ở xa bị mờ, vỡ nét hoặc bị xóa phông.


Kết luận

Khóa luận tốt nghiệp của sinh viên Vũ Văn Duy đã hệ thống hóa cơ sở lý thuyết về thị giác máy tính và xây dựng thành công mô hình thử nghiệm điểm danh sinh viên thông qua nhận diện khuôn mặt bằng thư viện DeepFace (kết hợp RetinaFace và ArcFace). Kết quả thử nghiệm đạt độ chính xác 81,82% trên tập ảnh cá nhân và 66,67% trên tập ảnh tập thể từ nguồn dữ liệu thực tế của CLB BIT - Học viện Ngân hàng. Công trình đã làm rõ tính khả thi của việc ứng dụng công nghệ học sâu vào tự động hóa công tác điểm danh và quản lý thi đua phong trào, đồng thời chỉ ra các điểm nghẽn về chất lượng dữ liệu làm cơ sở cho các hướng cải tiến kỹ thuật tiếp theo.