Bối cảnh và vấn đề nghiên cứu

Sự phát triển của công nghệ và kỹ thuật đang thúc đẩy xu hướng hiện đại hóa không gian sống, trong đó việc phát triển các thiết bị phục vụ nhà thông minh (Smart Home) trở thành một hướng nghiên cứu ứng dụng nổi bật. Trong cấu trúc của một ngôi nhà, hệ thống cửa ra vào giữ vai trò thiết yếu trong việc bảo đảm an ninh và tiện ích sinh hoạt. Các phương thức kiểm soát đóng mở cửa đã trải qua nhiều giai đoạn phát triển: từ chốt gạt truyền thống, khóa cơ khí dùng chìa, đến các công nghệ hiện đại hơn như thẻ từ RFID, mật mã số hay nhận diện dấu vân tay. Tuy nhiên, các giải pháp này vẫn đòi hỏi người sử dụng phải thực hiện thao tác tiếp xúc vật lý hoặc mang theo vật dụng trung gian. Trong bối cảnh các dịch bệnh truyền nhiễm (như Covid-19) đòi hỏi hạn chế tiếp xúc bề mặt, công nghệ xác thực sinh trắc học khuôn mặt nổi lên như một giải pháp thay thế phù hợp nhờ tính tiện lợi và tốc độ nhận diện nhanh.

Mặc dù các sản phẩm khóa thông minh tích hợp nhận dạng khuôn mặt đã được thương mại hóa bởi nhiều tập đoàn công nghệ (như Xiaomi, Hafele, Samsung), mức giá của các hệ thống này vẫn ở mức rất cao do tích hợp đa phương thức mở khóa và sử dụng phần cứng đắt tiền. Tại thị trường Việt Nam, hầu hết các hệ thống cửa tự động được nhập khẩu nguyên chiếc; các giải pháp nghiên cứu trong nước dù phong phú nhưng tỷ lệ thương mại hóa còn hạn chế.

Trước bối cảnh đó, khóa luận tốt nghiệp của nhóm tác giả tập trung giải quyết bài toán xây dựng mô hình cửa lùa tự động ứng dụng nhận diện khuôn mặt với giá thành thấp, sử dụng máy tính nhúng cấu hình khiêm tốn nhưng vẫn đáp ứng tiêu chuẩn về độ chính xác và thời gian phản hồi. Mục tiêu nghiên cứu được xác định cụ thể gồm sáu nhiệm vụ:

  1. Tìm hiểu và ứng dụng các phương pháp học máy gồm Haar Cascade cho bài toán phát hiện khuôn mặt, phân tích thành phần chính (PCA) kết hợp máy vectơ hỗ trợ (SVM) cho bài toán nhận dạng khuôn mặt; tối ưu hóa và tinh chỉnh siêu tham số nhằm đạt độ chính xác cao.
  2. Thực hiện tiền xử lý ảnh thông qua các kỹ thuật: chuyển đổi ảnh xám, chuẩn hóa tỷ lệ, trích xuất điểm mốc hình học (landmarks) và cân bằng hướng nghiêng của khuôn mặt (face alignment).
  3. Ứng dụng kỹ thuật đa luồng (Multi-Threading) nhằm tăng tốc độ xử lý khung hình (FPS) và rút ngắn thời gian đáp ứng của toàn hệ thống.
  4. Xử lý và điều khiển chính xác các tín hiệu giao tiếp ngoại vi trên bo mạch máy tính nhúng Raspberry Pi 4.
  5. Đảm bảo tính an toàn và tiện lợi khi vận hành cửa thông qua việc tích hợp, xử lý tín hiệu từ hệ thống cảm biến hồng ngoại và công tắc hành trình.
  6. Xây dựng mô hình thực nghiệm có tính ứng dụng cao, đồng thời kiểm soát các giới hạn về chi phí linh kiện và điện năng tiêu thụ.

Đối tượng nghiên cứu của đề tài là hệ thống nhận dạng khuôn mặt và cơ chế đóng mở tự động cho cửa lùa. Phạm vi nghiên cứu về mặt phần cứng tập trung trên máy tính nhúng Raspberry Pi 4 kết hợp camera, module điều khiển động cơ L298N, cảm biến hồng ngoại và công tắc hành trình. Về mặt học thuật, nhóm tác giả giới hạn phạm vi vào việc cải thiện độ chính xác (mục tiêu $\ge 90%$) và tốc độ xử lý (mục tiêu đạt 7 - 13 FPS) trong điều kiện phần cứng hạn chế; vấn đề tối ưu hóa công suất tiêu thụ (đặt mức trần dự kiến không vượt quá 25W) và các cơ chế bảo mật chống giả mạo chuyên sâu được ghi nhận khảo sát bước đầu và dành cho các giai đoạn phát triển tiếp theo.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết của nghiên cứu được xây dựng trên sự kết hợp giữa các thuật toán thị giác máy tính cổ điển và các mô hình học máy phân loại nhẹ, nhằm tương thích tối đa với năng lực tính toán của máy tính nhúng.

