Giới thiệu dự án

Theo thống kê từ Ủy ban An toàn Giao thông Quốc gia trích dẫn từ Hội đồng An toàn Quốc gia Mỹ (NSC), tai nạn giao thông do tài xế ngủ gật chiếm tới 21% tổng số vụ tai nạn, gây thiệt hại ước tính hơn 109 tỷ USD mỗi năm và cướp đi sinh mạng của hơn 400 người. Ở vận tốc trung bình 50 km/h, một phương tiện di chuyển gần 14 mét mỗi giây; chỉ cần tài xế rơi vào trạng thái ngủ ngắn (Microsleep) từ 1–2 giây, hậu quả để lại là vô cùng nghiêm trọng.

Vấn đề cốt lõi đặt ra là các phương pháp tiếp cận truyền thống như đo điện não đồ (EEG - Electroencephalogram), điện tâm đồ (ECG - Electrocardiography) hay điện nhãn đồ (EOG - Electrooculography) đòi hỏi gắn cảm biến trực tiếp lên cơ thể, gây vướng víu, khó chịu và cản trở thao tác lái xe. Trong khi đó, các giải pháp thị giác máy tính trên máy tính cá nhân hoặc hệ thống nhúng thông thường lại gặp nút thắt lớn về độ trễ xử lý (độ trễ 1.5–2 giây, tốc độ chỉ đạt 5–7 FPS), không đảm bảo cảnh báo theo thời gian thực.

Khóa luận tốt nghiệp ngành Kỹ thuật Máy tính tại Trường Đại học Công nghệ Thông tin – ĐHQG-HCM do sinh viên Nguyễn Công Minh và Chu Đức Thành thực hiện (dưới sự hướng dẫn của ThS. Lê Hoài Nghĩa) tập trung giải quyết bài toán trên thông qua việc thiết kế, tối ưu và thực thi hệ thống nhúng phát hiện buồn ngủ thời gian thực.

Mục tiêu cụ thể của dự án:

  1. Nghiên cứu và xây dựng thuật toán phát hiện trạng thái buồn ngủ dựa trên thời gian nhắm mắt liên tục trong từng chu kỳ chớp mắt thay vì đếm tần suất tích lũy.
  2. Tối ưu hóa mô hình học sâu MobileNet SSD v2 (Single Shot MultiBox Detector) và mô hình Dlib Facial Landmark thông qua kỹ thuật cắt tỉa đặc trưng (Feature Pruning) và lượng tử hóa (Quantization).
  3. Triển khai giải thuật lên phần cứng máy tính nhúng Raspberry Pi 4 kết hợp bộ tăng tốc phần cứng Edge TPU Google Coral USB Accelerator.
  4. Đạt tốc độ xử lý thời gian thực $\ge 20\text{ FPS}$ với độ chính xác phát hiện buồn ngủ $\ge 85%$ trong điều kiện ánh sáng ban ngày.

Phạm vi và giới hạn:

  • Thiết bị được thiết kế gắn cố định trước vô lăng của buồng lái xe.
  • Hệ thống tập trung tối ưu hóa nhận diện trong điều kiện ánh sáng ban ngày với góc nhìn trực diện khuôn mặt tài xế.

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

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

Các giải pháp cảnh báo buồn ngủ hiện nay phân chia thành hai nhóm chính: phương pháp cảm biến sinh học xâm lấn và phương pháp thị giác máy tính phi xâm lấn.

