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

Sự phát triển của các thiết bị di động, thiết bị ghi hình và mạng lưới Vạn vật kết nối Internet (IoT) đã thúc đẩy nhu cầu tự động hóa trong xử lý hình ảnh. Trong thực tiễn, việc truyền toàn bộ dữ liệu hình ảnh về máy chủ trung tâm đòi hỏi đường truyền tốc độ cao và tiêu tốn tài nguyên tính toán lớn. Do đó, xu hướng xử lý dữ liệu trực tiếp tại biên trên các thiết bị nhúng (edge computing) giúp giảm tải áp lực cho hệ thống tập trung.

Khóa luận xuất phát từ bài toán thực tế: một thiết bị ghi hình cá nhân (như quay video nhật ký) có khả năng hoạt động ngoại tuyến, tự động nhận diện người dùng và điều khiển cơ cấu quay quét để luôn giữ khuôn mặt đối tượng ở vị trí trung tâm của khung hình. Mặc dù các mô hình học sâu (Deep Learning) mang lại độ chính xác cao, nhưng chúng đòi hỏi tài nguyên phần cứng lớn, thời gian huấn luyện dài và phức tạp khi triển khai trên các thiết bị nhúng giới hạn tài nguyên. Đề tài tập trung xây dựng một giải pháp gọn nhẹ, tối ưu hóa thời gian xử lý dựa trên các thuật toán thị giác máy tính truyền thống và học máy cổ điển kết hợp điều khiển phần cứng.

Mục tiêu nghiên cứu bao gồm:

  1. Xây dựng hệ thống thu nhận hình ảnh từ môi trường.
  2. Xử lý ảnh số để phát hiện và nhận diện khuôn mặt người dùng đã đăng ký.
  3. Dò theo (tracking) đối tượng khuôn mặt trong các khung hình tiếp theo.
  4. Điều khiển cơ cấu chuyển động (động cơ servo) hướng camera theo đối tượng nhằm duy trì khuôn mặt ở vùng trung tâm khung hình.

Nhiệm vụ nghiên cứu được phân chia thành 8 nội dung cụ thể:

  1. Nghiên cứu phần cứng máy tính nhúng Raspberry Pi 3 Model B, thiết lập hệ điều hành và cấu hình phần cứng qua dòng lệnh Shell.
  2. Nghiên cứu cơ cấu chuyển động cho hệ thống bằng động cơ servo.
  3. Nghiên cứu các phương pháp phát hiện gương mặt trong xử lý ảnh số.
  4. Nghiên cứu các phương pháp nhận diện gương mặt trong xử lý ảnh số.
  5. Nghiên cứu các phương pháp dò đối tượng trong xử lý ảnh số.
  6. Thử nghiệm và lựa chọn các phương pháp thích hợp để thiết kế luồng xử lý chính.
  7. Thực thi thiết kế phần mềm và triển khai trên phần cứng máy tính nhúng.
  8. Đánh giá thiết kế và kết luận.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Khuôn mặt người ở góc nhìn chính diện (frontal face), thuật toán thị giác máy tính và hệ thống nhúng điều khiển chuyển động.
  • Phạm vi phần cứng: Máy tính nhúng Raspberry Pi 3 Model B, module Pi Camera V1 (cảm biến OmniVision OV5647 5MP giao tiếp CSI), động cơ RC Servo TowerPro MG90S.
  • Phạm vi phần mềm: Hệ điều hành Raspbian (Linux), thư viện thị giác máy tính OpenCV, ngôn ngữ lập trình Python 3.
  • Thời gian thực hiện: Từ ngày 07/03/2019 đến ngày 09/07/2019 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.

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

Đề tài sử dụng phương pháp thiết kế kỹ thuật kết hợp thực nghiệm, phân tích thuật toán và tối ưu hóa hệ thống nhúng.

Cấu trúc dữ liệu, giải thuật và học máy

  • Cây quyết định (Decision Tree): Sử dụng làm các bộ học yếu (weak learners) biểu diễn quy tắc phân loại dựa trên các ngưỡng giá trị thuộc tính.
  • Thuật toán AdaBoost (Adaptive Boosting): Kết hợp tuyến tính các bộ phân loại yếu $f_t(x)$ thành bộ phân loại mạnh $F_T(x) = \sum_{t=1}^T f_t(x)$ thông qua việc gán và tái chuẩn hóa trọng số mẫu $w_{i,t}$, tập trung vào các mẫu phân loại sai ở các vòng lặp trước.

