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

Trong công tác quản lý đào tạo tại các trường đại học, cao đẳng và cơ sở giáo dục, điểm danh sinh viên là hoạt động diễn ra thường xuyên trước mỗi buổi học nhằm ghi nhận sự chuyên cần và theo dõi quá trình học tập. Tuy nhiên, phần lớn các đơn vị hiện nay vẫn áp dụng phương pháp điểm danh truyền thống thông qua việc giáo viên gọi tên thủ công từng sinh viên trong danh sách. Quy trình này chiếm dụng một lượng thời gian đáng kể của tiết học, làm gián đoạn bài giảng và tiềm ẩn rủi ro gian lận như sinh viên điểm danh hộ hoặc mạo danh.

Để khắc phục các hạn chế trên, nhiều giải pháp tự động hóa đã được nghiên cứu và ứng dụng, song mỗi phương pháp đều tồn tại những nhược điểm kỹ thuật nhất định trong môi trường lớp học thực tế:

  • Nhận dạng tiếng nói: Độ chính xác chưa đạt mức tin cậy cao; tiếng ồn xung quanh và âm thanh hỗn loạn khi sinh viên ra vào lớp gây nhiễu nghiêm trọng, làm suy giảm hiệu suất phân loại âm thanh.
  • Thẻ từ RFID: Đạt độ chính xác cao trong việc đọc mã định danh nhưng chi phí phát hành, quản lý thẻ lớn và dễ phát sinh tình trạng sinh viên mang thẻ quẹt hộ cho nhau.
  • Nhập mã số cá nhân: Thao tác đơn giản nhưng độ bảo mật thấp do sinh viên có thể dễ dàng chia sẻ mã số cho người khác nhập hộ.
  • Máy chấm công vân tay: Quy mô cơ sở dữ liệu mẫu thường bị giới hạn, chỉ đáp ứng việc xác nhận đơn lẻ tại một vị trí cố định gây ùn tắc trước giờ học, đồng thời dễ gặp sự cố khi ngón tay bị ướt do thời tiết hoặc dính bẩn.

Xuất phát từ thực trạng trên, khóa luận tốt nghiệp ngành Kỹ thuật Máy tính tại Trường Đại học Công nghệ Thông tin (ĐHQG-HCM) do sinh viên Huỳnh Thái Dương và Nguyễn Nhật Duy thực hiện (dưới sự hướng dẫn của TS. Đoàn Duy và TS. Nguyễn Minh Sơn, bảo vệ năm 2021) đã đề xuất giải pháp: "Cải tiến hệ thống điểm danh sinh viên trong lớp học tự động bằng Dual Camera có tích hợp mạng CNN". Đề tài tận dụng sự phát triển của công nghệ thị giác máy tính và phần cứng tính toán trí tuệ nhân tạo nhúng nhằm tự động hóa hoàn toàn việc nhận diện diện mạo sinh viên mà không làm gián đoạn hoạt động giảng dạy.

Mục tiêu nghiên cứu:

  1. Xây dựng hệ thống điểm danh tự động ứng dụng kỹ thuật xử lý ảnh và mạng nơ-ron tích chập (CNN) triển khai trực tiếp trên bo mạch nhúng NVIDIA Jetson Nano, đảm bảo độ chính xác cao và thời gian thực thi ngắn.
  2. Thiết lập cụm Dual Camera (gồm 1 camera góc gần và 1 camera góc xa) bố trí phía trên bảng với góc nghiêng 30 độ hướng xuống vị trí ngồi của sinh viên trong điều kiện ánh sáng đầy đủ.
  3. Tối ưu hóa thuật toán nhận diện và gia tăng tốc độ xử lý khung hình (FPS) thông qua việc khai thác bộ xử lý đồ họa GPU trên Jetson Nano.
  4. Phát triển ứng dụng Web hoàn chỉnh (sử dụng PHP/Laravel và MySQL) để tự động cập nhật, lưu trữ dữ liệu điểm danh, quản lý lớp học và hỗ trợ thông báo tiến độ học tập đến phụ huynh.

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

  • Đối tượng nghiên cứu: Quy trình nhận dạng khuôn mặt người thông qua luồng video từ camera kép, các mô hình học sâu (CNN, ResNet, ncnn UltraFace, Dlib), kỹ thuật phân loại vector đặc trưng và hệ thống web quản lý điểm danh.
  • Phạm vi không gian & Quy mô: Không gian phòng học tiêu chuẩn với quy mô thử nghiệm giới hạn khoảng 30 sinh viên/lớp; hệ thống hoạt động tối ưu khi sinh viên ngồi hướng về phía bảng/camera trong điều kiện ánh sáng phòng học đầy đủ.
  • Phạm vi công nghệ: Nền tảng phần cứng nhúng NVIDIA Jetson Nano Developer Kit kết hợp hệ điều hành Linux; ngôn ngữ lập trình C++ cho khối xử lý thị giác máy tính và PHP Framework (Laravel) cho ứng dụng quản trị.

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