Ở bài toán phát hiện khuôn mặt, tác giả sử dụng framework Haar Cascade do Paul Viola và Michael Jones đề xuất (2001). Cấu trúc của phương pháp dựa trên ba thành phần cốt lõi:

  • Đặc trưng dạng Haar (Haar-like features): Bao gồm đặc trưng cạnh (edge features), đặc trưng đường (line features) và đặc trưng bốn hình chữ nhật (four-rectangle features). Giá trị của đặc trưng được xác định bằng độ chênh lệch giữa tổng giá trị các pixel tại vùng màu sáng và vùng màu tối.
  • Ảnh tích phân (Integral image): Cho phép tính toán các đặc trưng Haar ở mọi tỷ lệ và vị trí chỉ với bốn tham chiếu mảng, giảm đáng kể độ phức tạp tính toán thông qua công thức: $$ii(x, y) = \sum_{x' \le x, y' \le y} i(x', y')$$
  • Thuật toán AdaBoost (Freund và Schapire, 1995) và bộ phân loại tầng (Cascade classifier): Chọn lọc tập hợp các đặc trưng tối ưu từ hàng trăm ngàn đặc trưng ban đầu để xây dựng các bộ phân loại yếu, sau đó liên kết thành các tầng phân loại mạnh nhằm loại bỏ nhanh các khung cửa sổ không chứa khuôn mặt.

Quy trình tiền xử lý hình ảnh đóng vai trò quyết định trong việc loại bỏ nhiễu trước khi trích xuất vector đặc trưng:

  • Trích xuất điểm mốc (Landmark detection): Tác giả ứng dụng bộ nhận diện điểm mốc khuôn mặt nguồn mở của thư viện Dlib, được huấn luyện từ tập dữ liệu iBUG-300-W gồm 68 điểm đặc trưng. Nhóm trích xuất 27 điểm (từ điểm 1 đến điểm 27, bao gồm đường viền hàm và hai cung chân mày) để bao quanh toàn bộ khuôn mặt, đồng thời thay thế các thành phần gây nhiễu ngoài vùng bao (tóc, tai, cổ, phông nền) bằng nền màu đen.
  • Cân chỉnh hướng mặt (Face alignment): Sử dụng 5 điểm mốc của Dlib gồm các điểm 34, 37, 40, 43 và 46. Đường thẳng nối hai mắt (tạo bởi các điểm 37, 40, 43, 46) kết hợp với đường thẳng nối từ trung điểm hai mắt đến điểm sống mũi (điểm 34) tạo thành hai trục vuông góc. Thư viện OpenCV được dùng để tính góc lệch và xoay bức ảnh về phương thẳng đứng, các khoảng trống sinh ra do phép xoay tiếp tục được lấp đầy bằng màu đen nhằm đồng nhất dữ liệu.

Đối với bài toán nhận dạng khuôn mặt, phương pháp Phân tích thành phần chính (Principal Components Analysis - PCA) được sử dụng để giảm chiều dữ liệu. Quy trình tính toán gồm: xác định vector kỳ vọng $\bar{x}$, chuẩn hóa dữ liệu trừ vector kỳ vọng $\hat{x}_n = x_n - \bar{x}$, tính ma trận hiệp phương sai $S = \frac{1}{N}\sum \hat{x}_n \hat{x}_n^T$, tính các trị riêng và vector riêng tương ứng, sắp xếp giảm dần và chọn $K$ vector riêng lớn nhất để tạo không gian con (Eigenspace $U_K$), sau đó chiếu dữ liệu ban đầu xuống không gian con này.

Khâu phân loại danh tính sử dụng thuật toán máy vectơ hỗ trợ (Support Vector Machine - SVM). Để giải quyết sự phân bố phi tuyến của dữ liệu khuôn mặt, tác giả ứng dụng kỹ thuật kernel-trick với ba hàm nhân chính: nhân tuyến tính (Linear), nhân hàm xuyên tâm Gaussian RBF: $$K(x, x_i) = \exp(-\gamma ||x - x_i||^2)$$ và nhân Sigmoid. Quá trình tối ưu hóa các tham số $C$, $\gamma$ và hàm kernel được thực hiện tự động thông qua kỹ thuật Grid Search bằng thư viện GridSearchCV của scikit-learn.

