Nano
Sau khi thực hiện tối ưu chương trình trên kit NVIDIA Jetson Nano, tốc độ thực thi của chương trình đã được cải thiện một cách đáng kể. Cụ thé, chương trình nhận diện khuôn mặt sẽ được thực hiện trên nhân GPU bằng việc sử dụng một
engine được build bởi TensorRT. Phan chương trình thực hiện tìm các điểm
facial landmarks và tính toán các giá trị độ mở của mắt hay thực hiện đếm số lần chớp mắt trong một phút băng SVM được thực hiện trên nhân CPU. Kết quả đạt
được, chương trình đã đạt được tốc độ thực thi từ 19 đến 20 FPS, xung nhịp GPU dao động từ 26% đến 29%, điều này cho thấy chương trình có thể chạy trong một khoảng thời gian dài mà không lo sợ vấn đề về quá tải phần cứng. So
với khi thực thi chương trình trình trên các kit nhúng khác không sử dụng GPU
hay khi sử dụng thư viện dlib dé nhận diện khuôn mặt trên hình thì phương pháp của nhóm giúp nhận diện được khuôn mặt với độ chính xác cao hơn va tốc độ thực thi chương trình cũng được cải thiện đáng kê.
Tuy nhiên, khi hoạt động trên kit NVIDIA Jetson Nano, sau một phút thực hiện
nhiệm thu thập các giá trị EAR cho mỗi khung hình, chương trình thực hiện hàm
tiến hành đếm số lần chớp mắt trong một phút trước đó, lúc này việc lay các giá
trị sẽ được dừng lại cho đến khi thực hiện đếm xong số lần chớp trong một phút trước đó, thời gian này kéo dai từ 5 đến 7 giây.
51
Camera TensorRT SSD Demo for Jetson Nano
NVIDIA Jetson Nano (Developer Kit Version) - Jetpack 4.4.1 [LAT 32.4.4]
t N
C is f
accuracy
macro avg
MDA weighted avg
(0.947990550529377: ] 921NHz [ WARN:@] global. /hone/jetson/opencv/nodutes/vtdeoto//
open Ope! 7 warning: Cannot query video posit vat ———— [info] [Sensor] — [Tenp] — [Power/nM] - [Cur] [Avr] —ơ
1, duration=-1 lupt: ứ da: 3:53 C 1
DROWSINES 1 is 2164
‘DROWSINESS Ai s Jetson Clocks: tn 6117 3451
nVIBIA DROISTNESS AI INV Power[8]: HAXN
[HW engines]
FF) “NVDEC:
a Camera TensorRT SSD Demo for Jetson Nano
eeotearpeeH
x=362, vad) - 8-95 6-136 8:1
[Camera TensorRT SSD Demo for Jetson Nano
NVIDIA Jetson Nano (Developer Kit Verston) - Jetpack 4.4.1 [LAT 32.4.4]
l ] 1.5GHz
cH,
nacro avg
weight
9.9479965595293772 0Hz
bat /hone/3etson/opencvjnodutes/videoto/src/cap_gstreaner.cpp (933)
tuse0, value=
sport YAMNNNNNNNN !
YRMNNNNNNNN 1
YAHNNNNNNN
YAMNNNNNNNN † [Sensor] — [Temp] -r [Pứwer/mM] - [cur] [Avr]
—— Camera TensorRT $8 Demo for Jetson Nano 2 :
Jetseqgzoo YAMNNNMNNNN +
Xerenomsaer l Jetson Clocks: taact Sebo Đệ
NV Power[8]: mix
VIDA - YAMNNNNNNNN !
NESS ALERT! [HW engines]
ALERT!
ALERT!
DROWSINESS ALERT!
NVDEC: (OFF)
U_3CPU 4HEM SCTRL_6INFO
|s=548. v=76) ~ R69 C-110 6-13
Hình 32. Hình anh thực thi chương trình trên kit NVIDIA Jetson Nano (tt)
52
Chương 5. KET LUẬN VA HƯỚNG PHÁT TRIEN
5.1. Kết luận
Về cơ bản, chương trình đã giúp nhận diện được trạng thái buồn ngủ của tài xế trên kit NVIDIA Jetson Nano với độ trễ tương đối thấp. Phần chức năng nhận diện tiền buồn ngủ chưa tìm được bộ dữ liệu thích hợp để thực hiện kiểm thử nên chưa thé đánh giá chính xác được chức năng nhận diện tiền buồn ngủ của
chương trình.
Ngoài ra, nhóm đã thực hiện tối ưu thành công tốc độ thực thi của chương trình trên kit NVIDIA Jetson Nano. So với các chương trình nhận diện buồn ngủ trước đây khi chạy trên các thiết bị nhúng khác như board nhúng như Raspberry
Pi thường chỉ sử dụng phần cứng CPU đề thực hiện chương trình, FPS chỉ trong khoảng từ 8 đến 9 FPS, làm cho khả năng real-time còn hạn chế. Với kit NVIDIA Jetson Nano, bang việc tích hop TensorRT vào một model Tensorflow
dé tối ưu phần cứng cho chương trình, giúp chương trình có tốc độ xử lí nhanh
hơn và giúp dễ hiện thực real-time cho chương trình hơn.
5.2. Hướng phát triển của chương trình
Hướng phát triển tiếp theo của chương trình là xây dựng một bộ dữ liệu dé tiến hành kiểm thử độ chính xác của chương trình dự đoán tiền buồn ngủ. Bộ dữ liệu này tốt nhất là nên được thu thập từ chính các tài xế lái xe đường dài dé có thé mang lại độ chính xác tốt hơn, lưu ý nên chọn vị trí đặt camera sao cho phù hợp
đê có thê quan sát rõ nét nhât khuôn mặt của tài xê.
Ngoài ra, việc cung cấp một số phương pháp kết hop dé giúp cho chương trình
có thê phát hiện được hành vi buồn ngủ trong môi trường ánh sáng kém vào ban đêm cũng nhưng một số điều kiện ngoại cảnh khác ảnh hưởng xấu đến việc nhận diện khuôn mặt cũng như nhận diện các điểm trên khuôn mặt. Việc này giúp cho khả năng dự đoán độ mở của mắt cũng chính xác hơn và giúp chương trình đưa
ra nhận xét chính xác hơn.
53
TÀI LIỆU THAM KHẢO
[1] Adrian Rosebrock - “Eye blink detection with OpenCV, Python, and dlib”:
https://www.pyimagesearch.com/2017/04/24/eye-blink-detection-opencv-python-
dlib/ - ngay 24 thang 4 nam 2017
[2] Adrian Rosebrock - “Drowsiness detection with OpenCV”:
https://www.pyimagesearch.com/2017/05/08/drowsiness-detection-opencv/ , ngay 8 thang 5 nam 2017
[3] Alexander Mordvintsev, Abid Rahman K, “Introduction to OpenCV-Python
Tutorials”, https://docs.opencv.org/master/d0/de3/tutorial_ py_intro.html
[4] Caio B. Souto Maior, Marcio C. Moura, Joao M. M. de Santana, Lucas M. do
Nascimento, July B. Macedo, July B. Macedo, Enrique L. Droguett, “Real-time
SVM Classification for Drowsiness Detection Using Eye Aspect Ratio”, Thang 9
nam 2018.
[5] National Sleep Foundation, “Detection and Prevention’,
https://drowsydriving.org/about/detection-and-prevention/.
[6] Novie Theresia Br. Pasaribu, Agus Prijono, Ratnadewi, Ratnadewi, Ratnadewi,
“Drowsiness Detection According to the Number of Blinking Eyes Specified From Eye Aspect Ratio Value Modification”, tai hội nghi International Conference on
Life, Innovation, Change, and Knowledge, Nam 2018
[7] Pooya Davoodi, Guangda Lai, Trevor Morris, Siddharth Sharma - “High
performance inference with TensorRT Integration”: High performance inference
with TensorRT Integration — The TensorFlow Blog, ngay 13 thang 6 nam 2019
[8] Tensorflow guide, “TensorFlow Hub Object Detection Colab”,
https://www.tensorflow.org/hub/tutorials/tf2_object_detection?hl=en, ngay 09 thang
12 nam 2020.
54