Khóa luận xây dựng trên nền tảng kết hợp giữa lý thuyết mạng nơ-ron nhân tạo, thị giác máy tính thời gian thực và kiến trúc phần mềm hướng dịch vụ cho hệ thống nhúng.

1. Khung lý thuyết và mô hình giải thuật

  • Mạng nơ-ron sâu (Deep Neural Network - DNN) và CNN: Mạng nơ-ron tích chập tiếp nhận dữ liệu ảnh đầu vào, truyền qua chuỗi các tầng tích chập (Convolution Layer) kết hợp hàm kích hoạt phi tuyến (ReLU), tầng giảm mẫu (Pooling Layer gồm Max Pooling và Average Pooling), tầng làm phẳng (Flatten) và các tầng kết nối đầy đủ (Fully Connected Layer) cùng hàm Softmax để trích xuất đặc trưng không gian và phân loại đối tượng.
  • Mạng phần dư ResNet (Residual Network): Để khắc phục hiện tượng suy giảm đạo hàm (Vanishing Gradient) khi huấn luyện các mạng tích chập có độ sâu lớn, kiến trúc ResNet áp dụng khối liên kết tắt (Residual Block / skip connection). Đầu ra của khối được biểu diễn qua công thức $H(x) = \text{ReLU}(F(x) + x)$, giúp duy trì luồng truyền tín hiệu gradient qua các tầng sâu hơn mà không làm suy thoái hiệu năng mô hình.
  • Bộ xác định Facial Landmark 68 điểm của Dlib: Dựa trên thuật toán hồi quy cây nhị phân tăng cường ("One Millisecond Face Alignment with an Ensemble of Regression Trees" của Kazemi và Sullivan, 2014), mô hình shape_predictor_68_face_landmarks.dat định vị chính xác 68 tọa độ $(x, y)$ trên khuôn mặt (mắt, mũi, miệng, viền hàm, lông mày), làm cơ sở hình học để xoay và căn chỉnh khuôn mặt về góc nhìn chính diện.
  • Mô hình trích xuất đặc trưng Dlib ResNet: Sử dụng mô hình dlib_face_recognition_resnet_model_v1.dat để ánh xạ ảnh khuôn mặt đã căn chỉnh thành một vector đặc trưng 128 chiều (128-dimensional embedding) trong không gian Euclid.
  • Mô hình phát hiện khuôn mặt UltraFace trên nền ncnn: Framework ncnn (do Tencent phát triển) được tối ưu hóa cho CPU và thiết bị di động bằng ngôn ngữ C++ thuần túy, hỗ trợ lượng tử hóa 8-bit và cấu trúc đa nhánh. Hàm detect() của UltraFace thực hiện định vị nhanh vùng khuôn mặt và trả về danh sách đối tượng FaceInfo.
  • Thuật toán K-Nearest Neighbors (KNN): Phương pháp học có giám sát dựa trên tính toán khoảng cách hình học (khoảng cách Euclid) giữa điểm dữ liệu mới và $k$ láng giềng gần nhất trong tập huấn luyện để đưa ra nhãn dự đoán.

