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

Tai nạn giao thông (TNGT) đường bộ là vấn đề nghiêm trọng tại Việt Nam, gây thiệt hại nặng nề về tính mạng và tài sản. Một trong những nguyên nhân hàng đầu dẫn đến các vụ tai nạn nghiêm trọng là tình trạng người điều khiển phương tiện mất tập trung do mệt mỏi hoặc ngủ gật khi đang vận hành xe. Theo số liệu thống kê được tác giả trích dẫn từ Báo Tuyên giáo trong 3 tháng đầu năm 2023, trên toàn quốc đã xảy ra 2.343 vụ tai nạn giao thông, làm 1.434 người tử vong và 1.578 người bị thương (so với cùng kỳ năm 2022, giảm 430 vụ tương đương 15,5%, giảm 249 người chết tương đương 14,8% và giảm 148 người bị thương tương đương 8,6%). Đồng thời, số liệu phân tích của Cục Cảnh sát Giao thông đăng trên báo Kinh tế và Dự báo chỉ ra rằng có khoảng 70% các vụ tai nạn xảy ra trong khung giờ từ 12h đến 24h — thời điểm tài xế dễ rơi vào trạng thái mệt mỏi, căng thẳng và chịu tác động tiêu cực từ sự thay đổi nhiệt độ, ánh sáng giữa ngày và đêm, đặc biệt là trên các tuyến xe vận tải đường dài.

Trước thực trạng đó, đồ án tốt nghiệp của tác giả Trần Thị Phương Nhi (Khoa Công nghệ Số, Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng) đã xác định mục tiêu và các nhiệm vụ nghiên cứu cụ thể:

  • Mục tiêu đề tài: Nghiên cứu và xây dựng một hệ thống cảnh báo tình trạng buồn ngủ của người lái xe dựa trên các thuật toán nhận dạng, theo dõi trạng thái của mắt theo thời gian thực (real-time), từ đó phát tín hiệu cảnh báo kịp thời nhằm giảm thiểu tai nạn giao thông, hướng tới ứng dụng trong các phương tiện vận tải đường dài, ô tô gia đình và mô hình đô thị thông minh (Smart City).
  • Nhiệm vụ nghiên cứu (được đánh số theo văn bản):
    1. Nghiên cứu cơ sở lý thuyết về học sâu, mạng nơ-ron nhân tạo (ANN), mạng nơ-ron tích chập (CNN) và các thư viện thị giác máy tính liên quan.
    2. Thu thập, xử lý và gán nhãn tập dữ liệu hình ảnh mắt ở hai trạng thái nhắm và mở.
    3. Xây dựng và huấn luyện mô hình mạng nơ-ron tích chập tự thiết kế để phân loại trạng thái mắt.
    4. Xây dựng chương trình mô phỏng hoàn chỉnh kết hợp nhận diện khuôn mặt qua MediaPipe, phân loại mắt bằng PyTorch và xử lý luồng video thời gian thực bằng OpenCV trên máy tính cá nhân.
  • Đối tượng nghiên cứu:
    • Tình trạng mắt (nhắm hoặc mở).
    • Trạng thái khuôn mặt của người lái xe.
  • Phạm vi nghiên cứu:
    • Phạm vi đối tượng và môi trường: Khảo sát các hình thái, tình trạng mắt và khuôn mặt khi không sử dụng kính râm hoặc các vật thể che khuất hoàn toàn vùng mắt, trong điều kiện được chiếu sáng thuận lợi.
    • Phạm vi kỹ thuật: Tập trung vào xử lý mô hình trí tuệ nhân tạo (AI model) và thực hiện chương trình demo bằng giao diện dòng lệnh (console) kết hợp hiển thị video trên máy tính xách tay cá nhân (laptop), sử dụng webcam làm thiết bị đầu vào, chưa tích hợp trên phần cứng nhúng chuyên dụng gắn trên ô tô.

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

