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

Trong công tác quản lý giáo dục đại học, hoạt động kiểm soát chuyên cần đóng vai trò thiết yếu nhằm đánh giá quá trình học tập của người học. Tại Trường Đại học Quản lý và Công nghệ Hải Phòng (tiền thân là Trường Đại học Dân lập Hải Phòng, thành lập năm 1997 theo Quyết định số 3803/GD-ĐT với quy mô đào tạo hơn 8.000 sinh viên và đội ngũ 225 giảng viên cơ hữu), quy trình giám sát sinh viên tham gia lớp học truyền thống chủ yếu dựa trên hình thức điểm danh thủ công. Theo quy chế đào tạo, sinh viên phải tham gia trên 75% thời lượng các buổi học của học phần mới đủ điều kiện dự thi kết thúc học kỳ và được tính điểm quá trình; sinh viên tham gia dưới 75% sẽ bị cấm thi.

Thực tế áp dụng phương thức gọi tên hoặc ký tên thủ công bộc lộ nhiều hạn chế vận hành:

  • Giảng viên mất nhiều thời gian đầu giờ hoặc cuối giờ để đọc danh sách, gây gián đoạn thời lượng giảng dạy chính, đặc biệt ở các lớp học có sĩ số đông.
  • Khó kiểm soát chính xác sự hiện diện thực tế: điểm danh đầu giờ không quản lý được sinh viên tự ý bỏ về sớm, điểm danh cuối giờ không phát hiện được sinh viên đi muộn.
  • Xuất hiện tình trạng gian lận, mạo danh hoặc nhờ người khác học hộ, điểm danh hộ.
  • Công tác thống kê, tổng hợp dữ liệu chuyên cần cuối kỳ tốn công sức, thiếu tính tức thời, làm chậm trễ việc phát hiện sinh viên nghỉ học dài ngày để báo cáo Khoa và liên hệ cố vấn học tập phối hợp với gia đình.

Đồ án tốt nghiệp "Điểm danh người học bằng nhận diện khuôn mặt" của tác giả Nguyễn Đình Quyết (ngành Công nghệ Thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng; hướng dẫn bởi TS. Hồ Thị Hương Thơm) được thực hiện nhằm giải quyết các tồn tại trên thông qua việc tự động hóa quy trình kiểm soát người học bằng kỹ thuật thị giác máy tính.

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

  1. Tìm hiểu bài toán quản lý và kiểm soát người học tại cơ sở đào tạo.
  2. Nghiên cứu các phương pháp phát hiện và nhận dạng khuôn mặt trong ảnh và video.
  3. Thực hiện phân tích, thiết kế hệ thống thông tin và cơ sở dữ liệu quản lý điểm danh.
  4. Lập trình xây dựng chương trình điểm danh tự động tích hợp mô hình nhận diện khuôn mặt.
  5. Thử nghiệm chương trình qua hình ảnh và video thực tế, nhận xét và đánh giá kết quả đạt được.

Đối tượng nghiên cứu là quy trình điểm danh sinh viên và các giải thuật phát hiện, trích rút đặc trưng khuôn mặt (Haar Cascade, LBPH). Phạm vi nghiên cứu tập trung vào mô hình quản lý lớp học tại Trường Đại học Quản lý và Công nghệ Hải Phòng, thời gian thực hiện từ ngày 13/01/2024 đến ngày 20/05/2024, kết hợp quá trình thực tập tại Công ty Cổ phần Hạ tầng Viễn thông CMC Telecom.

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

Đề tài tổng hợp các cơ sở lý thuyết về biểu diễn ảnh kỹ thuật số (không gian màu RGB, HSV, CMYK, PMS và ảnh mức xám) cùng các phương pháp nhận diện đối tượng phổ biến trong xử lý ảnh:

