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

Khóa luận tốt nghiệp "Hệ thống phòng thi thông minh" (Smart Exam Room System) được thực hiện bởi sinh viên Nguyễn Tấn Huy và Mai Lê Vĩnh Hưng, dưới sự hướng dẫn của thầy Trần Hoàng Lộc và thầy Phạm Quốc Hùng tại Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh (2024).

Đề tài xuất phát từ yêu cầu nâng cao chất lượng tổ chức và giám sát kỳ thi, đảm bảo tính công bằng và minh bạch trong kiểm tra, đánh giá giáo dục. Các giải pháp giám sát truyền thống hoặc một số hệ thống quản lý đề thi điện tử hiện hữu bộc lộ nhiều hạn chế về tính linh hoạt, mức độ tự động hóa, khả năng tương tác và xử lý dữ liệu lớn theo thời gian thực. Nhiều hệ thống chưa thể đưa ra phản hồi tức thời cho cán bộ quản lý cũng như nhắc nhở thí sinh khi có dấu hiệu vi phạm.

Khóa luận xác định 06 mục tiêu nghiên cứu cụ thể:

  1. Vận dụng tổng hợp kiến thức về lập trình nhúng, thiết kế mạch điện, hệ điều hành, cơ sở dữ liệu và mạng máy tính vào các công đoạn phát triển hệ thống.
  2. Tiếp cận công nghệ RFID, làm chủ nguyên lý hoạt động để đọc chính xác 100% mã định danh (UID) của thẻ và hiển thị thông tin lên màn hình LCD.
  3. Tiếp cận công nghệ nhận diện khuôn mặt qua các dự án mã nguồn mở, chọn lựa mô hình cân bằng giữa độ chính xác và tốc độ; hiện thực tính năng tự động mở máy tính cho thi khi đúng thí sinh và tự động khóa (log-out) khi phát hiện sai thông tin với độ chính xác đạt 90%.
  4. Tiếp cận công nghệ phát hiện hành vi từ mã nguồn mở, phát hiện tối thiểu 03 hành vi gian lận (quay trái, quay phải, cúi người) và đưa ra cảnh báo với độ chính xác 90%.
  5. Tiếp cận công nghệ lập trình giao diện, thiết kế ứng dụng cho phép quản trị viên thêm/xuất danh sách thí sinh, tự động phân bố chỗ ngồi ngẫu nhiên.
  6. Hoàn thiện kỹ năng quản lý dự án và làm việc nhóm trong quá trình chuyển hóa ý tưởng thành sản phẩm thực tế.

Đối tượng nghiên cứu của đề tài bao gồm công nghệ nhận dạng qua sóng vô tuyến (RFID), bài toán nhận diện khuôn mặt dựa trên phương pháp Deep Metric Learning, bài toán phân tích cử chỉ hành vi chuỗi thời gian, giao thức truyền thông MQTT, hệ quản trị cơ sở dữ liệu quan hệ và lập trình giao diện người dùng đồ họa. Phạm vi nghiên cứu giới hạn ở việc quản lý điểm danh và hiển thị chỗ ngồi cho thí sinh có sẵn trong cơ sở dữ liệu; hệ thống được triển khai thử nghiệm trên mô hình gồm 01 khối phần cứng điểm danh, 01 máy chủ cơ sở dữ liệu và 02 máy tính trạm làm máy thi client, tập trung phát hiện 03 hành vi gian lận cơ bản.

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

