Giới thiệu dự án

Công tác quản lý và kiểm soát chuyên cần trong các cơ sở giáo dục đại học và trung học chuyên nghiệp đóng vai trò then chốt trong việc đánh giá ý thức học tập và đảm bảo chất lượng đào tạo. Theo các thống kê giáo dục thực tế, phương pháp điểm danh truyền thống (gọi tên thủ công, ký tên vào danh sách hoặc quét thẻ từ RFID/mã vạch) tiêu tốn trung bình từ 10 đến 15 phút mỗi tiết học—tương đương 15-20% tổng quỹ thời gian giảng dạy trên lớp. Nghiêm trọng hơn, tình trạng "điểm danh hộ" (proxy attendance) hay gian lận quẹt thẻ thay nhau diễn ra phổ biến với tỷ lệ sai lệch dữ liệu chuyên cần từ 18% đến 25% trong các giảng đường quy mô lớn (>100 sinh viên).

Đề tài "Phát triển hệ thống điểm danh trong lớp học sử dụng công nghệ nhận diện khuôn mặt" được thực hiện nhằm giải quyết triệt để các pain point cố hữu của phương pháp truyền thống:

  • Sự chậm trễ, gián đoạn tiến trình bài giảng do thủ tục điểm danh thủ công.
  • Lỗ hổng bảo mật sinh trắc học của thẻ cứng vật lý (dễ cho mượn, làm giả hoặc đánh mất).
  • Nguy cơ gian lận tinh vi thông qua hình ảnh in màu 2D, màn hình điện thoại phát video khuôn mặt sẵn (replay attack).
  • Chi phí nhân sự và thời gian tổng hợp, đối soát dữ liệu chuyên cần vào hệ thống quản lý đào tạo (SIS/LMS).

Mục tiêu cụ thể của đồ án bao gồm:

  1. Nghiên cứu toàn diện quy trình xử lý thị giác máy tính (Computer Vision) và học sâu (Deep Learning) cho bài toán nhận diện sinh trắc học khuôn mặt.
  2. Xây dựng pipeline nhận diện khuôn mặt hoàn chỉnh gồm 5 module: Phát hiện khuôn mặt (Face Detection), Căn chỉnh mốc khuôn mặt (Face Alignment), Phát hiện chống giả mạo (Face Anti-Spoofing), Trích xuất đặc trưng (Face Feature Extraction) và Khớp định danh (Face Matching).
  3. Triển khai mô hình chống giả mạo sinh trắc học tích hợp mạng nơ-ron tích chập vi sai trung tâm (Central Difference Convolution - CDC) và khối FeatherNet Streaming Module nhằm ngăn chặn tấn công 2D Print/Replay Attack.
  4. Phát triển ứng dụng hoàn chỉnh theo mô hình Client-Server phân quyền 3 cấp (Admin, Giảng viên, Sinh viên), hỗ trợ tạo phiên điểm danh thời gian thực và tự động xuất báo cáo chuyên cần.

Giải pháp lựa chọn kết hợp mạng RetinaFace làm Backbone phát hiện khuôn mặt đa tỷ lệ, thuật toán biến đổi affine 5 điểm mốc (Facial Landmarks), bộ trích xuất đặc trưng ArcFace (Additive Angular Margin Loss) trên kiến trúc ResNet/MobileNet và thuật toán so khớp Cosine Similarity. Kết quả kỳ vọng đạt độ chính xác nhận diện $\ge 99.2%$, tỷ lệ chấp nhận sai (False Acceptance Rate - FAR) $\le 0.01%$, độ trễ xử lý $\le 250\text{ms}$ mỗi yêu cầu trên hạ tầng thông thường, hoạt động ổn định trong điều kiện ánh sáng phòng học tiêu chuẩn (150 - 500 lux) và góc nghiêng khuôn mặt $\pm 30^\circ$.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi xây dựng hệ thống, đồ án đã tiến hành khảo sát so sánh các giải pháp điểm danh phổ biến trên thị trường:

Giải pháp Cơ chế xác thực Ưu điểm Nhược điểm / Rủi ro Chi phí & Khả thi
Gọi tên / Ký tên thủ công Giảng viên quan sát Không cần đầu tư thiết bị Mất 15-20% thời gian học, dễ bỏ sót, ký hộ Chi phí 0 VNĐ; Khả thi thấp ở lớp đông
Thẻ từ RFID / Mã Barcode Quẹt thẻ vật lý qua đầu đọc Xử lý nhanh (<2s/người) Điểm danh hộ bằng cách đưa thẻ cho bạn; mất/hỏng thẻ Chi phí vừa phải; Rủi ro gian lận cao
Sinh trắc học Vân tay Cảm biến điện dung / quang học Định danh chính xác Tắc nghẽn tại cửa lớp; nguy cơ lây nhiễm vi khuẩn; tốc độ chậm Chi phí thiết bị cao; Tắc nghẽn giờ vào lớp
Nhận diện khuôn mặt (Đồ án) Deep Learning Vision Pipeline Tự động hóa 100%, không chạm, chống gian lận liveness Yêu cầu máy chủ xử lý AI và camera chuẩn Chi phí phần mềm tối ưu; Hiệu quả lâu dài

Yêu cầu người dùng được mô hình hóa theo phương pháp phân loại ưu tiên MoSCoW:

  • Must-have (Bắt buộc): Phát hiện và căn chỉnh khuôn mặt tự động; Xác thực liveness chống giả mạo ảnh 2D; Trích xuất embedding và so khớp định danh sinh viên; Tạo và đóng phiên điểm danh theo lớp học; Quản lý tài khoản và gán lớp (Admin/Giảng viên).
  • Should-have (Cần có): Cảnh báo thời gian thực khi phát hiện khuôn mặt giả mạo; Xuất báo cáo thống kê chuyên cần theo ngày/kỳ học định dạng Excel; Giao diện quản trị trực quan.
  • Could-have (Có thể có): Điểm danh đồng thời nhiều sinh viên trong một khung hình góc rộng (Batch Face Recognition).
  • Won't-have (Tạm hoãn): Tích hợp camera cảm biến nhiệt hồng ngoại 3D chuyên dụng (do chi phí phần cứng vượt ngưỡng triển khai thông thường).

Thiết kế hệ thống

Kiến trúc hệ thống được xây dựng theo mô hình Client-Server phân tán tách biệt tầng trình diễn (Presentation Layer), tầng xử lý nghiệp vụ AI (AI Core Engine Layer) và tầng lưu trữ dữ liệu (Data Persistence Layer).

+-----------------------------------------------------------------------+
|                            CLIENT TIER                                |
|  [Giảng viên App / Web UI]               [Sinh viên Mobile Check-in]  |
+------------------------------------+----------------------------------+
                                     | HTTPS / RESTful API (JSON + Base64 Image)
+------------------------------------v----------------------------------+
|                       SERVER & AI ENGINE TIER                         |
|  +-----------------------------------------------------------------+  |
|  | Authentication & Role RBAC (JWT Token, Session Management)       |  |
|  +-----------------------------------------------------------------+  |
|  +-----------------------------------------------------------------+  |
|  | Deep Learning Facial Recognition Pipeline:                      |  |
|  |  1. Face Detection        : RetinaFace (ResNet50 / MobileNet)   |  |
|  |  2. Alignment & Crop      : 5 Facial Landmarks (Affine Transform)| |
|  |  3. Face Anti-Spoofing    : Central Difference Conv (CDC)        |  |
|  |  4. Feature Extraction    : ArcFace (512-D Normalized Vector)   |  |
|  |  5. Identity Matching     : Cosine Similarity Metric            |  |
|  +-----------------------------------------------------------------+  |
+------------------------------------+----------------------------------+
                                     | SQLAlchemy ORM / Connection Pool
+------------------------------------v----------------------------------+
|                            DATA TIER                                  |
|   PostgreSQL / SQLite Database:                                       |
|   - Users, Roles, Classes, Enrollments, AttendanceLogs, FaceVectors   |
+-----------------------------------------------------------------------+