Phương pháp Nguyên lý hoạt động Đặc điểm kỹ thuật
HOG (Histogram of Oriented Gradients) Trích chọn đặc trưng dựa trên sự phân bố của cường độ gradient và hướng biên cục bộ. Chia ảnh thành các ô (cell) $8 \times 8$ hoặc $16 \times 16$ pixel, tính biểu đồ hướng, chuẩn hóa theo khối (block) để tạo vector đặc trưng bất biến với ánh sáng.
R-CNN (Region-based CNN) Sử dụng mạng nơ-ron tích chập trên các vùng đề xuất của ảnh. Dùng thuật toán tìm kiếm chọn lọc (Selective Search) trích xuất khoảng 2.000 vùng ứng viên, đưa qua mạng tích chập (VGG16, ResNet) để phân loại và hồi quy vị trí.
Haar Cascade Phát hiện đối tượng dựa trên các đặc trưng Haar-Like kết hợp bộ phân loại tầng. Sử dụng các mẫu chữ nhật (cạnh, đường, tâm), tính toán siêu tốc qua biểu diễn ảnh tích phân (Integral Image) và lọc qua chuỗi phân loại AdaBoost.
LBPH (Local Binary Patterns Histograms) Nhận dạng khuôn mặt dựa trên biểu đồ tần suất của mẫu nhị phân cục bộ. Chuyển đổi ma trận lân cận điểm ảnh thành chuỗi nhị phân, chia lưới ảnh khuôn mặt, xây dựng histogram cục bộ và ghép nối thành vector đại diện.

Để xây dựng hệ thống điểm danh, tác giả lựa chọn kết hợp kỹ thuật Haar Cascade (Paul Viola và Michael Jones, 2001) cho bài toán phát hiện khuôn mặt và thuật toán LBPH (Local Binary Patterns Histograms) cho bài toán trích rút đặc trưng nhận dạng:

  1. Kỹ thuật phát hiện khuôn mặt Haar Cascade:

    • Sử dụng các tập đặc trưng Haar-Like: đặc trưng cạnh (edge features), đặc trưng đường (line features), và đặc trưng xung quanh tâm (center-surround features).
    • Biểu diễn ảnh tích phân (Integral Image): Cho phép tính nhanh tổng giá trị mức xám của một vùng chữ nhật $D$ bất kỳ trên ảnh thông qua 4 điểm mút ($P_1, P_2, P_3, P_4$) theo công thức: $$D = (A + B + C + D) - (A + B) - (A + C) + A$$
    • Bộ phân loại tăng cường AdaBoost (Freund và Schapire, 1995): Kết hợp tuyến tính các bộ phân loại yếu $h_k(x)$ thành một bộ phân loại mạnh $H(x)$ theo ngưỡng quyết định, loại bỏ sớm các vùng không chứa khuôn mặt qua mô hình phân tầng (Cascade).
  2. Kỹ thuật nhận dạng khuôn mặt LBPH:

    • Toán tử LBP gán nhãn cho các điểm ảnh bằng cách so sánh ngưỡng giá trị mức xám giữa điểm trung tâm với các điểm lân cận trong cửa sổ ma trận, sinh ra mã nhị phân tương ứng.
    • LBPH chia ảnh khuôn mặt đã chuẩn hóa thành các vùng con, tính toán biểu đồ tần suất xuất hiện (histogram) của các mẫu nhị phân trên từng vùng, sau đó ghép nối các biểu đồ lại thành một vector đặc trưng duy nhất.
    • Quá trình huấn luyện sử dụng dữ liệu ảnh khuôn mặt xám chuyển đổi thành mảng NumPy, huấn luyện bộ phân loại gán kèm định danh (ID sinh viên) và lưu trữ kết quả mô hình vào tệp tin định dạng XML.

Phương pháp nghiên cứu thực nghiệm bao gồm: thu thập trực tiếp tập mẫu khuôn mặt sinh viên qua webcam, phân tích thiết kế hệ thống theo chuẩn mô hình hóa UML (Use Case Diagram, Sequence Diagram, Class Diagram), thiết kế cơ sở dữ liệu quan hệ và lập trình thử nghiệm phần mềm.

