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

Lý do chọn đề tài và bối cảnh thực tiễn

Tai nạn giao thông do tài xế ngủ gật hoặc mất tập trung là một trong những nguyên nhân hàng đầu dẫn đến các sự cố nghiêm trọng. Theo số liệu thống kê từ Ủy ban An toàn Giao thông Quốc gia được trích dẫn trong khóa luận, các vụ tai nạn liên quan đến giấc ngủ sau vô lăng chiếm tới 30% tổng số vụ tai nạn giao thông trong một năm; riêng năm 2019 đã ghi nhận nhiều sự cố đặc biệt nghiêm trọng do tài xế ngủ gật.

Trên thế giới, nhiều giải pháp hỗ trợ đã được phát triển như hệ thống Attention Assist của Mercedes-Benz (nhắc nhở tài xế nghỉ ngơi), nón an toàn gắn cảm biến chuyển động của hãng Ford, hoặc các phương pháp y sinh như đo điện tâm đồ và phân tích sóng não. Tuy nhiên, các giải pháp này bộc lộ những hạn chế khi triển khai đại trà:

  • Phương pháp cảm biến đeo/y sinh mang tính xâm nhập cơ thể, gây bất tiện khi sử dụng lâu dài và chi phí thiết bị cao.
  • Giải pháp truyền luồng dữ liệu video về máy chủ trung tâm qua mạng Internet đòi hỏi băng thông lớn và bị phụ thuộc hoàn toàn vào chất lượng đường truyền tại khu vực xe di chuyển.

Xuất phát từ thực tế đó, nhóm tác giả lựa chọn đề tài nghiên cứu giải pháp thị giác máy tính kết hợp máy tính nhúng, sử dụng camera thu thập hình ảnh khuôn mặt tài xế trong thời gian thực nhằm xây dựng một thiết bị độc lập, phi xâm nhập và có chi phí tiếp cận hợp lý.

Mục tiêu và nhiệm vụ nghiên cứu

Mục tiêu tổng quát của khóa luận là nghiên cứu, hiện thực một thiết bị có khả năng đếm số lần chớp mắt và số lần ngáp của người điều khiển ô tô thông qua các thư viện mã nguồn mở và thuật toán học máy trên máy tính nhúng NVIDIA Jetson Nano Developer Kit, từ đó phát hiện sớm trạng thái buồn ngủ để đưa ra cảnh báo kịp thời.

Nhiệm vụ nghiên cứu cụ thể được xác định theo 3 nội dung:

  1. Tìm hiểu, nghiên cứu các tài liệu khoa học về nhận biết buồn ngủ dựa trên đặc điểm khuôn mặt; xây dựng chương trình đếm số lần chớp mắt và số lần ngáp dựa trên các điểm mốc khuôn mặt (facial landmarks).
  2. Phát triển thuật toán phân loại mức độ buồn ngủ của tài xế dựa trên tần số chớp mắt và số lần ngáp trong chu kỳ 1 phút (tương đương 1800 khung hình ở tốc độ 30 FPS), phân chia thành 3 mức độ cảnh báo: Bình thường, Có dấu hiệu buồn ngủ ít, và Dấu hiệu buồn ngủ nhiều; đồng thời xử lý cảnh báo khi không nhận diện được khuôn mặt.
  3. Thử nghiệm và đánh giá chương trình trên máy tính cá nhân chạy hệ điều hành Ubuntu và máy tính nhúng NVIDIA Jetson Nano; hướng tới mục tiêu độ chính xác đạt trên 60% và tốc độ xử lý đạt ngưỡng thời gian thực (real-time).

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

  • Đối tượng nghiên cứu: Trạng thái sinh lý và hành vi của tài xế thông qua các dấu hiệu biểu hiện trên khuôn mặt (tần số chớp mắt, độ mở mắt - EAR, cử động mở miệng khi ngáp, và hiện tượng mất nhận diện khuôn mặt do chuyển hướng nhìn).
  • Phạm vi phần cứng: Máy tính nhúng NVIDIA Jetson Nano Developer Kit và camera Logitech C270 (độ phân giải 720p, 30 FPS).
  • Phạm vi phần mềm và dữ liệu: Hệ điều hành Ubuntu/Linux, các thư viện OpenCV (tích hợp CUDA), Dlib, TensorFlow, TensorRT; tập dữ liệu video chuẩn Eyeblink8 để huấn luyện và kiểm thử mô hình nhận diện chớp mắt.
  • Thời gian và đơn vị thực hiện: Khóa luận Kỹ sư ngành Kỹ thuật Máy tính, Bộ môn Hệ thống Nhúng và Robot, Khoa Kỹ thuật Máy tính, Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP. Hồ Chí Minh, hoàn thành vào tháng 01 năm 2021.

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

