Giới thiệu dự án

Trong bối cảnh chuyển đổi số và quản trị doanh nghiệp hiện đại, việc kiểm soát thời gian làm việc và bảo mật điểm danh của nhân viên đóng vai trò cốt lõi trong việc tối ưu hóa chi phí vận hành và bảo vệ ngân sách nhân sự. Theo các báo cáo từ Hiệp hội Quản lý Lực lượng Lao động (Workforce Management), tình trạng gian lận điểm danh hộ ("buddy punching" hoặc proxy attendance) gây thất thoát trung bình từ 2% đến 5% tổng quỹ lương hàng năm của các doanh nghiệp sử dụng hệ thống thẻ từ hoặc mã định danh đơn tầng.

Vấn đề cốt lõi nảy sinh khi các hệ thống truyền thống chỉ dựa vào một phương thức xác thực vật lý duy nhất (Single-Layer Authentication) như thẻ RFID hoặc mã số cá nhân (PIN). Nhân viên có thể dễ dàng chuyển giao thẻ từ hoặc chia sẻ mã PIN cho đồng nghiệp để điểm danh hộ khi đến muộn hoặc vắng mặt. Ngược lại, các hệ thống nhận diện sinh trắc học thuần túy (như Face Recognition độc lập) thường gặp thách thức lớn khi triển khai trên các thiết bị tính toán biên (Edge Computing) do đòi hỏi năng lực phần cứng cao, độ trễ nhận diện lớn khi quy mô người dùng tăng lên, và nguy cơ nghẽn mạng nếu phụ thuộc hoàn toàn vào máy chủ đám mây.

Nhằm giải quyết triệt để các tồn tại trên, đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính (Trường Đại học Sư phạm Kỹ thuật TP.HCM) thực hiện đề tài: "Hệ Thống Bảo Mật Hai Lớp Sử Dụng Nhận Diện Khuôn Mặt và Điểm Danh Tích Hợp" (Two-Layer Security System Using Face Recognition and Time Attendance Integration) dưới sự hướng dẫn của TS. Phạm Văn Khoa.

+-------------------------------------------------------------------------+
|                  KIẾN TRÚC BẢO MẬT ĐIỂM DANH HAI LỚP                   |
+-------------------------------------------------------------------------+
|  [ Lớp 1: Xác thực sở hữu ]    -->    [ Lớp 2: Xác thực sinh trắc ]    |
|   - Thẻ RFID (RC522 - SPI)             - Face Recognition (ArcFace)     |
|   - Hoặc Mã PIN cá nhân                - MobileNetV2 Backbone (TFLite)  |
+-------------------------------------------------------------------------+
                                   |
                                   v
+-------------------------------------------------------------------------+
|  [ Điều khiển chấp hành & Đồng bộ ]                                      |
|   - Khóa điện từ LY-03 (12V Relay) + Còi/LED chỉ thị                    |
|   - Hệ thống Offline-First (RTC DS1307 + Local CSV Buffer)              |
|   - Đồng bộ MERN Web App (MongoDB, Express, React, Node.js REST API)    |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Triệt tiêu hoàn toàn gian lận điểm danh (Anti-Proxy Attendance): Kết hợp chặt chẽ giữa lớp nhận thực định danh cá nhân (Thẻ RFID/Mã PIN) và lớp trích xuất sinh trắc học khuôn mặt thông qua Deep Learning.
  2. Tối ưu hóa khả năng thực thi trên thiết bị nhúng: Triển khai mô hình trích xuất đặc trưng khuôn mặt nén nhẹ trên nền tảng Raspberry Pi 4 Model B, bảo đảm hoạt động độc lập ngay cả khi mất kết nối mạng.
  3. Đảm bảo tính toàn vẹn và minh bạch dữ liệu: Xây dựng cơ chế lưu trữ đệm tại biên (Edge Caching) kết hợp đồng bộ theo chu kỳ về cơ sở dữ liệu máy chủ.
  4. Phát triển nền tảng quản trị tập trung: Xây dựng ứng dụng Web tương tác đa thiết bị (Responsive Web App) theo kiến trúc MERN Stack để quản lý người dùng, phân quyền và trích xuất báo cáo chấm công trực quan.