Giải pháp Cơ chế hoạt động Ưu điểm Nhược điểm
Cảm biến sinh học (EEG/ECG/EOG) Đo tín hiệu sóng não, nhịp tim hoặc điện trường xung quanh võng mạc Độ chính xác cao (84% – 97%) Gây khó chịu, vướng víu, chi phí lắp đặt đắt đỏ
OpenCV Haar Cascade (ThS. Thái Thị Hòa Vân, 2017) Phát hiện khuôn mặt và mắt trên CPU máy tính cá nhân Đơn giản, dễ cài đặt trên hệ điều hành MacOS/Windows Độ trễ lớn (mất 2s để xác định nhắm mắt), không chạy được trên phần cứng nhúng nhỏ gọn
Hệ thống giám sát HTGSTTBN (TS. Nguyễn Minh Sơn, 2018) Xử lý ảnh khuôn mặt, tích hợp truyền tin GPS/GPRS Độ chính xác ~90%, có nền tảng giám sát từ xa Tốc độ xử lý chậm (chu kỳ cập nhật mặt 10s, phát hiện nhắm mắt mất 1.5s)
Deep Learning trên Android (NTHU Dataset, 2018) Mô hình mạng nơ-ron tích chập (CNN) nhận diện cử chỉ Độ chính xác 81% trên tập đánh giá phức tạp Tốc độ thấp (7 FPS trên Intel Core i7 / GTX 1080), không đáp ứng thời gian thực di động
Giải pháp đề xuất (Coral Edge TPU + Raspberry Pi 4) MobileNet SSD v2 lượng tử hóa + Dlib 12 điểm mắt tùy biến Tốc độ cao ($\sim 30\text{ FPS}$), nhỏ gọn, phát hiện tức thời ($t > 400\text{ ms}$) Cần tối ưu góc đặt camera trước vô lăng

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

  • Must have: Phát hiện khuôn mặt và 12 điểm mốc vùng mắt theo thời gian thực ($\ge 20\text{ FPS}$); phát âm thanh cảnh báo khi thời gian nhắm mắt $t > 400\text{ ms}$.
  • Should have: Bộ gia tốc Edge TPU xử lý mạng nơ-ron tensor; giảm tải CPU Raspberry Pi 4 xuống dưới 40% cho các tác vụ tính toán thời gian.
  • Could have: Tích hợp camera hồng ngoại (IR) hỗ trợ điều kiện lái xe ban đêm.
  • Won't have: Xử lý toàn bộ 68 điểm facial landmark không liên quan (mũi, miệng, cằm) nhằm tiết kiệm chi phí tính toán.

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm hai khối chính: Khối phần cứng biên (Edge Hardware) và Khối xử lý luồng thuật toán (Software Pipeline).

[ Camera CSI/USB 30FPS ] 
           │ (Khung hình 640x480)
           ▼
[ Google Coral USB Accelerator (Edge TPU) ] 
   └─► MobileNet SSD v2 Faces (.tflite INT8) ──► Trích xuất Bounding Box Khuôn mặt
           │
           ▼
[ Raspberry Pi 4 Model B (Quad Cortex-A72) ]
   ├─► Crop ROI vùng mắt
   ├─► Customized Dlib Facial Landmark (12 điểm mắt)
   ├─► Tính toán khoảng cách mí mắt & Xác định trạng thái Nhắm/Mở
   └─► Logic Timer: Δt = t_close - t_open
           │
           ▼ (Nếu Δt > 400ms)
[ Mạch Cảnh báo Âm thanh (Buzzer / Audio Speaker) ]

Technology Stack và Thông số kỹ thuật:

  • Hệ điều hành: Raspberry Pi OS (Debian Linux 64-bit).
  • Bộ vi xử lý nhúng: Broadcom BCM2711, Quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5 GHz, 4GB LPDDR4 RAM.
  • Bộ đồng xử lý máy học: Google Coral USB Accelerator (ASIC Edge TPU tích hợp, năng lực tính toán 4 TOPS - Trillion Operations Per Second, công suất 0.5W/TOPS, giao tiếp USB 3.0).
  • Framework & Thư viện:
    • Python 3.7+
    • TensorFlow Lite Python API (tflite_runtime) & Edge TPU Runtime (libedgetpu.so, PyCoral API)
    • Dlib C++ / Python Binding
    • OpenCV 4.x (Xử lý khung hình và chuyển đổi không gian màu BGR/RGB)

Methodology

Phương pháp luận nghiên cứu được xây dựng theo quy trình 2 giai đoạn:

Giai đoạn 1: Pre-processing & Hyperparameter Optimization
[Dataset iBUG 300-W (7764 ảnh)] ──► [Lọc 12 điểm mắt] ──► [Grid Search tham số Dlib] ──► [Mô hình Shape Predictor tối ưu]

Giai đoạn 2: Model Quantization & Embedded Deployment
[MobileNet SSD v2 FP32] ──► [TFLite Post-Training Quantization] ──► [Edge TPU Compiler] ──► [Deploy Coral USB + Pi 4]
  1. Giai đoạn tiền xử lý và huấn luyện thực nghiệm (Pre-processing & Statistics):
    • Đánh giá tương quan giữa hiện tượng buồn ngủ và hành vi chớp mắt dựa trên thang đo buồn ngủ Karolinska (KSS - Karolinska Sleepiness Scale).
    • Tinh chỉnh tệp cấu trúc XML của tập dữ liệu khuôn mặt để phục vụ huấn luyện bộ dự đoán hình dạng (Shape Predictor).
  2. Giai đoạn tích hợp phần cứng và tối ưu hóa thời gian thực:
    • Chuyển đổi mô hình MobileNet SSD v2 từ dạng số thực 32-bit (float32) sang dạng số nguyên 8-bit cố định (int8) thông qua TensorFlow Lite Converter và biên dịch cho Edge TPU.
    • Thiết lập luồng bắt khung hình đa luồng (Multi-threading Video Capture) để triệt tiêu độ trễ I/O.

Implementation và kết quả

Development process

1. Cơ sở sinh lý học và Logic ngưỡng thời gian chớp mắt

Theo nghiên cứu của R. Galley (2008) phân tích trên MATLAB với 129 tình nguyện viên:

  • Thời gian chớp mắt bình thường của người tỉnh táo dao động trong khoảng $200\text{ ms} \le t \le 400\text{ ms}$.
  • Khi rơi vào trạng thái ngủ ngắn (Microsleep), mí mắt sụp xuống liên tục vượt quá $500\text{ ms}$.
  • Thuật toán đề xuất chọn ngưỡng kích hoạt cảnh báo là $t_{\text{threshold}} = 400\text{ ms}$.
import time

def process_drowsiness_detection(eye_distance, threshold_closed=5.0, time_threshold=0.4):
    """
    eye_distance: Khoảng cách giữa mí mắt trên và mí mắt dưới (pixel)
    threshold_closed: Ngưỡng xác định mắt nhắm
    time_threshold: Ngưỡng thời gian buồn ngủ (0.4 giây = 400ms)
    """
    global eye_closed_start_time, is_closed

    if eye_distance < threshold_closed:
        if not is_closed:
            eye_closed_start_time = time.time()
            is_closed = True
        else:
            duration = time.time() - eye_closed_start_time
            if duration > time_threshold:
                trigger_alarm() # Kích hoạt còi cảnh báo tức thì
    else:
        is_closed = False
        eye_closed_start_time = None

2. Tinh chỉnh tệp dữ liệu huấn luyện Dlib Landmark (iBUG 300-W)

Tệp XML gốc của bộ dữ liệu iBUG 300-W chứa đầy đủ 68 tọa độ điểm mốc trên toàn bộ khuôn mặt (mũi, viền hàm, chân mày, miệng, mắt). Để giảm thiểu kích thước mô hình và loại bỏ chi phí tính toán các điểm dư thừa, toàn bộ cấu trúc XML được làm sạch bằng script trích xuất, chỉ giữ lại 12 điểm đại diện cho hai mắt:

  • Mắt phải: Tọa độ các điểm từ index 36 đến 41 (6 điểm).
  • Mắt trái: Tọa độ các điểm từ index 42 đến 47 (6 điểm).
import xml.etree.ElementTree as ET

