Giới thiệu dự án

Thị giác máy tính (Computer Vision) và sinh trắc học (Biometrics) đang chứng kiến sự tăng trưởng vượt bậc với quy mô thị trường nhận diện khuôn mặt toàn cầu dự kiến vượt 12 tỷ USD, đạt tốc độ tăng trưởng kép (CAGR) trên 15%/năm. So với các phương thức xác thực truyền thống như mã PIN, thẻ từ (dễ bị sao chép, mất cắp) hay sinh trắc học tiếp xúc như vân tay (nguy cơ lây nhiễm vi khuẩn, yêu cầu thao tác kiểm soát chủ động), nhận dạng khuôn mặt mang lại trải nghiệm không chạm (contactless) tối ưu và nguồn dữ liệu thị giác phong phú.

Tuy nhiên, việc triển khai các hệ thống nhận dạng khuôn mặt truyền thống thường phụ thuộc vào máy chủ trung tâm (Cloud/Server) cấu hình cao, tiêu tốn băng thông đường truyền và đối mặt với độ trễ mạng lớn. Đồ án "Ứng dụng kit Raspberry nhận dạng mặt người" thuộc ngành Công nghệ Kỹ thuật Điều khiển và Tự động hóa giải quyết triệt để bài toán này bằng cách hiện thực hóa thuật toán thị giác máy tính cục bộ (Edge Computing) trên phần cứng nhúng chi phí thấp.

                    HỆ THỐNG NHẬN DẠNG KHUÔN MẶT NHÚNG
+---------------+      +-------------------+      +-------------------------+
| Camera Pi 5MP | ---> | Raspberry Pi 3 B  | ---> | GPIO 12 -> LED / Relay  |
| (OmniVision)  | CSI  | (Haar + AdaBoost) |      | (Xác thực thành công)   |
+---------------+      +-------------------+      +-------------------------+

Problem Statement & Pain Points

  • Hạn chế tài nguyên phần cứng: Vi xử lý nhúng có xung nhịp và dung lượng RAM giới hạn, không thể xử lý các mô hình học sâu (Deep Learning) nặng nề mà không có bộ tăng tốc AI chuyên dụng.
  • Biến động quang học môi trường: Cường độ ánh sáng không đồng đều (dưới 45 Lux hoặc trên 100 Lux) và góc nghiêng khuôn mặt (Head Pose Yaw/Pitch) làm suy giảm nghiêm trọng độ chính xác của vector đặc trưng.
  • Thời gian đáp ứng thực tế (Real-time Latency): Hệ thống cần đưa ra quyết định đóng/mở điều khiển trong vòng dưới 2 giây để đáp ứng yêu cầu kiểm soát vào ra thực tế.

Mục tiêu dự án

  1. Nghiên cứu và tối ưu hóa giải thuật trích xuất đặc trưng Haar-like và thuật toán phân loại chuỗi Cascade of Classifiers trên nền tảng boosting AdaBoost.
  2. Tích hợp thư viện mã nguồn mở OpenCV (phiên bản 3.0 C++) trên hệ điều hành Raspbian chạy trên nền tảng phần cứng Raspberry Pi 3 Model B.
  3. Thiết kế pipeline tiền xử lý ảnh (chuyển đổi thang độ xám Grayscale, cân bằng biểu đồ mức xám Histogram Equalization, nội suy Bicubic).
  4. Xây dựng module trích xuất, đăng ký cơ sở dữ liệu mẫu khuôn mặt (50 frames/đối tượng) và cơ chế so khớp nhận dạng đối tượng.
  5. Thiết kế mạch điều khiển ngoại vi qua giao tiếp GPIO (General Purpose Input/Output) để kích hoạt cơ cấu chấp hành (LED/Khóa điện từ) khi nhận dạng thành công.

Solution Approach & Justification