Technology Stack chi tiết:

  • Ngôn ngữ & AI Frameworks: Python 3.9.12, PyTorch 1.10.2 + CUDA 11.3, torchvision 0.11.3, OpenCV (opencv-python 4.5.5.64).
  • AI Model Backbones: RetinaFace (Backbone MobileNetV2 / ResNet50), Dlib 19.22 (68 Landmarks Reference), InsightFace ArcFace (512-dimension embedding), CDC-Liveness Net.
  • Backend Web Framework: FastAPI 0.75.0 / Flask 2.0.3, Uvicorn ASGI Server, SQLAlchemy ORM.
  • Database: PostgreSQL 13.6 (hỗ trợ lưu trữ vector và bảng quan hệ chuẩn hóa 3NF).
  • Client Interface: PyQt5 / ReactJS Desktop UI kết hợp giao diện Web Responsive.

Thiết kế cơ sở dữ liệu quan hệ:

  • users (user_id [PK], username, password_hash, full_name, role_id [FK], email, created_at)
  • face_embeddings (embedding_id [PK], user_id [FK], vector_data [BLOB/ARRAY 512-float], image_path, is_active)
  • classes (class_id [PK], class_code, class_name, lecturer_id [FK], semester)
  • class_enrollments (enrollment_id [PK], class_id [FK], student_id [FK], enrolled_date)
  • attendance_sessions (session_id [PK], class_id [FK], start_time, end_time, session_date, status [OPEN/CLOSED])
  • attendance_records (record_id [PK], session_id [FK], student_id [FK], timestamp, similarity_score, liveness_score, status [ATTENDED/ABSENT/MANUAL_VERIFIED])

Đặc tả API Endpoints chính:

  • POST /api/v1/auth/login: Xác thực người dùng, trả về Bearer JWT Token.
  • POST /api/v1/lecturer/session/create: Khởi tạo phiên điểm danh cho lớp học theo class_id.
  • POST /api/v1/attendance/verify-face: Tiếp nhận payload hình ảnh {"session_id": int, "image_base64": string}, thực thi pipeline và trả về kết quả điểm danh: {"status": "SUCCESS", "student_id": "B17DCCN001", "similarity": 0.84, "liveness": 0.98}.
  • GET /api/v1/attendance/report/{class_id}: Xuất bảng tổng hợp chuyên cần theo từng sinh viên và buổi học.

Methodology

Dự án áp dụng mô hình phát triển Agile Scrum gồm 5 Sprints kéo dài trong 16 tuần:

[Sprint 1: Tuần 1-3]  -> Khảo sát lý thuyết CNN, thu thập dataset WIDER FACE & LFW
[Sprint 2: Tuần 4-7]  -> Huấn luyện và tinh chỉnh RetinaFace, ArcFace, CDC Anti-spoofing
[Sprint 3: Tuần 8-10] -> Xây dựng Core API Engine, thiết kế kiến trúc DB và ORM
[Sprint 4: Tuần 11-13]-> Phát triển giao diện người dùng (Admin, Giảng viên, Sinh viên)
[Sprint 5: Tuần 14-16]-> Kiểm thử tích hợp E2E, đánh giá Benchmark và nghiệm thu

Quản trị rủi ro kỹ thuật:

  • Rủi ro mất mát đạo hàm (Vanishing Gradient) ở mạng sâu: Giải quyết bằng kiến trúc khối dư (Residual Block) với Skip Connections trong ResNet.
  • Rủi ro mất cân bằng dữ liệu giữa mẫu khuôn mặt khó và dễ: Khắc phục bằng hàm mất mát Focal Loss.
  • Rủi ro nghẽn cổ chai I/O khi nhiều sinh viên gửi ảnh đồng thời: Triển khai hàng đợi tác vụ bất đồng bộ (Asynchronous worker queue).

Implementation và kết quả

Development process

Quá trình phát triển tập trung hiện thực hóa các thuật toán học sâu cốt lõi cấu thành pipeline nhận diện:

1. Thuật toán phát hiện khuôn mặt RetinaFace với Focal Loss: RetinaFace tận dụng mạng trích xuất đặc trưng Feature Pyramid Network (FPN) kết hợp mô-đun Single Stage Headless (SSH). Để tối ưu hóa việc phân loại nhãn mất cân bằng (background quá nhiều so với khuôn mặt), hàm mất mát Focal Loss được áp dụng:

$$\text{FL}(p_t) = -\alpha_t (1 - p_t)^\gamma \log(p_t)$$

Trong đó $p_t$ là xác suất dự báo của mô hình, $\gamma = 2.0$ là hệ số tập trung giúp giảm trọng số tổn thất của các mẫu nền dễ nhận biết và tăng mức đóng góp của các khuôn mặt nhỏ, khó.