Khóa luận xây dựng nền tảng lý thuyết và kỹ thuật dựa trên các mô hình, giao thức và công nghệ chuyên ngành:

  • Mạng nơ-ron nhân tạo (ANN) và Thị giác máy tính: Xử lý ảnh đầu vào dạng ma trận 3 kênh màu RGB với cấu trúc thể tích đầu vào ($255 \times 255 \times 3$). Sử dụng các hàm kích hoạt (activation function) và trích xuất đặc trưng (features) qua từng lớp nơ-ron.
  • Biểu diễn khuôn mặt (Face Embedding) và Khoảng cách Euclide: Khuôn mặt được ánh xạ thành một vector đặc trưng 128 chiều. Độ tương đồng giữa hai khuôn mặt bất kỳ được tính toán thông qua khoảng cách Euclide giữa hai vector đặc trưng $p = (p_1, p_2, ..., p_n)$ và $q = (q_1, q_2, ..., q_n)$; nếu khoảng cách nhỏ hơn một ngưỡng định trước thì xác định là cùng một người.
  • Mô hình FaceNet và Triplet Loss: Sử dụng mạng nơ-ron sâu với hàm mất mát Triplet Loss để tối ưu hóa không gian nhúng sao cho ảnh cùng một người được kéo lại gần nhau và ảnh khác người bị đẩy ra xa. Nhóm kế thừa mô hình tiền huấn luyện (pretrained) sử dụng kiến trúc ZFNet và InceptionV1.
  • Thư viện dlib và 68 điểm mốc khuôn mặt (Facial Landmarks): Trích xuất 68 điểm mốc giải phẫu trên khuôn mặt để phục vụ kỹ thuật căn chỉnh khuôn mặt (Face alignment: đưa mặt vào trung tâm, xoay hai mắt nằm ngang, chuẩn hóa tỷ lệ kích thước) trước khi trích xuất đặc trưng.
  • MediaPipe Pose Landmark Detection: Thư viện của Google phục vụ xác định các điểm mốc tư thế cơ thể và khung xương theo thời gian thực.
  • Mạng nơ-ron hồi quy LSTM (Long Short-Term Memory): Xử lý chuỗi ảnh liên tiếp thông qua các bước thời gian (timesteps). Cấu trúc khối nhớ (memory blocks) gồm cổng vào, cổng ra và cổng quên giúp duy trì thông tin dài hạn và giải quyết nhược điểm nhận diện hành động từ các khung hình tĩnh riêng lẻ của mạng CNN truyền thống.
  • Giao thức MQTT (Message Queuing Telemetry Transport): Giao thức truyền tin gọn nhẹ theo mô hình Publish/Subscribe qua Broker trung gian, hỗ trợ các mức chất lượng dịch vụ QoS (0, 1, 2), cơ chế Retained Message và bảo mật bằng TLS/SSL.
  • Công nghệ RFID: Nhận dạng đối tượng qua sóng vô tuyến (dải tần cao HF 13.56 MHz với module RC522). Thẻ RFID thụ động chứa mã UID 32-bit (tương ứng hơn 4 tỷ mã định danh không trùng lặp).

Phương pháp nghiên cứu kết hợp giữa phân tích lý thuyết, kế thừa các công trình khoa học đi trước (mô hình ISHD kết hợp MobileNet và SSD; giải pháp điểm danh FaceNet tại phòng thí nghiệm FIT; nghiên cứu nhận diện khung xương của nhóm SV ĐH Công nghiệp Hà Nội) và phương pháp thiết kế kỹ thuật thực nghiệm. Nguồn dữ liệu huấn luyện và kiểm thử được thu thập từ bộ dữ liệu Kaggle (10 người, mỗi người 200 ảnh khuôn mặt) và bộ dữ liệu cử chỉ thi cử từ Mendeley Data (chọn lọc 4.000 ảnh chuỗi cử chỉ từ tập gốc 15.051 ảnh).

Thiết kế và triển khai

Hệ thống được thiết kế theo kiến trúc phân tán gồm 04 phân hệ chính:

[ Phần cứng ESP32 + RFID + LCD ] <---(WiFi/Socket)---> [ Máy chủ Server & MySQL ]
                                                               ^
                                                               |
[ Giao diện Quản lý PyQt6 (Admin) ] <--------------------------+
                                                               |
