Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 đã thúc đẩy mạnh mẽ quá trình chuyển đổi số trong các hệ thống an ninh và tự động hóa tòa nhà. Theo các báo cáo thị trường công nghệ nhà thông minh (Smart Home), nhu cầu về các giải pháp kiểm soát truy cập sinh trắc học không tiếp xúc tăng trưởng trung bình hàng năm (CAGR) trên 18.5%. Các giải pháp truyền thống như khóa cơ khí hoặc thẻ từ RFID bộc lộ nhiều lỗ hổng: dễ thất lạc chìa, khả năng bị sao chép mã khóa cao và hoàn toàn thiếu cơ chế giám sát từ xa theo thời gian thực.
Đề tài "Thiết kế và thi công SmartKey-IoT tích hợp công nghệ xử lý ảnh và trí tuệ nhân tạo (AI) để nhận diện khuôn mặt" do sinh viên Huỳnh Tuấn Kiệt thực hiện dưới sự hướng dẫn của TS. Nguyễn Văn Thái (Khoa Điện – Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM) và sự tài trợ phần cứng từ 3DVisionLab được triển khai nhằm giải quyết triệt để các hạn chế trên. Hệ thống thiết lập mô hình bảo mật đa tầng, kết hợp sức mạnh tính toán biên (Edge AI) trên NVIDIA Jetson Nano, năng lực điều khiển thời gian thực của vi điều khiển ESP32, màn hình tương tác HMI DWIN và ứng dụng di động đa nền tảng viết bằng React Native.
Mục tiêu dự án
- Thiết kế phần cứng hoàn chỉnh: Chế tạo board mạch PCB tích hợp vi điều khiển ESP32-WROOM-32E, mạch chuyển đổi nguồn cách ly (220VAC sang 5VDC/3.3VDC), mạch giao tiếp cảm biến tiệm cận NPN và module điều khiển cơ cấu chấp hành khóa.
- Triển khai mô hình AI trên nền tảng nhúng: Xây dựng pipeline thị giác máy tính trên kit NVIDIA Jetson Nano, thực hiện phát hiện khuôn mặt, trích xuất đặc trưng 128 chiều và phân loại ảnh thật/giả (Anti-Spoofing / Liveness Detection).
- Phát triển hệ thống IoT Full-stack: Thiết kế kiến trúc Backend RESTful API với Node.js/Express, cơ sở dữ liệu MySQL và ứng dụng di động đa nền tảng sử dụng React Native & Expo framework.
- Tích hợp giao diện điều khiển HMI: Thiết kế giao diện cảm ứng trên màn hình thông minh DWIN thông qua phần mềm DGUS, giao tiếp dữ liệu thời gian thực với vi điều khiển qua giao thức UART.
Phương pháp tiếp cận và kết quả kỳ vọng
- Kiến trúc phân tầng xử lý: Tách biệt tác vụ tính toán AI nặng (chạy trên GPU Maxwell 128 nhân của Jetson Nano) và tác vụ điều khiển I/O chấp hành yêu cầu độ trễ thấp (chạy trên ESP32 Dual-Core 240MHz).
- Chỉ số đo lường kỳ vọng:
- Thời gian phản hồi nhận diện khuôn mặt: $\le 1.2\text{s}$.
- Độ chính xác nhận diện ($Accuracy$): $\ge 95%$ trong điều kiện ánh sáng chuẩn.
- Tỷ lệ phát hiện ảnh giả mạo (Anti-spoofing): $\ge 92%$.
- Thời gian trễ lệnh điều khiển từ Mobile App qua Internet: $\le 800\text{ms}$.
Phạm vi và giới hạn đề tài
- Hệ thống áp dụng camera Xiaomi Xiaovv XVV-6320S truyền luồng video về Jetson Nano qua mạng cục bộ.
- Cảm biến tiệm cận công nghiệp LJ12A3-4-Z/BX phát hiện trạng thái đóng/mở cửa trong cự ly $0 - 4\text{mm}$.
- Hệ thống định tuyến luồng mạng ra ngoài Internet thông qua kỹ thuật cấu hình Port Forwarding (TCP/HTTP).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Tiêu chí |
Khóa cơ truyền thống |
Khóa số / Thẻ từ RFID |
Khóa Cloud Face AI |
Hệ thống SmartKey-IoT (Đề tài) |
| Phương thức xác thực |
Chìa cơ khí |
Mã PIN / Thẻ tần số 13.56MHz |
Nhận diện đẩy ảnh lên Cloud |
Nhận diện Edge AI + HMI + App |
| Bảo mật sinh trắc học |
Không có |
Không có |
Có (dễ nghẽn băng thông) |
Có (Xử lý Offline + Liveness test) |
| Giám sát từ xa |
Không hỗ trợ |
Giới hạn qua Bluetooth |
Có qua Mobile App |
Có (Full Stream Video + Log I/O) |
| Độ trễ xử lý |
Phụ thuộc thao tác tay |
$200 - 500\text{ms}$ |
$1.5 - 3.5\text{s}$ (phụ thuộc mạng) |
$< 1.0\text{s}$ (Xử lý trực tiếp tại biên) |
| Rủi ro giả mạo |
Cạy phá ổ, đánh chìa |
Sao chép thẻ RFID, lộ PIN |
Bị đánh lừa bởi ảnh in 2D |
Chống ảnh giả mạo bằng AI |
Ma trận ưu tiên yêu cầu người dùng (MoSCoW)
- Must-have (Bắt buộc): Mở khóa bằng khuôn mặt; Mở khóa bằng mã PIN trên màn hình DWIN; Mở khóa từ xa qua App di động; Tự động khóa khi đóng cửa (qua cảm biến LJ12A3-4-Z/BX).
- Should-have (Nên có): Chức năng phân biệt khuôn mặt người thật và ảnh in 2D (Anti-spoofing); Truyền hình ảnh camera thời gian thực về ứng dụng di động; Quản lý cơ sở dữ liệu nhật ký đóng mở.
- Could-have (Có thể có): Đổi mật khẩu màn hình DWIN trực tiếp từ giao diện Mobile App.
- Won't-have (Tạm hoãn): Cấp phát Wi-Fi cho ESP32 qua giao diện AP Mode trên app (SmartConfig); Gửi mã OTP xác thực qua Email.
Thiết kế hệ thống
Technology Stack & Versions
- Hardware: Microcontroller ESP32-WROOM-32E (240MHz, 520KB SRAM); NVIDIA Jetson Nano Developer Kit B01 (4GB LPDDR4, 128-core Maxwell GPU); Màn hình DWIN 4.3 inch HMI (T5L0 ASIC, độ phân giải 800x480).
- Edge AI & Computer Vision: Python 3.8.10; OpenCV 4.8.0;
face_recognition 1.3.0 (dlib C++ toolkit); CUDA 10.6 & cuDNN 8.0.
- Backend & Cloud: Node.js v18.16.0 LTS; Express.js v4.18.2; XAMPP Server v8.2.4 (Apache 2.4.56, MariaDB/MySQL 10.4.28).
- Mobile Client: React Native v0.72.6; Expo SDK v49.0.0; Axios HTTP Client; React Navigation v6.
- CAD & PCB Design: KiCAD EDA v7.0.8; SolidWorks 2022 SP3.0.
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL bao gồm các bảng cốt lõi:
CREATE TABLE `users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(255) NOT NULL,
`full_name` VARCHAR(100) NOT NULL,
`role` ENUM('admin', 'user') DEFAULT 'user',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `lock_logs` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` INT NULL,
`method` ENUM('face_ai', 'dwin_pin', 'mobile_app', 'auto_sensor') NOT NULL,
`status` ENUM('success', 'failed') NOT NULL,
`timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE `system_config` (
`key_name` VARCHAR(50) PRIMARY KEY,
`key_value` VARCHAR(255) NOT NULL,
`updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Đặc tả API Endpoints
// POST /api/door/unlock
// Request Header: Content-Type: application/json
{
"device_id": "ESP32_01",
"secret_token": "a8f5c9e2b1",
"command": "OPEN_DOOR",
"source": "mobile_app"
}
// Response Status: 200 OK
{
"status": "success",
"message": "Door unlock command queued",
"timestamp": "2024-06-15T08:30:00Z"
}
Phương pháp nghiên cứu và tiến trình (Methodology)
Dự án áp dụng mô hình phát triển tích hợp phần cứng - phần mềm theo lịch trình 17 tuần:
Implementation và kết quả
Quy trình phát triển phần mềm và thuật toán
1. Pipeline xử lý ảnh và nhận diện khuôn mặt trên Jetson Nano
Thuật toán phân tích khung hình video sử dụng cơ chế xử lý đa luồng (threading) trong Python để tách biệt luồng thu nhận khung hình RTSP từ camera và luồng tính toán AI. Kỹ thuật này triệt tiêu tình trạng nghẽn pipeline khung hình (frame buffer drop) và giảm độ trễ xử lý xuống tối đa.
import cv2
import face_recognition
import numpy as np
import serial
import threading
import time
# Khởi tạo giao tiếp UART với ESP32
ser = serial.Serial('/dev/ttyTHS1', 115200, timeout=1)
known_face_encodings = []
known_face_names = []
def load_face_encodings():
# Nạp dữ liệu khuôn mặt và tính toán vector 128 chiều
image_user = face_recognition.load_image_file("dataset/authorized_user.jpg")
encoding = face_recognition.face_encodings(image_user)[0]
known_face_encodings.append(encoding)
known_face_names.append("Authorized_Admin")
def liveness_detection(face_roi):
# Kiểm tra biến thiên tần số Laplacian để lọc ảnh in 2D / màn hình kỹ thuật số
gray = cv2.cvtColor(face_roi, cv2.COLOR_BGR2GRAY)
variance_of_laplacian = cv2.Laplacian(gray, cv2.CV_64F).var()
# Ngưỡng sắc nét phân biệt màn hình/ảnh in so với thực tế
return variance_of_laplacian > 110.0
def ai_processing_loop():
video_capture = cv2.VideoCapture("rtsp://admin:pass@192.168.1.100:554/live/ch0")
while True:
ret, frame = video_capture.read()
if not ret:
continue
small_frame = cv2.resize(frame, (0, 0), fx=0.25, fy=0.25)
rgb_small_frame = cv2.cvtColor(small_frame, cv2.COLOR_BGR2RGB)
face_locations = face_recognition.face_locations(rgb_small_frame)
face_encodings = face_recognition.face_encodings(rgb_small_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = face_recognition.compare_faces(known_face_encodings, face_encoding, tolerance=0.48)
# Khôi phục tọa độ gốc trên khung hình chuẩn
top *= 4; right *= 4; bottom *= 4; left *= 4
face_roi = frame[top:bottom, left:right]
if True in matches:
if liveness_detection(face_roi):
# Gửi ký tự 'O' (Open) qua UART sang ESP32
ser.write(b'O\n')
time.sleep(3) # Tránh kích hoạt liên tục
else:
print("Cảnh báo: Phát hiện khuôn mặt giả mạo (Fake Photo/Screen)!")
load_face_encodings()
ai_thread = threading.Thread(target=ai_processing_loop)
ai_thread.daemon = True
ai_thread.start()
2. Lập trình tác vụ điều khiển thời gian thực trên ESP32
Vi điều khiển ESP32 sử dụng FreeRTOS với mô hình thực thi song song:
- Task 1 (HTTP Task): Polling định kỳ $300\text{ms}$ lên Express API Server để lấy lệnh mở khóa từ xa và đồng bộ cấu hình mã PIN.
- Task 2 (UART & Actuator Task): Đọc lệnh nối tiếp từ Jetson Nano (
Serial1) và màn hình HMI DWIN (Serial2), đồng thời đọc tín hiệu ngắt từ cảm biến tiệm cận LJ12A3-4-Z/BX để điều khiển Relay kích cuộn hút khóa.
#include <WiFi.h>
#include <HTTPClient.h>
#include <HardwareSerial.h>
#define RELAY_PIN 23
#define SENSOR_PIN 19
HardwareSerial dwinSerial(2); // UART2: GPIO16 (RX), GPIO17 (TX)
HardwareSerial jetsonSerial(1); // UART1: GPIO4 (RX), GPIO5 (TX)
const char* serverUrl = "http://192.168.1.50:3000/api/door/status";
void openDoorMechanism() {
digitalWrite(RELAY_PIN, HIGH);
vTaskDelay(3000 / portTICK_PERIOD_MS); // Giữ trạng thái mở trong 3 giây
digitalWrite(RELAY_PIN, LOW);
}
void httpPollingTask(void * pvParameters) {
while(1) {
if(WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(serverUrl);
int httpCode = http.GET();
if (httpCode == HTTP_CODE_OK) {
String payload = http.getString();
if(payload.indexOf("\"unlock_requested\":true") > 0) {
openDoorMechanism();
}
}
http.end();
}
vTaskDelay(300 / portTICK_PERIOD_MS);
}
}
void setup() {
pinMode(RELAY_PIN, OUTPUT);
pinMode(SENSOR_PIN, INPUT_PULLUP);
digitalWrite(RELAY_PIN, LOW);
Serial.begin(115200);
jetsonSerial.begin(115200, SERIAL_8N1, 4, 5);
dwinSerial.begin(115200, SERIAL_8N1, 16, 17);
WiFi.begin("SSID_Home", "SecurePassword");
xTaskCreatePinnedToCore(httpPollingTask, "HTTP_Task", 4096, NULL, 1, NULL, 0);
}
void loop() {
// Đọc tín hiệu từ Jetson Nano
if (jetsonSerial.available()) {
char cmd = jetsonSerial.read();
if (cmd == 'O') {
openDoorMechanism();
}
}
// Đọc mã hex gửi từ màn hình DWIN DGUS qua UART2
if (dwinSerial.available() >= 6) {
byte buffer[6];
dwinSerial.readBytes(buffer, 6);
// Header DWIN: 0x5A 0xA5 -> Check Password Address
if (buffer[0] == 0x5A && buffer[1] == 0xA5 && buffer[4] == 0x01) {
openDoorMechanism();
}
}
}
Kết quả đo lường và đánh giá hiệu năng
Hệ thống đã trải qua quy trình kiểm thử với 200 lượt đóng/mở cửa trong nhiều điều kiện môi trường:
| Kịch bản kiểm thử |
Số mẫu test |
Tỷ lệ thành công (%) |
Thời gian phản hồi trung bình (ms) |
Ghi chú kỹ thuật |
| Khuôn mặt chính diện (Góc $0^{\circ}$) |
50 |
98.0% |
$840\text{ms}$ |
Ánh sáng văn phòng $350\text{ lux}$ |
| Khuôn mặt nghiêng góc ($15^{\circ} - 30^{\circ}$) |
50 |
92.0% |
$980\text{ms}$ |
HOG + ResNet Embedding |
| Tấn công ảnh in 2D (Anti-spoofing) |
40 |
95.0% (Chặn đứng) |
$720\text{ms}$ |
Phân tích biến thiên Laplacian |
| Nhập mã PIN trên màn hình DWIN |
30 |
100.0% |
$120\text{ms}$ |
Giao tiếp UART tốc độ 115200bps |
| Mở khóa qua Mobile App (Wi-Fi nội bộ) |
30 |
100.0% |
$340\text{ms}$ |
Node.js Express REST API |
Đổi mới và đóng góp
Các cải tiến kỹ thuật nổi bật
- Kiến trúc tính toán biên kép (Edge-MCU Split Architecture): Thay vì sử dụng vi điều khiển để vừa nhận dạng ảnh vừa điều khiển chấp hành (dễ gây quá tải bộ nhớ và sụt áp), hệ thống phân tách hoàn toàn tầng tính toán nơ-ron sang Jetson Nano và giao phó tầng chấp hành an toàn cho ESP32.
- Thuật toán kiểm định tính sống (Liveness Test) nhẹ trên thiết bị nhúng: Sử dụng bộ lọc biến thiên tần số gradient nhằm phát hiện ảnh in trên giấy bóng hoặc màn hình điện thoại mà không cần thêm cảm biến hồng ngoại 3D đắt đỏ, giúp giảm hơn 40% chi phí sản xuất phần cứng.
- Giao diện HMI độc lập phần cứng: Việc tích hợp màn hình DWIN chạy chip chuyên dụng T5L0 giúp giải phóng 100% tài nguyên render đồ họa của vi điều khiển, giao tiếp qua 2 dây UART với khung truyền chuẩn công nghiệp.
So sánh với các giải pháp hiện hành
| Đặc điểm kỹ thuật |
Khóa thương mại phổ thông (Tuya/Xiaomi) |
Khóa nghiên cứu ESP32-CAM |
SmartKey-IoT (Đề tài) |
| Xử lý AI |
Đám mây (Cloud-based) |
Cục bộ (Haar Cascade cơ bản) |
Biên (Edge AI GPU Jetson Nano) |
| Chống giả mạo 2D |
Giới hạn ở bản cao cấp |
Hoàn toàn không có |
Tích hợp thuật toán Laplacian Filter |
| Khả năng tùy biến giao diện |
Cố định từ nhà sản xuất |
Không có màn hình HMI |
Màn hình DWIN tùy biến GUI linh hoạt |
| Quyền riêng tư dữ liệu |
Thuộc máy chủ bên thứ ba |
Lưu thẻ SD cục bộ |
Tự lưu trữ trên máy chủ MySQL riêng |
Ứ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 & Biệt thự: Cung cấp trải nghiệm mở cửa không chạm (Hands-free access) khi chủ nhà xách đồ đạc nặng, đồng thời cảnh báo các hành vi sử dụng ảnh in để mở cửa trái phép.
- Phòng máy chủ & Trung tâm dữ liệu (Server Room): Kiểm soát truy cập nghiêm ngặt của kỹ sư hệ thống, lưu vết toàn bộ dữ liệu ra vào kèm mốc thời gian vào cơ sở dữ liệu để phục vụ kiểm toán an ninh.
- Văn phòng làm việc & Co-working Space: Tích hợp quản lý nhân sự từ xa, cho phép ban quản trị phân quyền ra vào hoặc đổi mã PIN bàn phím thông qua ứng dụng di động mà không cần can thiệp trực tiếp vào ổ khóa.
Hướng dẫn triển khai kỹ thuật
- Thiết lập hệ điều hành Jetson Nano:
- Sử dụng phần mềm SD Card Formatter để định dạng thẻ nhớ MicroSD 64GB (Class 10 U3).
- Nạp hình ảnh hệ điều hành JetPack 4.6 (Ubuntu 18.04 LTS) bằng balenaEtcher.
- Cài đặt thư viện:
sudo apt-get install python3-pip cmake libopenblas-dev liblapack-dev libjpeg-dev.
- Lắp ráp và kết nối phần cứng:
- Cấp nguồn $5\text{VDC} - 3\text{A}$ cho Jetson Nano qua jack nguồn DC (chuyển jumper J48 sang chế độ nguồn ngoài).
- Đấu nối cổng UART giữa ESP32 và Jetson Nano (Chân GPIO4 ESP32 nối chân TXD Pin 8 Jetson, GPIO5 nối RXD Pin 10 Jetson, chung GND).
- Kết nối màn hình DWIN với cổng UART2 của ESP32 qua mạch chuyển đổi mức tín hiệu TTL.
- Cấu hình mạng và dịch vụ:
- Triển khai Backend Node.js trên máy chủ cục bộ, bật Apache và MySQL trên XAMPP.
- Cấu hình Port Forwarding trên Router mạng: Chuyển tiếp cổng
3000 (API) và 8080 (Camera Stream) tới địa chỉ IP tĩnh của máy chủ.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Độ nhạy sáng của Camera: Camera Xiaomi tiêu chuẩn suy giảm độ chính xác khi độ rọi môi trường xuống dưới $10\text{ lux}$ (thiếu module chiếu sáng hồng ngoại IR chuyên dụng).
- Độ trễ truyền luồng RTSP: Luồng hình ảnh từ camera Xiaomi qua mạng Wi-Fi đôi khi có độ trễ dao động từ $300 - 600\text{ms}$ tùy thuộc vào độ ổn định của router trung tâm.
- Quy trình gán mạng cho ESP32: Hiện tại ESP32 được gán cứng SSID và mật khẩu mạng Wi-Fi trong mã nguồn, chưa có giao diện cấu hình mạng thông minh (SmartConfig/BLE Provisioning) trên App.
Hướng phát triển tương lai
- Tích hợp Camera 3D ToF hoặc Dual-Lens IR: Nâng cấp phần cứng camera lên loại hỗ trợ cảm biến chiều sâu (Time-of-Flight) hoặc dải quang phổ hồng ngoại để nhận diện tốt trong bóng tối và nâng độ chính xác liveness lên $99.9%$.
- Chuyển đổi giao thức sang MQTT / WebRTC: Thay thế cơ chế HTTP Polling giữa ESP32 và Server bằng giao thức nhẹ MQTT (Message Queuing Telemetry Transport) và truyền luồng video camera qua WebRTC nhằm giảm độ trễ xuống dưới $100\text{ms}$.
- Tối ưu hóa mô hình AI với TensorRT: Chuyển đổi mô hình ResNet-34 từ
dlib sang định dạng ONNX và tối ưu bằng NVIDIA TensorRT để tăng tốc độ suy luận (Inference Speed) lên gấp 3 lần trên Jetson Nano.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành Tự động hóa, IoT: Tài liệu cung cấp thiết kế mẫu hoàn chỉnh từ mạch in PCB (KiCAD), cơ cấu cơ khí (SolidWorks) đến thuật toán nhúng trên Jetson Nano và ESP32.
- Kỹ sư phát triển hệ thống nhúng (Embedded Developers): Nắm bắt được phương pháp phân tách kiến trúc đa luồng, kỹ thuật giao tiếp liên vi điều khiển (Inter-MCU Communication) qua UART và cơ chế điều khiển FreeRTOS.
- Doanh nghiệp & Startup Smarthome: Mô hình giải pháp có tính khả thi thương mại cao, chi phí phần cứng tối ưu ($< 3.5\text{ triệu VNĐ}$ cho toàn bộ linh kiện), dễ dàng tích hợp vào hệ sinh thái quản lý tòa nhà có sẵn.
- Nhà nghiên cứu Thị giác máy tính (AI Researchers): Dữ liệu thực nghiệm về thuật toán kiểm định tính sống (Liveness Detection) và hiệu năng suy luận mô hình sinh trắc học trên các nền tảng phần cứng giới hạn năng lượng.
Câu hỏi thường gặp
1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?
Hệ thống yêu cầu tối thiểu 01 kit máy tính nhúng NVIDIA Jetson Nano (phiên bản 2GB hoặc 4GB RAM), 01 module ESP32-WROOM-32E, 01 màn hình DWIN HMI 4.3 inch (giao tiếp UART), 01 camera IP hỗ trợ chuẩn luồng RTSP 1080p, 01 cảm biến tiệm cận kim loại NPN, 01 khóa điện từ/khóa chốt 12VDC và bộ nguồn cách ly hạ áp đáp ứng dòng tải đỉnh $5\text{V} - 4\text{A}$.
2. Hệ thống có thể mở rộng lưu trữ bao nhiêu khuôn mặt người dùng?
Mỗi khuôn mặt người dùng được lưu trữ dưới dạng một vector đặc trưng 128 số thực (128-dimensional embedding, kích thước ~512 bytes). Với bộ nhớ eMMC/MicroSD 32GB trên Jetson Nano, hệ thống có thể lưu trữ hơn 100,000 hồ sơ khuôn mặt mà không gây ảnh hưởng đến hiệu năng truy xuất cơ sở dữ liệu.
3. Nếu mất kết nối Internet, hệ thống có tiếp tục hoạt động không?
Có. Hệ thống được thiết kế theo nguyên lý bảo mật cục bộ (Local Edge Autonomy). Toàn bộ quá trình nhận diện khuôn mặt trên Jetson Nano và nhập mã PIN trên màn hình HMI DWIN giao tiếp trực tiếp với ESP32 qua UART nội bộ. Cửa vẫn mở bình thường ngay cả khi mất toàn bộ kết nối mạng Internet. Chỉ tính năng điều khiển và xem video từ xa qua Mobile App bị tạm gián đoạn.
4. Chi phí bảo trì và độ bền của thiết bị như thế nào?
Board mạch PCB được thiết kế chuẩn công nghiệp với các diot chỉnh lưu bảo vệ ngược cực và tụ lọc chống nhiễu nguồn. Màn hình HMI DWIN sử dụng kính cường lực chuẩn công nghiệp có độ bền đạt trên 50,000 giờ phát hình. Chi phí bảo trì định kỳ ước tính dưới $5%$ tổng chi phí thiết bị hàng năm, chủ yếu phục vụ việc làm sạch ống kính camera và kiểm tra gioăng cơ khí.
5. Thuật toán phân biệt ảnh thật/giả hoạt động dựa trên nguyên lý nào?
Hệ thống sử dụng toán tử Laplacian để tính toán mức độ phân tán tần số không gian bậc hai trên vùng khuôn mặt (Region of Interest - ROI). Ảnh chụp từ màn hình điện thoại hoặc ảnh in trên giấy phẳng bị suy giảm độ sâu kết cấu tự nhiên của da và xuất hiện hiện tượng gợn vân sóng (Moiré pattern), khiến cho phương sai Laplacian ($\sigma^2$) giảm xuống dưới ngưỡng thực nghiệm, từ đó bị hệ thống từ chối xác thực.
Kết luận
Đề tài "Thiết kế và thi công SmartKey-IoT tích hợp công nghệ xử lý ảnh và trí tuệ nhân tạo (AI) để nhận diện khuôn mặt" đã hiện thực hóa thành công một sản phẩm khóa thông minh hoàn chỉnh, kết hợp hài hòa giữa kỹ thuật điều khiển tự động hóa, trí tuệ nhân tạo biên và công nghệ phần mềm hiện đại. Dự án không chỉ dừng lại ở mô hình lý thuyết mà đã được gia công PCB thực tế, lắp ráp trong vỏ cơ khí chuyên dụng và vượt qua các bài kiểm thử nghiêm ngặt về tốc độ phản hồi cũng như tính chính xác bảo mật.
Giải pháp khẳng định năng lực ứng dụng công nghệ IoT và AI trong việc nâng cao mức độ an toàn cho người sử dụng, tạo tiền đề vững chắc cho việc thương mại hóa hoặc tích hợp vào các nền tảng đô thị thông minh (Smart City) trong tương lai.