Phạm vi và giới hạn hệ thống

  • Phạm vi triển khai: Hệ thống kiểm soát ra vào và chấm công tại các điểm cố định (cửa ra vào văn phòng, phòng lab, nhà máy).
  • Giới hạn kỹ thuật: Thiết bị Edge xử lý mô hình TFLite kích thước ~50MB; độ chính xác trích xuất phụ thuộc vào cường độ ánh sáng môi trường; góc chụp khuôn mặt tối ưu trong khoảng sai lệch $\pm 15^\circ$.

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

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

Tiêu chí đánh giá Hệ thống Thẻ từ RFID đơn lớp Hệ thống Sinh trắc vân tay Giải pháp Đề xuất (RFID/PIN + ArcFace)
Khả năng chống gian lận Rất thấp (Dễ quẹt thẻ hộ) Trung bình (Dễ bị làm giả vân tay silicon) Rất cao (Bảo mật 2 lớp: Thẻ/PIN + Mặt)
Tốc độ xác thực < 0.5 giây 1.0 - 2.0 giây 0.8 - 1.5 giây (Xử lý 1-to-1 matching)
Vấn đề vệ sinh / Tiếp xúc Không tiếp xúc Tiếp xúc trực tiếp bề mặt quét Không tiếp xúc (Quẹt thẻ + Quét mặt)
Hoạt động khi mất mạng Phụ thuộc đầu đọc Lưu trữ bộ nhớ cục bộ hạn chế Tự chủ hoàn toàn (Đồng bộ qua RTC & CSV)
Chi phí triển khai Rất rẻ Trung bình Tối ưu (Sử dụng phần cứng mở, Edge AI)

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc có):
    • Xác thực Lớp 1 (Đọc thẻ RC522 giao tiếp SPI hoặc nhập PIN trên màn hình cảm ứng).
    • Xác thực Lớp 2 (Chụp ảnh khuôn mặt từ USB Camera 1080P, trích xuất vector đặc trưng bằng ArcFace-MobileNetV2, tính Cosine Similarity so khớp 1:1 với dữ liệu tương ứng của User ID).
    • Điều khiển đóng/cắt Relay kích hoạt khóa chốt điện tử LY-03 (12VDC).
    • Lưu trữ và vận hành Offline thông qua RTC DS1307 khi không có Internet.
  • Should Have (Nên có):
    • Giao diện người dùng đồ họa (GUI) trên màn hình cảm ứng IPS 7-inch.
    • Tự động đồng bộ dữ liệu hai chiều giữa thiết bị Edge và Server qua RESTful API.
  • Could Have (Có thể có):
    • Chế độ tự động đăng ký và cập nhật vector khuôn mặt mới trực tiếp tại máy trạm.
  • Won't Have (Chưa thực hiện trong giai đoạn này):
    • Phân tích cảm xúc và phát hiện tấn công giả mạo 3D (3D Liveness Detection chống mặt nạ chuyên dụng).

Thiết kế hệ thống

Hệ thống được module hóa thành 9 khối chức năng chính:

+--------------------------------------------------------------------+
|                         SƠ ĐỒ KHỐI HỆ THỐNG                        |
+--------------------------------------------------------------------+
|  [REAL-TIME BLOCK]             [CENTRAL PROCESSING]                |
|  - DS1307 (I2C)        <-----> - Raspberry Pi 4 Model B (4GB)      |
|                                - CPU: BCM2711 4-core Cortex-A72    |
|  [RFID BLOCK]                  - OS: Raspberry Pi OS (Linux)       |
|  - RC522 (SPI)         ------>                                     |
|                                       |        |         |         |
|  [CAMERA BLOCK]                       |        |         |         |
|  - 1080P Webcam (USB)  ------>        |        |         |         |
|                                       v        v         v         |
|  [TOUCH SCREEN BLOCK]          [LOCK CTRL] [NOTIFY]  [SERVER/WEB]  |
|  - 7-inch IPS (HDMI/USB)<----> - 5V Relay  - LED/Buz - MERN Stack  |
|                                - LY-03 Lock          - MongoDB DB  |
|                                                                    |
|  [POWER BLOCK]                                                     |
|  - 5VDC/3A (Pi & Logic) + 12VDC/2A (Khóa điện từ)                  |
+--------------------------------------------------------------------+