Thiết kế và triển khai

Hệ thống điểm danh được xây dựng theo mô hình ứng dụng desktop tương tác cơ sở dữ liệu, phân định quyền hạn rõ ràng giữa hai nhóm tác nhân chính:

Tác nhân (Actor) Phạm vi quyền hạn Ca sử dụng nghiệp vụ (Use Cases)
Quản trị viên (Admin - PCTHSSV) Quản trị dữ liệu hệ thống, đào tạo mô hình Nhập, sửa, xóa, tìm kiếm thông tin sinh viên; chụp ảnh khuôn mặt sinh viên (120 ảnh mẫu); huấn luyện mô hình (Training); quản lý thông tin giảng viên; quản lý môn học; quản lý buổi học; theo dõi báo cáo thống kê chuyên cần.
Giảng viên (Teacher) Vận hành điểm danh tại lớp học Đăng nhập hệ thống; chọn môn học và buổi học theo lịch; kích hoạt camera nhận dạng sinh viên theo thời gian thực; lưu trữ và xác nhận kết quả điểm danh.

Quy trình hoạt động tổng thể của hệ thống gồm các bước:

  1. Thu nhận và xử lý ảnh: Camera/Webcam thu nhận luồng khung hình từ lớp học khi sinh viên bước vào.
  2. Phát hiện khuôn mặt: Sử dụng bộ phân loại Haar Cascade để định vị tọa độ khuôn mặt, cắt vùng ảnh và chuyển đổi về không gian ảnh mức xám.
  3. Trích xuất và so khớp: Giải thuật LBPH trích xuất vector histogram của khuôn mặt đầu vào và so sánh với mô hình phân loại đã được huấn luyện sẵn trong tệp XML.
  4. Đối chiếu cơ sở dữ liệu: Hệ thống truy vấn CSDL MySQL để kiểm tra sinh viên nhận dạng được có thuộc danh sách đăng ký môn học và buổi học hiện tại hay không.
  5. Ghi nhận trạng thái:
    • Nếu trùng khớp danh sách: Ghi nhận thông tin vào bảng điểm danh kèm thời gian và phân loại trạng thái: Có mặt, Đi muộn, Vắng 1 tiết, Vắng.
    • Nếu khuôn mặt lạ hoặc không thuộc danh sách môn học: Hệ thống đưa ra cảnh báo trực quan trên giao diện.

Môi trường công nghệ và công cụ cài đặt:

  • Ngôn ngữ lập trình: Python (xử lý logic, gọi thư viện thị giác máy tính và giao diện).
  • Môi trường phát triển tích hợp (IDE): JetBrains PyCharm Community Edition.
  • Hệ quản trị cơ sở dữ liệu: MySQL (lưu trữ thông tin sinh viên, giảng viên, môn học, lịch học, lịch sử điểm danh).
  • Thư viện cấu trúc dữ liệu: NumPy (biểu diễn và tính toán mảng ma trận điểm ảnh).
  • Định dạng lưu trữ mô hình: XML (lưu tham số bộ phân loại khuôn mặt sau khi huấn luyện).

Quy trình thu thập dữ liệu mẫu và huấn luyện: Module thu thập ảnh tự động chụp liên tiếp 120 ảnh khuôn mặt của từng sinh viên ở các góc nhìn khác nhau qua webcam, lưu trữ vào thư mục dữ liệu kèm ID nhận diện. Quản trị viên kích hoạt nút huấn luyện (Train Data), hệ thống tự động xử lý toàn bộ tập ảnh để sinh ra tệp mô hình XML phục vụ nhận diện thời gian thực.

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

Chương 1: Giới thiệu tổng quan