2. Công nghệ và công cụ phần mềm

  • OpenCV (Open Source Computer Vision Library): Thư viện mã nguồn mở phát hành theo giấy phép BSD, hỗ trợ thu nhận luồng video (Video I/O), xử lý biến đổi ma trận ảnh và tối ưu hóa luồng đa lõi.
  • Qt Framework: Bộ công cụ đa nền tảng gồm Qt Core, Qt GUI, Qt Widgets, QML/Qt Quick, Qt SQL và Qt Network, phục vụ xây dựng giao diện ứng dụng nhúng và quản lý luồng điều khiển.
  • C/C++: Ngôn ngữ lập trình trung cấp được sử dụng để phát triển các module xử lý thị giác máy tính, tận dụng tính toán con trỏ và quản lý bộ nhớ trực tiếp trên Linux.
  • PHP & Laravel Framework: Xây dựng hệ thống Web Application theo mô hình kiến trúc MVC (Model - View - Controller), cung cấp các module định tuyến, xác thực và quản trị cơ sở dữ liệu.
  • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở đảm nhận vai trò lưu trữ tập trung dữ liệu sinh viên, lớp học, thiết bị và bản ghi điểm danh.

Thiết kế và triển khai hệ thống

1. Kiến trúc phần cứng và thiết bị nhúng

Hệ thống sử dụng bo mạch NVIDIA Jetson Nano Developer Kit với chuẩn kích thước mô-đun SO-DIMM (69 mm x 45 mm), kết nối với 2 camera thông qua giao tiếp MIPI-CSI/USB.

Thành phần phần cứng Chi tiết thông số kỹ thuật
GPU NVIDIA Maxwell 128 nhân CUDA
CPU Quad-core ARM Cortex-A57 @ 1.43 GHz (64-bit)
Bộ nhớ RAM 4 GB 64-bit LPDDR4 (băng thông 25.6 GB/s)
Năng lực tính toán 472 GFLOPS
Xử lý Video Giải mã: 4K @ 60fps / 8x 1080p @ 30fps; Mã hóa: 4K @ 30fps
Giao tiếp Camera 2x MIPI CSI-2 DPHY lanes
Cổng kết nối ngoại vi 4x USB 3.0, Gigabit Ethernet, HDMI, DisplayPort, GPIO, I2C, UART
Nền tảng phần mềm NVIDIA JetPack SDK, hỗ trợ CUDA, TensorRT, OpenCV

2. Thiết kế cơ sở dữ liệu (MySQL)

Hệ thống thiết kế 8 bảng dữ liệu quan hệ phục vụ lưu trữ thông tin nghiệp vụ:

  1. users: Lưu tài khoản quản trị và người dùng hệ thống (id, email, password, level, remember_token, timestamps).
  2. student: Quản lý hồ sơ sinh viên và liên lạc phụ huynh (mssv, name_sv, mail, sdt, name_parents, sdt_parents, link_file_dat).
  3. class: Quản lý danh mục lớp học (id_class, name_class).
  4. device: Quản lý thiết bị camera nhúng (id_cam, name_room, toanha, date_setup, bao_tri, status).
  5. room: Quản lý phòng học (id_room, ten_room, toa_nha, id_cam).
  6. studentofclass: Danh sách phân bổ sinh viên theo lớp (id, id_class, mssv_student).
  7. schedule: Lịch học và thời khóa biểu (id_schedule, id_class, id_room, date, start, end).
  8. studentattendence: Bản ghi điểm danh theo từng buổi học (id, id_class, mssv_student, các trường trạng thái status0 đến status14, updated_at).

