Giới thiệu dự án
Trong kỷ nguyên số hóa quản trị học đường và chuyển đổi số doanh nghiệp (EdTech & Smart Campus), các phương thức điểm danh truyền thống bằng sổ tay giấy tờ hoặc quẹt thẻ từ RFID đang bộc lộ nhiều hạn chế nghiêm trọng: tiêu tốn 10–15% thời lượng tiết học, dễ xảy ra tình trạng điểm danh hộ, thất lạc thẻ và sai lệch dữ liệu nhập liệu thủ công. Theo các khảo sát quản trị giáo dục, việc tự động hóa quá trình điểm danh bằng sinh trắc học giúp tiết kiệm tới hơn 85% thời gian quản lý lớp học và triệt tiêu hoàn toàn gian lận.
Đồ án tốt nghiệp "Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt" của nhóm tác giả Lưu Mạnh Thường và Đỗ Văn Minh Mẫn (Khoa Đào tạo Chất lượng cao – Ngành Công nghệ Kỹ thuật Điện tử, Truyền thông, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, dưới sự hướng dẫn của ThS. Nguyễn Đình Phú) được nghiên cứu và chế tạo nhằm giải quyết bài toán tự động hóa quy trình quản lý điểm danh tại phòng thực hành viễn thông/điện tử với quy mô từ 25–30 sinh viên.
KIẾN TRÚC TỔNG THỂ HỆ THỐNG
[Webcam Logitech C270] ---> [Raspberry Pi 4 Model B] ---> [LCD 16x2 qua I2C]
(Thu nhận hình ảnh 720p) - Haar Cascade (Phát hiện) (Phản hồi tức thì)
- LBPH (Nhận diện khuôn mặt)
- Script Python Đồng bộ
│
▼ (HTTPS / OAuth 2.0 API)
[Google Sheets Cloud Database]
(Lưu trữ, thống kê thời gian thực)
Mục tiêu đề tài
- Phần cứng nhúng độc lập: Tích hợp bộ xử lý trung tâm máy tính nhúng Raspberry Pi 4 Model B với Webcam độ nét cao Logitech C270 và màn hình hiển thị LCD 16x2 qua giao thức I2C.
- Xử lý ảnh thời gian thực: Triển khai luồng thuật toán phát hiện khuôn mặt bằng Haar-like Feature kết hợp bộ phân lớp AdaBoost/Cascade of Classifiers và giải thuật nhận dạng khuôn mặt LBPH (Local Binary Patterns Histogram).
- Đồng bộ hóa đám mây (Cloud Sync): Kết nối API Google Cloud Platform để ghi tự động dữ liệu điểm danh (MSSV, Họ tên, Ngày, Giờ, Trạng thái Đúng giờ/Vào trễ) lên Google Sheets theo thời gian thực.
- Phản hồi người dùng (User Feedback Loop): Hiển thị kết quả nhận diện và thông báo tức thời trên LCD 16x2 cùng đèn LED báo hiệu trạng thái để người dùng xác nhận thao tác thành công.
Phạm vi và giới hạn hoạt động
- Quy mô đối tượng: Lớp học thực tập chuyên đề (~25 sinh viên/phiên làm việc).
- Điều kiện môi trường: Ánh sáng phòng học tiêu chuẩn (300–500 Lux), người dùng đứng cách camera từ 0.5m – 1.2m, góc nhìn trực diện nghiêng không quá $\pm 15^\circ$, thời gian tương tác nhận diện $\le 5$ giây/lần.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Phương pháp điểm danh |
Ưu điểm |
Nhược điểm |
Chi phí triển khai |
Tính khả thi thời gian thực |
| Điểm danh thủ công (Gọi tên/Ký tên) |
Không cần thiết bị phần cứng, dễ làm |
Tốn 10–15 phút/buổi, dễ ký hộ, sai sót tổng hợp |
Rất thấp |
Thấp (Mất thời gian) |
| Thẻ từ RFID / Mã vạch |
Tốc độ quét nhanh (<1s), dễ quản trị dữ liệu |
Xảy ra quẹt thẻ hộ, quên mang thẻ, hỏng thẻ từ |
Trung bình |
Trung bình (Không xác thực sinh trắc) |
| Vân tay quang học |
Không điểm danh hộ được, bảo mật tốt |
Tắc nghẽn khi lớp đông, dễ lây nhiễm tiếp xúc, lỗi khi tay ướt |
Trung bình |
Khá (Cần chạm trực tiếp) |
| Nhận diện khuôn mặt (Hệ thống đề xuất) |
Không chạm (Contactless), chính xác cao, đồng bộ Cloud tự động, chống gian lận |
Yêu cầu cấu hình tính toán, phụ thuộc ánh sáng môi trường |
Thấp – Tối ưu (Dùng Raspberry Pi) |
Rất cao (< 2s/người) |
Yêu cầu hệ thống theo mô hình MoSCoW
- Must have (Bắt buộc): Phát hiện chính xác khuôn mặt từ video luồng; phân loại và nhận diện sinh viên đúng trong database; ghi nhận timestamp và xuất dữ liệu lên Google Sheets; hiển thị trạng thái lên LCD.
- Should have (Nên có): Xử lý luồng hình ảnh MJPEG từ webcam để tối ưu hóa CPU; hỗ trợ điều khiển LED báo hiệu phản hồi; tự động xác định trạng thái Đi sớm / Đi trễ dựa trên mốc thời gian cài đặt.
- Could have (Có thể mở rộng): Gửi email/tin nhắn cảnh báo vắng học tự động; bổ sung module chống giả mạo bằng ảnh in (Liveness detection).
- Won't have (Chưa thực hiện ở phiên bản này): Nhận diện góc nghiêng 3D chuyên sâu hoặc nhận diện đồng thời hàng loạt trong đám đông lớn (>50 người cùng lúc).
Thiết kế hệ thống
+---------------------------------------------------------------------------------+
| RASPBERRY PI 4 |
| |
| +--------------------+ Frame +---------------------------------------+ |
| | Logitech HD C270 | -----------> | OpenCV (Video Processing Engine) | |
| | (720p via USB2.0) | | - Grayscale Conversion | |
| +--------------------+ | - Viola-Jones Haar Cascade Detector | |
| +---------------------------------------+ |
| | |
| Cropped Face |
| v |
| +--------------------+ +---------------------------------------+ |
| | LCD 16x2 Display | | LBPH Face Recognizer | |
| | (PCF8574 Backpack)| <----------- | - LBP Matrix & 8x8 Grid Histogram | |
| | I2C (SDA/SCL) | Name | - Euclidean Distance Classifier | |
| +--------------------+ +---------------------------------------+ |
| | |
| ID, Name, Confidence |
| v |
| +--------------------+ +---------------------------------------+ |
| | LED Status / | <----------- | Python Logic Core | |
| | GPIO Indicator | | - Time Evaluation (Late / Early) | |
| +--------------------+ +---------------------------------------+ |
+----------------------------------------------------------│----------------------+
| HTTPS OAuth 2.0
v
+------------------------------------+
| GOOGLE SHEETS CLOUD DATABASE |
| Columns: [MSSV, Name, Date, Time] |
+------------------------------------+
1. Phần cứng (Hardware Specifications)
- Khối xử lý trung tâm: Kit máy tính nhúng Raspberry Pi 4 Model B (Broadcom BCM2711, 4 nhân Cortex-A72 64-bit @ 1.5GHz, RAM 4GB LPDDR4, Wi-Fi 802.11ac, Bluetooth 5.0, Gigabit Ethernet, nguồn DC 5V/3A chuẩn Type-C).
- Khối thu nhận hình ảnh: Webcam Logitech HD C270 (Cảm biến 720p HD, định dạng nén phần cứng MJPEG qua USB 2.0 giúp giảm tải 40% CPU xử lý so với YUYV thông thường, công nghệ RightLight tự động bù sáng).
- Khối hiển thị: Màn hình LCD 16x2 tích hợp Module chuyển đổi giao tiếp I2C (chip PCF8574). Giao thức I2C chỉ tiêu tốn 2 chân GPIO:
SDA (GPIO 2 - Pin 3) và SCL (GPIO 3 - Pin 5) với điện trở kéo lên tích hợp (Pull-up resistors 4.7k$\Omega$).
2. Ngăn xếp công nghệ phần mềm (Technology Stack)
- Hệ điều hành: Raspbian OS (Debian 10 Buster) kernel 4.19 tối ưu hóa cho kiến trúc ARM.
- Ngôn ngữ phát triển: Python 3.7.3 kết hợp môi trường Thonny IDE.
- Thư viện thị giác máy tính: OpenCV 4.1.1 (
opencv-contrib-python) biên dịch hỗ trợ module cv2.face.
- Thư viện tích hợp Cloud:
gspread (v3.6.0) kết hợp oauth2client (v4.1.3) xác thực Google Sheets API v4.
- Cơ chế lưu trữ: Tập tin nhị phân huấn luyện đặc trưng
trainer.yml và bảng tính Google Spreadsheet trực tuyến.
Implementation và kết quả
Chi tiết các thuật toán then chốt
1. Phát hiện khuôn mặt: Haar-like Features & AdaBoost Cascade
Thuật toán Viola-Jones sử dụng các đặc trưng hình chữ nhật (Haar-like Features) để phát hiện cạnh, đường và điểm trung tâm. Để tính toán tổng cường độ điểm ảnh trên vùng chữ nhật siêu nhanh với độ phức tạp $O(1)$, ma trận Ảnh tích hợp (Integral Image) $ii(x, y)$ được khởi tạo:
$$ii(x, y) = \sum_{x' \le x, y' \le y} i(x', y')$$
Tổng giá trị điểm ảnh trong hình chữ nhật $D = [x_1, x_2] \times [y_1, y_2]$ được tính toán trong 4 phép truy xuất:
$$\text{Sum}(D) = ii(x_4, y_4) + ii(x_1, y_1) - ii(x_2, y_2) - ii(x_3, y_3)$$
Bộ phân lớp mạnh $H(x)$ là sự kết hợp tuyến tính của các bộ phân lớp yếu $h_k(x)$ thông qua trọng số $\alpha_k$:
$$H(x) = \text{sign}\left(\sum_{k=1}^K \alpha_k h_k(x)\right)$$
Cấu trúc Cascade of Classifiers phân tầng loại bỏ tới 95% các cửa sổ trượt âm tính (không chứa mặt) ngay tại các tầng lọc đầu tiên, giúp tiết kiệm tối đa tài nguyên vi xử lý Broadcom BCM2711.
[Vùng ảnh quét (Sub-window)]
│
▼
[Tầng phân lớp 1 (2 features)] ──── Không phải mặt ───> [LOẠI BỎ]
│ Có
▼
[Tầng phân lớp 2 (10 features)] ─── Không phải mặt ───> [LOẠI BỎ]
│ Có
▼
[Tầng phân lớp N (Phức tạp)] ──── Không phải mặt ───> [LOẠI BỎ]
│ Có
▼
[XÁC NHẬN LÀ KHUÔN MẶT]
2. Nhận diện khuôn mặt: Local Binary Patterns Histogram (LBPH)
Thuật toán LBP chia nhỏ khuôn mặt thành các ô lưới (Grid $8 \times 8$). Với mỗi điểm ảnh trung tâm $(x_c, y_c)$ có cường độ $i_c$ và $P=8$ điểm lân cận $i_p$ trên bán kính $R=1$:
$$LBP(x_c, y_c) = \sum_{p=0}^{P-1} s(i_p - i_c) \cdot 2^p \quad \text{với } s(x) = \begin{cases} 1, & x \ge 0 \ 0, & x < 0 \end{cases}$$
Sau khi chuyển đổi toàn bộ pixel sang nhị phân và thập phân (0–255), biểu đồ Histogram được trích xuất trên từng ô lưới $8 \times 8$, kết hợp thành vector đặc trưng có chiều dài $8 \times 8 \times 256 = 16.384$ phần tử. So sánh khuôn mặt thực nghiệm với tập huấn luyện thông qua Khoảng cách Euclide (Euclidean Distance):
$$D = \sqrt{\sum_{i=1}^n \left(\text{Hist}{\text{input}}[i] - \text{Hist}{\text{model}}[i]\right)^2}$$
# Code snippet triển khai nhận diện khuôn mặt và phân loại trên Raspberry Pi
import cv2
import time
# Khởi tạo bộ phát hiện và mô hình nhận diện LBPH
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
recognizer = cv2.face.LBPHFaceRecognizer_create(radius=1, neighbors=8, grid_x=8, grid_y=8)
recognizer.read('trainer/trainer.yml')
cap = cv2.VideoCapture(0)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
CONFIDENCE_THRESHOLD = 65.0 # Ngưỡng khoảng cách Euclidean chấp nhận
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=5, minSize=(30, 30))
for (x, y, w, h) in faces:
roi_gray = gray[y:y+h, x:x+w]
id_user, confidence = recognizer.predict(roi_gray)
# Trong LBPH, confidence càng nhỏ thì độ tương đồng càng cao
if confidence < CONFIDENCE_THRESHOLD:
student_name = f"SV_{id_user}"
match_score = round(100 - confidence, 2)
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 0), 2)
cv2.putText(frame, f"{student_name} ({match_score}%)", (x, y-10),
cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 255, 0), 2)
else:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2)
cv2.putText(frame, "Unknown", (x, y-10),
cv2.FONT_HERSHEY_SIMPLEX, 0.75, (0, 0, 255), 2)
break
cap.release()
3. Đồng bộ hóa Google Sheets API
Dữ liệu sinh viên được đẩy trực tiếp lên Cloud mà không cần máy chủ trung gian phức tạp:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
from datetime import datetime
def log_attendance(student_id, student_name, target_time="07:30:00"):
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
client = gspread.authorize(creds)
sheet = client.open("DiemDanh_Lab16").sheet1
now = datetime.now()
date_str = now.strftime("%d/%m/%Y")
time_str = now.strftime("%H:%M:%S")
status = "Đúng giờ" if time_str <= target_time else "Vào trễ"
# Cấu trúc hàng: [MSSV, Họ Tên, Ngày, Thời Gian, Trạng Thái]
row_data = [student_id, student_name, date_str, time_str, status]
sheet.append_row(row_data)
Đánh giá kết quả thực nghiệm
ĐỘ CHÍNH XÁC THEO ĐIỀU KIỆN ÁNH SÁNG & KHOẢNG CÁCH
100 ┌─────────────────────────────────────────────────────────┐
│ 96% 92% │
80 │ ████████████ ████████████ │
│ ████████████ ████████████ 68% │
60 │ ████████████ ████████████ ████████████ │
│ ████████████ ████████████ ████████████ │
40 │ ████████████ ████████████ ████████████ │
│ ████████████ ████████████ ████████████ │
20 │ ████████████ ████████████ ████████████ │
└─────────────────────────────────────────────────────────┘
0.5m - 0.8m 0.8m - 1.2m > 1.5m / Thiếu sáng
- Bộ dữ liệu thử nghiệm: 25 sinh viên, thu thập 50 ảnh mẫu/người với các góc nghiêng nhẹ và biểu cảm khác nhau để huấn luyện mô hình.
- Thời gian đáp ứng trung bình: Phát hiện khuôn mặt (85ms) + Nhận diện LBPH (42ms) + Hiển thị LCD (15ms) + Ghi Google Sheets API (650ms) $\rightarrow$ Tổng độ trễ: ~0.8s/lần.
- Tỷ lệ nhận diện chính xác: Đạt 96.0% trong điều kiện ánh sáng tiêu chuẩn (khoảng cách 0.5–0.8m) và 92.0% ở khoảng cách 1.0m.
Đổi mới và đóng góp
Cải tiến kỹ thuật
- Kiến trúc Edge-to-Cloud siêu nhẹ (Serverless): Loại bỏ nhu cầu thiết lập cơ sở dữ liệu MySQL/PostgreSQL cục bộ phức tạp bằng cách kết nối trực tiếp bộ nhớ nhúng tới Google Sheets API v4. Điều này giúp hệ thống hoạt động liên tục 24/7 mà không lo lỗi sập máy chủ nội bộ.
- Tối ưu hóa tài nguyên phần cứng ARM: Thuật toán LBPH có chi phí tính toán ma trận cực thấp, không đòi hỏi chip xử lý đồ họa GPU chuyên dụng (như các mạng nơ-ron sâu CNN/ResNet), cho phép Raspberry Pi 4 duy trì nhiệt độ ổn định dưới $55^\circ\text{C}$ mà không bị quá nhiệt (thermal throttling).
- Tiết kiệm chân I/O với I2C Backpack: Tận dụng IC chuyển đổi PCF8574 để giảm số lượng đường dây kết nối màn hình từ 16 chân chuẩn HD44780 xuống còn đúng 2 dây truyền thông nối tiếp (
SDA, SCL), giảm độ phức tạp khi đóng gói phần cứng lên đến 75%.
Bảng so sánh với các giải pháp trên thị trường
| Tiêu chí |
Giải pháp Nhận diện Deep Learning (FaceNet / ResNet) |
Hệ thống Vân tay / Thẻ từ thương mại |
Hệ thống đề xuất (Raspberry Pi + LBPH + Google Sheets) |
| Phần cứng yêu cầu |
Cần GPU/TPU rời, nguồn công suất lớn |
Thiết bị đọc chuyên dụng đắt tiền |
Máy tính nhúng Raspberry Pi giá rẻ, nguồn 5V/3A |
| Chi phí chế tạo |
Rất cao (> 8.000.000 VNĐ) |
Trung bình (2.000.000 – 4.000.000 VNĐ) |
Thấp (< 2.500.000 VNĐ) |
| Khả năng quản trị |
Cần Server/Web App riêng |
Phần mềm trích xuất xuất USB cục bộ |
Google Sheets quản trị từ xa theo thời gian thực |
| Tính linh hoạt |
Nặng nề, khó triển khai di động |
Cố định trên tường, cấu hình cứng |
Nhỏ gọn, cắm nguồn là hoạt động |
Ứng dụng thực tế và triển khai
+-------------------------------------------------------------------------------+
| QUY TRÌNH TRIỂN KHAI THỰC TẾ |
| |
| [Thu thập dữ liệu] [Huấn luyện dữ liệu] [Triển khai thực địa] |
| - 50 ảnh/sinh viên -> - Trích xuất LBP -> - Lắp tại cửa phòng Lab |
| - Cắt chuẩn khuôn mặt - Lưu trainer.yml - Cấp nguồn 5V/3A |
| - Lưu thư mục Dataset - Vector 16.384 chiều - Kết nối Wi-Fi trường |
+-------------------------------------------------------------------------------+
Kịch bản ứng dụng (Use Cases)
- Phòng thực hành chuyên môn: Sinh viên xếp hàng trước camera tại cửa phòng; thiết bị nhận diện, chào mừng qua LCD và đánh dấu "Đúng giờ" trên bảng tính của giảng viên trong chưa đầy 1 giây.
- Văn phòng doanh nghiệp nhỏ (SME): Ứng dụng quản lý chấm công tự động cho nhân viên mà không cần mua các gói phần mềm SaaS đắt đỏ.
- Hội thảo & Sự kiện: Check-in khách mời tham dự tự động và xuất báo cáo danh sách điểm danh ngay lập tức dưới định dạng
.xlsx/.csv.
Phân tích chi phí và hiệu quả đầu tư (ROI)
- Chi phí vật tư phần cứng (BOM):
- Raspberry Pi 4 Model B (4GB): ~1.450.000 VNĐ
- Webcam Logitech HD C270: ~450.000 VNĐ
- Màn hình LCD 16x2 + Module PCF8574: ~70.000 VNĐ
- Nguồn Adapter 5V/3A, Thẻ nhớ 16GB, Phụ kiện hộp mica: ~230.000 VNĐ
- Tổng ngân sách: ~2.200.000 VNĐ (Tiết kiệm hơn 60% so với các thiết bị sinh trắc học thương mại).
- Hiệu quả thu hồi (ROI): Tiết kiệm 15 phút mỗi ca học $\times$ 4 ca/ngày = 60 phút lao động hữu ích của giảng viên/ngày.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ nhạy cảm ánh sáng: Thuật toán Haar Cascade và LBP dựa trên mức xám (Grayscale), do đó độ chính xác giảm xuống dưới 70% trong môi trường quá tối (<100 Lux) hoặc ngược sáng mạnh.
- Góc quay giới hạn: Độ chính xác tối ưu khi người dùng nhìn thẳng; khi khuôn mặt nghiêng quá $30^\circ$, Haar Cascade không thể bắt được toàn bộ điểm đặc trưng.
- Bảo mật sinh trắc học: Chưa tích hợp module chống giả mạo khuôn mặt (Anti-spoofing) để phân biệt giữa người thật và ảnh chụp hiển thị qua màn hình điện thoại.
Định hướng nâng cấp
- Nâng cấp AI Edge: Tích hợp mô hình học sâu siêu nhẹ MobileNet-SSD hoặc MediaPipe kết hợp bộ tăng tốc AI USB Google Coral Edge TPU để tăng độ chính xác lên 99% ở mọi góc độ.
- Bổ sung tính năng Liveness Detection: Sử dụng kiểm tra chuyển động chớp mắt (Blink Detection) qua tỉ lệ khung hình mắt (Eye Aspect Ratio - EAR) để ngăn chặn hành vi dùng ảnh giả mạo.
- Phát triển giao diện Dashboard: Xây dựng ứng dụng Web tích hợp Django/Flask để quản trị viên thêm/xóa sinh viên trực quan từ xa mà không cần chạy lệnh script Python thủ công.
Đối tượng hưởng lợi
- Sinh viên & Học viên: Trải nghiệm quy trình điểm danh không chạm hiện đại; có tài liệu mã nguồn tham khảo mở về ứng dụng OpenCV và giao tiếp I2C trên hệ thống nhúng.
- Kỹ sư & Nhà phát triển nhúng: Nắm bắt mô hình kiến trúc giao tiếp phần cứng giữa vi điều khiển/máy tính nhúng với nền tảng điện toán đám mây Google Cloud Platform qua Python.
- Nhà trường & Doanh nghiệp: Cắt giảm thời gian lãng phí trong khâu quản lý nhân sự, tự động hóa 100% việc trích xuất báo cáo chuyên cần với chi phí đầu tư ban đầu cực thấp.
- Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm so sánh hiệu năng giữa thuật toán thị giác máy tính truyền thống (Haar-LBPH) trên phần cứng máy tính đơn bo (SBC).
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu máy tính nhúng tối thiểu là Raspberry Pi 3 Model B+ hoặc Raspberry Pi 4 (khuyên dùng RAM $\ge$ 2GB), thẻ nhớ MicroSD dung lượng tối thiểu 16GB chuẩn Class 10, nguồn cấp ổn định 5V/3A chuẩn Type-C, webcam USB hỗ trợ độ phân giải tối thiểu 720p và kết nối mạng Wi-Fi/LAN ổn định để đẩy dữ liệu lên Cloud.
2. Hệ thống xử lý thế nào khi xảy ra mất kết nối Internet?
Nếu mất mạng, module nhận diện và hiển thị LCD vẫn hoạt động bình thường nhờ mô hình đã lưu sẵn ở file cục bộ trainer.yml. Nhóm phát triển có thể thiết lập hàng đợi tạm (Local Buffer/SQLite) để lưu dữ liệu điểm danh offline và tự động đồng bộ lên Google Sheets ngay khi kết nối Wi-Fi được khôi phục.
3. Có thể mở rộng dữ liệu cho toàn trường hàng nghìn sinh viên không?
Thuật toán LBPH trên Raspberry Pi tối ưu nhất cho cơ sở dữ liệu dưới 100 người/thiết bị. Với quy mô toàn trường (hàng nghìn sinh viên), cần chuyển đổi mô hình sang kiến trúc Server-Client: Raspberry Pi đóng vai trò Edge Node chỉ chụp và gửi vector đặc trưng về máy chủ tập trung (sử dụng Deep Learning như InsightFace) để đối soát dữ liệu.
4. Mất bao lâu để huấn luyện thêm một sinh viên mới vào danh sách?
Quy trình thêm người mới chỉ mất khoảng 1–2 phút: Hệ thống tự động kích hoạt camera chụp liên tiếp 50 khung hình khuôn mặt (mất 5–10 giây), sau đó chạy script huấn luyện LBPH cập nhật lại file trainer.yml mất khoảng 3–5 giây.
5. Chi phí duy trì dịch vụ đám mây Google Sheets API là bao nhiêu?
Hoàn toàn miễn phí. Dịch vụ Google Sheets API nằm trong gói dịch vụ Google Cloud Platform Free Tier cho phép gọi tới 500 yêu cầu/100 giây/dự án, đáp ứng hoàn toàn nhu cầu điểm danh của các cơ sở giáo dục mà không phát sinh chi phí duy trì hàng tháng.
Kết luận
Đồ án "Thiết kế hệ thống điểm danh bằng nhận diện khuôn mặt" của nhóm sinh viên Trường Đại học Sư phạm Kỹ thuật TP.HCM đã nghiên cứu và tích hợp thành công giữa lý thuyết thị giác máy tính cổ điển (Haar Cascade, LBPH) và phần cứng máy tính nhúng Raspberry Pi 4 để tạo nên một sản phẩm ứng dụng hoàn chỉnh.
Với khả năng nhận diện chính xác đạt 96%, thời gian xử lý dưới 1 giây, chi phí chế tạo tinh gọn dưới 2.5 triệu đồng cùng khả năng đồng bộ dữ liệu thời gian thực lên Google Sheets, hệ thống chứng minh tính khả thi vượt trội trong việc ứng dụng vào các lớp học thông minh và chuyển đổi số học đường. Đây là nền tảng kỹ thuật vững chắc để tiếp tục mở rộng phát triển các hệ thống kiểm soát ra vào và quản lý sinh trắc học không chạm thế hệ mới.