Xử lý ảnh số và trích xuất đặc trưng

  • Chuyển đổi ảnh xám: Sử dụng công thức theo chuẩn khuyến nghị ITU BT.601 để mô phỏng chính xác độ nhạy quang phổ của mắt người (nhạy hơn với màu lục và đỏ so với lam): $$Y = 0.299R + 0.587G + 0.114B$$
  • Cân bằng lược đồ mức xám (Histogram Equalization): Tái phân bố các mức sáng trên toàn dải cường độ nhằm nâng cao độ tương phản trong các điều kiện chiếu sáng không đồng đều. Tác giả đã tiến hành thử nghiệm so sánh giữa cân bằng lược đồ toàn cục và cân bằng lược đồ thích ứng (Adaptive Histogram Equalization).
  • Đặc trưng Haar và đặc trưng giống Haar (Haar-like Features): Dựa trên sóng con Haar (Haar wavelet) do Alfréd Haar đề xuất năm 1909. Đặc trưng giống Haar biểu diễn độ chênh lệch mức xám giữa các khối chữ nhật đen và trắng liền kề, phản ánh cấu trúc hình học của khuôn mặt (vùng mắt tối hơn gò má, sống mũi sáng hơn hai bên).
  • Mẫu nhị phân cục bộ (Local Binary Pattern - LBP): Toán tử mô tả kết cấu cục bộ bằng cách so sánh mức xám của điểm ảnh trung tâm $i_c$ với 8 điểm lân cận $i_p$: $$LBP(x_c, y_c) = \sum_{p=0}^{P-1} 2^p s(i_p - i_c)$$ Trong đó $s(x) = 1$ nếu $x \ge 0$ và $s(x) = 0$ trong trường hợp còn lại. Chuỗi 8-bit nhị phân được chuyển thành giá trị thập phân (0–255).

Các mô hình xử lý thị giác máy tính

  • Phát hiện vật thể bằng phương pháp Viola – Jones (2001): Sử dụng bảng tích phân ảnh (Integral Image) để tính tổng mức xám trong vùng chữ nhật $ABCD$ qua 4 phép tra cứu: $$\text{Tổng điểm ảnh} = I(C) + I(A) - I(B) - I(D)$$ kết hợp thuật toán AdaBoost chọn lọc đặc trưng tối ưu từ hàng trăm nghìn đặc trưng khả dĩ và cấu trúc bộ phân loại xếp tầng (Cascade Classifier) giúp loại bỏ nhanh các cửa sổ không chứa khuôn mặt.
  • Nhận diện khuôn mặt bằng lược đồ LBP (LBPH - Local Binary Patterns Histograms): Ảnh khuôn mặt được chia thành các ô nhỏ, trích xuất lược đồ LBP trên từng ô và ghép nối thành vector đặc trưng không gian. Việc phân loại nhận diện thực hiện thông qua khoảng cách Euclid giữa lược đồ ảnh cần nhận diện ($hist1$) và ảnh mẫu ($hist2$): $$D = \sqrt{\sum_{i=1}^n (hist1_i - hist2_i)^2}$$
  • Dò đối tượng bằng Bộ lọc tương quan hạt nhân (Kernelized Correlation Filter - KCF): Theo dõi đối tượng theo thời gian thực với độ phức tạp tính toán thấp nhờ chuyển đổi các phép tính tích chập sang miền tần số thông qua biến đổi Fourier.