Sơ đồ kết nối phần cứng chi tiết (Pinout Mappings)

  • Khối RTC DS1307 giao tiếp I2C:
Chân DS1307 Chân GPIO Raspberry Pi 4 Mô tả chức năng
SCL Pin 5 (GPIO 3 / SCL1) Serial Clock Bus
SDA Pin 3 (GPIO 2 / SDA1) Serial Data Bus
VCC Pin 1 (3.3V / 5V) Nguồn cấp vi mạch
GND Pin 9 (Ground) Nối đất hệ thống
  • Khối RFID RC522 giao tiếp SPI:
Chân RC522 Chân GPIO Raspberry Pi 4 Mô tả chức năng
SDA (SS) Pin 24 (GPIO 8 / CE0) Slave Select
SCK Pin 23 (GPIO 11 / SCLK) Serial Clock
MOSI Pin 19 (GPIO 10 / MOSI) Master Out Slave In
MISO Pin 21 (GPIO 9 / MISO) Master In Slave Out
RST Pin 15 (GPIO 22) Reset Pin
VCC / GND Pin 17 (3.3V) / Pin 25 (GND) Nguồn hoạt động
  • Khối Mạch công suất & Chỉ thị:
    • Relay kích hoạt bằng Transistor C1815 qua chân GPIO điều khiển, bảo vệ chống xung ngược bằng Diode 1N4007 mắc song song cuộn dây relay.
    • Đèn LED hiển thị trạng thái (Xanh: Thành công / Đỏ: Từ chối) nối qua điện trở hạn dòng $100\Omega$, còi báo 5V Buzzer tiêu thụ dòng xấp xỉ $21.7\text{ mA}$.

Công nghệ và Kiến trúc Phần mềm (Technology Stack)

  • Thiết bị biên (Edge Device):
    • Phần cứng: Raspberry Pi 4 Model B (4GB LPDDR4-3200 SDRAM, Broadcom BCM2711 Quad-core Cortex-A72 1.5GHz).
    • Framework AI: TensorFlow Lite 2.x runtime tối ưu hóa tập lệnh ARM NEON.
    • Ngôn ngữ lập trình: Python 3.9 (OpenCV, NumPy, Requests, RPi.GPIO).
  • Hệ thống Server & Web Application:
    • Kiến trúc: MERN Stack (Model-View-Controller / REST API).
    • Database: MongoDB v6.0 (NoSQL, lưu trữ dữ liệu dạng BSON tài liệu linh hoạt).
    • Backend: Node.js v18.x LTS kết hợp framework Express.js v4.x.
    • Frontend: React.js v18.x xây dựng giao diện Single-Page Application (SPA) thích ứng.

Phương pháp nghiên cứu và Kiến trúc AI

Mô hình Trích xuất Đặc trưng ArcFace kết hợp Backbone MobileNetV2

Hệ thống sử dụng mạng MobileNetV2 làm bộ trích xuất đặc trưng cơ sở (backbone). MobileNetV2 áp dụng cấu trúc khối Inverted Residuals và Linear Bottlenecks giúp giảm thiểu tối đa khối lượng tính toán phép nhân-cộng (MACs) nhưng vẫn duy trì không gian biểu diễn đặc trưng phong phú.

Phép tích chập tách biệt chiều sâu (Depthwise Separable Convolution) chia quá trình tích chập thông thường thành hai bước:

  1. Depthwise Convolution: Áp dụng bộ lọc không gian $3 \times 3$ độc lập trên từng kênh đầu vào.
  2. Pointwise Convolution: Áp dụng bộ lọc $1 \times 1$ để tổng hợp tuyến tính thông tin giữa các kênh.