Nhóm nghiên cứu lựa chọn kiến trúc dựa trên Đặc trưng Haar-like kết hợp thuật toán AdaBoost và Cascade Classifier viết bằng C++:

  • Tối ưu hóa thời gian tính: Khái niệm ảnh tích phân (Integral Image / Summed Area Table - SAT) cho phép tính tổng pixel của bất kỳ vùng chữ nhật nào chỉ với 4 phép truy xuất bộ nhớ, giảm độ phức tạp tính toán từ $O(W \times H)$ xuống $O(1)$.
  • Hiệu năng ngôn ngữ C++: Sử dụng C++ nguyên bản với lớp quản lý bộ nhớ tự động cv::Mat thay vì Python giúp triệt tiêu hoàn toàn chi phí thông dịch (Interpreter Overhead), tối đa hóa 4 nhân ARM Cortex-A53.

Expected Outcomes & Measurable Metrics

  • Tỷ lệ phát hiện khuôn mặt (Face Detection Rate): $\ge 95%$ trong điều kiện góc nghiêng $\le 20^\circ$.
  • Tỷ lệ nhận dạng chính xác đối tượng (Recognition Accuracy): $\ge 90%$ tại điều kiện chiếu sáng tiêu chuẩn ($\approx 110\text{ Lux}$).
  • Ngưỡng phát hiện liên tiếp chống nhiễu (Verification Window): Xác thực đúng 15 khung hình liên tục trước khi kích hoạt tín hiệu GPIO mức cao.

Phạm vi và giới hạn (Scope & Limitations)

  • Góc quay đầu: Tối ưu cho góc nhìn thẳng và nghiêng góc hẹp (Yaw $\le 20^\circ$, góc nghiêng lớn $45^\circ$ độ chính xác suy giảm).
  • Chiếu sáng hoạt động: Khuyến nghị trong dải $40\text{ Lux} - 110\text{ Lux}$.
  • Nhận dạng đơn mục tiêu: Tại một thời điểm, thuật toán tiến hành so khớp với 1 hồ sơ cơ sở dữ liệu đã kích hoạt.

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

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

Tiêu chí so sánh Khóa thẻ từ / Vân tay truyền thống Nhận dạng khuôn mặt Cloud AI Hệ thống Haar-AdaBoost trên Raspberry Pi (Đề tài)
Tính tiện dụng & Không chạm Thấp (Bắt buộc tiếp xúc vật lý) Rất cao Rất cao
Chi phí triển khai phần cứng Thấp ($15 - $40) Rất cao (Cần Server AI/GPU) Tiết kiệm ($60 - $80)
Phụ thuộc kết nối Internet Không Bắt buộc (Ngừng hoạt động khi mất mạng) Độc lập hoàn toàn (Edge Computing)
Độ trễ xử lý (Latency) Tức thì ($< 200\text{ms}$) Phụ thuộc mạng ($500\text{ms} - 3000\text{ms}$) Thấp ($< 500\text{ms}$ nội bộ)
Bảo mật quyền riêng tư Trung bình Rủi ro rò rỉ dữ liệu qua Cloud Tuyệt đối (Dữ liệu lưu cục bộ trên thẻ SD)

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Chụp ảnh qua camera CSI 5MP; trích xuất Haar-like; cân bằng Histogram; xác thực đúng đối tượng đạt $\ge 85%$; xuất tín hiệu mức cao ra GPIO 12.
  • Should Have (Nên có): Bộ đếm khung hình chống nhận dạng giả (15 lần xác thực liên tiếp saysomething()); xử lý đa luồng qua make -j4.
  • Could Have (Có thể có): Hỗ trợ nhận diện đồng thời nhiều khuôn mặt trên khung hình.
  • Won't Have (Chưa thực hiện): Nhận diện khuôn mặt xoay góc nghiêng $90^\circ$ (Profile face) hoặc nhận diện trong bóng tối hoàn toàn (0 Lux).

Thiết kế hệ thống

+-------------------------------------------------------------------------------+
|                             KIẾN TRÚC PHẦN CỨNG                              |
|                                                                               |
|  +--------------------+         15-pin FFC          +----------------------+  |
|  | Module Camera Pi   | --------------------------> | Raspberry Pi 3 B     |  |
|  | Sensor: OV5647 5MP |       CSI-2 Protocol        | SoC: BCM2837 1.2GHz  |  |
|  +--------------------+                             | RAM: 1GB LPDDR2      |  |
|                                                     +----------------------+  |
|                                                                |              |
|                                                                | GPIO 12      |
|                                                                v              |
|                                                     +----------------------+  |
|                                                     | Mạch chỉ thị LED /   |  |
|                                                     | Transistor Driver    |  |
|                                                     +----------------------+  |
+-------------------------------------------------------------------------------+