Khung lý thuyết và công nghệ sử dụng

Đề tài dựa trên nền tảng của học máy (Machine Learning) và học sâu (Deep Learning), ứng dụng trực tiếp các kiến trúc mạng nơ-ron và thư viện thị giác máy tính:

  • Mạng nơ-ron nhân tạo (ANN) và Perceptron: Cấu trúc mạng phân tầng gồm lớp đầu vào (input layer), các lớp ẩn (hidden layers) và lớp đầu ra (output layer) mô phỏng cơ chế truyền xung thần kinh của não bộ.
  • Mạng nơ-ron tích chập (CNN): Sử dụng các lớp tích chập (Convolutional Layer) với hàm kích hoạt phi tuyến ReLU để trích xuất đặc trưng cục bộ, kết hợp các lớp gộp (Pooling Layer) nhằm giảm chiều dữ liệu và tạo tính bất biến vị trí (Location Invariance).
  • Các kiến trúc mạng nơ-ron kinh điển được khảo sát:
    • AlexNet: Mạng CNN đạt giải quán quân ImageNet 2012 với 5 lớp tích chập, 3 lớp kết nối đầy đủ (Fully Connected), áp dụng Overlapping Max Pooling, hàm kích hoạt ReLU thay thế Sigmoid/tanh, kỹ thuật Dropout và Data Augmentation.
    • VGG (VGG-16, VGG-19): Kiến trúc tăng cường độ sâu sử dụng các khối tích chập lặp lại với các bộ lọc kích thước nhỏ 3x3, giúp giảm số lượng tham số so với việc dùng bộ lọc lớn mà vẫn nâng cao khả năng trích lọc đặc trưng.
    • ResNet: Mạng nơ-ron phần dư giải quyết triệt để hiện tượng triệt tiêu đạo hàm (Vanishing Gradient) trong các mạng sâu thông qua các khối liên kết tắt (Residual Block / skip connections), cho phép bảo toàn thông tin tín hiệu đầu vào qua các tầng xử lý.
  • Thư viện thị giác máy tính OpenCV: Đóng vai trò xử lý khung hình video từ camera (cv2.VideoCapture), chuyển đổi không gian màu (cv2.cvtColor), vẽ bounding box (cv2.polylines) và hiển thị thông báo trạng thái lên màn hình (cv2.putText).
  • Thư viện Google MediaPipe: Công cụ nguồn mở phục vụ nhận diện khuôn mặt và trích xuất tọa độ các điểm đặc trưng khuôn mặt (facial landmarks) thông qua mô hình nhận dạng màu da và bộ phân loại véc-tơ hỗ trợ (Support Vector Machine - SVM).
  • Framework học sâu PyTorch: Khung công cụ phát triển bởi Facebook AI Research hỗ trợ đồ thị tính toán động (Dynamic Computation Graph), dùng để định nghĩa, huấn luyện và tối ưu mạng CNN phân loại trạng thái mắt.
  • Nền tảng phát triển: Môi trường ảo Anaconda3 và phần mềm soạn thảo Visual Studio Code trên hệ điều hành macOS.

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

  • Phương pháp phân tích - tổng hợp tài liệu: Thu thập dữ liệu thứ cấp từ Cục Cảnh sát Giao thông, các nghiên cứu học thuật về mô hình nhận diện khuôn mặt và tài liệu chuyên ngành về học sâu.
  • Phương pháp thực nghiệm kỹ thuật phần mềm: Xây dựng quy trình xử lý dữ liệu và thiết kế mạng CNN riêng biệt; huấn luyện mạng bằng CPU với 20 chu kỳ lặp (epoch); tiến hành kiểm thử thực nghiệm trên webcam máy tính dưới 9 kịch bản góc nhìn và điều kiện ánh sáng khác nhau.