+--------------------------------------------------------------------+
|               KHỐI INVERTED RESIDUAL TRONG MOBILENETV2             |
+--------------------------------------------------------------------+
|  Input Feature Map: h x w x k                                      |
|       |                                                            |
|       v                                                            |
|  [Pointwise Conv 1x1, DReLU6]   --> Mở rộng kênh: h x w x (tk)     |
|       |                                                            |
|       v                                                            |
|  [Depthwise Conv 3x3, DReLU6]   --> Lọc không gian: h x w x (tk)   |
|       |                                                            |
|       v                                                            |
|  [Pointwise Conv 1x1, Linear]   --> Nén kênh: h x w x k'           |
|       |                                                            |
|       +----------------[ + ] <--- Residual Connection (nếu k == k')|
|                          |                                         |
|                          v                                         |
|  Output Feature Map: h x w x k'                                    |
+--------------------------------------------------------------------+

Hàm mất mát ArcFace (Additive Angular Margin Loss)

Để nâng cao tính phân biệt giữa các vector đặc trưng khuôn mặt trong không gian Euclid, hàm mất mát ArcFace áp dụng một biên độ góc cộng thêm $m$ trực tiếp vào góc $\theta$ giữa vector đặc trưng $x_i$ và trọng số lớp chuẩn hóa $W_{y_i}$:

$$\mathcal{L}{\text{ArcFace}} = -\log \frac{e^{s \cdot \cos(\theta{y_i} + m)}}{e^{s \cdot \cos(\theta_{y_i} + m)} + \displaystyle\sum_{j=1, j \neq y_i}^{N} e^{s \cdot \cos \theta_j}}$$

Trong đó:

  • $x_i \in \mathbb{R}^d$: Vector nhúng đặc trưng của ảnh khuôn mặt thứ $i$, đã qua chuẩn hóa $|x_i|_2 = 1$.
  • $W_j \in \mathbb{R}^d$: Vector trọng số của lớp (danh tính) thứ $j$, chuẩn hóa $|W_j|_2 = 1$.
  • $\theta_{y_i} = \arccos(W_{y_i}^T x_i)$: Góc giữa vector biểu diễn và trọng số của danh tính thực tế.
  • $m$: Tham số cộng biên độ góc (Angular Margin Penalty), ép buộc khoảng cách góc giữa các lớp khác nhau mở rộng ra và các mẫu cùng lớp gom cụm lại.
  • $s$: Hệ số co giãn bán kính hình cầu (Feature scale parameter).

Thuật toán So khớp Cosine Similarity

Khi người dùng quét mặt tại trạm, camera thu nhận ảnh, đưa qua mô hình TFLite để rút trích vector nhúng $\mathbf{A} \in \mathbb{R}^{512}$. Vector này được so sánh trực tiếp với vector mẫu $\mathbf{B}$ của User tương ứng lấy từ cơ sở dữ liệu thông qua công thức Cosine Similarity:

$$\text{Cosine Similarity}(\mathbf{A}, \mathbf{B}) = \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}|2 |\mathbf{B}|2} = \frac{\displaystyle\sum{i=1}^{n} A_i B_i}{\sqrt{\displaystyle\sum{i=1}^{n} A_i^2} \sqrt{\displaystyle\sum_{i=1}^{n} B_i^2}}$$

Nếu $\text{Cosine Similarity}(\mathbf{A}, \mathbf{B}) \ge \tau$ (với ngưỡng thực nghiệm $\tau = 0.65$), hệ thống xác nhận danh tính trùng khớp, kích hoạt mở khóa và ghi nhận thời gian chấm công.


Implementation và kết quả

Quy trình phát triển phần mềm

Toàn bộ hệ thống phần mềm tại trạm biên Raspberry Pi được phân tách thành 3 tiến trình nền độc lập: GET DATA, SEND DATA, và luồng chính ATTENDANCE.

# Cấu trúc xử lý logic của luồng đồng bộ dữ liệu GET DATA (Python)
import time
import requests
import os
import subprocess

API_URL = "http://192.168.1.100:5000/api/hardware/users"
TOKEN = "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