Nền tảng hệ thống nhúng và điều khiển phần cứng

  • Máy tính nhúng Raspberry Pi 3 Model B: Trang bị vi xử lý Broadcom BCM2837 (SoC 64-bit Quad-Core ARM Cortex-A53 1.2 GHz), đồ họa Dual Core VideoCore IV, 1GB RAM LPDDR2, 40 chân GPIO.
  • Module Pi Camera V1: Cảm biến OmniVision OV5647 5 Megapixel, giao tiếp trực tiếp qua cáp dải 15 chân CSI-2 (Camera Serial Interface), hỗ trợ trình điều khiển V4L2 trên nhân Linux.
  • Điều chế độ rộng xung phần cứng (Hardware PWM): Tần số xung PWM của SoC BCM2837 được xác định theo công thức: $$f = \frac{19.2\text{ MHz}}{PWMC \times PWMR}$$ với $PWMC$ là bộ chia xung từ thạch anh 19.2 MHz và $PWMR$ là dải giá trị thanh ghi chu kỳ. Việc điều chế PWM trực tiếp bằng phần cứng trên chân GPIO18 giúp loại bỏ hiện tượng sai số thời gian và rung lắc cơ cấu truyền động so với PWM tạo bằng phần mềm.
  • Cơ cấu RC Servo MG90S: Động cơ servo bánh răng kim loại, góc quay được kiểm soát bằng độ rộng xung ở tần số 50 Hz (chu kỳ 20 ms): xung 1.5 ms đưa cơ cấu về góc giữa, 1.0 ms quay 90° sang phải, 2.0 ms quay 90° sang trái.

Thiết kế và triển khai

Kiến trúc phần cứng

Hệ thống phần cứng bao gồm 4 khối chính:

  1. Khối thu nhận ảnh: Module Pi Camera V1 gắn qua giao tiếp CSI-2.
  2. Khối xử lý trung tâm: Bo mạch Raspberry Pi 3 Model B thực thi các thuật toán thị giác máy tính và sinh xung điều khiển.
  3. Khối cơ cấu chuyển động: Động cơ RC Servo MG90S kết nối chân cấp nguồn 5V, GND và nhận tín hiệu điều khiển tại chân GPIO18 (BCM).
  4. Khối hiển thị và giám sát: Xuất hình ảnh trực tiếp qua cổng HDMI/màn hình hoặc truyền giao diện không dây thông qua mạng Wi-Fi cục bộ sử dụng giao thức VNC.
Thành phần phần cứng Model / Thông số kỹ thuật Giao tiếp / Kết nối Vai trò trong hệ thống
Máy tính nhúng Raspberry Pi 3 Model B (BCM2837, 1.2 GHz, 1GB RAM) Hệ điều hành Raspbian Linux Xử lý ảnh, thuật toán nhận diện và điều khiển
Cảm biến hình ảnh Pi Camera V1 (OmniVision OV5647, 5MP, 1080p30) Giao diện 15-pin MIPI CSI-2 Thu nhận luồng khung hình video liên tục
Động cơ góc quay RC Servo TowerPro MG90S (Moment 4.8 kg/cm, 13.4g) Chân điều khiển GPIO18 (Hardware PWM) Xoay trục camera bám theo đối tượng
Nguồn cấp Bộ nguồn DC 5V – 2.5A Cổng Micro USB bo mạch Cung cấp năng lượng cho toàn hệ thống

Thiết kế luồng xử lý phần mềm

Quy trình phần mềm được tổ chức thành hai giai đoạn chính:

1. Giai đoạn đăng ký và huấn luyện bộ nhận diện (Offline)

  • Thu thập từ 5 đến 10 ảnh khuôn mặt của người dùng ở các điều kiện ánh sáng khác nhau.
  • Tự động phát hiện khuôn mặt bằng bộ phát hiện Haar Cascade, cắt vùng ảnh khuôn mặt và gắn nhãn (tên người dùng).
  • Đưa tập dữ liệu vào mô hình LBPH để huấn luyện và lưu cấu trúc tham số ra tệp tin định dạng .xml nhằm phục vụ nạp nhanh khi hệ thống khởi động.

