Bối cảnh và vấn đề nghiên cứu
Bối cảnh thực tiễn và lý do chọn đề tài
Điểm danh sinh viên là công tác quản lý định kỳ tại các cơ sở giáo dục và đào tạo. Phương thức điểm danh thủ công truyền thống thông qua việc gọi tên từng cá nhân gây tiêu tốn thời gian giảng dạy và tiềm ẩn nguy cơ điểm danh hộ hoặc mạo danh.
Nhằm tự động hóa quy trình quản lý sự hiện diện của sinh viên, nhiều giải pháp kỹ thuật đã được triển khai trong thực tế, tuy nhiên mỗi phương pháp đều tồn tại những hạn chế nhất định:
- Phương pháp nhận dạng giọng nói: Độ chính xác chưa đạt mức tin cậy cao do môi trường lớp học thường xuyên xuất hiện tiếng ồn và sự xáo trộn, gây nhiễu tín hiệu âm thanh thu nhận.
- Phương pháp thẻ từ RFID: Đạt độ chính xác kỹ thuật nhưng phát sinh chi phí phát hành, quản lý thẻ vật lý và dễ bị gian lận thông qua việc chuyển giao thẻ cho người khác quẹt hộ.
- Phương pháp nhập mã số sinh viên: Đơn giản và chính xác về mặt định danh dữ liệu, nhưng không thể ngăn chặn hành vi cung cấp mã số cho người khác nhập thay.
- Hệ thống máy chấm công vân tay cố định: Cơ sở dữ liệu mẫu thường bị giới hạn dung lượng lưu trữ cục bộ, chỉ xác nhận đơn lẻ tại một vị trí cố định, gây tắc nghẽn khi số lượng sinh viên tham gia lớp học đông.
Khóa luận lựa chọn hướng tiếp cận sử dụng công nghệ xử lý ảnh và thị giác máy tính kết hợp trí tuệ nhân tạo (AI) triển khai trực tiếp trên phần cứng nhúng Nvidia Jetson Nano, nhằm hiện thực hóa hệ thống điểm danh tự động trong không gian lớp học và cập nhật dữ liệu quản lý thời gian thực lên giao diện web.
Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu tổng quát của đề tài là xây dựng hoàn chỉnh một hệ thống điểm danh tự động ứng dụng công nghệ xử lý ảnh trên máy tính nhúng Nvidia Jetson Nano, đảm bảo độ chính xác nhận diện và thời gian xử lý đáp ứng yêu cầu thực tế.
Các nhiệm vụ nghiên cứu cụ thể được tác giả xác định bao gồm:
- Hiện thực hệ thống điểm danh tự động trong phạm vi một lớp học và đồng bộ dữ liệu điểm danh sinh viên lên hệ thống website quản lý.
- Lập trình cấu hình, cài đặt thuật toán và tối ưu hóa hoạt động của hệ thống trên bo mạch nhúng Nvidia Jetson Nano.
- Đánh giá hiệu suất vận hành của hệ thống thông qua các chỉ số về độ chính xác nhận diện và thời gian hoàn thành điểm danh đối với từng đối tượng sinh viên.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Quy trình điểm danh tự động dựa trên nhận dạng khuôn mặt người bằng các mô hình học sâu (Deep Learning) và học máy (Machine Learning).
- Phạm vi không gian: Không gian lớp học với camera giám sát được bố trí cố định tại vị trí trên bảng nhìn xuống toàn bộ lớp học, hoạt động trong điều kiện ánh sáng đầy đủ.
- Quy mô đối tượng: Giới hạn điểm danh khoảng 30 sinh viên trong một lớp học.
- Yêu cầu kỹ thuật: Tốc độ xử lý nhận dạng video đạt từ 5 fps đến 30 fps đối với một sinh viên; độ chính xác nhận diện tổng thể kỳ vọng đạt từ 70% trở lên.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết và mô hình tính toán
Khóa luận vận dụng hệ thống lý thuyết về mạng nơ-ron sâu (Deep Neural Network - DNN), mạng nơ-ron tích chập (Convolutional Neural Network - CNN), kiến trúc mạng phần dư (Residual Network - ResNet), thuật toán K láng giềng gần nhất (K-Nearest Neighbors - KNN) và kỹ thuật xác định điểm mốc khuôn mặt (Facial Landmark):
- Mạng nơ-ron tích chập (CNN): Sử dụng các lớp tích chập (Convolutional Layer) với các bộ lọc ma trận (Kernels/Filters) để trích xuất đặc trưng biên (Edge detection), làm nét (Sharpen) hoặc làm mờ (Blur); kết hợp kỹ thuật đệm (Padding) và bước trượt (Stride); lớp gộp (Pooling Layer) dạng Max pooling và Average pooling để giảm kích thước dữ liệu tính toán; chuyển đổi qua lớp liên kết đầy đủ (Fully Connected Layer) và hàm kích hoạt Softmax/Sigmoid.
- Kiến trúc mạng ResNet: Giải quyết triệt để vấn đề tiêu biến đạo hàm (Vanishing Gradient) trong quá trình lan truyền ngược (Backpropagation) khi tăng số lượng lớp ẩn bằng cách bổ sung khối phần dư (Residual Block) với đường kết nối tắt (Identity Shortcut Connection), thực hiện ánh xạ hàm $H(x) = F(x) + x$.
- Thuật toán K-Nearest Neighbors (KNN): Thuộc nhóm thuật toán học lười (Lazy Learning), thực hiện phân lớp dữ liệu mới $A$ bằng cách tính toán khoảng cách hình học (như khoảng cách Euclidean, Manhattan, Minkowski) đến toàn bộ các điểm dữ liệu mẫu đã gán nhãn trong không gian $D$, sau đó chọn ra $K$ láng giềng gần nhất và bỏ phiếu đa số để xác định nhãn tương ứng.
- Xác định Facial Landmark 68 điểm: Ứng dụng mô hình của Kazemi và Sullivan (2014) tích hợp trong Dlib để xác định chính xác tọa độ $(x, y)$ của 68 vị trí mốc đặc trưng trên khuôn mặt người (miệng, lông mày trái/phải, mắt trái/phải, mũi, cằm) nhằm phục vụ bước căn chỉnh (face alignment) khuôn mặt về góc nhìn chính diện.
- Mô hình Ultra Face: Mô hình Ultra Light Fast Generic Face Detector của tác giả Linzaer, được tối ưu cho các thiết bị điện toán biên với dung lượng mô hình siêu nhẹ (1,04 ~ 1,1 MB), độ phức tạp tính toán đạt 90 ~ 109 MFlops ở độ phân giải $320 \times 240$ pixel, cung cấp hai phiên bản Slim và RFB.
+-------------------------------------------------------------------------------+
| KIẾN TRÚC MÔ HÌNH HỌC SÂU |
| |
| [Khung hình] ---> [Ultra Face / Dlib] ---> [68 Facial Landmarks] |
| (Phát hiện mặt) (Căn chỉnh xoay chính diện) |
| | |
| [Cơ sở dữ liệu] <--- [KNN Classifier] <--- [Dlib ResNet (128D Vector)] |
| (MySQL / Web) (Phân lớp định danh) (Trích xuất đặc trưng) |
+-------------------------------------------------------------------------------+
Công cụ phần mềm và công nghệ triển khai
- Thư viện thị giác máy tính và học máy: OpenCV (giấy phép BSD, hỗ trợ các module
core, imgproc, video, calib3d, features2d, objdetect, videoio, CUDA); Dlib (C++, cung cấp các API Facial Landmark Detection, Correlation Tracking, Deep Metric Learning); ncnn (framework mạng nơ-ron hiệu năng cao của Tencent tối ưu cho CPU thiết bị nhúng, hỗ trợ lượng tử hóa 8-bit, không phụ thuộc thư viện BLAS/NNPACK ngoài).
- Bộ công cụ phát triển giao diện: Khung ứng dụng Qt (Qt Core, Qt GUI, Qt Widgets, Qt Quick/QML, Qt Network, Qt SQL, Qt Test).
- Nền tảng phát triển ứng dụng web: Ngôn ngữ lập trình PHP kết hợp Laravel Framework triển khai theo mô hình kiến trúc MVC (Model - View - Controller), giao tiếp cơ sở dữ liệu quan hệ MySQL theo mô hình Client-Server.
- Môi trường lập trình hệ thống: Lập trình C/C++ trên nền tảng hệ điều hành Linux nhúng.
Phần cứng máy tính nhúng
- Nvidia Jetson Nano Developer Kit: Trang bị vi xử lý CPU ARM Cortex-A57 4 nhân 64-bit xung nhịp 1.43 GHz; bộ xử lý đồ họa GPU Maxwell 128 lõi kiến trúc CUDA cung cấp hiệu năng tính toán 472 GFLOPs; bộ nhớ trong 4GB 64-bit LPDDR4 với băng thông 25.6 GB/s; hỗ trợ kết nối camera qua 2 cổng MIPI CSI-2, 4 cổng USB 3.0, Gigabit Ethernet, HDMI, DisplayPort; công suất tiêu thụ điện 5W/10W; chạy gói phần mềm hỗ trợ NVIDIA JetPack (tích hợp BSP, CUDA, cuDNN, TensorRT).
Thiết kế và triển khai hệ thống
Kiến trúc tổng thể hệ thống
Hệ thống điểm danh được thiết kế theo mô hình tích hợp gồm 3 thành phần chính:
- Khối phần cứng thu nhận và xử lý nhúng: Bo mạch Nvidia Jetson Nano, camera kỹ thuật số độ phân giải cao thu hình trực tiếp và màn hình hiển thị LCD kích thước 7 inch.
- Khối cơ sở dữ liệu: Hệ quản trị cơ sở dữ liệu MySQL lưu trữ thông tin sinh viên, mã số sinh viên (MSSV), lớp học và các bản ghi thời gian điểm danh.
- Khối giao diện quản trị: Ứng dụng web viết bằng Laravel Framework cho phép giảng viên, cán bộ quản lý đăng nhập, thêm mới sinh viên, quản lý danh sách và theo dõi trạng thái điểm danh trực tuyến.
Quy trình lấy mẫu dữ liệu và trích xuất đặc trưng
Quy trình thu thập mẫu khuôn mặt chuẩn trước khi đưa vào vận hành nhận dạng bao gồm các bước:
- Camera thu nhận luồng video liên tục và OpenCV trích xuất từng khung hình thông qua pipeline GStreamer.
- Dữ liệu ảnh đầu vào được chuyển đổi sang định dạng ma trận của Dlib để tiến hành phát hiện vùng khuôn mặt bằng hàm
get_frontal_face_detector().
- Sử dụng mô hình
shape_predictor_68_face_landmarks.dat để định vị 68 tọa độ mốc giải phẫu khuôn mặt, đồng thời thực hiện phép biến đổi affine xoay khuôn mặt về hướng chính diện chuẩn.
- Hệ thống thực hiện gom nhóm liên tục 100 khung hình khuôn mặt của sinh viên cần đăng ký.
- Đưa 100 ảnh khuôn mặt đã căn chỉnh qua mạng nơ-ron
dlib_face_recognition_resnet_model_v1.dat để trích xuất ra 100 vector đặc trưng, mỗi vector gồm 128 chiều số thực.
- Tính toán giá trị trung vị (median) của 100 vector này để xác định 1 vector đại diện chuẩn duy nhất cho sinh viên đó và lưu trữ vào cơ sở dữ liệu. Tác giả giải thích việc chọn 100 mẫu và lấy giá trị trung vị giúp triệt tiêu hiện tượng lệch dữ liệu do rung lắc hoặc nhiễu góc chụp ngẫu nhiên trong thời gian thực, đồng thời không tăng tốc độ lấy mẫu quá cao để đảm bảo người dùng có đủ thời gian căn chỉnh các góc mặt tự nhiên.
Quy trình nhận dạng và cập nhật điểm danh
- Khi vận hành thực tế, camera lớp học liên tục quét hình ảnh, phát hiện khuôn mặt sinh viên và trích xuất vector 128 chiều bằng mô hình ResNet.
- Thuật toán KNN tiến hành đo khoảng cách Euclidean giữa vector khuôn mặt vừa nhận diện với tập các vector mẫu đã lưu trữ trong cơ sở dữ liệu để phân lớp gán nhãn sinh viên tương ứng.
- Trạng thái điểm danh thành công được cập nhật ngay lập tức vào cơ sở dữ liệu MySQL và phản hồi đồng bộ lê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
- Đánh giá thực trạng quy trình điểm danh tại các đơn vị giáo dục, chỉ ra sự bất cập của phương pháp thủ công và các phương pháp điểm danh bằng vân tay, giọng nói, mã số, thẻ từ RFID.
- Trình bày tổng quan một số ứng dụng nhận dạng khuôn mặt thực tế trên thế giới (như dự án thử nghiệm tại quận Newham - London, hệ thống giám sát hàng trăm camera tại Sân bay quốc tế Tocumen - Panama).
- Xác lập mục tiêu đề tài, nội dung các bước thực hiện, phương pháp luận nghiên cứu kỹ thuật phần cứng/phần mềm, cùng các giới hạn phạm vi (lớp học 30 sinh viên, camera gắn trên bảng, tốc độ 5-30 fps, độ chính xác mong đợi $\ge 70%$).
Chương 2. Cơ sở lý thuyết
- Trình bày bản chất toán học và cấu trúc của mạng nơ-ron sinh học, mạng nơ-ron sâu (DNN), các lớp Input, Hidden và Output.
- Phân tích chi tiết cấu trúc mạng nơ-ron tích chập (CNN), cơ chế hoạt động của các bộ lọc tích chập (Convolution Filters), phép đệm (Padding), bước trượt (Stride), lớp gộp (Pooling) và lớp liên kết đầy đủ (Fully Connected).
- Phân tích hiện tượng tiêu biến đạo hàm (Vanishing Gradient) trong quá trình huấn luyện mạng sâu và giải pháp khắc phục bằng cấu trúc khối phần dư (Residual Block) của mạng ResNet.
- Trình bày thuật toán phân lớp K-Nearest Neighbors (KNN), các công thức khoảng cách toán học và quy trình 5 bước phân loại láng giềng gần nhất.
- Giới thiệu các thư viện, framework và phần cứng: OpenCV, Dlib, ncnn, Qt, Ultra Face (mô hình Slim/RFB 1,04-1,1 MB), bộ xác định 68 điểm Facial Landmark của Kazemi & Sullivan, ngôn ngữ C++, hệ quản trị MySQL, ngôn ngữ PHP và framework Laravel theo mô hình MVC, bo mạch nhúng Nvidia Jetson Nano và bộ công cụ JetPack SDK.
Chương 3. Phân tích và thiết kế hệ thống
- Xây dựng sơ đồ tổng quát toàn bộ hệ thống điểm danh kết nối giữa thiết bị nhúng Jetson Nano, máy chủ CSDL và ứng dụng Web.
- Thiết kế chi tiết sơ đồ khối và quy trình lấy mẫu khuôn mặt: từ bước thu nhận video qua GStreamer, phát hiện mặt, xoay góc chính diện bằng 68 facial landmarks, trích xuất 100 vector 128 chiều qua Dlib ResNet và tính vector trung vị.
- Thiết kế cơ sở dữ liệu MySQL và các giao diện thành phần trên nền web Laravel: trang đăng nhập hệ thống, trang quản lý danh sách sinh viên, trang thêm mới sinh viên, trang theo dõi danh sách sinh viên chưa điểm danh và trang cập nhật sinh viên đã điểm danh thành công.
Chương 4. Hiện thực và đánh giá kết quả
- Hiện thực thiết bị phần cứng điểm danh hoàn chỉnh kết nối board Jetson Nano với camera và màn hình LCD 7 inch.
- Triển khai các chức năng phần mềm: giao diện phát hiện khuôn mặt, luồng trích xuất lấy mẫu 100 khung hình, quá trình huấn luyện (training) dữ liệu sinh viên.
- Thực nghiệm kiểm thử khả năng nhận diện tại các khoảng cách vật lý khác nhau: khoảng cách gần 2m, khoảng cách trung bình 7m và khoảng cách xa 10m.
- Thực nghiệm kiểm thử khả năng nhận dạng sinh viên ở góc nghiêng khuôn mặt khoảng 30 độ.
- Đo lường và đánh giá hiệu năng hệ thống: thống kê thời gian thực thi, tỷ lệ sử dụng tài nguyên CPU, mức độ chiếm dụng tài nguyên GPU Maxwell của Jetson Nano trong trạng thái chờ và trạng thái đang nhận diện.
Kết quả và đóng góp
Bảng so sánh các giải pháp điểm danh theo đánh giá của tác giả
| Phương pháp điểm danh |
Độ chính xác |
Ưu điểm |
Hạn chế chính |
| Điểm danh thủ công (gọi tên) |
Phụ thuộc người điểm danh |
Không tốn chi phí thiết bị ban đầu |
Tốn thời gian giảng dạy, dễ bị điểm danh mạo danh |
| Nhận dạng giọng nói |
Chưa đạt độ tin cậy |
Không cần tiếp xúc vật lý |
Dễ bị nhiễu do tiếng ồn môi trường lớp học đông người |
| Thẻ từ RFID |
Đạt độ chính xác kỹ thuật |
Thời gian quẹt thẻ nhanh |
Tốn chi phí cấp thẻ, dễ cho mượn thẻ quẹt hộ |
| Nhập mã số sinh viên |
Chính xác 100% về mặt định danh |
Quy trình đơn giản, không cần đầu đọc thẻ |
Dễ cung cấp mã số cho người khác nhập hộ |
| Máy chấm công vân tay |
Chính xác theo vân tay |
Xác thực sinh trắc học cá nhân |
CSDL hạn chế, tắc nghẽn do chỉ điểm danh tại một điểm cố định |
| Xử lý ảnh trên Jetson Nano (Đề tài) |
Dự kiến $\ge 70%$ (5-30 fps) |
Tự động hóa hoàn toàn, hạn chế tối đa gian lận |
Phụ thuộc điều kiện ánh sáng và góc đặt camera |
Kết quả kỹ thuật đạt được
- Xây dựng hoàn chỉnh mô hình thiết bị nhúng phục vụ điểm danh sử dụng board mạch Nvidia Jetson Nano tích hợp camera và màn hình LCD 7 inch.
- Triển khai thành công quy trình trích xuất vector đặc trưng 128 chiều dựa trên mạng ResNet và bộ định vị 68 điểm facial landmark, áp dụng thuật toán vector trung vị từ 100 khung hình liên tiếp để làm sạch và chuẩn hóa mẫu dữ liệu.
- Xây dựng hệ thống web quản trị đồng bộ dựa trên PHP/Laravel và MySQL, cho phép quản lý thông tin sinh viên và hiển thị kết quả điểm danh theo thời gian thực.
- Hoàn thành các bài đo thử nghiệm hiệu năng thực tế tại các khoảng cách 2m, 7m, 10m, thử nghiệm góc nghiêng 30 độ và thu thập thông số chiếm dụng tài nguyên CPU, GPU của Jetson Nano.
Đóng góp của đề tài
- Đề xuất và hiện thực hóa một giải pháp điểm danh sinh viên tự động ứng dụng trí tuệ nhân tạo trên phần cứng biên (Edge AI) có chi phí hợp lý, phù hợp với môi trường giáo dục.
- Kết hợp tối ưu chuỗi công cụ thị giác máy tính mã nguồn mở (OpenCV, Dlib, ncnn) trên môi trường Linux nhúng, chứng minh tính khả thi của việc xử lý mô hình Deep Learning thời gian thực trên bo mạch Jetson Nano mà không cần phụ thuộc vào máy chủ tính toán đám mây đắt tiền.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
- Hệ thống bị giới hạn trong không gian một lớp học với quy mô khoảng 30 sinh viên.
- Hiệu suất nhận dạng phụ thuộc chặt chẽ vào điều kiện môi trường: yêu cầu ánh sáng đầy đủ và vị trí camera phải đặt cố định từ trên bảng nhìn xuống lớp học.
- Độ chính xác phát hiện và nhận diện có xu hướng suy giảm khi khoảng cách từ đối tượng sinh viên đến camera tăng dần (từ 2m lên 7m và 10m) hoặc khi khuôn mặt có góc quay nghiêng lớn hơn 30 độ.
Hướng nghiên cứu tiếp
- Mở rộng quy mô cơ sở dữ liệu và nâng cao năng lực xử lý đồng thời để đáp ứng các giảng đường lớn có số lượng sinh viên vượt quá 30 người.
- Nghiên cứu cải tiến các thuật toán phát hiện và trích xuất đặc trưng nhằm duy trì độ chính xác cao trong các điều kiện môi trường phức tạp (thiếu sáng, ánh sáng ngược, sinh viên cử động nhanh).
- Tối ưu hóa mô hình AI sâu hơn nữa bằng các công cụ tăng tốc như TensorRT trên Jetson Nano nhằm cải thiện tốc độ khung hình (fps) và giảm mức tiêu thụ tài nguyên phần cứng.
Giá trị tham khảo
Đối tượng thụ hưởng tài liệu
- Sinh viên và học viên: Các ngành Kỹ thuật Máy tính, Công nghệ Thông tin, Hệ thống Nhúng, Trí tuệ Nhân tạo và Khoa học Dữ liệu đang thực hiện đồ án, khóa luận tốt nghiệp liên quan đến thị giác máy tính và điện toán biên.
- Kỹ sư phát triển hệ thống nhúng và AI: Những người cần tài liệu tham khảo thực tế về việc triển khai các mô hình Deep Learning (CNN, ResNet, Dlib, OpenCV, ncnn) trên phần cứng Nvidia Jetson Nano.
- Lập trình viên full-stack: Cần mô hình mẫu tích hợp giữa phần mềm xử lý nhúng C++ thời gian thực với hệ thống ứng dụng web quản lý cơ sở dữ liệu xây dựng bằng Laravel/MySQL.
Các nội dung có giá trị tham khảo nổi bật
- Chi tiết phương pháp lập trình trích xuất 68 điểm facial landmark và quy trình gom 100 vector đặc trưng 128 chiều để tính vector trung vị chuẩn hóa dữ liệu nhận dạng.
- Kiến trúc phần cứng và phương thức cấu hình kết nối các thiết bị ngoại vi trên bộ kit phát triển Nvidia Jetson Nano.
- Mô hình kiến trúc phần mềm tích hợp đa tầng giữa C/C++, Qt, cơ sở dữ liệu MySQL và khung web Laravel theo mô hình MVC.
Câu hỏi thường gặp
1. Tại sao hệ thống lại lấy mẫu 100 khung hình rồi tính vector trung vị thay vì chỉ lấy một vài ảnh mẫu đơn lẻ?
Theo giải thích của nhóm tác giả trong văn bản, việc lấy mẫu được thực hiện trực tiếp thông qua camera theo thời gian thực. Giá trị vector dùng để nhận dạng sau này là giá trị đại diện chung, nên nếu số lượng mẫu đầu vào quá ít (như 1 hoặc 10 khung hình) sẽ dẫn đến việc vector đại diện bị lệch góc, không phản ánh đúng đặc trưng khuôn mặt chuẩn. Việc tính giá trị trung vị (median) của 100 vector 128 chiều giúp triệt tiêu các mẫu nhiễu và tìm ra vector khuôn mặt ổn định nhất. Đồng thời, tác giả khuyến nghị không nên đẩy tốc độ lấy 100 mẫu lên quá nhanh để người dùng có thời gian căn chỉnh các góc mặt xuất hiện tự nhiên trong quá trình quét.
2. Bo mạch phần cứng Nvidia Jetson Nano sử dụng trong đề tài có thông số kỹ thuật ra sao?
Nvidia Jetson Nano Developer Kit được trang bị CPU 4 nhân ARM Cortex-A57 64-bit xung nhịp 1.43 GHz, GPU Maxwell 128 nhân CUDA mang lại năng lực tính toán 472 GFLOPs, bộ nhớ RAM 4GB 64-bit LPDDR4 với băng thông 25.6 GB/s. Thiết bị tiêu thụ công suất 5W hoặc 10W, hỗ trợ đầy đủ các cổng kết nối ngoại vi (4x USB 3.0, HDMI, DisplayPort, Gigabit Ethernet, 2 lane MIPI CSI-2) và chạy trên nền tảng gói phần mềm NVIDIA JetPack tích hợp sẵn CUDA, cuDNN và TensorRT.
3. Thư viện Dlib và mô hình mạng ResNet đóng vai trò gì trong quy trình nhận diện của hệ thống?
Trong hệ thống, Dlib cung cấp thuật toán xác định 68 điểm mốc đặc trưng trên khuôn mặt (shape_predictor_68_face_landmarks.dat) dựa trên nghiên cứu của Kazemi và Sullivan (2014) để định vị và xoay khuôn mặt về góc nhìn chính diện. Tiếp đó, mô hình dlib_face_recognition_resnet_model_v1.dat (được xây dựng dựa trên kiến trúc mạng nơ-ron phần dư ResNet) đảm nhiệm vai trò trích xuất toàn bộ đặc trưng ảnh mặt thành một vector 128 chiều số thực để đưa vào thuật toán KNN phân loại.
4. Hệ thống ứng dụng web quản lý điểm danh được xây dựng bằng công nghệ và kiến trúc nào?
Ứng dụng web được phát triển bằng ngôn ngữ lập trình PHP thông qua Laravel Framework, tuân thủ chặt chẽ mô hình kiến trúc MVC (Model - View - Controller). Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL theo mô hình Client-Server để lưu trữ tập trung dữ liệu sinh viên và lịch sử điểm danh, cung cấp các chức năng xác thực người dùng, quản lý thêm/sửa sinh viên và theo dõi danh sách điểm danh theo thời gian thực.
5. Hệ thống đã tiến hành các kịch bản thử nghiệm đánh giá thực tế nào trên phần cứng?
Hệ thống đã thực hiện các bài thử nghiệm thực tế gồm: kiểm tra khả năng phát hiện và nhận diện sinh viên ở 3 mốc khoảng cách vật lý khác nhau (2m, 7m và 10m); kiểm tra nhận diện đối với trường hợp khuôn mặt nghiêng một góc khoảng 30 độ; và đo lường tỷ lệ chiếm dụng tài nguyên phần cứng (CPU, GPU Maxwell) cũng như thời gian thực thi của Jetson Nano trong các trạng thái hoạt động.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Nhân và Lê Các Duy đã hiện thực hóa thành công hệ thống điểm danh tự động dựa trên xử lý ảnh và mạng nơ-ron sâu tích hợp trên máy tính nhúng Nvidia Jetson Nano. Đề tài đã giải quyết trọn vẹn chuỗi kỹ thuật từ thu nhận luồng video qua GStreamer/OpenCV, căn chỉnh 68 mốc khuôn mặt qua Dlib, trích xuất vector đặc trưng 128 chiều bằng mạng ResNet, phân lớp qua KNN đến cập nhật dữ liệu trực tuyến lên web Laravel và cơ sở dữ liệu MySQL. Các kết quả thử nghiệm thực tế về khoảng cách, góc nghiêng và giám sát tài nguyên phần cứng đã khẳng định tính khả thi của giải pháp ứng dụng trí tuệ nhân tạo trên thiết bị nhúng biên trong công tác quản lý giáo dục.