Nguồn dữ liệu

  • Dữ liệu ảnh mắt mở: Thu thập từ các nguồn trực tuyến công khai về khoa học dữ liệu gồm Kaggle và Roboflow, sau đó cắt vùng mắt (Region of Interest - ROI) từ ảnh khuôn mặt.
  • Dữ liệu ảnh mắt nhắm: Do hình ảnh mắt nhắm trên internet bị thiếu hụt, tác giả tự xây dựng mã nguồn thu thập hình ảnh trực tiếp từ webcam của các đối tượng xung quanh, tiến hành trích xuất và gán nhãn thủ công. Tổng quy mô bộ dữ liệu sau khi tổng hợp đạt hơn 3.000 hình ảnh mắt nhắm và mở.

Thiết kế và triển khai

Hệ thống cảnh báo buồn ngủ được thiết kế vận hành theo luồng xử lý thời gian thực gồm các khối chức năng liên hoàn:

[Webcam / Video đầu vào] 
[Tiền xử lý khung hình (OpenCV)]
[Phát hiện khuôn mặt & Trích xuất điểm mốc (MediaPipe)]
[Không thấy mặt / Bị che khuất]  [Xác định vị trí đôi mắt]
[Phát cảnh báo camera]          [Cắt ROI & Đưa vào CNN (PyTorch)]
                                [Phân loại: Mắt Mở / Mắt Nhắm]
                                [Bộ đếm thời gian: Nhắm 3 - 5s]
                                [Phát âm thanh loa & Cảnh báo màn hình]

Kiến trúc pipeline xử lý

  1. Thu nhận dữ liệu: Khung hình được đọc trực tiếp từ webcam với tần suất xử lý liên tục bằng hàm cv2.VideoCapture() của OpenCV.
  2. Định vị khuôn mặt và trích xuất mắt: Khung hình được đưa vào mô-đun MediaPipe Face Mesh. MediaPipe nhận diện màu da, xác định các điểm đặc trưng hình học trên khuôn mặt và phân loại bằng SVM để xác định chính xác tọa độ bao quanh mắt trái và mắt phải.
  3. Tách vùng quan tâm (ROI): Vùng ảnh chứa hai mắt được cắt độc lập từ khung hình chính, sau đó chuẩn hóa kích thước để tương thích với đầu vào của mạng nơ-ron phân loại.
  4. Phân loại trạng thái mắt: Vùng ảnh mắt được đưa vào mô hình mạng nơ-ron tích chập (CNN) tự thiết kế trên PyTorch. Mô hình trích xuất đặc trưng qua các tầng tích chập, áp dụng hàm phi tuyến ReLU và đưa ra nhãn dự đoán cho từng mắt (Open hoặc Closed).
  5. Cơ chế kích hoạt cảnh báo:
    • Cảnh báo ngủ gật: Hệ thống theo dõi trạng thái đồng thời của cả hai mắt. Nếu cả hai mắt duy trì trạng thái nhắm liên tục trong khoảng thời gian vượt ngưỡng từ 3 đến 5 giây (3 - 5s), hệ thống kích hoạt tín hiệu âm thanh cảnh báo qua loa và vẽ chuỗi cảnh báo ngủ gật lên màn hình hiển thị.
    • Cảnh báo che khuất / Mất dấu khuôn mặt: Nếu webcam không tìm thấy khuôn mặt của tài xế hoặc vùng mặt bị các vật thể che khuất, hệ thống lập tức phát tín hiệu nhắc nhở để người điều khiển điều chỉnh lại góc quan sát của camera.

Tiền xử lý và tăng cường dữ liệu (Data Augmentation)

  • Làm sạch dữ liệu: Loại bỏ các ảnh bị nhòe mờ, nhiễu hạt, lệch góc chụp nghiêm trọng hoặc các ảnh không phản ánh rõ ràng đặc trưng của mắt.
  • Kỹ thuật tăng cường dữ liệu: Nhằm tránh hiện tượng quá khớp (overfitting) và bù đắp số lượng dữ liệu thu thập thực tế (~3.000 ảnh), tác giả áp dụng các phép biến đổi hình học và không gian màu:
    • Lật ảnh theo chiều ngang (Horizontal Flip).
    • Xoay ảnh ngẫu nhiên một góc trong phạm vi từ 0 đến 15 độ.
    • Điều chỉnh và chuẩn hóa kích thước ảnh về chuẩn đầu vào của mô hình.
    • Biến thiên độ sáng và độ tương phản của hình ảnh.

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

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