2. Giai đoạn thực thi chương trình chính (Online)

  • Bước 1 (Đọc ảnh): Nhận khung hình dạng ma trận màu BGR từ Pi Camera.
  • Bước 2 (Tiền xử lý): Xoay ảnh theo chiều vật lý của camera, thu nhỏ kích thước khung hình, chuyển đổi sang ảnh xám (ITU BT.601) và thực hiện cân bằng lược đồ mức xám.
  • Bước 3 (Kiểm tra trạng thái dò/nhận diện):
    • Nếu chưa kích hoạt bộ dò: Sử dụng bộ phân loại Haar Cascade để tìm vị trí khuôn mặt. Cắt vùng ảnh khuôn mặt gần nhất đưa vào mô hình LBPH. So sánh khoảng cách Euclid với ngưỡng thiết lập; nếu nhận diện thành công, khởi tạo bộ lọc KCF với bounding box của khuôn mặt.
    • Nếu đã kích hoạt bộ dò: Cập nhật vị trí mới của đối tượng thông qua bộ lọc KCF trên từng khung hình, bỏ qua bước nhận diện lại để tiết kiệm tài nguyên CPU.
  • Bước 4 (Giải thuật điều khiển chuyển động):
    • Xác định tọa độ tâm khuôn mặt theo trục hoành ($x_{face}$).
    • Thiết lập vùng đệm trung tâm dựa trên bề rộng khung hình ($frameWidth$) và tọa độ tâm khung hình ($x_{center}$): $$\text{Biên giới hạn} = x_{center} \pm frameWidth \times 0.15$$
    • So sánh $x_{face}$ với hai biên:
      • Nếu $x_{face} < \text{Biên trái}$: Điều khiển servo quay phải.
      • Nếu $x_{face} > \text{Biên phải}$: Điều khiển servo quay trái.
      • Nếu nằm trong vùng biên: Giữ nguyên vị trí servo.
  • Bước 5 (Điều chế xung và hiển thị): Lớp đối tượng Servo trong mã nguồn Python gọi lệnh hệ thống điều khiển chân PWM phần cứng tương ứng; vẽ khung nhận diện, tính toán số khung hình xử lý trung bình mỗi giây (FPS) qua cửa sổ 10 khung hình và hiển thị lên màn hình.

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

Chương 1: TỔNG QUAN

Chương này giới thiệu bối cảnh phát triển của thị giác máy tính, sự trỗi dậy của các thiết bị thông minh (như camera Nest Hello, Tend Secure Lynx) và bài toán cân đối tài nguyên giữa điện toán đám mây và điện toán biên. Tác giả phân tích lý do không sử dụng các mạng học sâu phức tạp trên phần cứng nhúng chi phí thấp, xác định mục tiêu thiết kế mô hình camera tự động nhận diện và quay quét bám theo khuôn mặt, đồng thời nêu rõ các nội dung và nhiệm vụ nghiên cứu.

Chương 2: CƠ SỞ LÝ THUYẾT

Trình bày cơ sở toán học và kỹ thuật của hệ thống:

  • Lý thuyết cây quyết định và thuật toán tăng cường AdaBoost.
  • Kỹ thuật tiền xử lý ảnh (chuyển đổi mức xám ITU BT.601, cân bằng lược đồ ảnh).
  • Phương pháp trích xuất đặc trưng Haar-like và LBP.
  • Thuật toán phát hiện khuôn mặt Viola – Jones (sử dụng ảnh tích phân và bộ phân loại xếp tầng).
  • Thuật toán nhận diện khuôn mặt LBPH dựa trên khoảng cách Euclid.
  • Thuật toán dò đối tượng theo thời gian thực KCF trong miền Fourier.
  • Tổng quan cấu trúc thư viện OpenCV.
  • Phần cứng máy tính nhúng Raspberry Pi 3 Model B, cấu trúc ngoại vi GPIO, module Pi Camera V1, nguyên lý điều chế độ rộng xung PWM phần cứng trên SoC BCM2837 và cơ chế điều khiển động cơ servo RC MG90S.

Chương 3: THIẾT KẾ HỆ THỐNG

Nội dung chương mô tả chi tiết đặc tả kỹ thuật của hệ thống:

  • Sơ đồ khối kết nối phần cứng giữa Raspberry Pi 3B, Pi Camera V1 và động cơ servo MG90S qua chân GPIO18.
  • Quy trình chuẩn bị dữ liệu mẫu và lưu đồ huấn luyện bộ nhận diện khuôn mặt xuất ra tệp .xml.
  • Lưu đồ thuật toán chi tiết của chương trình chính, giải thuật phân vùng biên trung tâm ($x_{center} \pm frameWidth \times 0.15$) để ra quyết định điều khiển góc quay servo.
  • Thiết kế lớp phần mềm Servo trong Python 3 đóng gói các hành vi phần cứng và lưu đồ thuật toán đo đạc tốc độ khung hình FPS.

Chương 4: THỰC HIỆN HỆ THỐNG VÀ ĐÁNH GIÁ