def check_internet(host="google.com"):
    try:
        subprocess.check_output(["ping", "-c", "1", "-W", "2", host])
        return True
    except subprocess.CalledProcessError:
        return False

def sync_get_data():
    while True:
        if check_internet():
            try:
                headers = {"Authorization": TOKEN}
                response = requests.get(API_URL, headers=headers, timeout=10)
                if response.status_code == 200:
                    payload = response.json() # Gồm danh sách user_id và rfid_data
                    # Cập nhật tệp id.csv và thư mục rfid/
                    update_local_database(payload)
            except requests.RequestException as e:
                pass
        # Chu kỳ cập nhật dữ liệu định kỳ mỗi 5 phút
        time.sleep(300)
# Cấu trúc xử lý kiểm tra xác thực 2 lớp trong chương trình ATTENDANCE
def verify_two_layer_access(rfid_or_pin_input, captured_frame):
    # Lớp 1: Xác minh mã định danh sở hữu
    user_id = lookup_user_id(rfid_or_pin_input)
    if not user_id:
        trigger_notification(success=False)
        return False, "Invalid Credential"
    
    # Lớp 2: Trích xuất vector khuôn mặt và so khớp
    live_vector = extract_face_embeddings_tflite(captured_frame)
    stored_vector = load_stored_vector(user_id)
    
    similarity = calculate_cosine_similarity(live_vector, stored_vector)
    
    # Kiểm tra ngưỡng so khớp
    if similarity >= 0.65:
        trigger_relay_unlock(duration_seconds=5)
        trigger_notification(success=True)
        log_attendance_record(user_id, timestamp=get_rtc_time())
        return True, "Access Granted"
    else:
        trigger_notification(success=False)
        return False, "Biometric Mismatch"