Khung lý thuyết và mô hình áp dụng

Khóa luận xây dựng trên các nền tảng lý thuyết và công nghệ chính sau:

  1. Thư viện Thị giác máy tính (OpenCV & Dlib):

    • OpenCV (Open-Source Computer Vision Library): Sử dụng giao tiếp C++/Python và mô-đun GPU OpenCV kết hợp NVIDIA CUDA Runtime API để tăng tốc độ xử lý luồng khung hình từ camera.
    • Dlib: Ứng dụng mô hình tiền huấn luyện shape_predictor_68_face_landmarks để trích xuất 68 tọa độ điểm mốc trên khuôn mặt (xác định vùng mắt và viền môi).
  2. Thuật toán Support Vector Machine (SVM):

    • Mô hình học máy có giám sát phân tách dữ liệu bằng cách tìm siêu phẳng (hyperplane) có khoảng cách lề (margin) lớn nhất: $$\min_{\mathbf{w}, b} \frac{1}{2} |\mathbf{w}|_2^2$$
    • Soft Margin SVM: Bổ sung biến bù (slack variable $\xi_n \ge 0$) và tham số điều hòa $C$ để xử lý dữ liệu có nhiễu hoặc gần phân tách tuyến tính: $$\min_{\mathbf{w}, b, \boldsymbol{\xi}} \frac{1}{2} |\mathbf{w}|2^2 + C \sum{n=1}^N \xi_n \quad \text{thỏa mãn } y_n(\mathbf{w}^T \mathbf{x}_n + b) \ge 1 - \xi_n$$
    • Kernel SVM: Ứng dụng các hàm nhân để ánh xạ dữ liệu phi tuyến sang không gian đặc trưng nhiều chiều: Linear Kernel ($k(\mathbf{x}, \mathbf{z}) = \mathbf{x}^T \mathbf{z}$), Radial Basis Function - RBF/Gaussian Kernel ($k(\mathbf{x}, \mathbf{z}) = \exp(-\gamma |\mathbf{x} - \mathbf{z}|^2)$), và Sigmoid Kernel ($k(\mathbf{x}, \mathbf{z}) = \tanh(\gamma \mathbf{x}^T \mathbf{z} + r)$).
  3. Mô hình Single Shot Detector (SSD):

    • Kiến trúc mạng nơ-ron tích chập phát hiện đối tượng đa tỉ lệ dựa trên mạng nền tảng VGG-16 kết hợp các lớp tích chập bổ sung (Extra Feature Layers).
    • Cơ chế Default Bounding Boxes và tính toán chỉ số chồng lấn IoU (Intersection Over Union): $$\text{IoU} = \frac{\text{Diện tích vùng giao (Area of Overlap)}}{\text{Diện tích vùng hợp (Area of Union)}}$$
    • Hàm mất mát đa nhiệm (Multi-task Loss) kết hợp giữa Localization Loss (Smooth L1) và Confidence Loss (Cross-Entropy/Softmax).
  4. Tối ưu hóa suy luận với NVIDIA TensorRT:

    • Quy trình tối ưu hóa mô hình học sâu đã huấn luyện từ TensorFlow (.pb) chuyển đổi sang định dạng trung gian (.uff), sau đó cấu hình bộ nhớ workspace, batch size và biên dịch thành tệp thực thi engine suy luận (.bin) thông qua thư viện pyCUDA để chạy trực tiếp trên 128 nhân Maxwell GPU của kit Jetson Nano.