def prune_landmarks_to_eyes_only(input_xml_path, output_xml_path):
    tree = ET.parse(input_xml_path)
    root = tree.getroot()
    eye_indices = set(map(str, range(36, 48))) # 36-41: Mắt phải, 42-47: Mắt trái

    for image in root.findall('.//image'):
        for box in image.findall('box'):
            parts_to_remove = [part for part in box.findall('part') 
                               if part.attrib['name'] not in eye_indices]
            for part in parts_to_remove:
                box.remove(part)

    tree.write(output_xml_path, encoding='utf-8', xml_declaration=True)

3. Tối ưu hóa siêu tham số huấn luyện mô hình Dlib Shape Predictor

Quá trình huấn luyện mô hình dự đoán hình dạng dựa trên thuật toán cây hồi quy Ensembles of Regression Trees (ERT). Khóa luận thực hiện phân tích ma trận tương quan giữa các tham số ảnh hưởng tới: Thời gian suy luận (Inference Time), Kích thước mô hình (Model Size), Sai số huấn luyện (Training Error) và Sai số kiểm thử (Testing Error):

  • cascade_depth = 15: Đảm bảo số tầng cascade đủ lớn để duy trì độ chính xác định vị mi mắt.
  • tree_depth = 4: Khống chế độ sâu cây ở mức $2^4 = 16$ lá nhằm triệt tiêu hiện tượng trễ khi tính toán trên nhân ARM.
  • nu = 0.1: Hệ số chuẩn hóa (Regularization) ngăn chặn hiện tượng quá khớp (Overfitting).
  • feature_pool_size = 400: Số lượng điểm ảnh được lấy mẫu tại mỗi nút cây.
  • num_test_splits = 50: Số phép phân chia kiểm thử trong quá trình xây dựng cây.
import dlib

options = dlib.shape_predictor_training_options()
options.cascade_depth = 15
options.tree_depth = 4
options.nu = 0.1
options.feature_pool_size = 400
options.num_test_splits = 50
options.oversampling_translation_jitter = 5
options.be_verbose = True

# Huấn luyện bộ dự đoán hình dạng 12 điểm tùy biến
dlib.train_shape_predictor("ibug_300w_eyes_only.xml", "custom_eye_predictor.dat", options)

Testing và validation

Hệ thống được đánh giá thực nghiệm trên tập dữ liệu video chuẩn quốc tế YawDD (Yawning Detection Dataset) gồm 342 video với tốc độ 30 FPS. Nghiên cứu trích xuất 110 video được ghi lại từ camera đặt trước vô lăng (Dash/Steering wheel position) để kiểm tra độ tin cậy.

Kịch bản thử nghiệm Kích thước Frame Tốc độ xử lý (FPS) Độ trễ suy luận Face Detection Độ trễ Facial Landmark Tỷ lệ cảnh báo chính xác
Raspberry Pi 4 CPU thuần (MobileNet SSD) $640 \times 480$ 6.5 FPS 148 ms 12 ms 78.2%
Raspberry Pi 4 + Coral Edge TPU (Mô hình gốc 68 điểm) $640 \times 480$ 18.2 FPS 2.5 ms 52 ms 83.5%
Raspberry Pi 4 + Coral Edge TPU (Mô hình tối ưu 12 điểm mắt) $640 \times 480$ 29.4 FPS 2.5 ms 9.8 ms 88.6%

Hiệu năng so sánh phần cứng:

  • Bộ vi xử lý nhúng thông thường (Quad-core Cortex-A53 @ 1.5GHz) mất 45 ms cho mỗi lần suy luận MobileNet v2.
  • Khi gắn thêm Google Coral USB Accelerator qua cổng USB 3.0, thời gian thực thi mô hình giảm xuống chỉ còn 2.5 ms (tăng tốc độ gấp 18 lần).

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