Chương 1 mở đầu bằng việc phân tích vị trí của công tác quản lý lớp học trong giáo dục đại học, đặt vấn đề về sự cần thiết của việc đổi mới quy trình kiểm soát người học trong bối cảnh cuộc Cách mạng công nghiệp 4.0 và sự phát triển của Trí tuệ nhân tạo (AI), Học máy (Machine Learning). Tác giả tổng quan các phương pháp phát hiện đối tượng phổ biến trong xử lý ảnh kỹ thuật số (HOG, SIFT, R-CNN) và các không gian màu cơ bản.

Trọng tâm của chương là phân tích thực trạng quản lý người học tại Trường Đại học Quản lý và Công nghệ Hải Phòng: lịch sử hình thành trường từ năm 1997, cơ cấu đào tạo và mô hình kiểm soát chuyên cần thủ công hiện tại. Tác giả chỉ rõ các nhược điểm của việc gọi tên truyền thống (tốn thời gian, nguy cơ nhầm lẫn, tình trạng học hộ, chậm trễ báo cáo) và đề xuất giải pháp xây dựng hệ thống điểm danh tự động bằng nhận diện khuôn mặt kết nối cơ sở dữ liệu.

Chương 2: Mô hình hệ thống điểm danh người học

Chương 2 trình bày chi tiết cơ sở toán học và kiến trúc kỹ thuật của hệ thống. Tác giả phân tích thuật toán Haar Cascade với cấu trúc ảnh tích phân (Integral Image), 4 dạng đặc trưng Haar-Like cơ bản và cơ chế huấn luyện phân tầng AdaBoost để gộp các bộ phân loại yếu thành bộ phân loại mạnh. Tiếp đó, nguyên lý hoạt động của toán tử LBP và mô hình trích rút histogram LBPH được mô tả cặn kẽ cùng quy trình huấn luyện lưu tệp XML.

Phần phân tích thiết kế hệ thống theo UML cung cấp bức tranh toàn diện về cấu trúc phần mềm:

  • Biểu đồ ca sử dụng (Use Case Diagram) tổng quát và các sơ đồ phân rã chi tiết: Quản lý sinh viên, Quản lý giảng viên, Quản lý môn học, Quản lý buổi học, Quản lý điểm danh, Báo cáo thống kê.
  • Hệ thống 22 bảng mô tả kịch bản diễn biến chi tiết cho từng ca sử dụng (từ uc1 đến uc24), quy định rõ các bước tương tác giữa tác nhân và phản hồi của hệ thống.
  • Biểu đồ tuần tự (Sequence Diagram) và biểu đồ lớp (Class Diagram) cho các chức năng đăng nhập, quản lý danh mục, thu thập dữ liệu ảnh và quy trình nhận dạng - điểm danh.
  • Thiết kế mô hình cơ sở dữ liệu quan hệ chi tiết trên MySQL.

Chương 3: Cài đặt, thử nghiệm và đánh giá

Chương 3 mô tả việc hiện thực hóa phần mềm trong môi trường lập trình Python trên IDE JetBrains PyCharm Community Edition kết nối cơ sở dữ liệu MySQL. Tác giả trình bày cấu trúc và chức năng của các màn hình giao diện:

  • Giao diện đăng nhập và phân quyền truy cập hệ thống.
  • Giao diện trang chủ điều hướng chức năng.
  • Các giao diện quản trị danh mục: Quản lý sinh viên, Quản lý giảng viên, Quản lý môn học, Quản lý lịch học.
  • Giao diện quản lý thông tin điểm danh và báo cáo thống kê chuyên cần (lọc danh sách sinh viên đi muộn, sinh viên vắng học, sinh viên không điểm danh).
  • Chức năng thu nhận tập mẫu 120 ảnh qua webcam và module huấn luyện dữ liệu.
  • Giao diện nhận diện khuôn mặt trực tiếp từ camera theo buổi học để ghi nhận trạng thái tham gia lớp học.

Chương này kết thúc bằng phần thử nghiệm thực tế luồng điểm danh qua camera và đưa ra các đánh giá khách quan về hiệu năng hoạt động của hệ thống.

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