Phương pháp nghiên cứu thực tế

  • Thu thập và tiền xử lý dữ liệu: Trích xuất các khung hình từ 8 video của tập dữ liệu Eyeblink8, tính toán chỉ số tỉ lệ khung hình mắt (Eye Aspect Ratio - EAR) dựa trên 6 tọa độ điểm mốc quanh mỗi mắt.
  • Huấn luyện mô hình: Huấn luyện bộ phân loại nhị phân SVM để phân biệt trạng thái mắt đóng (giá trị 1) và mắt mở (giá trị 0) với các hàm Kernel khác nhau (Linear, RBF, Sigmoid).
  • Phát hiện cử động ngáp: Đo khoảng cách Euclidean giữa các điểm mốc thuộc môi trên và môi dưới theo thời gian thực.
  • Phương pháp đánh giá: Sử dụng Confusion Matrix, tính toán các chỉ số Accuracy, Precision, Recall, F1-score và đo đạc tốc độ khung hình (FPS) trên phần cứng nhúng.

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

Kiến trúc luồng xử lý của hệ thống

Hệ thống hoạt động theo chu trình xử lý khung hình liên tục và tổng hợp trạng thái định kỳ theo từng phút:

Giai đoạn Khối chức năng Mô tả chi tiết kỹ thuật
Đầu vào Thu nhận hình ảnh Camera Logitech C270 (720p @ 30 FPS) gắn đối diện tài xế, cung cấp 1800 khung hình/phút.
Xử lý cấp 1 Nhận diện khuôn mặt Mô hình SSD/Dlib kiểm tra sự tồn tại của khuôn mặt. Nếu mất dấu khuôn mặt, hệ thống phát cảnh báo mất tập trung.
Xử lý cấp 2 Trích xuất điểm mốc Model shape_predictor_68_face_landmarks xác định 68 tọa độ đặc trưng trên mặt.
Xử lý cấp 3 Tính toán chỉ số - Tính tỉ lệ EAR cho mắt.
- Tính khoảng cách giữa hai môi cho miệng.
Xử lý cấp 4 Phân loại trạng thái tức thời - SVM phân loại chớp mắt (đóng/mở).
- Ngưỡng khoảng cách môi xác định hành vi ngáp.
Đầu ra Đánh giá & Cảnh báo Bộ đếm tổng hợp số lần chớp mắt, số lần ngáp sau mỗi 1800 khung hình (1 phút) và kích hoạt mức cảnh báo tương ứng.

Tiêu chí phân loại trạng thái tài xế

Dựa trên tài liệu của National Sleep Foundation (người bình thường chớp mắt khoảng 17 lần/phút) và các nghiên cứu liên quan, hệ thống thiết lập bảng ngưỡng nhận diện sau:

Trạng thái tài xế Số lần chớp mắt (lần/phút) Số lần ngáp (lần/phút) Dấu hiệu đặc biệt
Bình thường 15 – 20 0 Trạng thái tỉnh táo, ổn định.
Cảnh báo thấp 20 – 30 1 – 2 Bắt đầu có dấu hiệu mệt mỏi nhẹ.
Buồn ngủ 30 – 40 3 – 4 Tần số chớp mắt và ngáp tăng cao rõ rệt.
Đã ngủ Không xét Không xét Độ mở mắt (EAR) nhỏ hơn mức bình thường liên tiếp trong 10 khung hình.
Mất tập trung Không xét Không xét Không nhận diện được khuôn mặt trong khung hình trong thời gian quy định.

Cấu hình phần cứng triển khai

Hệ thống được đóng gói và thử nghiệm trực tiếp trên máy tính nhúng chuyên dụng:

  • Kit phần cứng: NVIDIA Jetson Nano Developer Kit.
  • CPU: Quad-core ARM® Cortex®-A57 MPCore processor.
  • GPU: 128-core NVIDIA Maxwell™ architecture.
  • Bộ nhớ RAM: 4GB 64-bit LPDDR4 (25.6 GB/s).
  • Bộ nhớ lưu trữ: Khe cắm MicroSD / 16GB eMMC.
  • Giao tiếp & Nguồn: Cổng USB 3.0 kết nối camera; cổng nguồn DC Jack (5V 4A) hoặc Micro USB (5V 2.5A); tiêu thụ điện năng dưới 5 Watts với khả năng tính toán đạt 472 GFLOPS.

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

Chương 1: Lý do thực hiện khóa luận và Mục tiêu của khóa luận

Chương mở đầu trình bày tính cấp thiết của bài toán phát hiện buồn ngủ đối với an toàn giao thông, phân tích ưu nhược điểm của các nghiên cứu tiền nhiệm (thiết bị y sinh, nón thông minh, xử lý trên đám mây). Từ đó, tác giả xác định mục tiêu nghiên cứu là hiện thực hóa giải pháp nhúng cục bộ trên NVIDIA Jetson Nano sử dụng OpenCV, Dlib và thuật toán máy học; đặt ra chỉ tiêu độ chính xác tối thiểu trên 60% và khả năng đáp ứng thời gian thực.