[Mục tiêu ban đầu] ──► Tốc độ: 20 FPS  ──► Độ chính xác: 80%
[Kết quả đạt được] ──► Tốc độ: ~30 FPS ──► Độ chính xác: 88.6% (Vượt 47% về FPS, 8.6% về Accuracy)
  1. Vượt mức chỉ tiêu hiệu năng: Tốc độ khung hình xử lý đạt xấp xỉ $30\text{ FPS}$ (vượt xa mục tiêu 20 FPS ban đầu), cho phép giám sát liên tục từng mili-giây hành vi của mắt tài xế mà không xảy ra hiện tượng tràn bộ đệm (Frame drop).
  2. Kích thước mô hình tinh gọn: Mô hình Dlib sau khi rút gọn còn 12 điểm có kích thước chỉ bằng một phần nhỏ so với mô hình gốc 68 điểm (~99.7 MB), giúp nạp nhanh vào RAM và giải phóng tài nguyên CPU cho các tác vụ xử lý logic.
  3. Độ chính xác cao: Đạt độ chính xác $88.6%$ khi nhận diện trạng thái buồn ngủ trên tập dữ liệu video YawDD với camera gắn trước vô lăng.

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

  1. Đổi mới phương pháp luận cảnh báo buồn ngủ: Thay vì sử dụng phương pháp đếm số lần chớp mắt trong một cửa sổ thời gian dài (phải chờ tích lũy dữ liệu nhiều giây mới đưa ra kết luận), hệ thống đo trực tiếp độ dài thời gian của từng chu kỳ nhắm mắt riêng lẻ. Cách tiếp cận này phát hiện kịp thời khoảnh khắc bắt đầu xuất hiện "Microsleep" ($t > 400\text{ ms}$), rút ngắn thời gian cảnh báo từ 1.5–2 giây xuống dưới 0.5 giây.
  2. Kiến trúc tăng tốc biên lai ghép (Heterogeneous Edge Architecture): Kết hợp chip nhúng ARM (Raspberry Pi 4) đảm nhiệm xử lý logic/I/O và chip chuyên dụng ASIC Tensor Processing Unit (Google Coral) phụ trách tính toán ma trận học sâu. Giải pháp này giúp thiết bị có mức giá chỉ xấp xỉ 3.000.000 VNĐ nhưng đạt năng lực suy luận tương đương các bộ xử lý cao cấp như NVIDIA Jetson Nano/Xavier có giá từ 10.000.000 – 24.000.000 VNĐ.
  3. Kỹ thuật thu gọn không gian đặc trưng Facial Landmark: Đóng góp quy trình tiền xử lý dữ liệu và cấu hình tham số huấn luyện lại mô hình hồi quy cây ERT, chứng minh việc giảm từ 68 điểm xuống 12 điểm tập trung vào vùng mắt giúp giảm thời gian xử lý mốc khuôn mặt trên CPU từ 52 ms xuống 9.8 ms mà không làm suy giảm độ chính xác nhận diện khe hở mí mắt.

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

Kịch bản triển khai thực tế

Hệ thống được đóng gói thành một hộp điều khiển nhỏ gọn (kích thước tương đương bao thuốc lá), gắn cố định tại vị trí trục lái phía trước vô lăng của xe ô tô, xe khách đường dài hoặc xe tải container:

  • Camera góc rộng $120^\circ$ hướng trực diện vào khuôn mặt tài xế ở khoảng cách $50 - 80\text{ cm}$.
  • Đầu ra âm thanh kết nối trực tiếp với loa cảnh báo trên xe hoặc còi buzzer công suất lớn.
+─────────────────────────────────────────────────────────────+
│                       BUỒNG LÁI XE                          │
│                                                             │
│       [Camera Góc Rộng] ──► [Khuôn mặt Tài xế]              │
│               │ (USB 3.0)                                   │
│               ▼                                             │
│   +───────────────────────────────+                         │
│   │ Hộp điều khiển tích hợp:      │                         │
│   │ - Raspberry Pi 4 (4GB RAM)    │                         │
│   │ - Google Coral USB Edge TPU   │                         │
│   │ - Nguồn chuyển đổi 12V -> 5V3A│                         │
│   +───────────────────────────────+                         │
│               │ (GPIO / Jack 3.5mm)                         │
│               ▼                                             │
│       [Loa Cảnh Báo Buồng Lái] ──► Âm thanh cảnh báo tức thì│
+─────────────────────────────────────────────────────────────+