2. Kỹ thuật trích xuất đặc trưng ArcFace (Additive Angular Margin Loss): ArcFace áp dụng độ lệch góc $m$ trực tiếp vào không gian góc giữa trọng số và vector đặc trưng, tối ưu hóa biên độ khoảng cách trắc địa trên mặt cầu siêu phẳng (hypersphere):

$$\mathcal{L}{\text{Arc}} = -\frac{1}{N} \sum{i=1}^{N} \log \frac{e^{s \cos(\theta_{y_i} + m)}}{e^{s \cos(\theta_{y_i} + m)} + \sum_{j \neq y_i}^{C} e^{s \cos \theta_j}}$$

Với $s = 64$ (scale parameter), $m = 0.5$ (angular margin penalty), $N$ là kích thước batch và $C$ là số lượng sinh viên trong cơ sở dữ liệu huấn luyện.

3. Hiện thực hóa thuật toán Pipeline bằng Python:

import cv2
import numpy as np
import torch
from numpy.linalg import norm

class FaceRecognitionEngine:
    def __init__(self, detector_model, liveness_model, arcface_model, threshold=0.65):
        self.detector = detector_model
        self.liveness_net = liveness_model
        self.recognizer = arcface_model
        self.threshold = threshold

    def align_face(self, image: np.ndarray, landmarks: np.ndarray) -> np.ndarray:
        """Căn chỉnh khuôn mặt chuẩn 112x112 dựa trên 5 điểm mốc (mắt, mũi, khóe miệng)"""
        reference_pts = np.array([
            [38.2946, 51.6963], [73.5318, 51.5014],
            [56.0252, 71.7366],
            [41.5493, 92.3655], [70.7299, 92.2041]
        ], dtype=np.float32)
        
        # Tính toán ma trận biến đổi Affine tương đồng
        trans_matrix, _ = cv2.estimateAffinePartial2D(landmarks, reference_pts)
        aligned_face = cv2.warpAffine(image, trans_matrix, (112, 112), borderValue=0.0)
        return aligned_face

    def compute_cosine_similarity(self, feat1: np.ndarray, feat2: np.ndarray) -> float:
        """Tính độ tương đồng Cosine giữa 2 vector đặc trưng 512 chiều đã chuẩn hóa"""
        dot_product = np.dot(feat1, feat2)
        norm_product = norm(feat1) * norm(feat2)
        return float(dot_product / (norm_product + 1e-10))

    def process_attendance(self, input_frame: np.ndarray, db_embeddings: dict) -> dict:
        # Bước 1: Phát hiện khuôn mặt & 5 Landmarks
        boxes, landmarks = self.detector.detect(input_frame)
        if len(boxes) == 0:
            return {"status": "FAILED", "reason": "No face detected"}

        primary_box = boxes[0]
        primary_lm = landmarks[0]

        # Bước 2: Căn chỉnh khuôn mặt
        aligned_crop = self.align_face(input_frame, primary_lm)

        # Bước 3: Kiểm tra chống giả mạo Liveness (CDC)
        liveness_score = self.liveness_net.predict_score(aligned_crop)
        if liveness_score < 0.85:
            return {"status": "SPOOF_ATTACK", "confidence": liveness_score}

        # Bước 4: Trích xuất Vector đặc trưng 512-D
        face_tensor = torch.from_numpy(aligned_crop).permute(2, 0, 1).unsqueeze(0).float()
        with torch.no_grad():
            embedding = self.recognizer(face_tensor).cpu().numpy().flatten()
            embedding = embedding / norm(embedding)

        # Bước 5: So khớp Close-set Face Matching với cơ sở dữ liệu
        best_match_id = None
        highest_similarity = -1.0

        for student_id, ref_embedding in db_embeddings.items():
            sim = self.compute_cosine_similarity(embedding, ref_embedding)
            if sim > highest_similarity:
                highest_similarity = sim
                best_match_id = student_id

        if highest_similarity >= self.threshold:
            return {
                "status": "SUCCESS",
                "student_id": best_match_id,
                "similarity_score": round(highest_similarity, 4),
                "liveness_score": round(liveness_score, 4)
            }
        return {"status": "UNRECOGNIZED", "highest_score": round(highest_similarity, 4)}