Phương pháp nghiên cứu thực nghiệm được triển khai theo kiến trúc đa luồng (Multi-Threading) trên nền tảng Python nhằm khắc phục hiện tượng thắt nút cổ chai khi chạy tuần tự:

  • Thread 1 (Get Image from Camera): Đọc khung hình liên tục từ thiết bị ghi hình và cập nhật dữ liệu mới nhất vào bộ nhớ chia sẻ.
  • Thread 2 (Pre-Processing Image): Tiếp nhận ảnh từ Thread 1, thực hiện phát hiện khuôn mặt bằng Haar Cascade, trích xuất điểm mốc, xoay mặt thẳng trục, chuyển ảnh xám và chuyển tiếp sang Thread 3.
  • Thread 3 (Predicting Image): Thực hiện giảm chiều bằng PCA và phân loại bằng SVM đã qua tinh chỉnh. Nếu Thread 3 đang bận xử lý dữ liệu trước đó, Thread 2 sẽ tự động bỏ qua khung hình trung gian (drop frame) để tránh hiện tượng trễ tích lũy.
  • Main Thread: Đảm nhận riêng biệt việc dựng và phản hồi giao diện người dùng đồ họa, ngăn ngừa tình trạng đơ cứng giao diện (UI freezing).

Ngoài ra, tác giả sử dụng phương pháp khảo sát đối chứng thực nghiệm với các mô hình học sâu nhẹ gồm MobileNetV2 (kích thước đầu vào $96 \times 96$) và MobileNetV3 ($224 \times 224$) để đánh giá tương quan giữa khối lượng tham số tính toán và hiệu năng thực thi trên bộ xử lý CPU của máy tính nhúng.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế tích hợp hoàn chỉnh giữa phần cứng nhúng, mạch điều khiển công suất cơ khí và phần mềm giao diện điều khiển.

Về cấu trúc phần cứng:

  • Bộ xử lý trung tâm: Bo mạch máy tính nhúng Raspberry Pi 4 trang bị vi xử lý Broadcom BCM2711 ARM Cortex-A72 4 nhân xung nhịp 1.5 GHz, bộ nhớ trong 4GB RAM. Bo mạch cung cấp 40 chân GPIO (trong đó 23 chân hỗ trợ Input/Output logic) đảm nhiệm vai trò đọc cảm biến và xuất tín hiệu điều khiển.
  • Mạch điều khiển động cơ: Module cầu H kép L298N sử dụng transistor NPN và các cổng logic AND, cho phép điều khiển đảo chiều quay và tốc độ của động cơ DC kéo cửa trượt. Trạng thái điều khiển logic được quy định tại các chân In1, In2 và chân kích hoạt En.
  • Cảm biến phát hiện vật thể: Sử dụng 2 module cảm biến hồng ngoại (IR Sensor) hoạt động theo nguyên lý phát chùm tia từ IR LED và thu nhận tia phản xạ qua Photo Diode. Cảm biến IR 1 đặt tại mặt trước bên ngoài cửa để phát hiện người đến gần; cảm biến IR 2 đặt tại mặt trong để phát hiện người có nhu cầu đi ra.
  • Mạch phối hợp điện áp: Do các chân GPIO của Raspberry Pi chỉ chấp nhận mức điện áp logic tối đa 3.3V, trong khi ngõ ra của cảm biến hồng ngoại là 5V, nhóm tác giả đã thiết kế mạch chia điện áp sử dụng hai điện trở $R_1$ và $R_2$. Giá trị điện trở được tính toán theo tỷ số: $$\frac{R_2}{R_1 + R_2} = \frac{V_{out}}{V_{in}} = \frac{3.3}{5.0} = 0.66$$ Từ đó, nhóm lựa chọn $R_1 = 1\text{ k}\Omega$ để hạ điện áp ngõ ra của cảm biến về ngưỡng 3.3V an toàn cho vi điều khiển.
  • Cảm biến giới hạn hành trình: Bố trí 2 công tắc hành trình tại hai điểm mút trượt của khung cửa (vị trí mở hoàn toàn và đóng hoàn toàn), đóng vai trò ngắt tiếp điểm cơ học để bảo vệ động cơ DC khỏi tình trạng kẹt tải.
Chân En Chân In1 Chân In2 Ngõ ra Out1 Ngõ ra Out2 Trạng thái động cơ DC
0 x x Trở kháng cao (Z) Trở kháng cao (Z) Dừng tự do
1 0 0 Mức thấp (0) Mức thấp (0) Dừng hãm
1 0 1 Mức thấp (0) Mức cao (1) Quay nghịch (Đóng cửa)
1 1 0 Mức cao (1) Mức thấp (0) Quay thuận (Mở cửa)
1 1 1 Mức cao (1) Mức cao (1) Dừng hãm

