Giới thiệu dự án
Theo thống kê từ Tổ chức Y tế Thế giới (WHO) và Cục An toàn Giao thông Quốc gia Mỹ (NHTSA), trạng thái mệt mỏi và ngủ gật của người điều khiển phương tiện là nguyên nhân trực tiếp gây ra hơn 20% tổng số các vụ tai nạn giao thông đường bộ nghiêm trọng mỗi năm. Tại Việt Nam, các vụ tai nạn do tài xế xe tải đường dài và xe khách chạy đêm ngủ gật gây ra thiệt hại đặc biệt nghiêm trọng về người và tài sản.
Vấn đề cốt lõi đặt ra là làm thế nào để phát hiện sớm dấu hiệu ngủ gật của tài xế theo thời gian thực (real-time) với chi phí thấp, không xâm lấn (không yêu cầu gắn cảm biến lên cơ thể gây khó chịu) và có khả năng hoạt động độc lập ngay trên cabin xe mà không phụ thuộc vào hạ tầng mạng internet.
+-------------------------------------------------------------------------------+
| MỤC TIÊU DỰ ÁN HỆ THỐNG CẢNH BÁO |
+-------------------------------------------------------------------------------+
| 1. Xây dựng pipeline xử lý ảnh phát hiện khuôn mặt & mốc cấu trúc (68 điểm) |
| 2. Tính toán tỷ lệ co giãn mắt (Eye Aspect Ratio - EAR) theo thời gian thực |
| 3. Hiện thực hóa thuật toán trên phần cứng nhúng Raspberry Pi 3 Model B |
| 4. Kích hoạt còi báo động âm thanh lập tức khi trạng thái nhắm mắt > 2.0s |
+-------------------------------------------------------------------------------+
Giải pháp được lựa chọn là ứng dụng kỹ thuật Thị giác máy tính (Computer Vision) kết hợp Học máy (Machine Learning) trên nền tảng máy tính nhúng Raspberry Pi 3. Hệ thống sử dụng thuật toán Cascade Classifier (Haar-like/HOG) để định vị khuôn mặt, sau đó áp dụng mô hình Cây hồi quy (Ensemble of Regression Trees) từ thư viện Dlib để trích xuất 68 điểm mốc đặc trưng (Facial Landmarks). Trạng thái mí mắt được định lượng hóa thông qua công thức Tỷ lệ khung mắt (Eye Aspect Ratio - EAR) dựa trên khoảng cách hình học Euclide.
Chỉ số mục tiêu kỳ vọng:
- Tốc độ xử lý: Đạt 10 – 15 khung hình/giây (FPS) trên phần cứng nhúng ARM Cortex-A53.
- Độ trễ phát hiện cảnh báo: Dưới 100ms ngay sau khi phát hiện tài xế nhắm mắt liên tục vượt ngưỡng thời gian quy định ($T \ge 1.5 - 2.0$ giây).
- Độ chính xác nhận diện trạng thái mắt: Đạt trên 88% trong khoảng cách làm việc thực tế từ 0.5m đến 1.2m.
Phạm vi và giới hạn:
- Thiết bị thử nghiệm hoạt động hiệu quả trong điều kiện ánh sáng ban ngày và ánh sáng cabin ổn định.
- Khoảng cách quan sát tối ưu từ camera đến khuôn mặt người lái là dưới 1.2 mét.
- Hệ thống tập trung vào bài toán nhận diện đóng/mở mắt, chưa tích hợp cảm biến hồng ngoại chuyên dụng cho môi trường bóng tối hoàn toàn.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Phương pháp |
Ưu điểm |
Nhược điểm |
Chi phí & Khả thi |
| Cảm biến sinh học (EEG/ECG, Vòng đeo tay) |
Độ chính xác cao, theo dõi sóng não và nhịp tim trực tiếp. |
Gây vướng víu, khó chịu cho tài xế khi lái xe đường dài; dễ bị nhiễu do rung lắc xe. |
Chi phí thiết bị cao (> 5.000.000 VNĐ), độ chấp nhận của người dùng thấp. |
| Hệ thống DMS cao cấp (Mobileye, Smarter Vision) |
Độ chính xác rất cao, tích hợp camera hồng ngoại chuyên dụng và AI nhận diện đa trạng thái. |
Hệ thống độc quyền, cấu trúc đóng, đòi hỏi phần cứng GPU công nghiệp đắt đỏ. |
Chi phí triển khai rất cao (> 20.000.000 VNĐ), khó phổ cập cho xe tải, xe khách vừa và nhỏ. |
| Xử lý ảnh nhúng trên Raspberry Pi 3 (Đề tài đề xuất) |
Không xâm lấn, xử lý cục bộ tại biên (Edge AI), kích thước nhỏ gọn, dễ dàng lắp đặt trên kính lái. |
Năng lực tính toán của CPU ARM hạn chế, cần tối ưu thuật toán để đạt FPS thời gian thực. |
Chi phí thấp (~ 1.500.000 – 2.000.000 VNĐ), hoàn toàn khả thi và dễ triển khai đại trà. |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must-have (Bắt buộc có): Định vị khuôn mặt từ luồng video camera; trích xuất 6 điểm mốc cho mỗi bên mắt; tính toán chỉ số EAR; kích hoạt còi báo động qua ngõ Audio 3.5mm khi EAR nhỏ hơn ngưỡng $\theta$ liên tục qua $N$ khung hình.
- Should-have (Nên có): Giao diện hiển thị khung bao và các điểm mốc trực tiếp lên màn hình giám sát; hoạt động ổn định trên hệ điều hành Raspbian Linux.
- Could-have (Có thể có): Khả năng tùy chỉnh ngưỡng nhạy của EAR theo từng tài xế qua file cấu hình.
- Won't-have (Chưa triển khai): Đồng bộ dữ liệu GPS và phát video stream về máy chủ đám mây (Cloud) qua 4G/5G.
Thiết kế hệ thống
graph TD
A[Logitech C310 HD Webcam / CSI Camera] -->|Thu nhận khung hình 640x480| B[Kit Raspberry Pi 3 Model B]
subgraph Pipeline Xử Lý Trên Raspberry Pi 3
B --> C[Tiền xử lý: Grayscale & Cân bằng sáng]
C --> D[Phát hiện khuôn mặt: HOG + Linear SVM / Haar-like]
D --> E[Trích xuất 68 điểm Facial Landmarks - Dlib ERT]
E --> F[Cắt xuất ROI 2 mắt: Landmarks 36-41 & 42-47]
F --> G[Tính toán tỷ lệ khoảng cách Euclide - EAR]
G --> H{EAR < Threshold liên tục N frames?}
end
H -- Đúng --> I[Kích hoạt Loa Cảnh Báo qua Cổng Audio 3.5mm]
H -- Sai --> J[Tiếp tục vòng lặp giám sát]
I --> K[Hiển thị cảnh báo RED ALERT lên Màn hình]
Technology Stack và Thông số kỹ thuật:
- Phần cứng xử lý: Kit máy tính nhúng Raspberry Pi 3 Model B, SoC Broadcom BCM2837 64-bit Quad-Core ARM Cortex-A53 tốc độ 1.2 GHz, 1GB LPDDR2 SDRAM, GPU Broadcom VideoCore IV.
- Cảm biến thu hình: Webcam HD Logitech C310 (chuẩn giao tiếp USB 2.0, độ phân giải thu nhận $640 \times 480$ pixels).
- Hệ điều hành: Raspbian Stretch (nhân Linux Kernel 4.9) tối ưu cho kiến trúc ARM hard-float ABI.
- Môi trường phát triển: Python 3.6 / 2.7, OpenCV 3.4.0 (thư viện thị giác máy tính và xử lý ma trận ảnh), Dlib 19.8 (mô hình học máy dự đoán hình dạng
shape_predictor_68_face_landmarks.dat), SciPy 1.0.0 (tính toán đại số tuyến tính và khoảng cách không gian).
Methodology
Dự án áp dụng phương pháp phát triển xoay vòng theo từng module chức năng (Iterative Modular Development):
- Tuần 1 – 5 (Nền tảng): Khởi tạo phần cứng Raspberry Pi 3, nạp hệ điều hành Raspbian Stretch qua Win32 Disk Imager, cấu hình môi trường mạng, biên dịch OpenCV 3 và Dlib từ mã nguồn.
- Tuần 6 – 10 (Nghiên cứu thuật toán): Thực nghiệm thuật toán Haar-like kết hợp AdaBoost và HOG detector trên tập dữ liệu chuẩn; khảo sát mô hình 68 mốc iBUG 300-W.
- Tuần 11 – 13 (Tích hợp module nhận dạng): Xây dựng module trích xuất vùng mắt, giải thuật tính khoảng cách Euclide giữa các cặp điểm mi trên - mi dưới.
- Tuần 14 – 15 (Hoàn thiện & Thử nghiệm thực tế): Xây dựng logic phát hiện chuỗi khung hình nhắm mắt, điều khiển ngõ ra âm thanh cảnh báo, đánh giá độ trễ và tỷ lệ nhận diện lỗi.
Implementation và kết quả
Development process
Cốt lõi của giải pháp bao gồm 3 giải thuật liên hoàn:
1. Định vị khuôn mặt và trích xuất điểm mốc cấu trúc (Facial Landmarks):
Mô hình sử dụng phương pháp Ensemble of Regression Trees (Kazemi & Sullivan, 2014) được tích hợp trong Dlib. Thuật toán tối ưu hóa hàm suy biến trực tiếp từ cường độ sáng của các pixel xung quanh để dự đoán vector vị trí 68 điểm tọa độ $S = (x_1, y_1, x_2, y_2, ..., x_{68}, y_{68})$ với thời gian tính toán chỉ tính bằng mili-giây.
2. Tính toán tỷ lệ co giãn khung mắt (Eye Aspect Ratio - EAR):
Với mỗi bên mắt, vị trí được đánh dấu bởi 6 điểm tọa độ từ $p_1$ đến $p_6$ (vùng mắt trái: điểm 36 đến 41; vùng mắt phải: điểm 42 đến 47 theo quy chuẩn tập dữ liệu 68 điểm iBUG 300-W).
p2 p3
+------+
/ \
p1 + + p4 (Chiều dài ngang mắt)
\ /
+------+
p6 p5
(Chiều cao mí mắt)
Khoảng cách Euclide giữa hai điểm 2D $A(x_A, y_A)$ và $B(x_B, y_B)$ được xác định bởi:
$$d(A, B) = \sqrt{(x_A - x_B)^2 + (y_A - y_B)^2}$$
Công thức tính tỷ lệ khung mắt $EAR$ được thiết lập nhằm biểu diễn tương quan giữa độ mở mi mắt theo phương thẳng đứng và chiều dài đuôi mắt theo phương ngang:
$$EAR = \frac{||p_2 - p_6|| + ||p_3 - p_5||}{2 \times ||p_1 - p_4||}$$
Khi mắt ở trạng thái mở bình thường, giá trị $EAR$ dao động trong khoảng $0.28 - 0.38$. Khi mắt nhắm lại, tử số tiến dần về 0 khiến $EAR$ giảm mạnh xuống dưới ngưỡng $0.20 - 0.25$.
3. Mã nguồn thực thi logic phát hiện ngủ gật trên Python:
import cv2
import dlib
import numpy as np
from scipy.spatial import distance as dist
# Định nghĩa hàm tính tỷ lệ co giãn khung mắt (EAR)
def calculate_ear(eye):
# Tính khoảng cách Euclide theo phương thẳng đứng giữa các cặp mốc mí mắt
A = dist.euclidean(eye[1], eye[5])
B = dist.euclidean(eye[2], eye[4])
# Tính khoảng cách Euclide theo phương ngang (chiều dài mắt)
C = dist.euclidean(eye[0], eye[3])
# Tính toán chỉ số EAR
ear = (A + B) / (2.0 * C)
return ear
# Các hằng số cấu hình hệ thống
EAR_THRESHOLD = 0.25 # Ngưỡng EAR xác định mắt đang nhắm
CONSEC_FRAMES_CLOSED = 20 # Số khung hình liên tiếp nhắm mắt (~1.5 - 2.0s tại 10-12 FPS)
frame_counter = 0
# Khởi tạo bộ phát hiện khuôn mặt và bộ định vị 68 điểm mốc từ Dlib
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor("shape_predictor_68_face_landmarks.dat")
# Chỉ số mốc cho mắt trái và mắt phải theo chuẩn 68 điểm iBUG 300-W
(lStart, lEnd) = (42, 48)
(rStart, rEnd) = (36, 42)
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
# Tiền xử lý giảm kích thước khung hình nhằm tăng tốc độ xử lý trên CPU Raspberry Pi
frame = cv2.resize(frame, (450, int(frame.shape[0] * (450.0 / frame.shape[1]))))
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
rects = detector(gray, 0)
for rect in rects:
shape = predictor(gray, rect)
shape_np = np.zeros((68, 2), dtype="int")
for i in range(0, 68):
shape_np[i] = (shape.part(i).x, shape.part(i).y)
leftEye = shape_np[lStart:lEnd]
rightEye = shape_np[rStart:rEnd]
leftEAR = calculate_ear(leftEye)
rightEAR = calculate_ear(rightEye)
avgEAR = (leftEAR + rightEAR) / 2.0
# Kiểm tra điều kiện rơi vào trạng thái ngủ gật
if avgEAR < EAR_THRESHOLD:
frame_counter += 1
if frame_counter >= CONSEC_FRAMES_CLOSED:
cv2.putText(frame, "CANH BAO: NGU GAT!", (10, 30),
cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 0, 255), 2)
# Kích hoạt âm thanh cảnh báo còi qua ngõ ra hệ thống
else:
frame_counter = 0
cv2.imshow("Driver Drowsiness Detection", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Testing và validation
Hệ thống được thử nghiệm trên 120 kịch bản mô phỏng thực tế với các điều kiện môi trường khác nhau:
- Kiểm thử góc quan sát: Góc nhìn thẳng trực diện ($0^{\circ}$), góc nghiêng ngang ($15^{\circ} - 30^{\circ}$), góc cúi gập đầu ($15^{\circ}$).
- Kiểm thử phụ kiện: Tài xế không đeo kính và tài xế có đeo kính cận trong suốt.
- Kiểm thử ánh sáng: Điều kiện ánh sáng ban ngày tự nhiên và ánh sáng đèn cabin ban đêm.
Kết quả đạt được
| Điều kiện thực nghiệm |
Số mẫu thử nghiệm |
Nhận dạng đúng (Mở/Nhắm) |
Nhận dạng sai / Bỏ sót |
Độ chính xác trung bình (%) |
| Góc thẳng - Ban ngày - Không đeo kính |
30 |
29 |
1 |
96.7% |
| Góc thẳng - Ban ngày - Có đeo kính |
30 |
27 |
3 |
90.0% |
| Góc nghiêng ($15^{\circ}-30^{\circ}$) - Ban ngày |
30 |
25 |
5 |
83.3% |
| Góc thẳng - Ban đêm (đèn cabin bật) |
30 |
24 |
6 |
80.0% |
| Tổng thể toàn bộ hệ thống |
120 |
105 |
15 |
87.5% |
- Tốc độ xử lý khung hình (Framerate): Đạt trung bình $11.4 \pm 1.2$ FPS trên nền Raspbian Stretch khi xử lý luồng video độ phân giải đã resize ($450\times 338$).
- Thời gian phản ứng kích hoạt cảnh báo: Độ trễ từ lúc tài xế nhắm mắt vượt quá 20 frames đến khi phát tín hiệu âm thanh là dưới 85ms.
Đổi mới và đóng góp
- Đổi mới về mặt kỹ thuật: Khắc phục nhược điểm của các phương pháp template matching truyền thống bằng việc ứng dụng vector khoảng cách hình học $EAR$. Cách tiếp cận này loại bỏ hoàn toàn việc phải huấn luyện thêm mạng nơ-ron phân loại trạng thái mắt phức tạp, giúp giảm hơn 65% tải tính toán trên bộ vi xử lý ARM Cortex-A53 của Raspberry Pi 3.
- Tối ưu hóa Edge Computing: Toàn bộ chu trình từ thu nhận hình ảnh, phát hiện khuôn mặt, trích xuất điểm mốc và xử lý logic cảnh báo đều diễn ra hoàn toàn trên bo mạch độc lập không cần GPU rời hay kết nối đám mây, đảm bảo tính riêng tư tuyệt đối cho tài xế.
- So sánh với các giải pháp khác trên thị trường:
+-----------------------------+-----------------------------+-----------------------------+
| Cảm biến tiếp xúc cơ thể | Mô hình Deep CNN nặng nề | Giải pháp Dlib + EAR (Pi3)|
+-----------------------------+-----------------------------+-----------------------------+
| * Nhược điểm: Vướng víu, | * Nhược điểm: Yêu cầu card | * Ưu điểm: Không xâm lấn, |
| dễ tuột dây khi lái xe. | đồ họa GPU hoặc Cloud AI. | chạy mượt trên CPU nhúng. |
| * Chi phí: Cao (> 5 triệu). | * Chi phí: Rất cao (> 15tr).| * Chi phí: Cực thấp (< 2tr).|
| * Độ trễ: Phụ thuộc truyền dẫn| * Độ trễ: Cao nếu mạng chậm | * Độ trễ: Cực thấp (< 100ms)|
+-----------------------------+-----------------------------+-----------------------------+
Ứng dụng thực tế và triển khai
Trường hợp sử dụng thực tế (Use Cases)
- Hệ thống giám sát xe khách và xe tải đường dài: Thiết bị đóng gói dạng hộp đen nhỏ gọn gắn cố định trên góc gương chiếu hậu hoặc taplo hướng trực diện về phía ghế lái.
- Giám sát nhân viên trực ca đêm: Ứng dụng tại các phòng điều khiển trung tâm nhà máy điện, trung tâm an ninh, điều độ viên đường sắt nhằm phát hiện sự mất tập trung.
Chiến lược triển khai và Phần cứng hệ thống
+-------------------------------------------------------------------------------+
| BẢNG KÊ CHI PHÍ PHẦN CỨNG (BOM) |
+-------------------------------------------------------------------------------+
| STT | Thành phần linh kiện | Số lượng | Đơn giá ước tính |
| 1 | Bo mạch Raspberry Pi 3 Model B | 01 | 950.000 VNĐ |
| 2 | Thẻ nhớ MicroSD Sandisk 16GB Class 10 | 01 | 150.000 VNĐ |
| 3 | Logitech C310 HD Webcam / Module Camera | 01 | 450.000 VNĐ |
| 4 | Còi chip Buzzer / Loa mini 3.5mm | 01 | 80.000 VNĐ |
| 5 | Mạch nguồn chuyển đổi tẩu sạc ô tô 5V 3A| 01 | 70.000 VNĐ |
| | TỔNG CHI PHÍ PHẦN CỨNG CHO MỖI ĐƠN VỊ | | ~ 1.700.000 VNĐ |
+-------------------------------------------------------------------------------+
- Yêu cầu nguồn điện: Điện áp 5V DC, dòng điện tối thiểu 2.5A, cấp nguồn trực tiếp từ cổng sạc tẩu 12V/24V của phương tiện thông qua mạch hạ áp Buck DC-DC.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Môi trường ánh sáng yếu: Khi xe chạy vào ban đêm không bật đèn cabin, webcam thông thường không thu được đủ chi tiết khuôn mặt khiến bộ phát hiện mốc Dlib thất bại.
- Góc xoay đầu lớn: Khi tài xế quay đầu sang hai bên vượt quá $45^{\circ}$, thuật toán nhận diện khuôn mặt HOG/Haar-like bị mất dấu đối tượng quan tâm (ROI).
- Hiện tượng khúc xạ kính mắt: Kính râm đen hoặc kính cận dày có độ lóa cao làm giảm độ chính xác định vị các điểm mốc mí mắt.
Hướng nâng cấp tương lai
- Phần cứng hồng ngoại: Nâng cấp sang cảm biến Raspberry Pi NoIR Camera kết hợp dãy đèn LED hồng ngoại bước sóng $850\text{nm}$ hoặc $940\text{nm}$ để quan sát rõ nét trong đêm tối mà không gây chói mắt tài xế.
- Mở rộng thuật toán nhận diện ngáp và mất tập trung: Tích hợp thêm chỉ số Tỷ lệ mở miệng (Mouth Aspect Ratio - MAR) để phát hiện hành vi ngáp và thuật toán Head Pose Estimation để cảnh báo khi tài xế quay mặt đi hướng khác quá 3 giây.
- Tích hợp IoT: Bổ sung module GPS và 4G LTE gửi dữ liệu cảnh báo và vị trí phương tiện về máy chủ quản lý đội xe (Fleet Management Server).
Đố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 tham khảo bài bản về việc tối ưu hóa thuật toán Computer Vision trên nền tảng phần cứng nhúng ARM giới hạn tài nguyên.
- Lập trình viên Embedded & Edge AI: Nắm bắt quy trình triển khai Dlib, OpenCV và kỹ thuật tính toán vector hình học trên hệ điều hành Linux Raspbian.
- Doanh nghiệp vận tải: Cung cấp mô hình giải pháp hệ thống cảnh báo an toàn cho tài xế với mức đầu tư chỉ bằng 1/10 các giải pháp thương mại nhập ngoại.
- Nhà nghiên cứu: Cơ sở dữ liệu thực nghiệm về độ tin cậy của mô hình ERT và chỉ số EAR dưới các điều kiện ánh sáng và góc nghiêng thực tế.
Câu hỏi thường gặp
1. Cấu hình phần cứng tối thiểu để hệ thống chạy ổn định thời gian thực là gì?
Hệ thống yêu cầu bo mạch Raspberry Pi 3 Model B (hoặc Raspberry Pi 4 / Zero 2W), RAM tối thiểu 1GB, thẻ nhớ MicroSD Class 10 tốc độ đọc/ghi từ $80\text{MB/s}$ trở lên và camera USB/CSI hỗ trợ quay tối thiểu 30 FPS ở độ phân giải VGA ($640 \times 480$).
2. Tại sao lại chọn chỉ số EAR thay vì dùng mạng CNN để phân loại mắt đóng/mở?
Mạng nơ-ron CNN yêu cầu nhiều triệu phép tính dấu chấm động trên mỗi khung hình, gây quá nhiệt và tụt FPS nghiêm trọng trên CPU Raspberry Pi 3. Ngược lại, chỉ số EAR chỉ cần thực hiện 3 phép tính khoảng cách Euclide đơn giản sau khi đã có tọa độ mốc, với độ phức tạp tính toán chỉ là $O(1)$, bảo đảm tốc độ xử lý real-time.
3. Hệ thống có bị kích hoạt báo động nhầm khi tài xế chớp mắt bình thường không?
Không. Một lần chớp mắt tự nhiên của con người chỉ diễn ra trong khoảng $0.1 - 0.4$ giây (tương đương 1 đến 4 khung hình). Hệ thống được lập trình chỉ kích hoạt còi báo động khi trạng thái nhắm mắt ($EAR < 0.25$) kéo dài liên tục vượt quá 20 khung hình (tương đương $\ge 1.5 - 2.0$ giây), đại diện cho hành vi ngủ gật thực sự.
4. Thiết bị có hoạt động được khi tài xế đeo kính mát phân cực hoặc kính cận không?
Hệ thống hoạt động tốt với kính cận trong suốt (độ chính xác đạt 90%). Với kính râm màu tối hoặc kính phân cực cản ánh sáng khả kiến, hệ thống cần được trang bị thêm camera hồng ngoại chuyên dụng (IR Camera) để xuyên qua tròng kính.
5. Chi phí sản xuất hàng loạt cho một bộ thiết bị là bao nhiêu và thời gian hoàn vốn?
Chi phí phần cứng khi sản xuất số lượng từ 50 bộ dao động khoảng 1.300.000 – 1.500.000 VNĐ/bộ. Việc phòng ngừa được một vụ tai nạn giao thông giúp doanh nghiệp vận tải tiết kiệm hàng trăm triệu đồng chi phí bảo hiểm và đền bù phương tiện, mang lại hiệu quả hoàn vốn đầu tư (ROI) ngay tức thì.
Kết luận
Đồ án tốt nghiệp "Ứng dụng xử lý ảnh vào việc phát hiện ngủ gật dùng Kit Raspberry" đã nghiên cứu, thiết kế và chế tạo thành công một hệ thống giám sát an toàn người lái hoàn chỉnh trên nền tảng máy tính nhúng Raspberry Pi 3. Bằng sự kết hợp giữa mô hình định vị 68 mốc cấu trúc khuôn mặt (Facial Landmarks) của Dlib và công thức toán học Tỷ lệ co giãn khung mắt ($EAR$), hệ thống đã đạt độ chính xác nhận diện tổng thể 87.5%, tốc độ xử lý ổn định 11.4 FPS và độ trễ phản ứng dưới 85ms.
Kết quả nghiên cứu chứng minh tính khả thi vượt trội của việc ứng dụng các thuật toán Edge AI chi phí thấp vào giải quyết bài toán giao thông thực tiễn tại Việt Nam, mở ra hướng ứng dụng thương mại hóa rộng rãi trên các phương tiện vận tải công cộng và chuyên dụng trong tương lai.