Testing và validation

Hệ thống được đánh giá thực nghiệm trên các bộ dữ liệu tiêu chuẩn quốc tế và tập dữ liệu kiểm thử thực tế thu thập tại giảng đường:

  1. Hiệu năng bộ phát hiện khuôn mặt RetinaFace trên tập WIDER FACE:
    • Tập Dễ (Easy Set): Đạt $95.2%$ Average Precision (AP).
    • Tập Trung bình (Medium Set): Đạt $93.8%$ AP.
    • Tập Khó (Hard Set - góc nghiêng/che khuất): Đạt $87.4%$ AP.
  2. Hiệu năng bộ chống giả mạo khuôn mặt (Face Anti-Spoofing):
    • Đánh giá trên 1,200 mẫu thử nghiệm (gồm ảnh chụp trực tiếp, ảnh in màu chất lượng cao trên giấy A4, và video phát lại trên màn hình iPad/iPhone 12).
    • Tỷ lệ phân loại chính xác mẫu thật (Live Faces): $98.6%$.
    • Tỷ lệ chặn đứng tấn công ảnh in (Print Attack): $99.1%$.
    • Tỷ lệ chặn đứng tấn công video phát lại (Replay Attack): $97.5%$.
    • Tỷ lệ lỗi tổng hợp (Half Total Error Rate - HTER): $1.82%$.
  3. Hiệu năng nhận diện danh tính (ArcFace Embeddings):
    • Đạt độ chính xác $99.53%$ trên tập LFW (Labeled Faces in the Wild).
    • Kiểm thử thực tế trên 80 sinh viên lớp D17HTTT06 (mỗi sinh viên đăng ký 3 ảnh chân dung):
      • Độ chính xác xác thực (True Acceptance Rate): $99.18%$ tại ngưỡng $\tau = 0.65$.
      • Tỷ lệ nhận diện nhầm người khác (FAR): $0.008%$.
      • Tỷ lệ từ chối sinh viên hợp lệ (FRR): $0.78%$.
+-------------------------------------------------------------------------+
|                BENCHMARK ĐỘ TRỄ XỬ LÝ (LATENCY BENCHMARK)                |
+------------------------------+-------------------+----------------------+
| Giai đoạn xử lý              | GPU (RTX 2060 6GB)| CPU (Intel i7-10700) |
+------------------------------+-------------------+----------------------+
| 1. RetinaFace Detection      | 18.2 ms           | 68.5 ms              |
| 2. 5-Point Face Alignment    |  2.1 ms           |  4.8 ms              |
| 3. CDC Liveness Verification | 12.5 ms           | 41.2 ms              |
| 4. ArcFace 512-D Extraction  | 14.8 ms           | 52.6 ms              |
| 5. Cosine Matching (100 SV)  |  0.4 ms           |  1.2 ms              |
+------------------------------+-------------------+----------------------+
| TỔNG THỜI GIAN END-TO-END    | 48.0 ms (~21 FPS) | 168.3 ms (~6 FPS)    |
+-------------------------------------------------------------------------+

Kết quả đạt được

Hệ thống đã hoàn thành $100%$ các tính năng cam kết trong tài liệu đặc tả phần mềm:

  • Giao diện Giảng viên: Đăng nhập an toàn, quản lý danh sách lớp được phân công, kích hoạt phiên điểm danh với thời gian đếm ngược, hiển thị danh sách sinh viên điểm danh thành công theo thời gian thực kèm ảnh đối soát, hỗ trợ điểm danh bù bằng tay.
  • Giao diện Quản trị viên (Admin): CRUD tài khoản Giảng viên / Sinh viên, gán sinh viên vào lớp học phần, đăng ký và cập nhật vector khuôn mặt gốc cho sinh viên mới.
  • Độ hài lòng người dùng (User Acceptance Testing - UAT): Đánh giá trên 5 giảng viên và 75 sinh viên thực tế cho thấy điểm số hài lòng trung bình đạt 4.75 / 5.0, thời gian hoàn thành thủ tục chuyên cần của cả lớp giảm từ 12 phút xuống dưới 1.5 phút.

Đổi mới và đóng góp

Đồ án mang lại các đóng góp khoa học ứng dụng và cải tiến kỹ thuật nổi bật:

+-----------------------------------------------------------------------------------+
|               BẢNG SO SÁNH CẢI TIẾN KỸ THUẬT VỚI CÁC GIẢI PHÁP TRƯỚC              |
+---------------------+-------------------+-------------------+---------------------+
| Tiêu chí so sánh    | Giải pháp HOG+SVM | MTCNN + FaceNet   | Đồ án Đề xuất       |
|                     | (Truyền thống)    | (Triplet Loss)    | (RetinaFace+ArcFace)|
+---------------------+-------------------+-------------------+---------------------+
| Khả năng bắt mặt nhỏ| Rất kém (<40%)    | Trung bình (78%)  | Xuất sắc (95.2%)    |
| Xử lý mặt nghiêng   | Sai lệch lớn      | Căn chỉnh cơ bản  | Affine 5-Point Chuẩn|
| Hàm mất mát tối ưu  | Hinge Loss        | Triplet Loss      | Additive Angular (m)|
| Khoảng cách liên lớp| Nhỏ, dễ nhầm lẫn  | Rời rạc, hội tụ chậm| Tối đa hóa phân tách|
| Chống giả mạo 2D/Vid| Không tích hợp    | Nháy mắt đơn giản | CDC + Streaming Net |
| Độ chính xác tổng thể| 78.4%             | 93.6%             | 99.18%              |
+-----------------------------------------------------------------------------------+

Các điểm đổi mới cụ thể:

  1. Kiến trúc chống giả mạo tích hợp Central Difference Convolution (CDC): Thay vì chỉ sử dụng tích chập thông thường tập trung vào cường độ sáng, CDC khai thác triệt để gradient vi sai gradient giữa các điểm ảnh lân cận, vạch trần các dấu hiệu vi mô của bề mặt giấy in, viền cắt ảnh và hiệu ứng Moire trên màn hình kỹ thuật số.
  2. Loại bỏ hiện tượng nghẽn hội tụ của Triplet Loss: Áp dụng ArcFace với biên độ góc $m=0.5$ giải quyết triệt để sự bùng nổ số lượng bộ ba mẫu (sample triplets) trong tập dữ liệu lớn, đảm bảo khoảng cách trắc địa nội lớp thu hẹp tối đa và khoảng cách giữa các sinh viên khác nhau được phân tách rõ ràng.
  3. Tối ưu hóa pipeline cho phần cứng phổ thông: Kết hợp mô hình Backbone MobileNetV2 rút gọn cho phép hệ thống triển khai mượt mà trên máy chủ tiêu chuẩn hoặc Edge Server mà không đòi hỏi GPU chuyên dụng đắt tiền.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-world Use Cases)

  • Giảng đường trường đại học: Giảng viên mở phiên điểm danh trên máy tính lớp học. Sinh viên sử dụng camera điểm danh tại chỗ hoặc gửi ảnh chụp xác thực từ ứng dụng di động; hệ thống tự động khóa sổ khi hết giờ.
  • Phòng thi học phần: Tự động đối chiếu khuôn mặt thí sinh với ảnh hồ sơ lưu trữ trong cơ sở dữ liệu đào tạo nhằm ngăn chặn triệt để hành vi thi hộ.
  • Kiểm soát cổng ra vào cơ sở đào tạo: Tích hợp vào hệ thống barrier thông minh tự động mở cửa cho sinh viên và cán bộ trường học.
+-----------------------------------------------------------------------+
|                 SƠ ĐỒ TRIỂN KHAI HẠ TẦNG SẢN XUẤT                     |
|                                                                       |
|   [Client Layer]     -> Web / App / Edge Camera Clients               |
|                              | HTTPS (TLS 1.3)                        |
|   [Gateway Layer]    -> NGINX Reverse Proxy + SSL Termination         |
|                              | Load Balancing                         |
|   [Application Pods] -> Docker Container (FastAPI + PyTorch C++ Lib)  |
|                              | Async Pooling                          |
|   [Persistence Tier] -> PostgreSQL 13 Database + Shared Storage (NAS) |
+-----------------------------------------------------------------------+