Quy trình vận hành logic đóng mở cửa tự động diễn ra theo trình tự thuật toán:

  1. Khi cảm biến IR 1 phát hiện người đứng trước cửa (tín hiệu ngõ ra bằng 1), hệ thống kích hoạt camera và bắt đầu chu trình nhận diện khuôn mặt qua 3 luồng xử lý.
  2. Nếu kết quả phân loại từ mô hình SVM trả về danh tính hợp lệ nằm trong cơ sở dữ liệu đã cấp quyền, Raspberry Pi phát tín hiệu kích hoạt module L298N quay thuận để mở cửa cho đến khi tiếp xúc công tắc hành trình mở.
  3. Khi người bên trong muốn ra ngoài, cảm biến IR 2 phát hiện chuyển động (tín hiệu bằng 1), hệ thống lập tức mở cửa mà không yêu cầu bước nhận diện khuôn mặt.
  4. Khi cả hai cảm biến IR 1 và IR 2 đều xác nhận không còn người ở gần cửa (tín hiệu đồng thời bằng 0), hệ thống điều khiển động cơ quay nghịch để đóng cửa cho đến khi chạm công tắc hành trình đóng.

Hệ thống phần mềm được trang bị giao diện đồ họa tương tác gồm các phân hệ: xác thực quyền quản trị viên (Admin authentication), màn hình chuyển đổi chế độ tự động hoặc thủ công, giao diện hiển thị hình ảnh camera thời gian thực cùng kết quả nhận diện, chức năng thu thập mẫu dữ liệu người dùng mới qua video, module tự động huấn luyện lại mô hình máy học và chức năng quản lý danh sách truy cập. Quá trình truyền nhận dữ liệu tập tin giữa máy tính xách tay (dùng cho khâu tính toán nặng) và Raspberry Pi được triển khai thông qua giao thức truyền tệp FTP kết hợp cơ chế bắt tay ba bước (Three-way Handshake).

Nội dung chính theo từng chương

Chương 1: Tổng quan đề tài

Chương mở đầu phân tích bối cảnh phát triển của các thiết bị nhà thông minh, nhấn mạnh nhu cầu tự động hóa và an toàn trong kiểm soát cửa ra vào. Tác giả đối chiếu các giải pháp đóng mở truyền thống với công nghệ sinh trắc học khuôn mặt không tiếp xúc, xác định tính cấp thiết của đề tài trong việc giải quyết rào cản chi phí. Chương này xác định rõ mục đích nghiên cứu, 6 nhiệm vụ cụ thể cần triển khai, phạm vi giới hạn về không gian thực nghiệm, đối tượng điều khiển là cửa lùa, cùng định hướng tập trung vào hai chỉ số chính là độ chính xác và tốc độ xử lý.

Chương 2: Tình hình nghiên cứu và vấn đề cần giải quyết

Chương 2 tổng hợp thực trạng phát triển công nghệ cửa tự động và nhận diện khuôn mặt trong và ngoài nước. Tác giả phân tích các dòng khóa cửa thông minh thương mại (tiêu biểu là Xiaomi) với độ tin cậy cao nhưng giá thành đắt đỏ do tích hợp quá nhiều phương thức mở khóa. Về tình hình nghiên cứu học thuật tại Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, tác giả khảo sát chi tiết hai đề tài tiêu biểu:

  • Hệ thống của Vũ Bá Tấn Đạt và Nguyễn Ngọc Lâm (2016) trên bo mạch Intel Galileo, có khả năng nhận dạng nhiều khuôn mặt nhưng thời gian trễ xử lý kéo dài tới 5 giây.
  • Hệ thống của Nguyễn Tấn Phát và La Tuấn Vinh (2021) ứng dụng mô hình Deep Learning trên kit Jetson Nano, đạt tốc độ khung hình 6 - 9 FPS.

Từ thực tiễn trên, tác giả xác định hai bài toán trọng tâm: giảm giá thành phần cứng bằng cách sử dụng bo mạch Raspberry Pi 4, và khắc phục hạn chế tài nguyên tính toán của bo mạch này bằng cách kết hợp giải thuật học máy truyền thống tối ưu để đạt mục tiêu độ chính xác $\ge 90%$, tốc độ khung hình trung bình từ 7 - 13 FPS và kiểm soát tổng công suất nguồn cấp không vượt quá 25W.

Chương 3: Cơ sở lý thuyết và giải pháp kỹ thuật