Chương 1 hệ thống hóa toàn bộ các kiến thức nền tảng về trí tuệ nhân tạo và các công nghệ sử dụng trong đề tài:

  • Trình bày lịch sử phát triển, đặc điểm cú pháp và tính đa nền tảng của ngôn ngữ lập trình Python.
  • Khái quát về học máy (Machine Learning) và học sâu (Deep Learning), nhấn mạnh vai trò của mạng nơ-ron trong các bài toán thị giác máy tính phức tạp.
  • Phân tích cấu trúc toán học của mạng nơ-ron nhân tạo (ANN) từ mô hình Perceptron đơn lẻ đến Perceptron đa tầng.
  • Mô tả chi tiết cấu trúc mạng nơ-ron tích chập (CNN) gồm các tầng Convolution, hàm kích hoạt phi tuyến ReLU, các lớp Pooling và Fully Connected; giải thích tính bất biến vị trí và tính kết hợp đặc trưng.
  • Khảo sát các kiến trúc CNN tiêu biểu: AlexNet (cơ chế Dropout, Overlapping Pooling), VGG (thiết kế khối lặp với bộ lọc 3x3), và ResNet (khối Residual Block giải quyết triệt tiêu gradient khi huấn luyện mạng có độ sâu lớn).
  • Trình bày các mô-đun chức năng của thư viện OpenCV (core, imgproc, video, objdetect, highgui, videoio) và việc ứng dụng các hàm đọc ảnh, chuyển hệ màu, vẽ hình học, ghi chữ lên video thời gian thực.
  • Giới thiệu thư viện Google MediaPipe với các bước phát hiện khuôn mặt thông qua nhận dạng màu da, định vị điểm mốc và phân loại SVM.
  • Giới thiệu nền tảng quản lý gói Anaconda3 và framework học sâu PyTorch với cơ chế đồ thị tính toán động.

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

Chương 2 trình bày kiến trúc logic và các giai đoạn hoạt động của hệ thống:

  • Đề xuất ý tưởng kết hợp giữa nhận diện khuôn mặt thời gian thực và mô hình phân loại trạng thái mắt.
  • Xây dựng mô hình tổng quan hệ thống bao gồm: Camera thu nhận $\rightarrow$ Tiền xử lý $\rightarrow$ MediaPipe nhận diện mặt $\rightarrow$ Tách vùng mắt $\rightarrow$ Mạng CNN phân loại $\rightarrow$ Mô-đun cảnh báo bằng loa và giao diện hiển thị.
  • Thiết kế sơ đồ thuật toán xử lý luồng (flowchart) mô tả chi tiết điều kiện kiểm tra khuôn mặt, điều kiện nhắm mắt liên tục trong 3 - 5 giây và các nhánh rẽ phát cảnh báo.
  • Thiết kế sơ đồ lớp (Class Diagram) của hệ thống ở hai giai đoạn độc lập: Giai đoạn huấn luyện mô hình (huấn luyện CNN trên tập dữ liệu) và Giai đoạn dự đoán thời gian thực (nhận luồng khung hình từ camera và suy luận nhãn).

Chương 3: Xây dựng chương trình