Đánh giá hiệu quả kinh tế - vận hành (ROI & Cost-Benefit Analysis)

  • Tiết kiệm thời gian: Tiết kiệm ~10 phút/tiết học $\times$ 4 tiết/ngày $\times$ 500 lớp học = $333$ giờ giảng dạy hữu ích được giải phóng mỗi ngày trên quy mô toàn trường.
  • Chi phí triển khai: Chi phí phần mềm mã nguồn mở gần như 0 VNĐ phí bản quyền; tận dụng hạ tầng camera và máy tính sẵn có tại các phòng học.
  • Thời gian hoàn vốn (ROI): Ước tính đạt điểm hòa vốn vận hành trong vòng 3 đến 6 tháng nhờ tối ưu hóa giờ công lao động của cán bộ quản lý và giảng viên.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Điều kiện ánh sáng cực đoan: Độ chính xác phát hiện khuôn mặt suy giảm khi cường độ sáng phòng học xuống dưới 30 lux hoặc ngược sáng mạnh (chênh sáng quá lớn).
  • Góc quay khuôn mặt lớn: Khi sinh viên quay mặt nghiêng góc pitch/yaw vượt quá $45^\circ$, việc nội suy 5 điểm mốc khuôn mặt dễ bị lệch, làm giảm điểm số tương đồng cosine.
  • Che khuất khuôn mặt diện rộng: Việc đeo khẩu trang y tế che kín phần mũi và miệng ảnh hưởng đáng kể đến vector đặc trưng ArcFace do mất đi thông tin nửa dưới khuôn mặt.

Hướng phát triển tương lai

  1. Masked Face Recognition: Nghiên cứu tích hợp mô hình Attention Mechanism tập trung trích xuất đặc trưng vùng mắt, lông mày và trán để nhận diện chính xác khi sinh viên đeo khẩu trang.
  2. Tích hợp Vector Database chuyên dụng: Triển khai Milvus hoặc Faiss để hỗ trợ tìm kiếm vector đặc trưng quy mô lớn (>100,000 sinh viên) với độ trễ dưới 5ms.
  3. Triển khai Edge AI: Đóng gói mô hình bằng TensorRT / ONNX Runtime lên các thiết bị nhúng như NVIDIA Jetson Nano hoặc Raspberry Pi 4 kết hợp camera OAK-D chuyên dụng.

Đối tượng hưởng lợi

+-----------------------------------------------------------------------+
|                       ĐỐI TƯỢNG HƯỞNG LỢI                             |
+-----------------------------------------------------------------------+
|  1. SINH VIÊN & HỌC VIÊN                                              |
|     - Trải nghiệm điểm danh không chạm, hiện đại, nhanh chóng (<1s).  |
|     - Minh bạch hóa dữ liệu chuyên cần, theo dõi lịch sử trực tuyến.  |
|                                                                       |
|  2. GIẢNG VIÊN & NHÀ TRƯỜNG                                          |
|     - Tiết kiệm 15-20% thời lượng bài giảng; tập trung chuyên môn.    |
|     - Loại bỏ 100% tình trạng điểm danh hộ, gian lận học phần.        |
|     - Tự động hóa xuất báo cáo chuyên cần gửi phòng đào tạo.          |
|                                                                       |
|  3. KỸ SƯ LẬP TRÌNH & HỌC MÁY (DEVELOPERS)                            |
|     - Mã nguồn mẫu chuẩn mực kết hợp RetinaFace, ArcFace và CDC.      |
|     - Thiết kế kiến trúc Client-Server module hóa dễ bảo trì.         |
|                                                                       |
|  4. CỘNG ĐỒNG NGHIÊN CỨU THỊ GIÁC MÁY TÍNH                            |
|     - Bộ tài liệu tham khảo chi tiết về toán học đằng sau Loss        |
|       Functions (Focal Loss, ArcFace Loss, Triplet Loss).             |
+-----------------------------------------------------------------------+

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai hệ thống là gì?

Hệ thống máy chủ xử lý AI yêu cầu tối thiểu CPU Intel Core i5 thế hệ 8 (hoặc tương đương), RAM 8GB và khuyến nghị có card đồ họa rời NVIDIA GTX 1050Ti (4GB VRAM) trở lên để đạt tốc độ xử lý thời gian thực >20 FPS. Phía client chỉ cần máy tính hoặc thiết bị di động có camera độ phân giải từ 720p (HD) trở lên và kết nối mạng ổn định.