[ Máy thi Client + Webcam (AI) ] <-----------------------------+
  1. Phân hệ phần cứng (Hardware): Đặt tại bàn giám thị hoặc cửa phòng thi. Bao gồm vi điều khiển ESP32 kết nối với module đọc thẻ RFID-RC522 thông qua giao tiếp SPI và màn hình LCD 1602 (kết hợp biến trở điều chỉnh độ tương phản) qua các chân GPIO. Mạch được thiết kế hoàn chỉnh từ sơ đồ nguyên lý (Schematic) đến bản vẽ mạch in (PCB). Khi thí sinh quét thẻ, ESP32 đọc UID, gửi dữ liệu lên Server và nhận lại thông tin phòng thi, số ghế để hiển thị trực tiếp lên LCD.
  2. Phân hệ máy chủ và cơ sở dữ liệu (Server & Database): Sử dụng hệ quản trị MySQL gồm 04 bảng dữ liệu:
    • Rooms: Lưu trữ mã phòng (code), số lượng ghế (numseat).
    • Exams: Lưu trữ mã lớp (ClassCode), tên môn thi (subject), ngày thi (date), ca thi (period), mã phòng (code).
    • Students: Lưu trữ mã thẻ (UID), mã lớp (ClassCode), họ tên (Name).
    • ExamRooms: Bảng kết hợp lưu thông tin kỳ thi, thông tin cá nhân và số ghế chỉ định ngẫu nhiên (seat).
  3. Phân hệ máy thi (Client): Máy tính cá nhân dành cho thí sinh làm bài, trang bị webcam. Luồng xử lý AI gồm 02 giai đoạn:
    • Xác thực danh tính: Client đọc danh sách chỉ định từ database, dlib phát hiện khuôn mặt và chuẩn hóa 68 điểm mốc, FaceNet trích xuất vector 128 chiều và đối chiếu khoảng cách Euclide với dữ liệu đăng ký. Nếu phát hiện không có người, có nhiều hơn 01 người hoặc sai danh tính, máy tự động khóa màn hình.
    • Theo dõi hành vi: Khi đúng thí sinh, MediaPipe trích xuất các điểm mốc tư thế cơ thể theo chuỗi 10 timesteps đưa vào mô hình LSTM (gồm 4 lớp LSTM xen kẽ 4 lớp Dropout 0.2 và 1 lớp Dense với hàm Sigmoid). Khi phát hiện thí sinh quay trái, quay phải hoặc cúi người, hệ thống tự động ghi lại khung hình vi phạm và gửi về database của Server.
  4. Phân hệ giao diện quản trị (UI): Xây dựng bằng framework PyQt6 trên nền Python, cung cấp 08 chức năng: tạo bảng dữ liệu, tải dữ liệu từ tệp Excel (theo thứ tự bắt buộc: Rooms $\rightarrow$ Exams $\rightarrow$ Students), hiển thị thông tin bảng, tự động tạo kỳ thi và xếp chỗ ngẫu nhiên, xóa bảng, xóa dữ liệu bảng, tải ảnh bằng chứng vi phạm và giao diện đăng ký khuôn mặt thí sinh mới.

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

Chương 1: Tổng quan đề tài

Trình bày lý do chọn đề tài, tính cấp thiết của việc áp dụng công nghệ vào giám sát thi cử nhằm giảm tải áp lực cho cán bộ coi thi. Phân tích ưu nhược điểm của 03 nghiên cứu liên quan trước đó (mô hình phát hiện người đứng ISHD, giải pháp điểm danh FaceNet tại FIT, phần mềm nhận diện khung xương của nhóm SV ĐH Công nghiệp Hà Nội). Xác định mục tiêu, đối tượng, phạm vi nghiên cứu và phân chia đề tài thành 06 nội dung công việc cụ thể từ nghiên cứu lý thuyết, phát triển phần cứng, xây dựng mô hình AI, lập trình giao diện đến kiểm thử kịch bản thực tế.

Chương 2: Cơ sở lý thuyết