Trình bày quá trình thi công mô hình thực tế:

  • Lắp ráp kết cấu cơ khí, cố định camera trên trục quay của động cơ servo và kết nối mạch điều khiển.
  • Cấu trúc cây thư mục mã nguồn chương trình.
  • Thực nghiệm kiểm thử quy trình huấn luyện và nhận diện với các mẫu khuôn mặt đăng ký.
  • Đánh giá khả năng hoạt động đồng bộ giữa thuật toán thị giác máy tính (Haar Cascade + LBPH + KCF) và cơ cấu điều khiển PWM phần cứng.

Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Tổng hợp các kết quả kỹ thuật đạt được của mô hình, phân tích những hạn chế cố hữu về mặt phần cứng và giải thuật, từ đó đề xuất các định hướng nâng cấp hệ thống trong tương lai.


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

Kết quả kỹ thuật đạt được

  • Chế tạo thành công mô hình phần cứng camera nhỏ gọn, tích hợp cơ cấu chuyển động một bậc tự do (xoay ngang) sử dụng servo MG90S gắn trực tiếp trên máy tính nhúng Raspberry Pi 3 Model B.
  • Xây dựng phần mềm ứng dụng bằng Python 3 và OpenCV thực thi hoàn chỉnh luồng xử lý: thu thập ảnh từ Pi Camera V1, tiền xử lý (cân bằng lược đồ mức xám), phát hiện khuôn mặt chính diện (Haar Cascade), nhận diện đối tượng đã đăng ký (LBPH) và duy trì bám vết (KCF tracker).
  • Huấn luyện thành công bộ nhận diện với tập dữ liệu nhỏ (5–10 ảnh/người) và lưu trữ dưới dạng tệp .xml, cho phép hệ thống tải nhanh khi khởi động.
  • Ứng dụng kỹ thuật điều chế độ rộng xung PWM phần cứng (Hardware PWM) trên chân GPIO18 thông qua lệnh hệ thống, giải quyết triệt để hiện tượng trễ xung và rung lắc động cơ khi CPU chịu tải xử lý ảnh nặng.

Đóng góp của đề tài

  • Hiện thực hóa giải pháp thị giác máy tính xử lý hoàn toàn ngoại tuyến (offline) tại biên, không phụ thuộc vào đường truyền mạng hay máy chủ xử lý trung gian.
  • Kết hợp tối ưu chuỗi thuật toán: sử dụng Haar Cascade và LBPH cho khâu phát hiện/nhận diện ban đầu, sau đó chuyển giao cho bộ lọc KCF đảm nhiệm khâu bám vết, giúp giảm tải đáng kể chu kỳ tính toán của vi xử lý trên hệ thống nhúng.

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

Hạn chế được ghi nhận

  • Thuật toán Viola – Jones và đặc trưng Haar chỉ phát hiện hiệu quả khuôn mặt ở góc nhìn chính diện; độ chính xác suy giảm khi đối tượng nghiêng đầu, quay góc nghiêng lớn hoặc chuyển động quá nhanh.
  • Cơ cấu chuyển động hiện tại mới chỉ đáp ứng 1 bậc tự do (trục quay ngang Pan), chưa hỗ trợ chuyển động xoay dọc (Tilt).
  • Năng lực tính toán của Raspberry Pi 3 Model B còn giới hạn, ảnh hưởng đến tốc độ khung hình (FPS) khi xử lý đồng thời nhiều thuật toán ở độ phân giải cao.

Hướng phát triển

  • Nâng cấp cơ cấu cơ khí lên hệ thống Pan-Tilt 2 trục (2 động cơ servo) để mở rộng góc quan sát cả phương ngang lẫn phương đứng.
  • Chuyển đổi sang các thế hệ máy tính nhúng có cấu hình mạnh hơn (Raspberry Pi 3 Model B+, Raspberry Pi 4) hoặc tích hợp các mạch tăng tốc phần cứng chuyên dụng (như Intel Movidius Neural Compute Stick, Google Edge TPU).
  • Nghiên cứu ứng dụng các mạng nơ-ron học sâu tối ưu hóa cho thiết bị biên (như MobileNet-SSD, Tiny-YOLO) nhằm cải thiện độ chính xác nhận diện trong các điều kiện môi trường và góc nhìn phức tạp.