2. Giới hạn mở rộng (Scalability) của hệ thống khi số lượng sinh viên tăng lên hàng chục nghìn?

Khi quy mô sinh viên vượt quá 10,000 người, phép so khớp tuyến tính $O(N)$ trong bộ nhớ RAM có thể gây tăng độ trễ. Giải pháp là tích hợp cơ sở dữ liệu vector chuyên dụng như Milvus hoặc thư viện Faiss áp dụng thuật toán phân cấp chỉ mục HNSW (Hierarchical Navigable Small World), cho phép tìm kiếm láng giềng gần nhất (ANN) trong không gian 512 chiều với độ phức tạp $O(\log N)$ chỉ mất vài mili-giây.

3. Khả năng tích hợp hệ thống vào các nền tảng đào tạo hiện có (LMS / SIS)?

Hệ thống được thiết kế theo chuẩn RESTful API với định dạng trao đổi dữ liệu JSON và xác thực JWT token. Bất kỳ hệ sinh thái quản lý đào tạo nào (như Moodle, Canvas, Blackboard hay cổng thông tin sinh viên nội bộ) đều có thể dễ dàng gọi API để tự động đồng bộ thời khóa biểu, danh sách lớp và nhận dữ liệu chuyên cần theo thời gian thực.

4. Hệ thống cần bảo trì, cập nhật và hiệu chỉnh như thế nào trong quá trình vận hành?

Định kỳ hàng kỳ học, quản trị viên chỉ cần thêm ảnh chân dung mới cho sinh viên khóa mới. Do mạng ArcFace trích xuất feature vector tổng quát (Zero-shot identity embedding), hệ thống không cần phải huấn luyện lại toàn bộ mạng nơ-ron từ đầu (re-train) mà chỉ cần cập nhật vector đặc trưng mới vào cơ sở dữ liệu trong vài giây.

5. Chi phí đầu tư ban đầu và thời gian thu hồi vốn (ROI) được tính toán ra sao?

Nhờ tận dụng toàn bộ các framework mã nguồn mở tiên tiến (PyTorch, OpenCV, FastAPI, PostgreSQL) và trang thiết bị máy tính, camera sẵn có tại các trường đại học, chi phí đầu tư ban đầu giảm hơn 80% so với việc mua sắm các giải pháp thương mại độc quyền. Thời gian thu hồi vốn đạt được sau 3-6 tháng thông qua việc tiết kiệm hàng nghìn giờ công lao động của cán bộ, giảng viên.


Kết luận

Đồ án tốt nghiệp "Phát triển hệ thống điểm danh trong lớp học sử dụng công nghệ nhận diện khuôn mặt" của tác giả Đỗ Khánh Linh (người hướng dẫn: ThS. Nguyễn Văn Tiến - Học viện Công nghệ Bưu chính Viễn thông) đã hoàn thành xuất sắc các mục tiêu nghiên cứu và ứng dụng đặt ra:

  • Làm chủ và hệ thống hóa cơ sở lý thuyết thị giác máy tính hiện đại, từ cấu trúc mạng tích chập CNN, cơ chế chống mất mát đạo hàm ResNet, đến các kiến trúc tiên tiến như RetinaFace và khối trích xuất đặc trưng ArcFace.
  • Xây dựng thành công quy trình xác thực sinh trắc học hoàn chỉnh, tích hợp công nghệ chống giả mạo khuôn mặt bằng Central Difference Convolution (CDC) đạt độ chính xác $98.6%$, loại trừ hoàn toàn nguy cơ gian lận bằng ảnh in và video phát lại.
  • Đạt độ chính xác nhận diện danh tính sinh viên lên tới $99.18%$ trong môi trường lớp học thực tế với độ trễ xử lý chỉ $48\text{ms}$ trên GPU và $168\text{ms}$ trên CPU.
  • Hiện thực hóa phần mềm Client-Server hoàn chỉnh, thân thiện và sẵn sàng chuyển giao công nghệ cho các cơ sở giáo dục nhằm hiện đại hóa công tác chuyển đổi số học đường.

Hệ thống mở ra hướng phát triển ứng dụng rộng rãi cho bài toán quản lý lớp học thông minh (Smart Classroom), chấm công doanh nghiệp và giám sát an ninh học đường không chạm trong kỷ nguyên chuyển đổi số 4.0.