Hệ thống hóa các khái niệm học thuật: cấu trúc mạng nơ-ron nhân tạo cho dữ liệu ảnh RGB, vector nhúng khuôn mặt (face embedding), công thức tính khoảng cách Euclide để phân loại độ tương đồng. Trình bày chi tiết cơ chế hoạt động của giao thức truyền thông IoT MQTT (mô hình Publish/Subscribe, Broker, Topic, QoS 0/1/2, Retained Message, bảo mật TLS/SSL), nguyên lý công nghệ RFID (so sánh thẻ chủ động và thụ động, các dải tần LF, HF, UHF, Microwave, cấu trúc mã UID 32-bit). Định nghĩa các tiêu chí cấu thành một hệ thống phòng thi thông minh.

Chương 3: Thiết kế và hiện thực hệ thống

Mô tả chi tiết kiến trúc tổng thể 4 khối (Server, UI, Hardware, Client). Trình bày thuật toán nhận diện khuôn mặt FaceNet với hàm mất mát Triplet Loss, quy trình căn chỉnh và trích xuất 68 điểm facial landmark bằng dlib; quá trình chia tập dữ liệu khuôn mặt 2.000 ảnh (60% Training, 20% Test, 20% Validation). Trình bày giải thuật phát hiện hành vi kết hợp MediaPipe Pose và mô hình mạng LSTM tuần tự 4 lớp; quy trình tiền xử lý 4.000 ảnh cử chỉ chia theo 10 timesteps. Thể hiện chi tiết sơ đồ nguyên lý mạch (Schematic), layout mạch in (PCB) cho khối vi điều khiển ESP32, module RFID RC522 và LCD 1602. Thiết kế cấu trúc cơ sở dữ liệu MySQL và các tính năng tương tác trên giao diện PyQt6.

Chương 4: Kết quả thực hiện

Trình bày các kết quả thực nghiệm đạt được: chế tạo thành công phần cứng mạch đọc thẻ RFID và hiển thị LCD; kết quả đánh giá mô hình nhận diện khuôn mặt đạt độ chính xác trung bình 94% trên tập kiểm tra (trong đó cá nhân đạt cao nhất là 96.44%); kết quả đánh giá mô hình phát hiện hành vi LSTM đạt độ chính xác trên 99% trên cả tập kiểm tra và tập xác nhận. Báo cáo kết quả chạy thử nghiệm các kịch bản thực tế (sinh viên vào sai phòng, ngồi sai vị trí, tự động khóa máy khi phát hiện gian lận và gửi ảnh bằng chứng về máy chủ). Cung cấp bảng thông số kỹ thuật phần cứng (ESP32, RC522, LCD1602) và cấu hình máy tính thực nghiệm.

Chương 5: Kết luận và hướng phát triển

Đánh giá mức độ hoàn thành đề tài so với mục tiêu đề ra ban đầu; khẳng định tính khả thi của việc tích hợp phần cứng nhúng và các thuật toán học máy vào quản lý phòng thi. Nêu ra các đề xuất cải tiến hệ thống trong tương lai về quy mô thiết bị, độ phong phú của dữ liệu và tối ưu hóa xử lý tại biên.

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

Khóa luận đã hiện thực hóa thành công mô hình phòng thi thông minh với các số liệu thực nghiệm cụ thể được ghi nhận trong văn bản:

Thành phần / Tính năng Công nghệ / Thuật toán sử dụng Quy mô dữ liệu / Cấu hình thử nghiệm Kết quả thực nghiệm đạt được
Đọc thẻ & Điểm danh Module RFID-RC522 + ESP32 Thẻ chuẩn 13.56 MHz, UID 32-bit Đọc chính xác 100% mã thẻ, hiển thị số phòng/ghế trên LCD 1602
Nhận diện khuôn mặt dlib (68 landmarks) + FaceNet (128-d vector) 2.000 ảnh (10 người $\times$ 200 ảnh); Train: 1200, Test: 400, Val: 400 Độ chính xác trung bình đạt 94% (người cao nhất đạt 96.44%)
Phát hiện hành vi gian lận MediaPipe Pose + Mạng LSTM (4 lớp, 10 timesteps) 4.000 ảnh từ Mendeley Data (2 lớp: gian lận / không gian lận) Độ chính xác trên tập kiểm tra (Test set) và tập xác nhận (Validation set) đạt > 99%
Kiểm soát phiên làm bài Client App kết nối Server qua Socket/Webcam Thử nghiệm trên 02 máy tính client Mở khóa khi đúng thí sinh; tự động khóa màn hình khi sai thí sinh hoặc có $\ge 2$ người
Quản lý kỳ thi & Xếp chỗ Ứng dụng Desktop PyQt6 + MySQL Nhập/xuất dữ liệu qua tệp Excel Tự động phân bổ chỗ ngồi ngẫu nhiên, tạo kỳ thi, lưu trữ ảnh vi phạm