Chương 3 trình bày các bước triển khai thực nghiệm cụ thể và đánh giá kết quả:

  • Mô tả quy trình cài đặt môi trường phát triển trên hệ điều hành macOS: cài đặt Python 3, Anaconda3, cài đặt framework PyTorch, cài đặt OpenCV (phiên bản 3.4.17) qua công cụ dòng lệnh pip, và cấu hình phần mềm Visual Studio Code cùng tiện ích mở rộng Python.
  • Trình bày chi tiết công tác thu thập bộ dữ liệu: tải ảnh mắt mở từ Kaggle/Roboflow và viết mã nguồn thu nhận ảnh mắt nhắm trực tiếp từ webcam cá nhân, đạt quy mô trên 3.000 hình ảnh.
  • Áp dụng kỹ thuật tiền xử lý loại bỏ ảnh nhiễu và kỹ thuật tăng cường dữ liệu (Data Augmentation) bao gồm lật ngang, xoay góc 0 - 15 độ, thay đổi độ sáng và chuẩn hóa ma trận điểm ảnh.
  • Xây dựng mô hình mạng nơ-ron tích chập tự thiết kế với các tầng tích chập kết hợp hàm kích hoạt ReLU.
  • Huấn luyện mô hình trên bộ vi xử lý (CPU) máy tính trong 20 chu kỳ lặp (epoch), ghi nhận đường cong biến thiên của hàm mất mát (Loss) và độ chính xác (Accuracy).
  • Tiến hành thử nghiệm thực tế hệ thống trong 9 kịch bản môi trường và tư thế đầu khác nhau của người lái.

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

Kết quả thực nghiệm

Hệ thống demo được triển khai trên máy tính xách tay chạy macOS, sử dụng webcam tích hợp. Quá trình huấn luyện mô hình CNN tự thiết kế được thực hiện trực tiếp trên CPU trong 20 epoch, cho thấy các giá trị Loss giảm dần và Accuracy tăng dần theo chu kỳ lặp.

Hệ thống đã được kiểm thử chức năng nhận diện và cảnh báo buồn ngủ trong 9 trường hợp thực tế:

STT Kịch bản thực nghiệm Kết quả nhận diện và phát cảnh báo
1 Ánh sáng thường, có đeo kính cận Hệ thống nhận diện khuôn mặt, tách vùng mắt chính xác và phân loại đúng trạng thái
2 Ánh sáng thường, không đeo kính cận Nhận diện ổn định, bắt trúng trạng thái nhắm/mở của mắt
3 Ánh sáng thường, người lái đội mũ lưỡi trai Vẫn nhận diện được vùng mắt khi vành mũ không che khuất mắt
4 Điều kiện ánh sáng chiếu rọi xung quanh Nhận diện tốt khi cường độ ánh sáng không làm lóa hoàn toàn ống kính webcam
5 Điều kiện ánh sáng tối vừa phải Hệ thống vẫn duy trì khả năng trích xuất mắt và dự đoán chính xác
6 Tài xế trong tư thế cúi đầu Phân loại được trạng thái mắt nếu góc cúi không làm mất dấu các điểm mốc trên mặt
7 Tài xế trong tư thế ngẩng đầu lên trên Hệ thống theo dõi khuôn mặt ổn định và xác định được trạng thái mắt
8 Tài xế nghiêng đầu sang phía bên trái Bắt được tọa độ mắt nghiêng và thực hiện phân loại
9 Tài xế nghiêng đầu sang phía bên phải Bắt được tọa độ mắt nghiêng và thực hiện phân loại

Khi người thử nghiệm nhắm cả hai mắt liên tục từ 3 đến 5 giây, hệ thống kích hoạt đúng thông báo văn bản cảnh báo trạng thái ngủ gật lên khung hình video và phát tín hiệu cảnh báo ra loa. Khi người lái quay mặt đi chỗ khác hoặc camera bị che khuất, hệ thống phát cảnh báo nhắc nhở điều chỉnh góc camera.