Chương 2: Cơ sở lý thuyết

Chương này tổng hợp chi tiết các lý thuyết nền tảng:

  • OpenCV và mô-đun GPU OpenCV: Cấu trúc tăng tốc tính toán song song với CUDA Runtime API.
  • Thư viện Dlib: Các thuật toán học máy tích hợp, cấu trúc bộ nhận diện khuôn mặt và dự đoán 68 điểm mốc khuôn mặt.
  • Lý thuyết Support Vector Machine (SVM): Xây dựng bài toán tối ưu hình học, khoảng cách từ điểm đến siêu phẳng, bài toán đối ngẫu Lagrange, Soft Margin SVM với biến slack $\xi_n$, và kỹ thuật Kernel Trick (Linear, RBF, Sigmoid).
  • Mô hình Single Shot Detector (SSD): Kiến trúc mạng tích chập VGG-16, cấu chế tạo và phân bổ default boxes trên các tầng feature map khác nhau, chỉ số IoU, hàm mất mát kết hợp Smooth L1 và Confidence Cross-Entropy.
  • Phương pháp đánh giá mô hình: Độ chính xác (Accuracy), ma trận nhầm lẫn (Confusion Matrix), True Positive, False Positive, True Negative, False Negative, Precision, Recall và F1-score.
  • Nền tảng phần cứng NVIDIA Jetson Nano & Thư viện TensorRT: Thông số kỹ thuật của kit nhúng; quy trình 3 giai đoạn triển khai Deep Learning; phương pháp tối ưu hóa luồng phân phối GPU và đóng băng đồ thị TensorFlow sang file engine .bin.

Chương 3: Phân tích và thiết kế hệ thống

Nội dung chương tập trung vào phân tích ưu nhược điểm của hai giải pháp: xử lý tập trung qua máy chủ Internet và xử lý cục bộ trên máy tính nhúng. Nhóm tác giả lựa chọn máy tính nhúng nhằm đảm bảo tính độc lập và khả năng phản hồi thời gian thực. Chương mô tả chi tiết:

  • Sơ đồ thuật toán tổng thể từ thu nhận luồng video (Camera Logitech C270) đến phát hiện khuôn mặt, trích xuất 68 điểm mốc, tính toán EAR và khoảng cách hai môi.
  • Bảng phân loại trạng thái tài xế theo chu kỳ 1800 khung hình/phút.
  • Quy trình huấn luyện mô hình SVM dựa trên tập dữ liệu chuyển đổi từ Eyeblink8 để nhận biết chớp mắt.
  • Cơ chế phát hiện trạng thái ngủ gật tức thì (mắt nhắm 10 khung hình liên tiếp) và trạng thái mất tập trung (không tìm thấy khuôn mặt).

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

Chương thực nghiệm trình bày các kết quả đo đạc thực tế:

  • Đánh giá hiệu năng và độ chính xác của bộ phân loại SVM nhận diện chớp mắt dựa trên các loại hàm nhân (Linear, RBF, Sigmoid) trên tập dữ liệu Eyeblink8.
  • Đánh giá khả năng phân loại các trạng thái buồn ngủ của tài xế theo các kịch bản thực tế.
  • Đo lường hiệu suất thực thi, mức tiêu thụ tài nguyên và tốc độ khung hình (FPS) của chương trình trên kit NVIDIA Jetson Nano khi áp dụng công cụ tối ưu TensorRT so với chạy thông thường.

Kết luận và Hướng phát triển

Tóm lược các kết quả đạt được về việc hoàn thiện phần cứng, xây dựng thuật toán thị giác máy tính và huấn luyện thành công mô hình nhúng; đồng thời chỉ rõ các điểm cần cải tiến trong tương lai.


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