3. Quy trình lấy mẫu dữ liệu khuôn mặt (Enrollment Pipeline)

  1. Camera thu nhận luồng video qua OpenCV Streamer.
  2. Ảnh khung hình được chuyển đổi sang định dạng ma trận của Dlib.
  3. Hàm get_frontal_face_detector() phát hiện vùng mặt và mô hình shape_predictor_68_face_landmarks.dat căn chỉnh khuôn mặt về góc nhìn chính diện.
  4. Hệ thống tự động thu thập tập hợp 100 ảnh khuôn mặt hợp lệ cho mỗi sinh viên.
  5. Tập 100 ảnh được đưa qua mô hình dlib_face_recognition_resnet_model_v1.dat để trích xuất 100 vector đặc trưng 128 chiều tương ứng.
  6. Tính toán giá trị trung vị (median) của 100 vector để tạo ra một vector trung vị 128 chiều duy nhất mang tính đại diện cho sinh viên và lưu trữ thành file dữ liệu mẫu (.dat).

4. Quy trình nhận dạng và điểm danh tự động (Recognition Pipeline)

  1. Cụm Dual Camera ghi nhận video thời gian thực từ không gian lớp học; OpenCV trích xuất từng khung hình.
  2. Dữ liệu ảnh được chuyển đổi sang định dạng ma trận ncnn; hàm detect() của UltraFace phát hiện vị trí các khuôn mặt trong khung hình và trả về danh sách đối tượng FaceInfo.
  3. Từng vùng khuôn mặt được đưa qua mô hình shape_predictor_68_face_landmarks.dat để định vị 68 điểm mốc và chuẩn hóa góc nghiêng.
  4. Mô hình dlib_face_recognition_resnet_model_v1.dat trích xuất vector đặc trưng 128 chiều cho từng khuôn mặt phát hiện được.
  5. Hệ thống duyệt vector đặc trưng vừa trích xuất với danh sách các vector trung vị đã lưu trong cơ sở dữ liệu mẫu bằng phép tính bình phương khoảng cách Euclid ($d^2$).
  6. Xử lý ngưỡng nhận dạng: Giá trị ngưỡng phân loại được xác lập thực nghiệm ở mức 0.16 (kiểu số float).
    • Nếu mọi khoảng cách tính được đều lớn hơn 0.16: Đối tượng không khớp với bất kỳ sinh viên nào trong danh sách.
    • Nếu tồn tại khoảng cách nhỏ hơn hoặc bằng 0.16: Hệ thống chọn đối tượng có bình phương khoảng cách nhỏ nhất và gán định danh sinh viên tương ứng.
  7. Dữ liệu điểm danh được ghi nhận cục bộ trên bộ nhớ Jetson Nano, sau đó tự động đồng bộ hóa lên máy chủ cơ sở dữ liệu MySQL và hiển thị trên giao diện Web Laravel.

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

  • Chương 1. Hiện trạng hiện nay, nội dung thực hiện, phương pháp, giới hạn đề tài và kết quả mong đợi: Phân tích bối cảnh quản lý điểm danh tại các cơ sở đào tạo; đánh giá ưu nhược điểm của các phương pháp điểm danh bằng tay, thẻ từ RFID, vân tay, giọng nói và mã số; trình bày mục tiêu xây dựng hệ thống Dual Camera trên nền tảng Jetson Nano; xác định phương pháp tiếp cận phần mềm (C++, Laravel, OpenCV, Dlib, CNN, MobileNetV1) và phần cứng; thiết lập giới hạn quy mô lớp học khoảng 30 sinh viên và đặt mục tiêu độ chính xác $\ge 90%$.
  • Chương 2. Giới thiệu về Deep learning và các công nghệ liên quan: Trình bày hệ thống lý thuyết về Deep Neural Network; phân tích chi tiết cơ chế hoạt động của mạng CNN (Convolution, Padding, Stride, Max/Average Pooling, Flatten, Fully Connected, Softmax); giải thích hiện tượng Vanishing Gradient và cấu trúc Residual Block của ResNet; trình bày giải thuật KNN và bài toán xác định 68 điểm Facial Landmark; tổng quan thông số kỹ thuật của bo mạch NVIDIA Jetson Nano, thư viện OpenCV, Dlib, framework ncnn, bộ công cụ Qt, ngôn ngữ lập trình C++, hệ quản trị cơ sở dữ liệu MySQL, ngôn ngữ PHP và framework Laravel theo mô hình MVC.
  • Chương 3. Phân tích và thiết kế hệ thống: Mô tả kiến trúc tổng quan hệ thống điểm danh nhúng và sơ đồ luồng dữ liệu; chi tiết hóa quy trình lấy mẫu khuôn mặt (thu thập 100 ảnh để tính vector trung vị 128 chiều) và quy trình nhận dạng thời gian thực kết hợp UltraFace, Dlib 68 landmarks và Dlib ResNet với ngưỡng bình phương khoảng cách 0.16; thiết kế sơ đồ cơ sở dữ liệu gồm 8 bảng thực thể; xây dựng giao diện ứng dụng web quản trị trên nền Laravel (đăng nhập, quản lý sinh viên, lớp học, thiết bị, phòng học, lịch biểu, trạng thái điểm danh) và giao diện cục bộ trên thiết bị nhúng bằng Qt (màn hình khởi động, luồng hiển thị video, giao diện Admin thêm ID sinh viên và tiến trình training).
  • Chương 4. Thực nghiệm và kết quả: Trình bày các kịch bản thử nghiệm hệ thống thiết bị điểm danh trong điều kiện thực tế lớp học; khảo sát khả năng phát hiện khuôn mặt và định danh theo các mốc khoảng cách (2m, 4m, 7m, 10m) và góc nghiêng camera 30 độ; phân tích tài nguyên phần cứng sử dụng (mức độ chiếm dụng CPU/GPU) trên Jetson Nano; đánh giá biểu đồ so sánh thời gian xử lý trên một khung hình giữa GPU và CPU.
  • Chương 5. Kết luận và hướng phát triển: Tổng kết các kết quả kỹ thuật đã hoàn thành (chế tạo thiết bị điểm danh nhúng tự động, tích hợp mạng CNN trích xuất đặc trưng khuôn mặt, xây dựng web quản trị đồng bộ cơ sở dữ liệu); chỉ rõ các giới hạn còn tồn tại về khoảng cách, góc nhìn và điều kiện ánh sáng; đề xuất các hướng nâng cấp giải thuật và mở rộng quy mô hệ thống trong tương lai.

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