Các đóng góp chính của đề tài bao gồm:

  • Xây dựng một quy trình khép kín kết hợp chặt chẽ giữa thiết bị IoT nhúng tại cửa/bàn (ESP32, RFID, LCD) với hệ thống thị giác máy tính giám sát tại chỗ ngồi.
  • Ứng dụng hiệu quả mô hình học sâu chuỗi thời gian LSTM dựa trên các tọa độ khung xương từ MediaPipe, khắc phục nhược điểm nhận diện sai hành động từ các khung hình tĩnh của mô hình CNN truyền thống.
  • Tự động hóa toàn diện các khâu tổ chức thi: từ quản trị dữ liệu phòng thi/môn thi qua Excel, tự động xếp chỗ ngẫu nhiên, điểm danh định danh, kiểm soát màn hình thi đến ghi nhận bằng chứng gian lận theo thời gian thực.

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

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

  • Quy mô thử nghiệm phần cứng mới dừng lại ở 02 máy tính client.
  • Dữ liệu nhận diện khuôn mặt thực nghiệm mới chỉ huấn luyện trên tập mẫu 10 người.
  • Hệ thống chỉ mới phát hiện được 03 cử chỉ gian lận cơ bản (quay trái, quay phải, cúi người), chưa bao quát hết các hành vi gian lận phức tạp khác.
  • Xử lý hình ảnh từ webcam còn phụ thuộc vào điều kiện ánh sáng môi trường và góc đặt camera.
  • Hệ thống RFID mới chỉ hiển thị vị trí khi dữ liệu sinh viên đã được nạp sẵn vào cơ sở dữ liệu.

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Mở rộng quy mô thử nghiệm với số lượng máy thi lớn hơn trong môi trường thực tế.
  • Thu thập thêm dữ liệu để huấn luyện nhận diện khuôn mặt cho số lượng sinh viên lớn hơn và mở rộng nhận diện các hành vi bất thường khác (như trao đổi tài liệu, sử dụng điện thoại).
  • Tối ưu hóa các thuật toán AI để có thể triển khai mượt mà trực tiếp trên các thiết bị tính toán biên (Edge devices).
  • Phát triển giao diện quản lý trên nền tảng ứng dụng Web hoàn chỉnh để tăng tính linh hoạt trong quản trị từ xa.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các đối tượng:

  • Sinh viên và người nghiên cứu ngành Kỹ thuật Máy tính, Điện tử – Viễn thông, IoT: Tham khảo quy trình thiết kế mạch nguyên lý, mạch in PCB vi điều khiển ESP32 giao tiếp module RFID RC522 và màn hình LCD 1602, cũng như phương pháp lập trình nhúng truyền nhận dữ liệu với máy chủ.
  • Người nghiên cứu ngành Khoa học Máy tính, Trí tuệ nhân tạo: Tham khảo phương pháp kết hợp mô hình FaceNet (với Triplet Loss) và dlib 68 landmarks trong bài toán nhận diện khuôn mặt, cùng đường ống (pipeline) trích xuất đặc trưng tư thế MediaPipe kết hợp mạng LSTM phân loại chuỗi hành động thời gian thực.
  • Người phát triển ứng dụng quản trị: Tham khảo cách xây dựng giao diện người dùng bằng PyQt6, thiết kế cơ sở dữ liệu quan hệ MySQL cho bài toán khảo thí và xử lý dữ liệu nhập liệu từ Excel.

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