Kết quả nghiên cứu chính

  1. Hiện thực hóa thành công hệ thống nhúng cục bộ: Xây dựng hoàn chỉnh chương trình xử lý thị giác máy tính trên kit NVIDIA Jetson Nano Developer Kit kết hợp camera Logitech C270, vận hành độc lập không cần kết nối mạng Internet.
  2. Huấn luyện và tích hợp mô hình SVM: Xây dựng mô hình phân loại trạng thái mắt (đóng/mở) trên tập dữ liệu Eyeblink8 với các hàm nhân khác nhau, đạt độ chính xác đáp ứng yêu cầu đề ra ban đầu (mục tiêu trên 60%).
  3. Tối ưu hóa thời gian thực bằng TensorRT: Áp dụng thành công quy trình chuyển đổi mô hình từ TensorFlow (.pb) sang .uff và biên dịch thành tệp engine (.bin) thực thi trên 128 nhân Maxwell GPU thông qua pyCUDA, giúp cân bằng tải luồng xử lý và nâng cao FPS của toàn hệ thống.
  4. Xây dựng cơ chế cảnh báo đa mức độ: Phân loại chính xác 4 trạng thái vận hành của tài xế (Bình thường, Cảnh báo thấp, Buồn ngủ, Đã ngủ) và cảnh báo mất tập trung dựa trên sự kết hợp giữa tần số chớp mắt, hành vi ngáp trong 1800 khung hình/phút và số khung hình nhắm mắt liên tiếp.

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

  • So với các phương pháp y sinh (đo điện tâm đồ) hoặc nón bảo hộ gắn cảm biến của Ford, đề tài cung cấp một giải pháp phi xâm nhập, không gây vướng víu cho người lái và có chi phí phần cứng thấp hơn.
  • So với giải pháp truyền video về máy chủ qua Internet, giải pháp xử lý biên (Edge Computing) trên Jetson Nano giúp loại bỏ độ trễ truyền dẫn, không phụ thuộc vào hạ tầng mạng viễn thông khi phương tiện lưu thông trên các cung đường xa.

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

Hạn chế của nghiên cứu

  • Tài nguyên tính toán của phần cứng nhúng: Khả năng xử lý của kit NVIDIA Jetson Nano (công suất dưới 5W) bị giới hạn khi chạy đồng thời các mô hình thị giác phức tạp so với môi trường máy tính để bàn (PC).
  • Tính khái quát của bộ tham số ngưỡng: Các ngưỡng phân loại tần số chớp mắt (15-20, 20-30, 30-40 lần/phút) và số lần ngáp được tham chiếu từ số liệu thống kê trung bình của National Sleep Foundation, chưa được tinh chỉnh tự động thích ứng với từng thể trạng cá nhân riêng biệt.
  • Điều kiện môi trường ánh sáng: Hệ thống thử nghiệm chủ yếu với luồng hình ảnh thông thường từ camera C270, chưa đánh giá chuyên sâu trong các điều kiện khắc nghiệt như lái xe ban đêm thiếu sáng hoặc môi trường ngược sáng mạnh.

Hướng nghiên cứu tiếp

  • Tối ưu hóa sâu hơn nữa các tầng mạng nơ-ron và cấu hình bộ nhớ workspace của TensorRT nhằm gia tăng tốc độ khung hình (FPS).
  • Nghiên cứu cơ chế tự động cân chỉnh (calibration) ngưỡng sinh lý theo từng tài xế cụ thể sau một khoảng thời gian làm quen ban đầu.
  • Tích hợp camera hồng ngoại (IR Camera) để hỗ trợ nhận dạng khuôn mặt và mắt chính xác trong điều kiện lái xe vào ban đêm.
  • Bổ sung module phần cứng cảnh báo vật lý (còi báo động, cơ chế rung vô lăng hoặc ghế lái) để nâng cao khả năng phản hồi an toàn trong thực tế.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho các đối tượng và định hướng nghiên cứu sau:

  • Sinh viên và học viên ngành Kỹ thuật Máy tính, Hệ thống Nhúng, Khoa học Máy tính: Cung cấp tài liệu tham khảo chi tiết về quy trình triển khai mô hình học máy (SVM, SSD) và thị giác máy tính (OpenCV, Dlib) lên các nền tảng nhúng biên có tài nguyên hạn chế.
  • Kỹ sư phát triển hệ thống IoT và Thị giác máy tính: Phần trình bày về quy trình tối ưu hóa mô hình học sâu bằng NVIDIA TensorRT (chuyển đổi đồ thị TensorFlow sang file engine .bin và giao tiếp qua pyCUDA) là tài liệu mẫu rõ ràng, có thể áp dụng trực tiếp cho các dự án tăng tốc suy luận trên dòng GPU Jetson.
  • Nghiên cứu ứng dụng Hệ thống hỗ trợ lái xe nâng cao (ADAS): Phương pháp trích xuất 68 điểm mốc khuôn mặt, công thức tính tỉ lệ EAR và mô hình phân loại trạng thái buồn ngủ theo chu kỳ thời gian là cơ sở hữu ích cho các đề tài phát triển thiết bị giám sát hành vi người lái.

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