Đồ án đã đạt được các kết quả cụ thể trong thiết kế và xây dựng phần mềm:

  • Xây dựng hoàn chỉnh phần mềm điểm danh người học trên nền tảng desktop bằng ngôn ngữ Python, kết nối cơ sở dữ liệu quan hệ MySQL và tích hợp mô hình thị giác máy tính.
  • Hiện thực hóa quy trình thu thập mẫu ảnh tự động qua webcam (120 ảnh/sinh viên) và module huấn luyện trích xuất đặc trưng LBPH xuất ra tệp XML.
  • Thực hiện đầy đủ các chức năng quản lý danh mục đào tạo (sinh viên, giảng viên, môn học, buổi học), nhận dạng khuôn mặt trực tiếp từ luồng video và phân loại tự động 4 trạng thái chuyên cần: Có mặt, Đi muộn, Vắng 1 tiết, Vắng.
  • Xây dựng hệ thống cảnh báo tự động khi xuất hiện khuôn mặt lạ không có trong cơ sở dữ liệu hoặc không thuộc danh sách lớp học.
  • Cung cấp module báo cáo thống kê chuyên cần theo ngày, mã môn học và mã buổi học, phục vụ công tác đánh giá điều kiện dự thi cuối kỳ của sinh viên (ngưỡng 75%).

Đóng góp của đồ án thể hiện ở việc cung cấp một giải pháp phần mềm hoàn chỉnh, giải quyết bài toán thực tế của nhà trường: giảm thiểu thời gian và công sức kiểm soát đầu giờ của giảng viên, loại bỏ hoàn toàn việc mang thẻ sinh viên vật lý hoặc ký tên hộ, ngăn ngừa hiện tượng học hộ, đồng thời số hóa dữ liệu chuyên cần giúp việc tra cứu và phối hợp giữa Khoa - Cố vấn học tập - Gia đình diễn ra kịp thời.

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

Hạn chế của đề tài được tác giả ghi nhận từ thực nghiệm:

  • Thuật toán nhận dạng LBPH dù có ưu điểm tính toán nhanh và đơn giản nhưng độ chính xác bị suy giảm khi làm việc trong môi trường có biến đổi lớn về điều kiện chiếu sáng (quá tối hoặc quá sáng) hoặc khi góc quay mặt nghiêng lớn và tỷ lệ khoảng cách khuôn mặt thay đổi nhiều.
  • Quy trình lấy mẫu huấn luyện yêu cầu thu thập đủ 120 ảnh cho từng đối tượng, tốn thời gian khởi tạo dữ liệu ban đầu khi áp dụng cho quy mô toàn trường.
  • Hệ thống hiện mới triển khai thử nghiệm trên máy tính đơn lẻ kết nối webcam, chưa tích hợp với hạ tầng camera giám sát góc rộng sẵn có tại các giảng đường của nhà trường.

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

  • Nghiên cứu và tích hợp các mô hình học sâu (Deep Learning) như mạng tích chập CNN chuyên sâu, FaceNet hoặc các kiến trúc mạng nơ-ron tiên tiến nhằm nâng cao độ chính xác nhận dạng trong các điều kiện môi trường ánh sáng phức tạp và góc nhìn đa dạng.
  • Phát triển phiên bản web/cloud để đồng bộ dữ liệu điểm danh trực tuyến thời gian thực với hệ thống phần mềm quản lý đào tạo tổng thể của Nhà trường.

Giá trị tham khảo

Đồ án là tài liệu tham khảo hữu ích cho sinh viên, học viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin đang nghiên cứu về ứng dụng thị giác máy tính trong chuyển đổi số giáo dục.

Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:

  • Phương pháp kết hợp bộ phát hiện khuôn mặt Haar Cascade và bộ trích rút đặc trưng LBPH trong Python để xây dựng ứng dụng nhận diện thời gian thực gọn nhẹ, không đòi hỏi cấu hình phần cứng quá cao.
  • Tài liệu phân tích thiết kế hệ thống thông tin bài bản với 24 ca sử dụng nghiệp vụ, hệ thống bảng đặc tả kịch bản ca sử dụng chi tiết cùng các sơ đồ UML (Use Case, Sequence, Class Diagram) theo đúng chuẩn học thuật.

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