1. Hệ thống sử dụng giải thuật nào để nhận diện khuôn mặt và độ chính xác thực nghiệm đạt bao nhiêu?
Hệ thống sử dụng thư viện dlib để phát hiện khuôn mặt và trích xuất 68 điểm mốc (facial landmarks) kết hợp kỹ thuật căn chỉnh (face alignment). Sau đó, mô hình tiền huấn luyện FaceNet trích xuất vector đặc trưng 128 chiều và dùng khoảng cách Euclide để so sánh độ tương đồng. Kết quả thực nghiệm trên tập kiểm tra 10 người đạt độ chính xác trung bình 94% (cá nhân cao nhất đạt 96.44%).

2. Mô hình phát hiện hành vi gian lận được xây dựng như thế nào và nhận diện được những cử chỉ nào?
Mô hình sử dụng thư viện MediaPipe Pose Landmark Detection để trích xuất các điểm mốc cơ thể theo chuỗi 10 timesteps, đưa vào mạng LSTM gồm 4 lớp LSTM xen kẽ 4 lớp Dropout (0.2) và 1 lớp Dense (hàm kích hoạt Sigmoid). Mô hình được huấn luyện trên 4.000 ảnh từ Mendeley Data, đạt độ chính xác trên 99% trên tập kiểm tra cho 03 hành vi: quay trái, quay phải và cúi người.

3. Khối phần cứng tại phòng thi gồm những linh kiện nào và hoạt động ra sao?
Khối phần cứng gồm vi điều khiển ESP32, module đọc thẻ RFID-RC522 (giao tiếp SPI) và màn hình LCD 1602 (kết nối GPIO/biến trở). Khi thí sinh quét thẻ RFID, ESP32 đọc mã UID 32-bit, gửi về máy chủ MySQL để tra cứu thông tin ca thi/chỗ ngồi và hiển thị kết quả trực tiếp lên màn hình LCD.

4. Thứ tự bắt buộc khi nạp dữ liệu từ file Excel vào giao diện quản lý PyQt6 là gì và vì sao?
Người dùng bắt buộc phải nạp dữ liệu theo thứ tự: Rooms $\rightarrow$ Exams $\rightarrow$ Students. Thứ tự này là bắt buộc do các bảng trong cơ sở dữ liệu MySQL có mối quan hệ ràng buộc khóa ngoại với nhau; nạp sai thứ tự sẽ vi phạm toàn vẹn dữ liệu và giao diện sẽ báo lỗi.

5. Cơ chế xử lý của hệ thống máy thi Client khi phát hiện dấu hiệu bất thường là gì?
Tại máy thi, nếu hệ thống không phát hiện khuôn mặt, phát hiện nhiều hơn 01 khuôn mặt hoặc khuôn mặt không khớp với thí sinh được chỉ định, máy tính sẽ tự động khóa màn hình. Trong quá trình làm bài, nếu thí sinh thực hiện hành vi quay trái, quay phải hoặc cúi người, hệ thống sẽ tự động chụp lại khung hình vi phạm và gửi về máy chủ để lưu vết bằng chứng.

Kết luận

Khóa luận tốt nghiệp "Hệ thống phòng thi thông minh" của nhóm sinh viên ngành Kỹ thuật Máy tính đã thiết kế và hiện thực thành công giải pháp giám sát thi cử tích hợp giữa thiết bị phần cứng nhúng (ESP32, RFID, LCD) và phần mềm trí tuệ nhân tạo (FaceNet, MediaPipe, LSTM). Hệ thống giải quyết trọn vẹn quy trình từ điểm danh, phân bổ chỗ ngồi ngẫu nhiên đến kiểm soát danh tính và phát hiện gian lận tự động theo thời gian thực với độ chính xác cao trên mô hình thực nghiệm. Công trình là tài liệu tham khảo có giá trị cao về mặt kỹ thuật trong việc ứng dụng công nghệ IoT và Thị giác máy tính vào hiện đại hóa công tác quản trị giáo dục.