1. Hệ thống sử dụng tiêu chí nào để nhận diện một tài xế đang ở trạng thái buồn ngủ?

Theo thiết kế của khóa luận, trong khoảng thời gian 1 phút (tương ứng 1800 khung hình ở tốc độ 30 FPS của camera Logitech C270), tài xế được xác định là buồn ngủ khi tần số chớp mắt đạt từ 30 đến 40 lần và xuất hiện từ 3 đến 4 lần ngáp. Ngoài ra, nếu độ mở mắt (EAR) giảm nhỏ hơn mức bình thường liên tiếp trong 10 khung hình, hệ thống sẽ kích hoạt trạng thái "Đã ngủ".

2. Sự khác biệt giữa Hard Margin SVM và Soft Margin SVM trong khóa luận là gì?

Hard Margin SVM chỉ áp dụng cho dữ liệu phân tách tuyến tính hoàn hảo và rất nhạy cảm với nhiễu. Khóa luận sử dụng Soft Margin SVM bằng cách đưa thêm các biến bù (slack variables $\xi_n \ge 0$) và hằng số phạt $C$ vào hàm mục tiêu, cho phép chấp nhận một số điểm dữ liệu rơi vào vùng không an toàn để tạo ra khoảng cách lề (margin) rộng hơn, giúp mô hình hoạt động ổn định và khái quát hóa tốt hơn trên dữ liệu thực tế.

3. Quy trình tối ưu hóa mô hình bằng TensorRT trên kit Jetson Nano diễn ra như thế nào?

Quy trình gồm 3 bước: Đầu tiên, mô hình mạng nơ-ron được huấn luyện và đóng băng dưới dạng tệp TensorFlow (.pb). Tiếp theo, tệp .pb được chuyển đổi sang định dạng .uff. Cuối cùng, sử dụng thư viện TensorRT và pyCUDA để thiết lập workspace size, batch size rồi biên dịch thành tệp engine nhị phân (.bin) tối ưu hóa riêng cho kiến trúc 128 nhân Maxwell GPU của Jetson Nano.

4. Tập dữ liệu nào được sử dụng để huấn luyện mô hình nhận diện chớp mắt?

Nhóm tác giả sử dụng tập dữ liệu chuẩn Eyeblink8 bao gồm 8 video ghi lại chuyển động mắt, từ đó trích xuất các đặc trưng tỉ lệ mở mắt (EAR) và gán nhãn nhị phân (0: mắt mở, 1: mắt đóng) làm đầu vào huấn luyện cho thuật toán Support Vector Machine.

5. Tại sao hệ thống lại đưa ra cảnh báo khi không nhận diện được khuôn mặt?

Khi camera không tìm thấy khuôn mặt trong khung hình, chương trình nhận định tài xế đang bị phân tâm, quay mặt sang hướng khác hoặc cúi đầu không quan sát đường đi. Do đó, hệ thống sẽ phát tín hiệu cảnh báo yêu cầu tài xế tập trung lái xe để phòng ngừa tai nạn.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thành Danh và Trần Hữu Nghĩa đã nghiên cứu và hiện thực thành công thiết bị nhận diện trạng thái buồn ngủ của tài xế trên máy tính nhúng NVIDIA Jetson Nano kết hợp camera Logitech C270. Bằng việc kết hợp các thư viện thị giác máy tính OpenCV, Dlib 68 landmarks với thuật toán học máy Support Vector Machine và công cụ tối ưu hóa NVIDIA TensorRT, hệ thống có khả năng phân loại đa mức độ trạng thái người lái (Bình thường, Cảnh báo thấp, Buồn ngủ, Đã ngủ và Mất tập trung) trong thời gian thực. Đề tài mở ra giải pháp hỗ trợ lái xe an toàn có tính khả thi cao, vận hành độc lập không phụ thuộc Internet và không gây xâm nhập đối với người sử dụng.