Giới thiệu dự án
Trong kỷ nguyên Cách mạng Công nghiệp 4.0, sự chuyển dịch từ các thiết bị cơ khí truyền thống sang hệ thống điều khiển tự động có tích hợp trí tuệ nhân tạo (AI) và thị giác máy tính (Computer Vision) đang diễn ra mạnh mẽ. Theo các báo cáo an ninh mạng và giải pháp nhà thông minh (Smart Home), hơn 65% các vụ xâm nhập trái phép vào nhà ở và cơ quan xuất phát từ sự sơ hở hoặc việc bị vô hiệu hóa dễ dàng của các loại khóa cơ kim loại truyền thống thông qua chìa khóa vạn năng (bump keys) hoặc công cụ bẻ khóa chuyên dụng. Mặc dù các loại khóa thông minh đơn phương thức (như thẻ từ RFID hoặc mã số PIN) đã xuất hiện, chúng vẫn tiềm ẩn rủi ro đánh mất thẻ, lộ mật mã hoặc bị sao chép dữ liệu sóng vô tuyến.
Đề tài "Thiết kế hệ thống cửa thông minh sử dụng nhận diện khuôn mặt" của nhóm sinh viên Khoa Điện tử - Trường Đại học Công nghiệp Hà Nội (HaUI) được nghiên cứu và phát triển nhằm giải quyết triệt để các bài toán thực tiễn nêu trên thông qua các mục tiêu kỹ thuật cụ thể:
- Nghiên cứu và làm chủ thuật toán thị giác máy tính: Ứng dụng thư viện mã nguồn mở OpenCV, Dlib kết hợp mô hình học sâu (Deep Learning) để nhận diện khuôn mặt người với độ chính xác cao trong thời gian thực.
- Thiết kế phần cứng nhúng tối ưu: Lựa chọn, tính toán và tích hợp vi điều khiển 32-bit ARM Cortex-M3 (STM32F103C8T6) làm trung tâm điều khiển hệ thống, xử lý tín hiệu ngoại vi và giao tiếp máy tính.
- Phát triển hệ thống xác thực đa phương thức (Multi-modal Authentication): Kết hợp đồng bộ 3 phương thức mở khóa độc lập gồm Nhận diện khuôn mặt (Face Recognition), Cảm biến vân tay quang học (Fingerprint Sensor AS608) và Bàn phím ma trận 4x4 (Keypad Password).
- Tối ưu hóa chi phí sản xuất phần cứng: Đảm bảo toàn bộ bảng kê vật liệu (BOM - Bill of Materials) của mô hình mẫu dưới mức 1.000.000 VNĐ nhưng vẫn đảm bảo độ tin cậy vận hành công nghiệp.
Giải pháp kết hợp giữa máy tính xử lý trung tâm (chạy nền tảng Python/OpenCV/Dlib) và vi điều khiển nhúng STM32 cho phép tận dụng sức mạnh tính toán ma trận điểm ảnh phức tạp của CPU máy tính, đồng thời duy trì tính ổn định, phản hồi thời gian thực và an toàn điện áp của vi điều khiển chuyên dụng trong điều khiển cơ cấu chấp hành.
Hệ thống hướng tới các chỉ số đầu ra có thể đo lường:
- Tỷ lệ nhận diện khuôn mặt chính xác đạt trên 85% trong khoảng cách hoạt động tiêu chuẩn từ 50 cm đến 150 cm.
- Thời gian xác thực và phản hồi đóng/mở chốt khóa dưới 1,2 giây.
- Khả năng lưu trữ dữ liệu vân tay lên đến 300 mẫu và quản trị cơ sở dữ liệu khuôn mặt linh hoạt.
Phạm vi và giới hạn đề tài: Hệ thống được thiết kế thử nghiệm trong môi trường trong nhà (indoor) với nguồn sáng ổn định (1–5 Lux trở lên), sử dụng camera 2D tiêu chuẩn (chưa tích hợp camera quét chiều sâu 3D ToF/IR) và truyền nhận lệnh điều khiển thông qua giao thức truyền thông nối tiếp không đồng bộ UART TTL.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trên thị trường hiện nay, các giải pháp kiểm soát truy cập phân hóa rõ rệt giữa các phân khúc khóa cơ khí, khóa điện tử cơ bản và khóa sinh trắc học cao cấp.
| Tiêu chí so sánh |
Khóa cơ truyền thống |
Khóa thẻ từ RFID |
Khóa thông minh thương mại (Apple/Yale/Philips) |
Hệ thống đa phương thức đề xuất (STM32 + OpenCV) |
| Phương thức xác thực |
Chìa khóa kim loại |
Tần số vô tuyến (13.56MHz/125kHz) |
Face ID 3D / Vân tay / App BLE |
Khuôn mặt (HOG+SVM) + Vân tay + Mật khẩu |
| Mức độ an toàn (Security) |
Rất thấp (Dễ bị cạy, làm giả) |
Trung bình (Dễ bị clone thẻ) |
Rất cao (Tích hợp cảm biến chuyên dụng) |
Cao (Xác thực 3 lớp độc lập) |
| Tốc độ phản hồi |
Chậm (Thao tác cơ học) |
Rất nhanh (< 0.3s) |
Nhanh (0.5s - 1.0s) |
Nhanh (< 1.2s toàn chu trình) |
| Chi phí triển khai |
Rất rẻ (50.000 - 300.000 VNĐ) |
Rẻ (500.000 - 1.500.000 VNĐ) |
Rất đắt (5.000.000 - 25.000.000 VNĐ) |
Tối ưu (< 1.000.000 VNĐ phần cứng nhúng) |
| Khả năng tùy biến |
Không thể |
Thấp (Phụ thuộc firmware đóng) |
Không thể can thiệp sâu |
Rất cao (Mã nguồn mở, tùy biến logic) |
Theo phân tích ma trận ưu tiên yêu cầu MoSCoW:
- Must-have (Bắt buộc có): Chức năng nhận diện khuôn mặt đối chiếu với cơ sở dữ liệu; Mở khóa qua vân tay AS608; Mở khóa qua bàn phím 4x4; Tự động kích hoạt van điện từ (Solenoid Lock 12V); Hiển thị trạng thái lên LCD 1602.
- Should-have (Nên có): Giao diện nạp ảnh người dùng mới; Còi chíp Buzzer phản hồi âm thanh; Cơ chế tự động khóa sau 1 giây.
- Could-have (Có thể có): Cảnh báo truy cập trái phép khi sai quá 3 lần; Lưu trữ log truy cập dạng chuỗi thời gian.
- Won't-have (Chưa triển khai trong pha này): Ứng dụng điều khiển từ xa qua mạng Internet (Cloud IoT); Nhận diện chống giả mạo bằng ảnh in 3D (Liveness Detection).
Thiết kế hệ thống
Kiến trúc hệ thống được chia thành 5 khối chức năng chính hoạt động phối hợp:
+-------------------------------------------------------------------------------+
| KHỐI ĐẦU VÀO (INPUT) |
| +--------------------+ +---------------------+ +----------------------+ |
| | USB Webcam (1080p) | | Cảm biến vân tay | | Bàn phím ma trận 4x4 | |
| | (Frame Processing) | | AS608 (UART TTL) | | (Scanning I/O) | |
| +---------+----------+ +----------+----------+ +----------+-----------+ |
+------------|-------------------------|-------------------------|--------------+
| | |
v | |
+--------------------------+ | |
| MÁY TÍNH XỬ LÝ ẢNH (AI) | | |
| Python + OpenCV + Dlib | | |
| (128-d Vector Distance) | | |
+------------+-------------+ | |
| (UART Protocol) | |
+-------------------->----+-------------------------+
|
v
+-------------------------------------------------------------------------------+
| KHỐI ĐIỀU KHIỂN TRUNG TÂM (MCU) |
| STM32F103C8T6 (ARM Cortex-M3) |
| - UART RX/TX Parser - Keypad Scanner Logic |
| - Display Handler - Relay Driver Signal |
+--------------------------------------+----------------------------------------+
|
+-------------------+-------------------+
| |
v v
+--------------------------------------+ +------------------------------------+
| KHỐI HIỂN THỊ (OUTPUT) | | KHỐI CHẤP HÀNH (ACTUATION) |
| Màn hình LCD 1602 (Giao tiếp 4-bit) | | - Khóa điện từ Solenoid 12VDC |
| IC Driver HD44780 | | - Mạch công suất Transistor C1815 |
| | | - Còi báo âm thanh Buzzer 5V |
+--------------------------------------+ +------------------------------------+
Công nghệ và phiên bản phần mềm:
- Ngôn ngữ lập trình: Python 3.10.x (xử lý ảnh), C/C++ (Embedded Firmware trên STM32).
- Thư viện AI & Thị giác máy tính: OpenCV v4.8.0, Dlib v19.24.2,
face_recognition API.
- Môi trường phát triển nhúng: Keil MDK-ARM v5.38a, STM32 Standard Peripheral Libraries.
- Thiết kế mạch in (EDA): Altium Designer 22.0.
Thiết kế mạch nguồn và tính toán thông số linh kiện:
Toàn bộ hệ thống sử dụng nguồn điện chuyển đổi AC-DC Adapter $12\text{V} - 3\text{A}$. Nguồn được phân phối trực tiếp cho khóa điện từ $12\text{VDC} - 0.4\text{A}$ và qua 2 tầng biến đổi điện áp:
- Tầng 1 (12V $\rightarrow$ 5V): Sử dụng IC nguồn hạ áp xung Buck DC-DC LM2596 với hiệu suất $92%$, dòng điện tối đa $3\text{A}$, tần số đóng cắt $f = 52\text{kHz}$. Điện dung đầu vào được tính toán lý thuyết để lọc sóng hài:
$$C_{in} = \frac{I_{out}}{10 \times f} = \frac{3\text{A}}{10 \times 52000\text{Hz}} \approx 5.77,\mu\text{F}$$
Thực tế lựa chọn tụ hóa $100,\mu\text{F}/50\text{V}$ mắc song song tụ gốm $100\text{nF}$ để triệt tiêu nhiễu cao tần và đảm bảo biên độ dự phòng nguồn.
- Tầng 2 (5V $\rightarrow$ 3.3V): Sử dụng IC ổn áp tuyến tính LDO AMS1117-3.3V cung cấp nguồn điện áp $3.3\text{VDC}$ thuần ổn định cho vi điều khiển STM32F103C8T6 và module vân tay AS608.
- Mạch lái còi Buzzer: Dòng kích hoạt còi chíp $I_C = 30\text{mA}$. Sử dụng Transistor NPN C1815 với hệ số khuếch đại bão hòa $\beta = 100$:
$$I_B = \frac{I_C}{\beta} = \frac{30\text{mA}}{100} = 0.3\text{mA} \implies R_B = \frac{V_{CC} - V_{BE}}{I_B} = \frac{5\text{V} - 0.7\text{V}}{0.3\text{mA}} \approx 14.3\text{k}\Omega$$
Thực tế lựa chọn điện trở chuẩn $12\text{k}\Omega$ để ép Transistor mở bão hòa hoàn toàn.
Methodology
Quy trình phát triển dự án áp dụng mô hình thiết kế đồng thời phần cứng - phần mềm (Hardware/Software Co-design) kết hợp mô hình chữ V (V-Model) trong kiểm thử hệ thống nhúng.
+-----------------------------------------+
| Yêu cầu hệ thống |
+--------------------+--------------------+
|
+---------------------+---------------------+
| |
v v
+-------------------------+ +-------------------------+
| Thiết kế phần cứng | | Thiết kế thuật toán AI |
| (Altium PCB & Nguồn) | | & Firmware STM32 |
+------------+------------+ +------------+------------+
| |
+---------------------+---------------------+
|
v
+-----------------------------------------+
| Tích hợp hệ thống & Kiểm thử tổng thể |
+-----------------------------------------+
- Tiến độ triển khai: Kéo dài trong 8 tuần (18/03/2024 – 18/05/2024) chia làm 4 mốc quan trọng (Milestones):
- Tuần 1-2: Khảo sát linh kiện, xây dựng thuật toán nhận diện khuôn mặt trên Python.
- Tuần 3-4: Thiết kế sơ đồ nguyên lý (Schematic) và layout mạch in 2 lớp trên Altium.
- Tuần 5-6: Gia công PCB, hàn lắp linh kiện, lập trình Driver UART, LCD, Keypad trên Keil C.
- Tuần 7-8: Ghép nối hệ thống toàn diện, kiểm thử thực nghiệm trong các điều kiện môi trường khác nhau và tối ưu hóa ngưỡng sai số Euclidean.
Implementation và kết quả
Development process
Quá trình trích xuất đặc trưng khuôn mặt trong hệ thống hoạt động dựa trên việc tính toán biểu đồ hướng Gradient - HOG (Histogram of Oriented Gradients) kết hợp mạng nơ-ron tích chập (Deep Metric Learning) của Dlib để ánh xạ mỗi khuôn mặt thành một vector nhúng 128 chiều ($128\text{-dimensional feature vector}$).
import cv2
import face_recognition
import serial
import time
# Khởi tạo giao tiếp UART với STM32 qua cổng COM ảo
try:
ser = serial.Serial('COM3', baudrate=9600, timeout=1)
time.sleep(2) # Chờ đồng bộ xung nhịp
except Exception as e:
print(f"Lỗi khởi tạo Serial Port: {e}")
# Tải cơ sở dữ liệu khuôn mặt và mã hóa sang vector 128-d
known_face_encodings = []
known_face_names = []
# Nạp dữ liệu khuôn mặt đã đăng ký từ trước
image_admin = face_recognition.load_image_file("dataset/admin.jpg")
encoding_admin = face_recognition.face_encodings(image_admin)[0]
known_face_encodings.append(encoding_admin)
known_face_names.append("Admin_User")
video_capture = cv2.VideoCapture(0)
while True:
ret, frame = video_capture.read()
if not ret:
break
# Chuyển đổi định dạng khung hình BGR sang RGB cho Dlib
rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# Định vị tọa độ khuôn mặt (Bounding Box)
face_locations = face_recognition.face_locations(rgb_frame)
face_encodings = face_recognition.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
# Tính toán khoảng cách Euclidean giữa vector khuôn mặt hiện tại và cơ sở dữ liệu
face_distances = face_recognition.face_distance(known_face_encodings, face_encoding)
# Ngưỡng dung sai xác thực: threshold <= 0.50
if len(face_distances) > 0 and face_distances[0] <= 0.50:
name = known_face_names[0]
# Gửi ký tự điều khiển 'a' để kích hoạt mở chốt khóa trên STM32
ser.write(b'a')
cv2.rectangle(frame, (left, top), (right, bottom), (0, 255, 0), 2)
cv2.putText(frame, f"{name} ({face_distances[0]:.2f})", (left, top - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2)
else:
name = "Unknown"
# Gửi ký tự 'z' biểu thị người lạ hoặc sai khớp
ser.write(b'z')
cv2.rectangle(frame, (left, top), (right, bottom), (0, 0, 255), 2)
cv2.putText(frame, name, (left, top - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 0, 255), 2)
cv2.imshow('Smart Door Access Control', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_capture.release()
cv2.destroyAllWindows()
Phía vi điều khiển STM32F103C8T6, cấu hình ngắt nhận dữ liệu UART1 được thiết lập để xử lý tức thời các ký tự điều khiển:
#include "stm32f10x.h"
#include "lcd1602.h"
#include "delay.h"
void USART1_IRQHandler(void) {
if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) {
char received_char = (char)USART_ReceiveData(USART1);
if (received_char == 'a') { // Nhận diện khuôn mặt hợp lệ
LCD_Clear();
LCD_SetCursor(0, 0);
LCD_Print("Face Matched!");
LCD_SetCursor(1, 0);
LCD_Print("Door Unlocked");
// Kích hoạt mức LOW cho Relay đóng khóa điện từ (Active Low)
GPIO_ResetBits(GPIOB, GPIO_Pin_0);
// Kích hoạt còi báo hiệu Buzzer
GPIO_SetBits(GPIOA, GPIO_Pin_8);
delay_ms(100);
GPIO_ResetBits(GPIOA, GPIO_Pin_8);
// Duy trì trạng thái mở cửa trong 1000ms
delay_ms(1000);
GPIO_SetBits(GPIOB, GPIO_Pin_0); // Khóa lại chốt
}
else if (received_char == 'z') { // Khuôn mặt không khớp
LCD_Clear();
LCD_SetCursor(0, 0);
LCD_Print("Access Denied!");
}
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
}
Testing và validation
Hệ thống đã trải qua các kịch bản kiểm thử nghiêm ngặt tại phòng thí nghiệm Điện tử ứng dụng - HaUI với các biến số về khoảng cách, góc nghiêng khuôn mặt, cường độ sáng và các phương thức ngoại vi.
Độ chính xác (%)
100 |--------------------+
90 | / \
80 | / \
70 | / \
60 | / \
50 | / \
+--------------+-----------+--------------+
50cm 100cm 150cm (Khoảng cách)
| Kịch bản kiểm thử |
Điều kiện môi trường |
Số lần test |
Nhận diện đúng (True Positive) |
Nhận diện sai/Từ chối |
Tỷ lệ chính xác (%) |
| Khoảng cách 50cm – 100cm |
Ánh sáng phòng tiêu chuẩn (~300 Lux), nhìn thẳng |
100 |
92 |
8 |
92.0% |
| Khoảng cách 100cm – 150cm |
Ánh sáng phòng tiêu chuẩn, nhìn thẳng |
100 |
85 |
15 |
85.0% |
| Góc mặt nghiêng 45° |
Khoảng cách 80cm, nghiêng trái/phải 45 độ |
60 |
47 |
13 |
78.3% |
| Góc mặt nghiêng > 90° |
Khoảng cách 80cm, quay ngang hoàn toàn |
50 |
0 |
50 (Bị loại bỏ) |
0.0% |
| Môi trường thiếu sáng |
Cường độ sáng < 5 Lux |
50 |
12 |
38 |
24.0% |
| Khuôn mặt bị che nửa |
Đeo khẩu trang / che tay qua mũi |
50 |
4 |
46 |
8.0% |
| Xác thực vân tay AS608 |
Ngón tay khô ráo, đặt đúng tâm cảm biến |
100 |
98 |
2 |
98.0% |
| Xác thực mã số Keypad |
Nhập chuỗi 6 ký tự mật khẩu qua ma trận 4x4 |
50 |
50 |
0 |
100.0% |
Kết quả đạt được
Hệ thống hoàn thành 100% các tính năng đề ra ban đầu:
- Độ trễ xử lý thuật toán phát hiện và mã hóa ảnh: xấp xỉ $320\text{ms}/\text{frame}$ trên CPU tiêu chuẩn Core i5.
- Thời gian tìm kiếm vân tay trong bộ nhớ 300 mẫu của chip AS608: $< 0.4\text{s}$.
- Khóa điện từ Solenoid vận hành đóng mở chính xác với dòng kích $0.4\text{A}$ ở nguồn $12\text{V}$, không gây hiện tượng sụt áp làm reset vi điều khiển nhờ các mạch lọc nguồn độc lập LM2596 và tụ đệm $100,\mu\text{F}$.
Đổi mới và đóng góp
- Kiến trúc phân tầng tính toán (Hybrid Edge-Controller Architecture): Thay vì sử dụng toàn bộ máy tính công nghiệp đắt đỏ hoặc ép một vi điều khiển giá rẻ phải xử lý AI (vốn gây tràn bộ nhớ 20KB SRAM của STM32), hệ thống phân tách mạch lạc: Máy tính thực hiện tác vụ nặng về tính toán vector ma trận điểm ảnh, trong khi STM32 đảm nhiệm phần cứng ngoại vi và đảm bảo an toàn tuyệt đối cho cơ cấu chấp hành.
- Cơ chế xác thực dự phòng 3 lớp (3-Factor Fail-safe Mechanism): Giải quyết triệt để vấn đề "điểm lỗi đơn" (Single Point of Failure). Trong trường hợp camera bị lóa sáng hoặc mất kết nối máy tính, người dùng vẫn có thể truy cập lập tức qua vân tay AS608 hoặc mật khẩu số bàn phím cứng.
- Hiệu quả kinh tế vượt trội: So sánh với giải pháp module camera độc lập ESP32-CAM (vốn có độ phân giải thấp, tỷ lệ nhận diện sai FAR cao và thường xuyên quá nhiệt) hoặc kit Raspberry Pi 4 (giá thành cao từ 2.000.000 – 3.000.000 VNĐ), mô hình STM32 kết hợp webcam USB có sẵn tiết kiệm hơn $60%$ chi phí phần cứng mà vẫn đem lại độ chính xác thị giác máy tính cao hơn $25%$.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Căn hộ thông minh (Smart Apartment): Tự động mở cửa khi chủ nhà mang vác đồ đạc, không cần tìm chìa khóa.
- Phòng thí nghiệm / Văn phòng cơ quan: Kiểm soát nhân sự ra vào, kết hợp điểm danh tự động dựa trên nhật ký nhận diện khuôn mặt.
- Phòng server / Khu vực bảo mật: Yêu cầu xác thực đồng thời 2 yếu tố (Khuôn mặt + Vân tay) trước khi kích hoạt chốt khóa điện từ.
QUY TRÌNH TRIỂN KHAI VÀ VẬN HÀNH
+--------------------+ +--------------------+ +--------------------+
| Lắp đặt cơ khí | ---> | Cấp nguồn & nạp | ---> | Thu thập dữ liệu |
| Khóa Solenoid & | | Firmware STM32, | | khuôn mặt chủ sở |
| Mạch điều khiển | | kết nối UART Host | | hữu vào Database |
+--------------------+ +--------------------+ +--------------------+
|
v
+--------------------+ +--------------------+ +--------------------+
| Bảo trì định kỳ | <--- | Hiệu chỉnh ngưỡng | <--- | Kiểm tra xác thực |
| vệ sinh cảm biến | | khoảng cách & | | thực tế qua |
| vân tay & camera | | độ sáng môi trường| | 3 phương thức |
+--------------------+ +--------------------+ +--------------------+
Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)
Tổng chi phí chế tạo mẫu (BOM): ~450.000 VNĐ
├── Kit STM32F103C8T6: 125.000 VNĐ
├── Cảm biến AS608: 150.000 VNĐ
├── Khóa điện từ 12V: 60.000 VNĐ
├── Màn hình LCD 1602: 39.000 VNĐ
├── Nguồn xung & LM2596: 45.000 VNĐ
└── Bàn phím & phụ kiện: 31.000 VNĐ
Với mức chi phí sản xuất thương mại hàng loạt dự kiến dưới 600.000 VNĐ, sản phẩm đem lại tỷ suất hiệu quả đầu tư (ROI) rất cao cho các khu chung cư mini, phòng trọ thông minh thay vì phải lắp đặt các bộ khóa nhập khẩu có giá từ 3.000.000 đến 7.000.000 VNĐ/bộ.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Độ nhạy sáng: Thuật toán HOG phụ thuộc nhiều vào độ tương phản ánh sáng. Khi cường độ sáng môi trường xuống dưới 5 Lux, tỷ lệ nhận diện giảm mạnh xuống còn $24%$.
- Bảo mật 2D: Chưa có khả năng phát hiện giả mạo khuôn mặt (Spoofing) đối với các bức ảnh màu chất lượng cao in kích thước thực hoặc video quay lại.
- Tính cơ động: Hệ thống hiện tại vẫn cần kết nối có dây USB với máy tính chạy script Python.
Hướng phát triển tiếp theo
- Nâng cấp phần cứng sang các dòng vi xử lý biên hiệu năng cao (như Raspberry Pi 5 hoặc Nvidia Jetson Orin Nano) để chạy hoàn toàn Offline On-device mà không cần máy tính phụ trợ.
- Tích hợp thêm camera hồng ngoại (IR Camera) hoặc cảm biến chiều sâu 3D ToF nhằm triệt tiêu hoàn toàn khả năng bị đánh lừa bằng hình ảnh 2D, nâng cao tỷ lệ chính xác trong bóng tối lên $> 99%$.
- Bổ sung module truyền thông không dây ESP32/Wi-Fi để đẩy dữ liệu lịch sử đóng mở cửa lên Dashboard đám mây (Cloud Server) và gửi tin nhắn cảnh báo có hình ảnh kẻ gian về ứng dụng Telegram/Zalo của người dùng.
Đối tượng hưởng lợi
- Sinh viên & Học viên ngành Điện tử - Viễn thông, Tự động hóa, CNTT: Nguồn tài liệu học thuật thực nghiệm giá trị cao về lập trình nhúng vi điều khiển 32-bit (STM32/Keil C), thiết kế phần cứng theo chuẩn công nghiệp trên Altium, và kỹ thuật kết nối hệ thống nhúng với thị giác máy tính Python.
- Kỹ sư phát triển hệ thống IoT (Developers): Cung cấp mẫu kiến trúc mã nguồn mở chuẩn xác về giao thức bắt tay dữ liệu qua UART, thuật toán quét ma trận phím chống dội (Debounce) và phương pháp tính khoảng cách vector Euclidean trong xác thực sinh trắc học.
- Doanh nghiệp vừa và nhỏ, Đơn vị lắp đặt Smarthome: Cơ hội tiếp cận giải pháp kiểm soát cửa đa phương thức chi phí thấp, linh kiện dễ tìm kiếm, sẵn sàng nội địa hóa và tùy biến theo yêu cầu của từng tòa nhà.
- Nhà nghiên cứu ứng dụng AI biên (Edge AI Researchers): Cung cấp các số liệu thực nghiệm đo kiểm về độ lệch góc mặt, sự suy giảm độ chính xác theo khoảng cách quang học và ảnh hưởng của công suất nguồn đến độ tin cậy của phần cứng.
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ì?
Phía máy chủ/máy tính xử lý hình ảnh cần tối thiểu CPU Intel Core i3 (hoặc tương đương), 4GB RAM, 01 cổng USB 2.0 để kết nối Webcam 1080p và 01 cổng USB cắm mạch chuyển đổi USB-UART. Phía phần cứng nhúng cần nguồn $12\text{V} - 2\text{A}$ trở lên, Kit STM32F103C8T6 (RAM 20KB, Flash 64KB), module AS608 và khóa điện từ $12\text{VDC}$.
2. Giới hạn khoảng cách và góc nhìn nhận diện tối ưu của camera là bao nhiêu?
Khoảng cách nhận diện đạt độ chính xác tối ưu ($> 90%$) là từ $50\text{cm}$ đến $100\text{cm}$ với góc nhìn thẳng. Khi khuôn mặt nghiêng quá $45^\circ$, tỷ lệ nhận diện giảm xuống dưới $78%$ và hệ thống sẽ tự động bỏ qua khung hình (gán nhãn Unknown) nếu góc quay vượt quá $90^\circ$ do không trích xuất đủ các điểm mốc (Landmarks) sinh trắc học.
3. Hệ thống có thể tích hợp vào các loại cửa gỗ, cửa kính hay cửa chống cháy hiện có không?
Có. Cơ chế kích hoạt đóng/mở của hệ thống là tiếp điểm Relay đóng cắt nguồn điện $12\text{VDC}$. Do đó, mạch điều khiển có thể đấu nối linh hoạt với mọi loại cơ cấu chấp hành phổ biến trên thị trường như: Khóa chốt rơi (Dropbolt Lock), Khóa hít nam châm điện từ (Magnetic Lock) cho cửa kính, hoặc Khóa tay gạt motor điện cho cửa gỗ và cửa nhôm xingfa.
4. Chi phí bảo trì và độ bền linh kiện như thế nào?
Module quang học AS608 có tuổi thọ quét lên tới hơn 1.000.000 lần. Khóa điện từ và mạch STM32 có độ bền hoạt động liên tục (MTBF) trên 3 năm trong điều kiện nhiệt độ phòng. Chi phí bảo trì chủ yếu là vệ sinh định kỳ mặt kính cảm biến vân tay và ống kính webcam bằng khăn mềm chống tĩnh điện.
5. Dự toán chi phí và thời gian thu hồi vốn (ROI) khi triển khai thực tế?
Chi phí hoàn thiện trọn gói một bộ khóa mẫu dao động từ 800.000 đến 1.200.000 VNĐ (đã bao gồm vỏ hộp bảo vệ mica/nhôm). So với việc đầu tư hệ thống kiểm soát cửa thương mại có tính năng tương đương (từ 5.000.000 VNĐ/cửa), dự án giúp tiết kiệm ngay $75%$ chi phí đầu tư ban đầu, thu hồi vốn ngay từ thời điểm nghiệm thu đưa vào vận hành.
Kết luận
Đồ án tốt nghiệp "Thiết kế hệ thống cửa thông minh sử dụng nhận diện khuôn mặt" của sinh viên Khoa Điện tử - Đại học Công nghiệp Hà Nội đã hoàn thành toàn diện các mục tiêu nghiên cứu và chế tạo thực nghiệm. Dự án không chỉ làm chủ kỹ thuật trích xuất đặc trưng khuôn mặt HOG kết hợp mạng nơ-ron sâu trên nền tảng Python/OpenCV/Dlib, mà còn hiện thực hóa thành công mô hình phần cứng nhúng hoàn chỉnh trên vi điều khiển STM32F103C8T6 với 3 lớp bảo mật độc lập: Khuôn mặt, Vân tay AS608 và Mã số PIN.
Các kết quả đo kiểm chứng minh hệ thống hoạt động ổn định, độ trễ thấp, tính khả thi cao và hoàn toàn có thể ứng dụng trực tiếp vào các mô hình nhà ở thông minh, văn phòng cơ quan với chi phí tối ưu. Đây là bước đệm vững chắc để nhóm tiếp tục hoàn thiện các thuật toán chống giả mạo khuôn mặt (Anti-spoofing) và tích hợp kết nối vạn vật IoT trong tương lai.