Technology Stack & Versioning

  • Phần cứng xử lý trung tâm: Raspberry Pi 3 Model B (SoC Broadcom BCM2837, 4 nhân 64-bit ARM Cortex-A53 @ 1.2GHz, GPU Broadcom VideoCore IV @ 400MHz, 1GB LPDDR2 SDRAM).
  • Cảm biến hình ảnh: Raspberry Pi Camera Module v1 (OmniVision OV5647 CMOS 5 Megapixel, hỗ trợ quay video 1080p@30fps, 720p@60fps, giao tiếp Flat Ribbon Cable qua cổng CSI).
  • Hệ điều hành: Raspbian OS (Debian Jessie Kernel 4.x).
  • Thư viện thị giác máy tính: OpenCV 3.0.0 / 3.1.0 (biên dịch từ mã nguồn tối ưu hóa cho tập lệnh ARM).
  • Trình biên dịch & Ngôn ngữ: GNU Compiler Collection (GCC/G++ v4.9+), Ngôn ngữ C++11.

Methodology

Quy trình phát triển hệ thống tuân theo phương pháp tiếp cận mẫu thử lặp lại (Prototyping Methodology):

[ Nghiên cứu thuật toán ] -> [ Thiết kế Pipeline tiền xử lý ] -> [ Xây dựng tập Dataset ] -> [ Benchmark & Tối ưu ] -> [ Tích hợp GPIO ]

Đánh giá rủi ro và giải pháp khắc phục (Risk Assessment)

  • Hiện tượng quá nhiệt vi xử lý: BCM2837 có thể giảm xung nhịp khi nhiệt độ vượt $80^\circ\text{C}$ $\rightarrow$ Bổ sung tản nhiệt nhôm thụ động và quạt 5V.
  • Biến động cường độ ánh sáng làm sai lệch vector: Ánh sáng phòng thay đổi từ 40 Lux đến 110 Lux $\rightarrow$ Tích hợp thuật toán equalizeHist() tự động chuẩn hóa hàm phân phối mật độ xác suất mức xám.

Implementation và kết quả

Development Process & Key Algorithms

1. Nguyên lý tính ảnh tích phân (Integral Image)

Để tính nhanh các đặc trưng Haar-like cơ bản (Edge, Line, Center-surround features), giải thuật xây dựng bảng ảnh tích phân $SAT(x, y)$:

$$SAT(x, y) = \sum_{x' \le x, ; y' \le y} I(x', y')$$

Tổng mức xám trong bất kỳ vùng chữ nhật $D$ có 4 đỉnh $(P_1, P_2, P_3, P_4)$ được tính tức thì bằng:

$$\text{Sum}(D) = P_4 - P_2 - P_3 + P_1$$

Đối với các đặc trưng xoay nghiêng $45^\circ$, bảng tích phân xoay $RSAT(x,y)$ được áp dụng:

$$RSAT(x, y) = \sum_{x' \le x, ; x' \le x - |y - y'|} I(x', y')$$

  (x1, y1) P1 ----------- P2 (x2, y2)
      |                       |
      |          D            |   Sum(D) = P4 - P2 - P3 + P1
      |                       |
  (x3, y3) P3 ----------- P4 (x4, y4)

2. Thuật toán phân lớp thích nghi AdaBoost

Mỗi bộ phân loại yếu $h_j(x)$ gắn với một đặc trưng $f_j$, một ngưỡng $\theta_j$ và một hệ số phân cực $p_j \in {-1, 1}$:

$$h_j(x) = \begin{cases} 1 & \text{nếu } p_j f_j(x) < p_j \theta_j \ 0 & \text{ngược lại} \end{cases}$$

Trọng số mẫu $w_{t, k}$ được cập nhật lặp để tập trung vào các mẫu phân loại sai:

$$\alpha_t = \frac{1}{2} \ln \left( \frac{1 - \epsilon_t}{\epsilon_t} \right), \quad w_{t+1, k} = \frac{w_{t, k}}{Z_t} \times \exp(-\alpha_t y_k h_t(x_k))$$

Bộ phân loại mạnh (Strong Classifier) cuối cùng là tổng kết hợp tuyến tính:

$$H(x) = \text{sign}\left( \sum_{t=1}^T \alpha_t h_t(x) \right)$$

3. Code Implementation Pipeline C++

Pipeline tiền xử lý hình ảnh và cắt chuẩn hóa khuôn mặt sử dụng thư viện OpenCV C++:

#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>

using namespace cv;
using namespace std;

// Pipeline tiền xử lý và nhận dạng khuôn mặt
void processFacePipeline(Mat& frameInput, CascadeClassifier& faceCascade, Mat& processedFace) {
    Mat grayFrame, equalizedFrame;
    
    // Bước 1: Chuyển đổi không gian màu sang Grayscale
    cvtColor(frameInput, grayFrame, COLOR_BGR2GRAY);
    
    // Bước 2: Cân bằng biểu đồ Histogram triệt tiêu ảnh hưởng ánh sáng
    equalizeHist(grayFrame, equalizedFrame);
    
    // Bước 3: Phát hiện khuôn mặt bằng Cascade Classifier
    vector<Rect> faces;
    faceCascade.detectMultiScale(equalizedFrame, faces, 1.1, 3, 0 | CASCADE_SCALE_IMAGE, Size(30, 30));
    
    if (!faces.empty()) {
        // Tách vùng khuôn mặt ROI (Region of Interest)
        Mat faceROI = equalizedFrame(faces[0]);
        
        // Bước 4: Chuẩn hóa kích thước bằng nội suy Bicubic INTER_CUBIC
        resize(faceROI, processedFace, Size(100, 100), 0, 0, INTER_CUBIC);
    }
}

Logic xác thực đa khung hình (Multi-frame Confirmation) và kích hoạt chân GPIO điều khiển:

int verifyCounter = 0;
const int VERIFY_THRESHOLD = 15;
const double MATCH_THRESHOLD = 4000.0; // Ngưỡng khoảng cách so khớp

void evaluateRecognition(double currentDistance, int gpioPin) {
    if (currentDistance <= MATCH_THRESHOLD) {
        verifyCounter++;
        cout << "[INFO] Phat hien khuon mat dung. Frame lien tiep: " << verifyCounter << endl;
        
        if (verifyCounter >= VERIFY_THRESHOLD) {
            cout << "[SUCCESS] Xac thuc thanh cong! Mo khoa GPIO " << gpioPin << endl;
            // Kích hoạt GPIO 12 lên mức CAO (3.3V)
            // digitalWrite(gpioPin, HIGH);
            // delay(2000);
            // digitalWrite(gpioPin, LOW);
            verifyCounter = 0; // Reset bo dem
        }
    } else {
        verifyCounter = 0; // Reset neu mat dau vet
    }
}

Testing và validation

Quá trình kiểm thử được thực hiện trên tập dữ liệu gồm 10 đối tượng khác nhau. Mỗi đối tượng được thu thập 50 khung hình mẫu dưới các điều kiện góc nhìn và độ rọi sáng đo bằng thiết bị đo chuyên dụng (LightMeter).

Bảng 1: Kết quả phát hiện khuôn mặt theo góc nhìn ở độ sáng 45 Lux

Đối tượng thử nghiệm Nhìn thẳng ($0^\circ$) Nghiêng trái $20^\circ$ Nghiêng trái $45^\circ$ Nghiêng phải $20^\circ$ Nghiêng phải $45^\circ$
Người thứ nhất 98% 96% 93% 95% 92%
Người thứ hai 99% 96% 92% 96% 92%
Người thứ ba 99% 95% 93% 95% 93%
Trung bình 98.67% 95.67% 92.67% 95.33% 92.33%

Bảng 2: Kết quả phát hiện trong trường hợp nhiều khuôn mặt cùng xuất hiện

Kịch bản thử nghiệm 1 khuôn mặt 2 khuôn mặt đồng thời 3 khuôn mặt đồng thời
Hiệu suất phát hiện 99% 97% 94%

Bảng 3: Kết quả nhận dạng chính xác ở độ sáng 40 Lux (Ngưỡng 4000)

Tập dữ liệu kiểm tra Nhìn thẳng ($0^\circ$) Nghiêng trái $20^\circ$ Nghiêng trái $45^\circ$ Nghiêng phải $20^\circ$ Nghiêng phải $45^\circ$
Tập ảnh 1 90% 83% 55% 82% 51%
Tập ảnh 2 91% 81% 52% 82% 54%
Tập ảnh 3 89% 82% 50% 84% 55%
Trung bình 90.0% 82.0% 52.3% 82.67% 53.33%

Bảng 4: Kết quả nhận dạng chính xác ở độ sáng 110 Lux (Ngưỡng 4000)

Tập dữ liệu kiểm tra Nhìn thẳng ($0^\circ$) Nghiêng trái $20^\circ$ Nghiêng trái $45^\circ$ Nghiêng phải $20^\circ$ Nghiêng phải $45^\circ$
Tập ảnh 1 95% 86% 72% 84% 75%
Tập ảnh 2 94% 87% 71% 86% 74%
Tập ảnh 3 94% 84% 74% 89% 72%
Trung bình 94.33% 85.67% 72.33% 86.33% 73.67%

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

  • Hệ thống hoàn thành 85% tổng thể mục tiêu đề ra.
  • Độ chính xác phát hiện khuôn mặt: Đạt trung bình 96%, duy trì ổn định ngay cả khi góc quay đầu biến thiên đến $45^\circ$.
  • Độ chính xác nhận dạng đúng danh tính: Đạt 94.33% ở góc nhìn thẳng và điều kiện ánh sáng tốt (110 Lux), đạt 90.0% ở mức chiếu sáng phòng trung bình (40 Lux).
  • Khả năng vận hành độc lập, tự khởi động và điều khiển GPIO 12 trích xuất mức logic chuẩn 3.3V trong 2 giây để đóng mở tải thành công.

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

  1. Kiến trúc Edge Computing thuần C++ tối ưu trên SoC BCM2837: Thay vì sử dụng các thư viện thông dịch Python phổ biến nhưng chậm chạp, toàn bộ thuật toán được cài đặt trực tiếp bằng C++ kết hợp toán tử ma trận cv::Mat của OpenCV 3.0, giải phóng bộ nhớ tức thì và nâng cao tốc độ tính toán khung hình.
  2. Kỹ thuật lọc nhiễu xác thực 15 khung hình (saysomething verification window): Triệt tiêu tỷ lệ báo động giả (False Alarm) do bóng đổ hoặc biến động biểu cảm nhất thời bằng cách áp dụng thuật toán tích lũy 15 khung hình liên tiếp vượt ngưỡng trước khi kích hoạt ngõ ra phần cứng.
  3. Cơ chế tiền xử lý thích nghi cường độ sáng: Kết hợp cân bằng lược đồ xám equalizeHist() và chuẩn hóa tỷ lệ điểm ảnh bằng nội suy Bicubic 4x4 (INTER_CUBIC), giúp tăng tỷ lệ nhận dạng ở góc nghiêng $45^\circ$ từ $52.3%$ (40 Lux) lên $72.6%$ (110 Lux) — mức cải thiện hiệu suất đạt 38.8%.

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

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

  • Hệ thống chấm công điểm danh tự động: Triển khai tại cửa phòng học hoặc văn phòng công ty với camera đặt ngang tầm mắt.
  • Kiểm soát ra vào thông minh (Access Control Door Lock): Kết nối chân GPIO 12 qua mạch đệm Transistor/Relay điều khiển trực tiếp chốt khóa điện từ 12V (Solenoid Lock).
  • Khu vực an ninh bảo mật cao: Xác thực hai yếu tố kết hợp thẻ RFID và nhận diện khuôn mặt không tiếp xúc.
                    SƠ ĐỒ ĐẤU NỐI ĐIỀU KHIỂN THỰC TẾ
+-------------------+ GPIO 12   +-------------+       +----------------------+
| Raspberry Pi 3    | --------> | Tranzitor / | ----> | Khóa điện từ 12V DC  |
| (Kit xử lý trung  |           | Opto Relay  |       | (Solenoid Door Lock) |
|  tâm)             | GND       | Driver      |       |                      |
+-------------------+ --------> +-------------+       +----------------------+

Quy trình biên dịch và vận hành hệ thống

Hệ thống được triển khai trực tiếp trên môi trường dòng lệnh Linux Terminal:

# Bước 1: Kích hoạt module Camera qua giao diện cấu hình
sudo raspi-config
# Chọn 'Interfacing Options' -> 'Camera' -> 'Enable' -> Khởi động lại hệ điều hành

# Bước 2: Di chuyển vào thư mục dự án và biên dịch tối ưu 4 luồng
cd /home/pi/camcv
make -j4

# Bước 3: Chạy chương trình ở chế độ huấn luyện (Thu thập 50 ảnh mẫu)
# Cú pháp: ./camcv <mode_equalize> <lux_level> <mode_train/predict>
./camcv 1 110 1

# Bước 4: Chạy chương trình ở chế độ nhận dạng trực tiếp
./camcv 1 110 0

Phân tích chi phí & Lợi tức đầu tư (BOM Cost Analysis)

  • Kit máy tính nhúng Raspberry Pi 3 Model B: ~$35
  • Module Camera Pi v1 (OmniVision OV5647): ~$12
  • Thẻ nhớ MicroSD 32GB Class 10: ~$8
  • Nguồn adapter 5V/2.5A + Phụ kiện tản nhiệt: ~$7
  • Tổng chi phí phần cứng (BOM): $\approx $62$ (Tiết kiệm hơn 75% so với các đầu đọc sinh trắc học khuôn mặt công nghiệp chuyên dụng có giá từ $$250 - $500$).

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

Hạn chế kỹ thuật

  • Góc quay đầu lớn: Khi đối tượng quay mặt góc $45^\circ$, tỷ lệ nhận dạng giảm xuống còn $52.3% - 73.6%$ do đặc trưng Haar-like đối xứng 2 bên mắt bị che khuất một phần.
  • Độ trễ xử lý (Frame Stuttering): Tốc độ hiển thị luồng video qua giao diện HighGUI còn hiện tượng giật khung hình nhẹ do vi xử lý vừa đảm nhiệm việc đọc luồng CSI vừa giải thuật toán ma trận mà chưa có bộ đệm DMA chuyên biệt.
  • Khả năng đối chiếu đa đối tượng: Chương trình hiện tại chỉ so khớp lần lượt với 1 thư mục dữ liệu đã chọn tại một thời điểm chạy.

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

  1. Nâng cấp thuật toán trích xuất đặc trưng: Ứng dụng mạng nơ-ron tích chập thu nhỏ (MobileNetV2-SSD hoặc Tiny-YOLOv4) kết hợp vector nhúng khuôn mặt (FaceNet Embedding) với khoảng cách Cosine/Euclidean.
  2. Tăng tốc phần cứng AI: Tích hợp que tính toán thần kinh Intel Neural Compute Stick 2 hoặc Google Coral Edge TPU qua cổng USB để đạt tốc độ xử lý 30 FPS thời gian thực.
  3. Mở rộng cơ sở dữ liệu phân tán: Kết nối hệ cơ sở dữ liệu SQLite cục bộ hoặc đồng bộ RESTful API với Server quản lý tập trung.

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

  • Sinh viên ngành Kỹ thuật Điện tử / Tự động hóa / CNTT: Nguồn tài liệu thực hành hoàn chỉnh từ cấu hình phần cứng nhúng Linux, lập trình giao tiếp camera CSI đến xử lý ma trận ảnh với OpenCV C++.
  • Kỹ sư phát triển hệ thống IoT / Nhúng: Mẫu thiết kế tham khảo chuẩn (Reference Design) để xây dựng các thiết bị biên xử lý cục bộ, không phụ thuộc đám mây.
  • Doanh nghiệp & Đơn vị tích hợp giải pháp: Giải pháp kiểm soát vào ra chi phí siêu thấp, triển khai nhanh chóng tại các phân xưởng, nhà máy, trường học.
  • Nhà nghiên cứu học thuật: Dữ liệu thực nghiệm phong phú về tác động của độ rọi sáng (Lux) và góc nghiêng (Pose Angle) đối với thuật toán thị giác Haar-AdaBoost.

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

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

Hệ thống yêu cầu tối thiểu một kit vi tính nhúng Raspberry Pi (khuyến nghị Pi 3 Model B trở lên với RAM $\ge 1\text{GB}$), 01 thẻ nhớ MicroSD dung lượng tối thiểu 8GB (chuẩn Class 10 để đảm bảo tốc độ đọc/ghi dữ liệu huấn luyện), module Camera Pi tương thích cổng CSI-2 và bộ nguồn 5V/2A ổn định.

2. Giới hạn khả năng mở rộng số lượng khuôn mặt trong cơ sở dữ liệu là bao nhiêu?

Với thuật toán so khớp ma trận điểm ảnh trực tiếp, khi tập dữ liệu tăng lên hơn 50 người, thời gian tìm kiếm tuyến tính sẽ tăng dần ($O(N)$). Để mở rộng lên hàng nghìn người, cần chuyển đổi sang mô hình trích xuất vector đặc trưng 128 chiều (Face Embeddings) kết hợp thuật toán lập chỉ mục không gian như KD-Tree hoặc FAISS.

3. Làm thế nào để tích hợp hệ thống với các tủ điện điều khiển công nghiệp sẵn có?

Chân GPIO 12 của Raspberry Pi xuất tín hiệu số 3.3V Logic. Tín hiệu này có thể đưa qua một module cách ly quang (Optocoupler) hoặc mạch kích Relay 5V/12V để đóng cắt nguồn cho khóa từ (Magnetic Lock), cổng tay xoay Tripod Turnstile hoặc kích hoạt chân ngắt ngoại vi của PLC (Programmable Logic Controller).

4. Hệ thống cần bảo trì định kỳ những thành phần nào?

Định kỳ kiểm tra làm sạch bề mặt thấu kính camera OmniVision OV5647 tránh bụi bẩn làm mờ đặc trưng mắt/mũi; kiểm tra nhiệt độ CPU qua lệnh vcgencmd measure_temp; và định kỳ sao lưu dữ liệu thẻ nhớ MicroSD để tránh lỗi hỏng hệ điều hành do mất điện đột ngột.

5. Dự toán chi phí và thời gian thu hồi vốn (ROI) khi ứng dụng thực tế?

Với chi phí thiết bị khoảng $62/điểm kiểm soát, một doanh nghiệp quy mô nhỏ (50 nhân sự) thay thế việc thuê nhân sự chấm công thủ công có thể thu hồi toàn bộ chi phí đầu tư (ROI) chỉ sau 1 đến 2 tháng vận hành thực tế.


Kết luận

Đồ án tốt nghiệp "Ứng dụng kit Raspberry nhận dạng mặt người" đã chứng minh tính khả thi và hiệu quả cao của việc ứng dụng kỹ thuật thị giác máy tính trên nền tảng nhúng biên giá rẻ. Bằng sự kết hợp chặt chẽ giữa giải thuật đặc trưng Haar-like, bộ phân loại chuỗi tầng Cascade Classifier và phương pháp học máy AdaBoost viết trên nền C++ OpenCV, hệ thống đạt hiệu suất phát hiện khuôn mặt ấn tượng lên tới 96% và độ chính xác nhận dạng đạt 94.33% trong điều kiện ánh sáng chuẩn.

Công trình không chỉ mang giá trị nghiên cứu lý thuyết chuyên sâu về tính toán ảnh tích phân và đại số ma trận trong xử lý ảnh, mà còn cung cấp một mô hình ứng dụng hoàn chỉnh, có khả năng thương mại hóa thành các sản phẩm kiểm soát an ninh thông minh, đóng góp thiết thực cho quá trình chuyển đổi số trong kỷ nguyên Tự động hóa và Internet vạn vật (IoT).