Chương 3 trình bày chi tiết nền tảng toán học và cấu trúc kỹ thuật của hệ thống. Tác giả phân tích cơ chế hoạt động của thuật toán Haar Cascade thông qua đặc trưng Haar, kỹ thuật biểu diễn ảnh tích phân giúp tính tổng pixel vùng chữ nhật bằng 4 phép truy xuất, và giải thuật AdaBoost trong việc sàng lọc các bộ phân loại yếu. Khâu tiền xử lý hình ảnh làm rõ giải thuật trích xuất 27 điểm mốc bằng mô hình Dlib face landmark detector và kỹ thuật xoay mặt thẳng trục dựa trên 5 điểm mốc (34, 37, 40, 43, 46). Chương này mô tả các công thức tính toán của thuật toán giảm chiều PCA và mô hình phân loại SVM (biên phân cách, tham số điều hòa $C$, các hàm nhân RBF, Sigmoid, Linear, quy trình tinh chỉnh siêu tham số GridSearchCV). Ở phần kỹ thuật hệ thống, tác giả phân tích kiến trúc đa luồng 3 luồng xử lý và cơ chế bỏ qua khung hình để giải phóng CPU. Cuối cùng, chương thuyết minh nguyên lý cấu tạo của module công suất L298N, cảm biến hồng ngoại IR, công tắc hành trình và sơ đồ tính toán mạch chia điện áp từ 5V xuống 3.3V cho chân GPIO.

Chương 4: Kết quả thực nghiệm

Chương 4 ghi nhận toàn bộ số liệu thu được từ quá trình triển khai thực tế. Khâu trích xuất khuôn mặt bằng Haar Cascade và tiền xử lý ảnh được kiểm thử trên tập dữ liệu video thực tế. Quá trình tinh chỉnh siêu tham số cho SVM bằng GridSearchCV xác định được cặp tham số tối ưu ($C$, $\gamma$) trên các hàm kernel riêng biệt đối với tập dữ liệu kiểm tra của 31 đối tượng. Khảo sát hiệu năng đa luồng cho thấy: khi chưa áp dụng Multi-Threading, hệ thống gặp hiện tượng trễ khung hình nghiêm trọng và CPU bị lãng phí chu kỳ nhàn rỗi; khi áp dụng Multi-Threading, tốc độ khung hình tăng vọt, đáp ứng thời gian thực với độ trễ dự đoán của Thread 3 ghi nhận ở mức 17ms/step và độ tin cậy nhận diện mẫu thử đạt 98.93%. Kết quả khảo sát so sánh với học sâu cho thấy mô hình MobileNetV2 ($96 \times 96$) và MobileNetV3 ($224 \times 224$) đòi hỏi số lượng tham số lớn và tài nguyên tính toán cao trên CPU của Raspberry Pi so với phương án PCA + SVM. Chương này cũng trình bày các giao diện điều khiển thực tế, bảng đo công suất tiêu thụ của Raspberry Pi cùng camera và khối linh kiện ngoại vi ở chế độ tải bình thường và chế độ đỉnh, đồng thời chỉ ra một số trường hợp phát hiện khuôn mặt sai sót của thuật toán Haar Cascade.

Chương 5: Kết luận và đóng góp

Chương 5 đánh giá mức độ hoàn thành nhiệm vụ nghiên cứu dựa trên các chỉ tiêu ban đầu. Tác giả khẳng định đã chế tạo thành công mô hình phần cứng cửa tự động vận hành ổn định, đồng thời xây dựng được thuật toán nhận dạng khuôn mặt có thời gian phản hồi nhanh trên thiết bị nhúng giá rẻ. Chương này tổng kết các đóng góp mới về mặt giải pháp công nghệ và hệ thống hóa bảng so sánh đối chiếu hiệu năng với các công trình nghiên cứu đi trước.

Chương 6: Hướng phát triển

Chương cuối cùng đề xuất các định hướng nâng cấp trong tương lai cho ba phân hệ:

  • Về mô hình cơ khí: Cải tiến kết cấu trượt, tăng độ bền cơ học cho hệ thống ray dẫn hướng và động cơ truyền động của cửa lùa.
  • Về mô hình nhận diện: Tiếp tục thử nghiệm các kiến trúc học sâu tối ưu hóa riêng cho thiết bị biên (như MobileFaceNets, FaceNet, EfficientNet) khi có sự hỗ trợ của các module tăng tốc phần cứng.
  • Về tính năng tổng thể: Tích hợp thuật toán kiểm tra thực thể sống (Liveness detection / Anti-spoofing) để chống gian lận bằng hình ảnh tĩnh hoặc video, đồng thời triển khai các giải pháp phần cứng nhằm tối ưu hóa sâu hơn mức độ tiêu thụ năng lượng.

Kết quả và đóng góp