Phân tích chi phí và hiệu quả đầu tư (Cost-Benefit Analysis)

  • Chi phí phần cứng: Raspberry Pi 4 (~1.500.000 VNĐ) + Google Coral USB (~1.500.000 VNĐ) + Camera & Phụ kiện (~500.000 VNĐ) $\rightarrow$ Tổng chi phí vật tư $\approx 3.500.000\text{ VNĐ/xe}$.
  • Hiệu quả kinh tế: So với tổn thất trung bình hàng trăm triệu đến hàng tỷ đồng cho mỗi vụ tai nạn giao thông xe tải/xe khách, việc trang bị thiết bị cảnh báo thời gian thực mang lại ROI (Return on Investment) tức thì cho các doanh nghiệp logistics và vận tải hành khách.

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

Hạn chế kỹ thuật

  1. Điều kiện ánh sáng yếu: Hệ thống hiện tại sử dụng camera chuẩn RGB thông thường, hiệu năng giảm khi tài xế di chuyển vào ban đêm hoặc trong hầm tối thiếu ánh sáng.
  2. Vật cản vùng mắt: Khi tài xế đeo kính râm tối màu hoặc kính phản quang mạnh, thuật toán định vị 12 điểm mốc vùng mắt bị suy giảm độ chính xác.

Hướng phát triển tiếp theo

  • Tích hợp Camera hồng ngoại (IR Camera) và Đèn LED hồng ngoại ($850\text{ nm}/940\text{ nm}$): Cho phép nhận diện rõ nét đồng tử và mí mắt ngay cả trong bóng tối hoàn toàn mà không làm chói mắt tài xế.
  • Bổ sung đặc trưng ngáp và tư thế đầu: Kết hợp mạng MobileNet kiểm tra độ nghiêng đầu (Head Pose Estimation) và độ mở vòm miệng để tạo thành hệ thống cảnh báo đa yếu tố (Multi-modal Fatigue Detection).
  • Tích hợp module 4G/GPS: Gửi cảnh báo định vị và trạng thái sức khỏe tài xế về máy chủ quản lý đội xe theo thời gian thực.

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

  • Sinh viên và Học viên ngành Kỹ thuật Máy tính / CNTT: Nắm bắt quy trình hiện thực hóa mô hình Deep Learning từ máy tính nghiên cứu xuống phần cứng nhúng biên sử dụng Edge TPU; học hỏi kỹ thuật cắt tỉa dữ liệu huấn luyện Dlib.
  • Kỹ sư AI và Lập trình viên Hệ thống nhúng (Embedded AI Developers): Tham khảo kiến trúc kết nối giữa TensorFlow Lite Python API, Edge TPU Runtime C++ (libedgetpu) và quy trình tối ưu hóa đường ống xử lý video đa luồng.
  • Doanh nghiệp Vận tải và Logistics: Có phương án khả thi để tự chủ công nghệ sản xuất thiết bị giám sát hành trình thông minh với chi phí thấp, nâng cao an toàn cho đội ngũ tài xế.
  • Nhà nghiên cứu Giao thông thông minh (ITS): Dữ liệu thực nghiệm về mối tương quan giữa thời gian chớp mắt đơn lẻ ($t > 400\text{ ms}$) và ngưỡng ngủ gật làm tiền đề cho các mô hình đánh giá hành vi lái xe nâng cao.

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 một bo mạch máy tính nhúng tương đương Raspberry Pi 4 (khuyến nghị RAM từ 2GB trở lên), 01 bộ tăng tốc Google Coral USB Accelerator cắm qua cổng USB 3.0, 01 Camera có độ phân giải tối thiểu HD ($720\text{p}$) đạt tốc độ $30\text{ FPS}$, cùng nguồn cấp $5\text{V} - 3\text{A}$ chuẩn USB Type-C.