1. Đồ án sử dụng những công nghệ và thuật toán nào để phát hiện và nhận dạng khuôn mặt?
Hệ thống sử dụng kỹ thuật Haar Cascade (dựa trên các đặc trưng Haar-Like, cấu trúc ảnh tích phân Integral Image và giải thuật tăng cường AdaBoost) để phát hiện vị trí khuôn mặt; đồng thời sử dụng phương pháp Local Binary Patterns Histograms (LBPH) để trích rút đặc trưng biểu đồ nhị phân cục bộ và nhận dạng danh tính sinh viên.

2. Quy trình thu thập dữ liệu khuôn mặt của sinh viên được thực hiện như thế nào?
Quản trị viên thực hiện chức năng lấy ảnh sinh viên trên hệ thống. Phần mềm tự động kích hoạt webcam, chụp liên tiếp 120 ảnh khuôn mặt của sinh viên ở các góc độ khác nhau, cắt vùng khuôn mặt và lưu trữ vào bộ nhớ để tiến hành huấn luyện (training) xuất ra tệp cấu hình XML.

3. Dữ liệu điểm danh của sinh viên được hệ thống ghi nhận thành các trạng thái nào?
Hệ thống tự động ghi nhận thông tin điểm danh kèm mốc thời gian thực và phân loại thành 4 trạng thái chuyên cần: Có mặt, Đi muộn, Vắng 1 tiết, và Vắng.

4. Hai tác nhân chính trong hệ thống là ai và đảm nhận vai trò gì?
Hệ thống phân quyền cho hai tác nhân: Quản trị viên (Admin - Phòng Công tác Học sinh Sinh viên) chịu trách nhiệm quản lý thông tin sinh viên, giảng viên, môn học, lịch học, chụp ảnh lấy mẫu, huấn luyện mô hình và xem báo cáo thống kê; Giảng viên (Teacher) chịu trách nhiệm đăng nhập theo buổi học, kích hoạt camera nhận dạng và lưu kết quả điểm danh lớp học.

5. Quy định chuyên cần tại Trường Đại học Quản lý và Công nghệ Hải Phòng ảnh hưởng như thế nào đến điều kiện thi của sinh viên?
Theo quy chế đào tạo của nhà trường, sinh viên phải tham gia trên 75% thời lượng các buổi học của môn học mới đủ điều kiện dự thi kết thúc học phần và được tính điểm quá trình; nếu tham gia dưới 75% số buổi, sinh viên sẽ bị đánh dấu không đạt tư cách và không được phép dự thi cuối kỳ.

Kết luận

Đồ án tốt nghiệp "Điểm danh người học bằng nhận diện khuôn mặt" của sinh viên Nguyễn Đình Quyết đã giải quyết thành công bài toán tự động hóa kiểm soát chuyên cần tại Trường Đại học Quản lý và Công nghệ Hải Phòng. Bằng việc kết hợp hiệu quả giữa thuật toán phát hiện Haar Cascade và nhận dạng LBPH trên nền tảng ngôn ngữ Python cùng hệ quản trị CSDL MySQL, tác giả đã xây dựng được một hệ thống hoàn chỉnh từ khâu quản lý đào tạo, thu thập dữ liệu mẫu đến nhận diện và báo cáo thống kê. Kết quả nghiên cứu đáp ứng tốt mục tiêu đề ra, khắc phục các hạn chế của quy trình điểm danh thủ công và tạo tiền đề vững chắc cho việc nâng cấp, mở rộng các mô hình thị giác máy tính trong quản lý giáo dục.