Nghiên cứu đã hoàn thành việc xây dựng và tích hợp thành công mô hình cửa lùa tự động ứng dụng nhận dạng khuôn mặt trên nền tảng máy tính nhúng giá rẻ Raspberry Pi 4. Các kết quả kỹ thuật và số liệu thực nghiệm được thể hiện cụ thể:

Hạng mục thông số Mục tiêu nghiên cứu đề ra Kết quả thực nghiệm đạt được Ghi chú kỹ thuật từ văn bản
Độ chính xác nhận dạng Dự kiến $\ge 90%$ Đạt trên $90%$ (độ tin cậy mẫu thử đạt 98.93%) Đánh giá trên tập dữ liệu kiểm tra với 31 đối tượng
Tốc độ khung hình (FPS) Dao động từ 7 đến 13 FPS Đạt trong khoảng 7 - 13 FPS Tối ưu hóa nhờ kiến trúc phân tách đa luồng Multi-Threading
Thời gian bước dự đoán Đáp ứng thời gian thực Xấp xỉ 17 ms/step Ghi nhận tại luồng dự đoán độc lập (Thread 3)
Tổng công suất tiêu thụ Không vượt quá 25W Được kiểm soát trong ngưỡng an toàn Phân bổ nguồn: Raspberry Pi (5V-3A, 15W) và ngoại vi (5V-2A, 10W)
Giải pháp điện áp GPIO Hạ mức logic 5V xuống 3.3V Hoạt động chính xác qua mạch chia áp Sử dụng mạch cầu phân áp với $R_1 = 1\text{ k}\Omega$

Các đóng góp chính của đề tài so với các công trình nghiên cứu trước đó tại Trường Đại học Công nghệ Thông tin:

Tiêu chí so sánh Đề tài Vũ Bá Tấn Đạt, Nguyễn Ngọc Lâm (2016) Đề tài Nguyễn Tấn Phát, La Tuấn Vinh (2021) Đề tài của nhóm tác giả (2022)
Nền tảng phần cứng Bo mạch Intel Galileo Kit máy tính nhúng Jetson Nano Bo mạch nhúng Raspberry Pi 4 (4GB RAM)
Phương pháp thuật toán Thuật toán nhận dạng trên bo nhúng Học sâu (Deep Learning) Haar Cascade + Dlib Landmark + PCA + SVM
Tốc độ phản hồi Thời gian xử lý kéo dài tới 5 giây Tốc độ khung hình đạt 6 - 9 FPS Đạt 7 - 13 FPS (thời gian dự đoán 17 ms/step)
Độ chính xác Đạt trên 80% Đạt trên 80% Đạt trên 90%
Chi phí thiết bị Thấp nhưng hiệu năng tính toán hạn chế Chi phí phần cứng cao do dùng kit GPU chuyên dụng Chi phí thấp, tối ưu hóa phần mềm bù đắp phần cứng

Về mặt giải pháp, tác giả đã đóng góp một quy trình tiền xử lý ảnh hiệu quả: kết hợp việc trích chọn 27 điểm mốc từ mô hình Dlib để xóa phông nền bằng màu đen với kỹ thuật Face Alignment xoay trục khuôn mặt dựa trên 5 điểm mốc chuẩn. Thiết kế này triệt tiêu đáng kể sự nhạy cảm với góc nghiêng và nhiễu biên của thuật toán PCA, cho phép mô hình học máy truyền thống đạt độ chính xác tương đương các mạng nơ-ron phức tạp nhưng tiêu tốn ít tài nguyên phần cứng. Đồng thời, cơ chế điều phối đa luồng kết hợp loại bỏ khung hình dư thừa đã giải quyết triệt để bài toán thắt nút cổ chai thời gian thực trên vi xử lý ARM.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận đã chỉ ra các điểm hạn chế tồn tại trong quá trình thực nghiệm:

  • Thuật toán Haar Cascade bộc lộ sai số trong một số điều kiện môi trường bất lợi (như góc nghiêng quá lớn hoặc ánh sáng phức tạp), dẫn đến các trường hợp phát hiện sai (False Positive) hoặc bỏ sót khuôn mặt.
  • Thuật toán PCA có bản chất nhạy cảm cao với sự biến thiên của góc nhìn; dù đã có bước Face Alignment hỗ trợ, mô hình vẫn có thể bị suy giảm chất lượng trích xuất đặc trưng nếu khuôn mặt bị che khuất hoặc quay góc quá rộng.
  • Phạm vi nghiên cứu mới chỉ dừng lại ở bước khảo sát, đo đạc thông số tiêu thụ điện năng thực tế của các khối linh kiện ở chế độ thông thường và chế độ đỉnh, chưa triển khai các giải pháp can thiệp sâu để tối ưu hóa mức tiêu thụ năng lượng.
  • Hệ thống chưa được tích hợp giải pháp phòng vệ sinh trắc học (Anti-spoofing), tiềm ẩn rủi ro bị vượt qua bởi các hình thức giả mạo khuôn mặt bằng ảnh in hoặc video tái phát trên màn hình kỹ thuật số.