1. Kết quả thực nghiệm chính

  • Chế tạo hoàn chỉnh thiết bị nhúng: Triển khai thành công thiết bị điểm danh tự động tích hợp cụm Dual Camera hoạt động trên nền tảng máy tính AI NVIDIA Jetson Nano.
  • Khảo sát hiệu năng nhận dạng theo cự ly: Hệ thống được thử nghiệm khả năng phát hiện và định danh sinh viên tại các mốc khoảng cách 2m, 4m, 7m và 10m với góc camera nghiêng 30 độ hướng từ bảng xuống ghế ngồi.
  • Tối ưu hóa thời gian xử lý qua GPU: Khai thác 128 nhân CUDA trên GPU của Jetson Nano giúp giảm rõ rệt thời gian xử lý trên mỗi khung hình so với chỉ sử dụng CPU, duy trì tốc độ FPS ổn định cho luồng nhận dạng thời gian thực.
  • Xác lập giá trị ngưỡng phân loại: Thực nghiệm xác định ngưỡng bình phương khoảng cách Euclid ở mức 0.16 (float) giúp cân bằng giữa khả năng nhận diện chính xác sinh viên có trong dữ liệu và loại bỏ các đối tượng lạ.
  • Đồng bộ hệ thống Web quản lý: Xây dựng hoàn chỉnh ứng dụng web Laravel kết nối cơ sở dữ liệu MySQL 8 bảng, hỗ trợ các tác vụ quản trị danh sách sinh viên, thời khóa biểu, trạng thái phòng học và lưu trữ kết quả điểm danh.