Giải pháp và kiến nghị của tác giả

  • Tác giả đề xuất quy trình kết hợp hai giai đoạn: sử dụng MediaPipe (nhẹ, nhanh, chính xác) để định vị và cắt vùng mắt, sau đó chỉ nạp vùng mắt có kích thước nhỏ vào mạng CNN tự xây dựng. Cách tiếp cận này giúp giảm tải đáng kể khối lượng tính toán so với việc quét toàn bộ khung hình bằng mạng nơ-ron sâu.
  • Thiết lập cơ chế ngưỡng thời gian (nhắm mắt liên tục 3 - 5 giây) để loại trừ hiện tượng chớp mắt tự nhiên của con người, tránh tình trạng phát cảnh báo sai lệch.

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

  • Xây dựng thành công một giải pháp phần mềm độc lập có khả năng chạy suy luận thời gian thực trên phần cứng máy tính cá nhân thông thường (chỉ dùng CPU, không đòi hỏi GPU chuyên dụng).
  • Chủ động giải quyết vấn đề mất cân bằng và thiếu hụt dữ liệu mắt nhắm trên các nguồn dữ liệu mở bằng cách tự viết công cụ thu thập và gán nhãn dữ liệu từ webcam thực tế.
  • Cung cấp sơ đồ thiết kế lớp chi tiết cho cả hai giai đoạn: huấn luyện (training) và dự đoán (inference), tạo tiền đề cho việc tái sử dụng mã nguồn.

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

Hạn chế của đề tài

  • Về phần cứng: Hệ thống mới chỉ dừng lại ở mức độ chương trình mô phỏng chạy trên máy tính xách tay cá nhân (demo console và webcam), chưa được đóng gói hay nhúng vào các bo mạch phần cứng chuyên dụng gắn trên ô tô.
  • Về điều kiện vận hành: Độ chính xác của hệ thống phụ thuộc nhiều vào điều kiện ánh sáng và góc quay camera. Trong phạm vi nghiên cứu, hệ thống chưa hỗ trợ nhận diện khi tài xế đeo kính râm tối màu hoặc khi vùng mắt bị che khuất hoàn toàn.
  • Về dữ liệu và huấn luyện: Quy mô bộ dữ liệu còn ở mức vừa phải (hơn 3.000 ảnh), việc huấn luyện được thực hiện trên CPU trong 20 epoch nên chưa tối ưu hóa toàn diện được hiệu năng của mô hình mạng học sâu.

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

  • Nghiên cứu tích hợp hệ thống lên các thiết bị phần cứng nhúng nhỏ gọn (như Raspberry Pi hoặc các dòng máy tính biên) có kết nối hệ thống loa báo động độc lập trên phương tiện giao thông.
  • Nâng cấp thuật toán và tích hợp cảm biến camera hồng ngoại để có thể nhận diện chính xác trạng thái buồn ngủ của tài xế vào ban đêm hoặc trong điều kiện xe hoàn toàn không có ánh sáng.
  • Mở rộng tập dữ liệu huấn luyện với đa dạng góc nhìn, lứa tuổi và các điều kiện phức tạp hơn (như tài xế đeo kính râm, đeo khẩu trang).

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Trí tuệ Nhân tạo và Khoa học Dữ liệu khi thực hiện các đồ án chuyên ngành hoặc khóa luận tốt nghiệp về thị giác máy tính:

  • Quy trình kết hợp MediaPipe và PyTorch: Sinh viên có thể tham khảo cách thức sử dụng thư viện MediaPipe để trích xuất nhanh các điểm mốc khuôn mặt (facial landmarks) và cắt chính xác vùng quan tâm (ROI), sau đó truyền trực tiếp dữ liệu dạng ma trận điểm ảnh vào mô hình phân loại viết bằng PyTorch.
  • Xây dựng luồng video thời gian thực bằng OpenCV: Khóa luận cung cấp các bước xử lý từng khung hình (frame-by-frame), kỹ thuật đo đếm thời gian trôi qua để kích hoạt tín hiệu cảnh báo ra loa hoặc xuất chữ lên màn hình.
  • Kỹ thuật thu thập và tăng cường dữ liệu ảnh: Cung cấp phương pháp thực tế để tự sinh thêm dữ liệu và cân bằng bộ dữ liệu khi các tập dữ liệu trực tuyến bị thiếu một nhãn cụ thể (nhãn mắt nhắm).

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