Các hướng phát triển tiếp theo được nhóm tác giả đề xuất:

  • Về hệ thống cửa tự động: Nâng cấp kết cấu cơ khí truyền động, cải tiến độ êm và độ bền của ray trượt cửa lùa, bổ sung các cảm biến an toàn chống kẹt người.
  • Về giải thuật nhận dạng: Khảo sát triển khai các mô hình mạng nơ-ron tích chập nhẹ được tối ưu hóa riêng cho thiết bị biên (như MobileFaceNets, FaceNet, EfficientNet) khi chuyển đổi sang các dòng máy tính nhúng có phần cứng hỗ trợ tăng tốc AI.
  • Về bảo mật và vận hành: Bổ sung thuật toán phát hiện thực thể sống (Liveness detection) để nâng cao độ an toàn bảo mật, đồng thời hoàn thiện giải pháp quản lý nguồn thông minh nhằm giảm thiểu điện năng tiêu thụ cho toàn hệ thống.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực đối với:

  • Sinh viên các ngành Kỹ thuật Máy tính, Công nghệ Thông tin, Hệ thống Nhúng và IoT, Kỹ thuật Điều khiển & Tự động hóa đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về ứng dụng thị giác máy tính trên hệ thống nhúng.
  • Các kỹ sư và nhà phát triển đang tìm kiếm giải pháp xây dựng hệ thống Edge AI chi phí thấp trên nền tảng phần cứng giới hạn tài nguyên như Raspberry Pi.

Những nội dung mang tính ứng dụng cao đáng tham khảo trong văn bản gồm:

  • Quy trình chuẩn hóa hình ảnh kết hợp giữa bộ lọc điểm mốc Dlib (trích xuất 27 điểm mốc) và kỹ thuật xoay mặt Face Alignment giúp cải thiện độ chính xác cho các thuật toán trích xuất đặc trưng cổ điển.
  • Mô hình kiến trúc đa luồng (Multi-Threading) 3 luồng xử lý độc lập kèm giải thuật kiểm soát ghi/đọc bộ nhớ và cơ chế drop frame nhằm duy trì tốc độ hiển thị và tốc độ dự đoán liên tục.
  • Thiết kế mạch phần cứng thực tế: công thức tính toán và cấu hình mạch chia điện áp (sử dụng điện trở $1\text{ k}\Omega$) để chuyển đổi mức logic an toàn từ cảm biến 5V sang GPIO 3.3V của Raspberry Pi, cùng lưu đồ điều khiển động cơ qua module L298N kết hợp cảm biến hồng ngoại và công tắc hành trình.

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

1. Tại sao nhóm tác giả lại lựa chọn kết hợp thuật toán PCA và SVM thay vì các kiến trúc học sâu như MTCNN, FaceNet hay DeepFace?
Bo mạch máy tính nhúng Raspberry Pi 4 sử dụng CPU 4 nhân Cortex-A72 xung nhịp 1.5 GHz không có nhân tính toán đồ họa chuyên dụng hỗ trợ tập lệnh CUDA như các dòng kit đắt tiền (ví dụ Jetson Nano). Các mô hình học sâu có khối lượng tham số rất lớn, nếu triển khai trực tiếp trên CPU của Raspberry Pi sẽ làm tăng độ trễ phản hồi, gây hiện tượng giật lag khung hình và không thể đáp ứng yêu cầu vận hành thời gian thực. Phương pháp PCA giúp giảm chiều dữ liệu hiệu quả kết hợp với bộ phân loại SVM không tốn nhiều tài nguyên bộ nhớ, là giải pháp tối ưu để cân bằng giữa độ chính xác và tốc độ xử lý trên phần cứng giá rẻ.

2. Bộ nhận diện điểm mốc Dlib được sử dụng nhằm mục đích gì và tác giả đã khai thác bao nhiêu điểm trong số 68 điểm mốc chuẩn?
Trong quy trình tiền xử lý, sau khi Haar Cascade cắt khung hình khuôn mặt, bức ảnh vẫn còn chứa các chi tiết nhiễu như tóc, cổ, quần áo và phông nền phía sau. Nhóm tác giả sử dụng bộ Dlib face landmark detector để khoanh vùng chính xác biên dạng khuôn mặt. Thay vì sử dụng toàn bộ 68 điểm, tác giả chỉ sử dụng 27 điểm (từ điểm 1 đến điểm 17 định vị viền hàm và từ điểm 18 đến điểm 27 định vị hai cung chân mày). Toàn bộ phần ảnh nằm ngoài 27 điểm này được thay thế bằng lớp nền màu đen, giúp thuật toán PCA chỉ tập trung trích xuất đặc trưng từ các chi tiết hữu ích trên khuôn mặt.