2. Đóng góp khoa học và kỹ thuật

  • Mô hình Dual Camera khắc phục góc khuất: Đề xuất bố trí 2 camera (1 góc gần, 1 góc xa) lắp đặt phía trên bảng giúp bao quát không gian lớp học tốt hơn so với mô hình camera đơn truyền thống.
  • Kết hợp pipeline đa mô hình tối ưu: Phối hợp linh hoạt giữa UltraFace trên nền framework ncnn (giúp tăng tốc phát hiện vùng mặt trên phần cứng nhúng), Dlib 68 landmarks (căn chỉnh hình học khuôn mặt) và Dlib ResNet (trích xuất vector đặc trưng 128 chiều chuẩn xác).
  • Cơ chế biểu diễn đặc trưng bằng vector trung vị: Sử dụng vector trung vị tính từ 100 mẫu ảnh khuôn mặt của mỗi cá nhân thay vì một mẫu ảnh đơn lẻ, giúp nâng cao độ ổn định và giảm thiểu sai lệch do góc chụp hoặc biểu cảm.
  • Cơ chế lưu đệm chống mất mát dữ liệu: Dữ liệu điểm danh được biên dịch và lưu trữ trên bộ nhớ trong của thiết bị nhúng trước khi gửi lên máy chủ MySQL, đảm bảo thông tin không bị gián đoạn ngay cả khi mất kết nối Internet tạm thời.

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

1. Hạn chế của đề tài

  • Phụ thuộc điều kiện môi trường: Hệ thống yêu cầu lớp học phải có điều kiện ánh sáng đầy đủ và sinh viên phải ngồi hướng mặt về phía camera để đảm bảo thuật toán căn chỉnh 68 điểm mốc hoạt động chính xác.
  • Giới hạn cự ly và góc quan sát: Độ chính xác nhận dạng giảm dần khi khoảng cách vượt quá 10m do kích thước vùng ảnh khuôn mặt thu được từ camera bị thu nhỏ; góc nghiêng lắp đặt camera bị ràng buộc ở mức khoảng 30 độ.
  • Quy mô lớp học thử nghiệm: Đề tài giới hạn thử nghiệm trong phạm vi lớp học quy mô nhỏ khoảng 30 sinh viên/lớp.

2. Hướng nghiên cứu và phát triển tiếp theo

  • Mở rộng thuật toán để đáp ứng các phòng học giảng đường quy mô lớn với số lượng sinh viên vượt quá 30 người.
  • Nghiên cứu các giải thuật tăng cường chất lượng ảnh hoặc mô hình học sâu kháng nhiễu nhằm nâng cao độ chính xác trong điều kiện ánh sáng phức tạp hoặc ngược sáng.
  • Ứng dụng các thuật toán siêu phân giải (Super-Resolution) để hỗ trợ nhận diện khuôn mặt ở khoảng cách xa trên 10m.
  • Tối ưu hóa sâu hơn nữa các mô hình học sâu bằng công cụ NVIDIA TensorRT nhằm đẩy cao tốc độ xử lý khung hình (FPS) trên phần cứng nhú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 và mục đích học thuật sau:

  • Sinh viên, học viên ngành Kỹ thuật Máy tính, Khoa học Máy tính và Hệ thống Nhúng: Cung cấp tài liệu tham khảo thực tế về quy trình tích hợp các mô hình thị giác máy tính Deep Learning (CNN, ResNet) lên phần cứng biên (Edge AI) giới hạn tài nguyên như NVIDIA Jetson Nano.
  • Người làm đề tài về nhận diện sinh trắc học và IoT: Cung cấp chi tiết kỹ thuật về pipeline nhận diện khuôn mặt (ncnn UltraFace kết hợp Dlib 68 facial landmarks và ResNet embedding), phương pháp tính vector trung vị từ 100 mẫu ảnh để tối ưu độ chính xác.
  • Lập trình viên và kỹ sư hệ thống: Cung cấp mô hình kiến trúc kết nối giữa thiết bị nhúng (C++/Qt trên Linux) với máy chủ web quản trị (Laravel/MySQL), bao gồm thiết kế sơ đồ cơ sở dữ liệu 8 bảng cho bài toán quản lý điểm danh và thiết bị.

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