Giá trị tham khảo

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

  • Sinh viên ngành Kỹ thuật Máy tính, Điện tử – Viễn thông, Tự động hóa và Công nghệ Thông tin: Làm tài liệu tham khảo cho các đồ án chuyên ngành, đồ án tốt nghiệp về hệ thống nhúng và xử lý ảnh.
  • Người nghiên cứu các giải pháp thị giác máy tính trên biên: Tham khảo chi tiết cách cấu hình phần cứng Raspberry Pi, trích xuất đặc trưng LBP, phát hiện đối tượng bằng Haar Cascade và phương pháp xuất xung Hardware PWM từ hệ điều hành Linux để điều khiển servo mà không gây giật cục.

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

1. Tại sao đồ án không sử dụng mạng học sâu (Deep Learning) để nhận diện khuôn mặt?

Phương pháp mạng học sâu đòi hỏi khối lượng lớn dữ liệu huấn luyện, tài nguyên tính toán cao và cấu hình phần cứng tương thích mạnh. Mục tiêu của đề tài là xây dựng một thiết bị nhúng nhỏ gọn, kinh tế, hoạt động độc lập và ngoại tuyến trên Raspberry Pi 3 Model B, do đó các phương pháp thị giác máy tính truyền thống (Haar Cascade, LBPH, KCF) được lựa chọn để tối ưu hóa thời gian đáp ứng và tài nguyên phần cứng.

2. Hệ thống sử dụng thuật toán nào để nhận diện khuôn mặt và dựa trên thước đo nào?

Hệ thống sử dụng phương pháp Lược đồ Mẫu Nhị phân Cục bộ (Local Binary Patterns Histograms - LBPH). Quá trình so khớp giữa ảnh thu nhận thực tế và ảnh mẫu đã huấn luyện dựa trên việc tính toán khoảng cách Euclid giữa hai vector lược đồ đặc trưng; khoảng cách càng nhỏ thì độ tin cậy nhận diện càng cao.

3. Vai trò của bộ lọc KCF trong luồng xử lý của hệ thống là gì?

Bộ lọc tương quan hạt nhân (Kernelized Correlation Filter - KCF) được kích hoạt ngay sau khi hệ thống nhận diện khuôn mặt thành công. KCF đảm nhận việc bám vết (tracking) liên tục khuôn mặt trong các khung hình tiếp theo với tốc độ tính toán nhanh trong miền Fourier, giúp hệ thống không phải chạy lại toàn bộ thuật toán phát hiện và nhận diện vốn tốn nhiều tài nguyên trên từng khung hình.

4. Tại sao hệ thống phải dùng PWM phần cứng thay vì PWM phần mềm để điều khiển servo MG90S?

Khi CPU của Raspberry Pi phải xử lý các tác vụ thị giác máy tính nặng, việc tạo xung PWM bằng phần mềm sẽ gặp sai số thời gian và độ trễ lớn, dẫn đến hiện tượng cánh tay servo bị rung lắc và hoạt động không ổn định. Việc sử dụng bộ điều chế xung PWM phần cứng tích hợp sẵn trên SoC BCM2837 (chân GPIO18) đảm bảo tần số và độ rộng xung luôn chính xác tuyệt đối.

5. Vùng đệm trung tâm điều khiển servo được tính toán như thế nào?

Vùng đệm được xác định theo công thức $\text{Biên} = x_{center} \pm frameWidth \times 0.15$. Khi hoành độ tâm khuôn mặt ($x_{face}$) nằm ngoài khoảng biên này, chương trình mới phát lệnh quay servo sang trái hoặc phải để đưa khuôn mặt trở lại giữa khung hình; nếu $x_{face}$ nằm trong khoảng biên, servo sẽ đứng yên nhằm tránh dao động liên tục.


Kết luận

Khóa luận tốt nghiệp của sinh viên Phạm Nguyễn Hoàng Hải đã hoàn thành việc thiết kế và thi công thành công mô hình camera nhúng có khả năng tự động nhận diện và quay quét bám theo khuôn mặt. Bằng cách kết hợp linh hoạt các thuật toán Haar Cascade, LBPH, KCF cùng kỹ thuật điều chế xung PWM phần cứng trên nền tảng Raspberry Pi 3 Model B, hệ thống đạt được khả năng vận hành ổn định và độc lập ngoại tuyến. Đồ án cung cấp một tài liệu kỹ thuật hoàn chỉnh từ nền tảng lý thuyết đến triển khai thực nghiệm, đóng vai trò là tài liệu tham khảo hữu ích cho các nghiên cứu ứng dụng thị giác máy tính trên hệ thống nhúng.