+--------------------------------------------------------------------+
|                   LUỒNG XỬ LÝ CHƯƠNG TRÌNH SEND DATA               |
+--------------------------------------------------------------------+
|  [Khởi chạy theo lịch trình]                                       |
|       |                                                            |
|       v                                                            |
|  [Kiểm tra khung giờ cho phép: start_time <= current <= end_time]  |
|       |                                                            |
|       +--> Không thỏa mãn: Kết thúc chương trình                   |
|       |                                                            |
|       v Thỏa mãn                                                   |
|  [Quét các tệp rfid/*.csv để thu thập dữ liệu clock_in/clock_out]  |
|       |                                                            |
|       v                                                            |
|  [Kiểm tra kết nối mạng (Ping) và gửi POST Request đến API]        |
|       |                                                            |
|       +--> Thành công (HTTP 200): Xóa bộ đệm rfid/*.csv            |
|       |                                                            |
|       +--> Thất bại (HTTP != 200 hoặc Timeout): Chờ 30s & thử lại  |
+--------------------------------------------------------------------+

Đánh giá kiểm thử và Kết quả thực nghiệm

1. Đánh giá mô hình Deep Learning trên phần cứng

Mô hình ArcFace-MobileNetV2 sau khi tối ưu hóa và chuyển đổi sang định dạng TensorFlow Lite (TFLite) đạt được các chỉ số vận hành sau:

  • Dung lượng tệp mô hình: $\approx 50\text{ MB}$ (giảm 72% dung lượng so với mô hình gốc 32-bit Float trên máy tính phát triển).
  • Thời gian trích xuất vector đặc trưng tại biên: $450\text{ ms} - 620\text{ ms}$ trên Raspberry Pi 4 Model B (CPU BCM2711 không cần gắn thêm bộ tăng tốc NPU ngoài).
  • Chỉ số F1-Score: Đạt $0.40$ trên tập dữ liệu kiểm thử thực tế đa điều kiện tại trạm nhúng.

2. Kết quả so khớp chéo vector đặc trưng (Cosine Similarity Verification)

Thực nghiệm so khớp chéo giữa vector quét trực tiếp của Person 1 với cơ sở dữ liệu khuôn mặt của 4 người dùng khác nhau:

Đối tượng so sánh Giá trị Cosine Similarity Trạng thái xác thực ($\tau = 0.65$)
Person 1 Scan vs Person 1 DB 0.842 Chấp thuận (Match)
Person 1 Scan vs Person 2 DB 0.187 Từ chối (Mismatch)
Person 1 Scan vs Person 3 DB 0.221 Từ chối (Mismatch)
Person 1 Scan vs Person 4 DB 0.154 Từ chối (Mismatch)

3. Phân tích tiêu thụ năng lượng hệ thống phần cứng

Thiết bị / Khối chức năng Điện áp định mức Dòng điện tiêu thụ điển hình
Raspberry Pi 4 Model B (4GB) $5.0\text{ VDC}$ $1300\text{ mA}$
Màn hình LCD 7-inch IPS Capacitive $5.0\text{ VDC}$ $500\text{ mA}$
Xiaomi Xiaovv 1080P USB Camera $5.0\text{ VDC}$ $300\text{ mA}$
Quạt tản nhiệt làm mát CPU $5.0\text{ VDC}$ $200\text{ mA}$
Khối Mạch Relay & Đèn/Còi chỉ thị $5.0\text{ VDC}$ $96.0\text{ mA}$
Module RFID RC522 $3.3\text{ VDC}$ $13.0\text{ mA}$
Khóa chốt điện tử LY-03 (Tải ngoài) $12.0\text{ VDC}$ $1000\text{ mA}$ (Adapter riêng)
Tổng dòng tiêu thụ nhánh logic 5V 5.0 VDC 2409 mA / Ngưỡng tối đa 3000 mA

Toàn bộ hệ thống hoạt động ổn định liên tục dưới nguồn cấp độc lập $5\text{V}/3\text{A}$ (cho mạch điều khiển/ngoại vi) và $12\text{V}/2\text{A}$ (cho khóa chốt điện từ), không xảy ra hiện tượng sụt áp làm sập vi xử lý khi đóng cắt tải cảm.


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

  1. Kiến trúc xác thực 1:1 (One-to-One Matching) tối ưu cho Edge AI: Thay vì phải duyệt qua toàn bộ cơ sở dữ liệu khuôn mặt hàng nghìn người (1:N matching gây độ trễ lớn và tỷ lệ dương tính giả cao), việc kết hợp Lớp 1 (RFID/PIN) giúp trích xuất chính xác User ID trước. Quá trình nhận diện Lớp 2 chỉ so sánh vector 1-to-1, giảm độ phức tạp thuật toán từ $\mathcal{O}(N)$ xuống $\mathcal{O}(1)$, tiết kiệm bộ nhớ RAM và CPU trên Raspberry Pi.
  2. Cơ chế hoạt động "Offline-First" bền bỉ: Khác với các hệ thống IoT phụ thuộc 100% vào Cloud API, đồ án tích hợp IC thời gian thực RTC DS1307 kèm pin nuôi CMOS và hệ thống cơ sở dữ liệu đệm dạng file CSV cục bộ. Khi mạng nội bộ hoặc đường truyền Internet bị ngắt, máy chấm công vẫn ghi nhận dữ liệu chính xác tuyệt đối theo mốc thời gian thực và tự động đẩy dữ liệu bù khi có kết nối trở lại.
  3. Thiết kế phần cứng hoàn chỉnh đạt chuẩn công nghiệp: Toàn bộ mạch điều khiển trung gian, chuyển mức tín hiệu transistor, cách ly quang cho relay và còi chỉ thị được thiết kế thành bo mạch in (PCB) nguyên khối, đặt trong vỏ hộp gia công bảo vệ chống nhiễu và bụi bẩn.

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

Kịch bản sử dụng thực tế

  • Doanh nghiệp vừa và nhỏ (SMEs): Lắp đặt tại cửa văn phòng làm việc. Nhân viên quẹt thẻ nhân viên và nhìn vào camera để mở cửa, chấm dứt tình trạng điểm danh hộ.
  • Phòng thí nghiệm / Khu vực an ninh cao: Kết hợp mã PIN bí mật của kỹ thuật viên và sinh trắc học khuôn mặt để mở khóa cửa phòng máy chủ, phòng bảo mật dữ liệu.
+--------------------------------------------------------------------+
|               LỘ TRÌNH TRIỂN KHAI HỆ THỐNG (ROADMAP)               |
+--------------------------------------------------------------------+
| Tuần 1-2: Khảo sát hạ tầng mạng và vị trí cấp nguồn tại cửa        |
| Tuần 3-4: Lắp đặt thiết bị trạm (Raspberry Pi, Camera, Khóa LY-03) |
| Tuần 5:   Cài đặt MERN Server, cấu hình cơ sở dữ liệu MongoDB      |
| Tuần 6:   Thu thập mẫu khuôn mặt nhân viên, nạp vector đặc trưng   |
| Tuần 7:   Kiểm thử vận hành thử nghiệm (UAT) và tinh chỉnh ngưỡng  |
| Tuần 8:   Bàn giao chính thức và đào tạo quản trị viên             |
+--------------------------------------------------------------------+

Đánh giá hiệu quả kinh tế (Cost-Benefit Analysis)

  • Chi phí phần cứng (BOM): Tổng chi phí linh kiện phần cứng (Raspberry Pi 4, Màn hình IPS, Camera 1080P, RFID, RTC, Khóa từ, Nguồn) ước tính dưới 4.500.000 VNĐ cho một trạm kiểm soát.
  • Tỷ suất hoàn vốn (ROI): Đối với doanh nghiệp quy mô 100 nhân sự, việc loại bỏ triệt để 3% thất thoát giờ công do gian lận có thể giúp doanh nghiệp tiết kiệm hàng chục triệu đồng mỗi tháng, giúp thu hồi chi phí đầu tư thiết bị chỉ sau 2 - 3 tháng vận hành.

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

Hạn chế kỹ thuật

  • Độ biến thiên ánh sáng: Do sử dụng webcam RGB thông thường (Xiaomi Xiaovv), khi cường độ sáng môi trường quá thấp (< 50 Lux) hoặc ngược sáng mạnh, vector đặc trưng trích xuất có thể bị sai lệch.
  • Chỉ số F1-Score: Mức F1 đạt 0.40 phản ánh sự đánh đổi giữa kích thước nén mô hình (50MB) và độ chính xác tổng quát trong môi trường không kiểm soát.

Hướng phát triển nâng cao

  • Tích hợp Camera hồng ngoại (IR Camera) & Depth Sensor: Nâng cấp camera hỗ trợ quét 3D và bước sóng hồng ngoại để chống giả mạo khuôn mặt từ màn hình điện thoại hay ảnh in giấy (Anti-Spoofing / Liveness Detection).
  • Nâng cấp phần cứng tăng tốc AI: Bổ sung mô-đun Google Coral USB Accelerator (Edge TPU) hoặc nâng cấp lên Raspberry Pi 5 để tăng tốc độ suy luận mô hình lên mức < 100 ms.
  • Tích hợp cơ sở dữ liệu vector chuyên dụng: Áp dụng Milvus hoặc Qdrant trên Server để quản lý hàng triệu vector khuôn mặt phân tán khi quy mô doanh nghiệp mở rộng lên hàng chục nghìn nhân sự.

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

  • Sinh viên & Kỹ sư nhúng/IoT: Tài liệu tham khảo thực tế về cách tích hợp giao thức SPI (RC522), I2C (DS1307), điều khiển Relay công suất qua GPIO trên Raspberry Pi OS.
  • Kỹ sư Trí tuệ nhân tạo (AI Engineers): Nắm bắt phương pháp tối ưu hóa mô hình ArcFace với backbone MobileNetV2, chuyển đổi mô hình sang TFLite để chạy mượt mà trên phần cứng giới hạn.
  • Lập trình viên Full-Stack: Kiến trúc tham khảo cho việc xây dựng Web Application theo chuẩn MERN Stack, giao tiếp an toàn với phần cứng qua JWT-authenticated RESTful API.
  • Doanh nghiệp và Nhà quản lý: Giải pháp công nghệ kiểm soát ra vào chi phí thấp, tính bảo mật cao, bảo vệ toàn vẹn nguồn lực tài chính.

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

1. Yêu cầu kỹ thuật phần cứng tối thiểu để triển khai trạm điểm danh là gì?

Trạm điểm danh yêu cầu tối thiểu một vi tính nhúng Raspberry Pi 4 Model B (khuyến nghị bản 4GB RAM), nguồn điện kép $5\text{V}/3\text{A}$ và $12\text{V}/2\text{A}$, module đọc thẻ RC522 giao tiếp SPI, module thời gian thực RTC DS1307 giao tiếp I2C, Webcam USB độ phân giải tối thiểu 720p/1080p và một màn hình cảm ứng điện dung giao tiếp HDMI/USB.

2. Nếu trạm mất kết nối mạng Internet thì hệ thống có chấm công được không?

Có. Hệ thống được thiết kế theo cơ chế Offline-First. Khối RTC DS1307 duy trì giờ hệ thống độc lập với pin CMOS, tiến trình ATTENDANCE sẽ so khớp mã thẻ và vector khuôn mặt được lưu đệm cục bộ trên thẻ nhớ micro-SD của Raspberry Pi. Dữ liệu quẹt thẻ sẽ được lưu tạm trong các tệp CSV và tiến trình SEND DATA sẽ tự động đồng bộ lên máy chủ ngay khi phát hiện có mạng trở lại.

3. Tại sao hệ thống lại kết hợp Thẻ RFID/Mã PIN với Nhận diện khuôn mặt thay vì chỉ nhận diện khuôn mặt?

Việc kết hợp 2 lớp mang lại hai lợi ích cốt lõi: (1) Triệt tiêu hoàn toàn gian lận điểm danh hộ vì người dùng phải có mặt trực tiếp; (2) Chuyển bài toán nhận diện khuôn mặt từ 1:N (so khớp với toàn bộ cơ sở dữ liệu rất chậm và dễ sai sót) thành 1:1 (chỉ so khớp với duy nhất khuôn mặt của chủ sở hữu thẻ/PIN đó), giúp thuật toán chạy cực nhanh trên phần cứng nhúng.

4. Hệ thống bảo mật thông tin khuôn mặt người dùng như thế nào?

Hệ thống không lưu trữ trực tiếp hình ảnh gốc của người dùng trên trạm điểm danh hay cơ sở dữ liệu. Sau khi chụp ảnh qua camera, thuật toán ArcFace mã hóa ảnh thành một mảng vector số thực 512 chiều (embedding vector). Vector này là một biểu diễn toán học một chiều, không thể giải mã ngược lại thành hình ảnh khuôn mặt ban đầu, đảm bảo tối đa quyền riêng tư của nhân viên.

5. Chi phí bảo trì và độ bền của hệ thống như thế nào?

Hệ thống sử dụng các linh kiện phần cứng tiêu chuẩn công nghiệp với tuổi thọ cao. Khóa điện từ LY-03 và bo mạch điều khiển qua Relay có độ bền trên 500.000 lần đóng ngắt. Chi phí bảo trì định kỳ chủ yếu là kiểm tra pin nuôi CMOS của module RTC (thay sau mỗi 2 - 3 năm) và vệ sinh ống kính camera.


Kết luận

Đồ án tốt nghiệp "Hệ Thống Bảo Mật Hai Lớp Sử Dụng Nhận Diện Khuôn Mặt và Điểm Danh Tích Hợp" của nhóm sinh viên Đỗ Minh Quân và Nguyễn Trần Duy Khánh (HCMUTE) đã hiện thực hóa thành công một giải pháp kỹ thuật toàn diện, giải quyết triệt để vấn đề gian lận điểm danh trong các tổ chức. Bằng sự kết hợp khoa học giữa thuật toán Deep Learning tiên tiến (ArcFace loss trên MobileNetV2 backbone), nền tảng phần cứng nhúng mạnh mẽ (Raspberry Pi 4 Model B), và hệ thống web quản trị MERN Stack hiện đại, đồ án đã chứng minh tính khả thi, độ tin cậy cao và tiềm năng thương mại hóa rộng rãi trong thực tế sản xuất và quản trị nhân sự.