1. Hệ thống sử dụng tiêu chuẩn nào để xác định tài xế đang buồn ngủ và kích hoạt cảnh báo?

Hệ thống dựa trên trạng thái đóng mở của hai mắt được phân loại bởi mạng CNN. Khi cả hai mắt của tài xế cùng nhắm lại liên tục trong khoảng thời gian từ 3 đến 5 giây, hệ thống sẽ xác định đây là trạng thái ngủ gật (không phải chớp mắt tự nhiên) và lập tức phát cảnh báo bằng âm thanh qua loa đồng thời hiển thị chữ cảnh báo trên màn hình.

2. Tác giả đã giải quyết tình trạng thiếu dữ liệu hình ảnh mắt nhắm trên internet bằng cách nào?

Do phần lớn hình ảnh thu thập trên các nền tảng khoa học dữ liệu trực tuyến (như Kaggle, Roboflow) là hình ảnh khuôn mặt đang mở mắt, tác giả đã tự viết một đoạn mã nguồn thu thập hình ảnh trực tiếp từ webcam của các đối tượng xung quanh. Chương trình này chụp ảnh khuôn mặt, cắt lấy vùng mắt nhắm và tiến hành gán nhãn thủ công để bổ sung vào tập dữ liệu.

3. Hệ thống phản ứng thế nào trong trường hợp không nhận diện được khuôn mặt của người lái?

Trong quá trình xử lý luồng video, nếu webcam không phát hiện được khuôn mặt người lái hoặc khuôn mặt bị che khuất, hệ thống sẽ phát ra tín hiệu cảnh báo để người dùng nhận biết và chủ động điều chỉnh lại hướng ngồi hoặc góc đặt camera cho phù hợp.

4. Mô hình mạng nơ-ron phân loại mắt được huấn luyện trên môi trường phần cứng và tham số nào?

Mô hình mạng nơ-ron tích chập tự thiết kế được xây dựng bằng framework PyTorch và được huấn luyện trực tiếp trên CPU của máy tính xách tay cá nhân (chạy hệ điều hành macOS) với tổng số 20 epoch trên bộ dữ liệu hơn 3.000 hình ảnh mắt nhắm và mở.

5. Những yếu tố ngoại cảnh nào nằm ngoài phạm vi xử lý thành công của hệ thống?

Theo phạm vi nghiên cứu được tác giả xác định, hệ thống không đảm bảo khả năng nhận diện chính xác khi tài xế đeo kính râm, khi mắt bị các vật thể che khuất hoàn toàn, hoặc trong các điều kiện ánh sáng quá tối không nhìn rõ khuôn mặt qua webcam thông thường.


Kết luận

Đồ án tốt nghiệp của sinh viên Trần Thị Phương Nhi đã xây dựng thành công một giải pháp phần mềm mô phỏng hệ thống cảnh báo tài xế buồn ngủ theo thời gian thực dựa trên ngôn ngữ Python, thư viện OpenCV, MediaPipe và framework PyTorch. Tác giả đã tự thiết kế mạng nơ-ron tích chập (CNN), chủ động thu thập tập dữ liệu hơn 3.000 ảnh mắt nhắm/mở và tích hợp logic đếm thời gian 3 - 5 giây nhằm kích hoạt cảnh báo âm thanh và hình ảnh chính xác. Kết quả thử nghiệm trên máy tính cá nhân qua 9 kịch bản môi trường và tư thế đầu đã chứng minh tính khả thi của giải pháp, đồng thời xác định rõ các hướng mở rộng về phần cứng nhúng và camera hồng ngoại phục vụ điều kiện lái xe ban đêm.