1. Khóa luận sử dụng các mô hình học sâu nào trong pipeline nhận dạng khuôn mặt?
Hệ thống sử dụng mô hình UltraFace chạy trên nền framework ncnn (thông qua hàm detect()) để phát hiện vị trí khuôn mặt, mô hình shape_predictor_68_face_landmarks.dat của Dlib để xác định 68 điểm mốc hình học căn chỉnh khuôn mặt về góc chính diện, và mô hình dlib_face_recognition_resnet_model_v1.dat để trích xuất vector đặc trưng 128 chiều.

2. Quy trình lấy mẫu dữ liệu khuôn mặt cho sinh viên mới được thực hiện như thế nào?
Hệ thống thu thập luồng video qua OpenCV và cắt 100 ảnh khuôn mặt của sinh viên cần lấy mẫu, sau đó căn chỉnh chính diện bằng 68 điểm mốc Dlib. Toàn bộ 100 ảnh được đưa qua mô hình Dlib ResNet để tạo ra 100 vector đặc trưng 128 chiều. Cuối cùng, hệ thống tính toán giá trị trung vị của 100 vector này để thu được một vector trung vị 128 chiều duy nhất đại diện cho sinh viên và lưu trữ thành file dữ liệu mẫu (.dat).

3. Ngưỡng phân loại nhận diện trong khóa luận được xác định là bao nhiêu và cơ chế định danh hoạt động ra sao?
Ngưỡng bình phương khoảng cách Euclid ($d^2$) giữa vector khuôn mặt hiện tại và vector trung vị trong cơ sở dữ liệu được xác định tối ưu ở mức 0.16 (float). Nếu tất cả các khoảng cách tính được đều lớn hơn 0.16, hệ thống kết luận đối tượng không thuộc danh sách lớp. Nếu tồn tại khoảng cách nhỏ hơn hoặc bằng 0.16, hệ thống chọn sinh viên có giá trị bình phương khoảng cách nhỏ nhất để ghi nhận điểm danh.

4. Thiết bị Jetson Nano xử lý thế nào khi đường truyền mạng Internet bị ngắt quãng?
Thông tin điểm danh sau khi được biên dịch sẽ được lưu trữ tạm thời trực tiếp trên bộ nhớ trong của bo mạch Jetson Nano trước khi gửi về máy chủ cơ sở dữ liệu MySQL. Nhờ đó, dữ liệu thu thập được trong quá trình điểm danh không bị thất thoát ngay cả khi kết nối mạng tạm thời bị gián đoạn.

5. Cấu hình phần cứng cốt lõi của bo mạch NVIDIA Jetson Nano sử dụng trong đề tài gồm những gì?
Bo mạch được trang bị GPU NVIDIA Maxwell 128 nhân CUDA, CPU 4 nhân ARM Cortex-A57 @ 1.43 GHz (64-bit), 4GB RAM LPDDR4 64-bit, năng lực tính toán 472 GFLOPS, hỗ trợ 2 giao tiếp camera MIPI-CSI và chạy hệ điều hành Linux tích hợp bộ công cụ lập trình NVIDIA JetPack SDK.


Kết luận

Khóa luận tốt nghiệp của Huỳnh Thái Dương và Nguyễn Nhật Duy đã thiết kế và thử nghiệm thành công hệ thống điểm danh tự động tích hợp cụm Dual Camera và mạng nơ-ron CNN trên bo mạch nhúng NVIDIA Jetson Nano. Đề tài kết hợp hiệu quả giữa mô hình phát hiện UltraFace (ncnn), căn chỉnh hình học 68 điểm mốc Dlib, trích xuất đặc trưng 128 chiều bằng ResNet và thuật toán so khớp vector trung vị với ngưỡng phân loại 0.16. Hệ thống được hoàn thiện đồng bộ với cơ sở dữ liệu MySQL và ứng dụng web Laravel, đáp ứng mục tiêu tự động hóa quy trình quản lý điểm danh lớp học với quy mô khoảng 30 sinh viên trong điều kiện ánh sáng đầy đủ.