3. Giải thuật Face Alignment cân chỉnh độ nghiêng của khuôn mặt hoạt động dựa trên những điểm mốc nào?
Giải thuật tận dụng 5 điểm mốc của Dlib gồm các điểm 34, 37, 40, 43 và 46. Tác giả xác định một đường thẳng nối giữa hai mắt thông qua 4 điểm (37, 40, 43, 46). Từ trung điểm của đoạn thẳng nối hai mắt, hệ thống kẻ một đường thẳng vuông góc đi qua điểm chóp mũi (điểm 34) đại diện cho sống mũi. Dựa trên góc lệch giữa các trục này với trục tọa độ của bức ảnh, thư viện OpenCV sẽ xoay ảnh một góc tương ứng để đưa khuôn mặt về phương thẳng đứng; các phần khuyết thiếu sau khi xoay được phủ màu đen đồng nhất với nền ảnh.

4. Mạch chia điện áp giữa cảm biến hồng ngoại và Raspberry Pi 4 được thiết kế với thông số kỹ thuật như thế nào?
Cảm biến hồng ngoại phát tín hiệu ngõ ra mức logic 5V khi phát hiện vật thể, trong khi các chân GPIO của Raspberry Pi 4 chỉ cho phép nhận mức điện áp đầu vào tối đa là 3.3V. Nhóm tác giả đã sử dụng mạch chia điện áp gồm hai điện trở $R_1$ và $R_2$ mắc nối tiếp. Theo công thức tính điện áp phân áp: $$\frac{R_2}{R_1 + R_2} = \frac{3.3}{5.0} \approx 0.66$$ Từ tỷ số trên, nhóm tác giả quyết định chọn giá trị điện trở $R_1 = 1\text{ k}\Omega$ để bảo đảm điện áp ngõ ra hạ xuống ngưỡng xấp xỉ 3.3V, bảo vệ an toàn cho các cổng vào/ra của vi điều khiển.

5. Cơ chế đa luồng (Multi-Threading) được phân chia nhiệm vụ như thế nào để hệ thống không bị nghẽn dữ liệu?
Hệ thống phân chia thành 3 luồng chức năng độc lập chia sẻ cùng không gian bộ nhớ: Thread 1 chuyên đọc khung hình mới nhất từ camera; Thread 2 thực hiện các bước tiền xử lý ảnh (Haar Cascade, Landmark Dlib, Face Alignment, Grayscale); Thread 3 chạy mô hình dự đoán (PCA + SVM). Nếu Thread 2 hoàn thành xử lý một ảnh mới nhưng phát hiện Thread 3 vẫn đang bận dự đoán ảnh trước đó, hệ thống sẽ tự động bỏ qua (drop) ảnh mới này để Thread 3 xử lý xong là có ngay dữ liệu kế tiếp, giúp luồng dự đoán chạy liên tục không bị gián đoạn và giải phóng thời gian cho Main Thread duy trì giao diện đồ họa mượt mà.

Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Nhân và Phạm Tấn Nhật đã hoàn thành việc nghiên cứu, chế tạo mô hình cửa lùa tự động ứng dụng nhận dạng khuôn mặt trên nền tảng máy tính nhúng giá rẻ Raspberry Pi 4. Bằng việc kết hợp hài hòa giữa bộ phát hiện Haar Cascade, kỹ thuật tiền xử lý điểm mốc chuẩn hóa hình học (Dlib Landmark, Face Alignment), giải thuật giảm chiều PCA và bộ phân loại SVM tối ưu siêu tham số, đề tài đã chứng minh tính khả thi của việc triển khai thị giác máy tính đạt độ chính xác cao và phản hồi thời gian thực trên phần cứng hạn chế tài nguyên. Cấu trúc đa luồng kết hợp mạch điều khiển công suất cơ khí L298N và hệ thống cảm biến hồng ngoại mang lại một giải pháp vận hành tự động, an toàn và có tính ứng dụng thực tiễn cao cho lĩnh vực nhà thông minh. Nghiên cứu đồng thời cung cấp nguồn tài liệu kỹ thuật chi tiết về thiết kế mạch phối hợp mức logic và quy trình tối ưu hóa giải thuật học máy cho các hệ thống nhúng biên.