2. Tại sao lại chọn Edge TPU thay vì bo mạch tích hợp GPU như NVIDIA Jetson Nano?

Google Coral USB Accelerator sử dụng kiến trúc Edge TPU chuyên biệt cho các phép toán ma trận của mạng nơ-ron với hiệu suất tiêu thụ năng lượng cực thấp (chỉ $0.5\text{W}$ cho mỗi TOPS). Khi chạy mô hình MobileNet v2, Coral đạt tốc độ xử lý $2.5\text{ ms/frame}$, nhanh hơn đáng kể so với Jetson Nano ở chế độ mặc định, trong khi chi phí tổng thể và độ tỏa nhiệt thấp hơn.

3. Hệ thống phân biệt thế nào giữa chớp mắt thông thường và ngủ gật?

Chớp mắt tự nhiên diễn ra rất nhanh, với tổng thời gian nhắm và mở mắt chỉ từ $200\text{ ms}$ đến tối đa $400\text{ ms}$. Hệ thống khởi tạo bộ đếm thời gian ngay khi khoảng cách giữa hai mí mắt giảm xuống dưới ngưỡng đóng. Chỉ khi mắt nhắm liên tục vượt quá $400\text{ ms}$ (ngưỡng bắt đầu của giai đoạn Microsleep), hệ thống mới phát tín hiệu cảnh báo, loại bỏ hoàn toàn các trường hợp chớp mắt sinh lý thông thường.

4. Việc giảm từ 68 điểm mốc xuống 12 điểm mốc có làm giảm độ chính xác không?

Không làm giảm độ chính xác của bài toán phát hiện buồn ngủ. 56 điểm mốc bị loại bỏ thuộc về viền cằm, sống mũi và khuôn miệng — những vùng không tham gia vào việc đo khoảng cách mí mắt. Việc chỉ giữ lại 12 điểm mắt giúp mô hình tập trung toàn bộ dung lượng cây quyết định vào khu vực quan sát, đồng thời giảm thời gian trích xuất đặc trưng từ $52\text{ ms}$ xuống còn $9.8\text{ ms}$.

5. Chi phí bảo trì và độ bền của thiết bị trên xe như thế nào?

Do hệ thống không có các bộ phận chuyển động cơ học và tiêu thụ công suất thấp ($< 15\text{W}$ cho toàn bộ Pi 4 và Coral USB), thiết bị hoạt động bền bỉ, ít phát nhiệt trong môi trường buồng lái. Phần mềm chạy dưới dạng dịch vụ nền tự khởi động (systemd service) của Linux, tự động phục hồi khi có sự cố nguồn điện mà không cần thao tác từ người lái.


Kết luận

Đồ án tốt nghiệp "Hệ thống phát hiện buồn ngủ cho tài xế sử dụng xử lý ảnh" của nhóm tác giả Nguyễn Công Minh và Chu Đức Thành đã giải quyết trọn vẹn bài toán cân bằng giữa độ chính xác học sâu và tốc độ xử lý thời gian thực trên thiết bị nhúng biên. Bằng cách kết hợp linh hoạt giữa mô hình phát hiện khuôn mặt MobileNet SSD v2 lượng tử hóa chạy trên Google Coral Edge TPU và mô hình 12 điểm mốc vùng mắt tinh chỉnh trên Raspberry Pi 4, hệ thống đạt tốc độ ấn tượng xấp xỉ 30 FPS cùng độ chính xác 88.6%, phát hiện và cảnh báo trạng thái buồn ngủ chỉ sau 400 ms.

Thành công của đề tài không chỉ khẳng định tính khả thi của việc ứng dụng Trí tuệ nhân tạo biên (Edge AI) trong việc bảo vệ tính mạng con người và giảm thiểu tai nạn giao thông, mà còn mở ra hướng tiếp cận tối ưu phần cứng chi phí thấp cho các hệ thống hỗ trợ lái xe an toàn (ADAS) trong tương lai.