Chương 1. Ly do thực hiện khóa luận. Mục tiêu của khóa luận.---- <1 111112211111 11 9531111111182 11 tre, 2 Chương 2.--- 2 2 2+2 +E9EE+EE+EEEEEEEEEEEEEEEEEEeEErrxrrrrei 4 2. Thư viện mã nguồn mở Open-Source Computer Vision Library?Ì.
Tổng quan về OpenCCV.-¿- c +keEk£EE+EE2E12E12121712171 211. OpenCV với CUDA - Compute Unified Device Architecture. Thư viện mã nguồn mở dib.-- 2-2 s£+£+S£EE+EE£EE£+EE£EEerxzEezrerrxerxee 6 2. Thuật toán Support Vector Machine — SVM[TÖÌ,.
_ Giới thiệu về Support Vector Machine. Sơ lược về cách hoạt động của Support Vector Machine. Khoảng cách từ một điểm tới một siêu mặt phẳng.-- G1 HT TH nh 9 2. Xây dựng bài toán tối ưu cho SVM.
Soft Margin Support Vector Machine. Giới thigu ose eeesseseesecsecsecseceeceeceseesesseeseesesseesessesseeeesseesaeeeeeaes 13 2. Phân tích toán hỌc.- HH HH ng 16 2. Tổng quan về mô hình Single Shot Detector (SSD)/!0Ì,.
Giới thiệu về mô hình Single Shot Detector. Cơ bản về hoạt động của mô hình Single Shot Detector. Training với mô hình Single Shot Detector. Hàm loss của mô hình Single Shot DefecfOr.
Chọn kích thước và tỉ lệ default box. Phương pháp đánh giá một model Machine LearninglÌ. Tìm hiểu về kit NVIDIA Jetson nano.---- 2-5252 s+cx+zx+x+rerxerxeee 27 PS. Thông số kỹ thuật của Kit NVIDIA Jetson nano.
CUDA trên kit NVIDIA Jetson Nano. Tìm hiểu về thư viện TensorR'TÍÌ,. Giới thiệu TensorlÑÏ. Tổng quan quy trình phát triển deep learning kết hợp TensorRT.
Lợi ích khi triển khai TensorR'T.---¿- 2s s£sz+z+zx+rxezse+ 33 2. Dùng TensorRT dé tối ưu file Tensorflow. PHAN TÍCH VÀ THIET KE HỆ THÔNG. Phân tích hệ thống .-- ¿22 2++<+EESEE2EEEEEEEEEE1E211221271712211 21111 eeU 37 3.
Thiết kế hệ thống.-----¿-©2¿©+¿22+2EE2EE22EE2E12211221221 211212212 xe 38 3. Tổng quan về chương trình.----¿s©+s++zx++zx+zx++zxezrxe+ 38 3. Cac phương pháp được thực hiện trong chương trình. Phuong pháp nhận diện khuôn mặt.
Phương pháp nhận diện chớp mắt .------- zsz+cz+cx+zxzez 40 3. Thực hiện huấn luyện nhận diện chớp mắt với SVM. Phương pháp nhận diện ngáp.- -- ---++-++++xs+stssesserssereres 45 Chương 4. KET QUÁ THỰC NGHIỆỆM.-- 2-2 52+S2+EE+EE+£E2EEzEEerxerkerer 41 4.
Kết quả đánh giá model SVM dùng dé nhận biết chớp mắt. Kết quả đánh giá chương trình nhận diện buồn ngủ. Hiệu suất của chương trình khi thực thi trên kit NVIDIA Jetson Nano. KẾT LUẬN VA HƯỚNG PHÁT TRIÊN.
Hướng phát triển của chương trình DANH MỤC HÌNH Hình 1. Các mặt phân cách hai classes linearly separable. Margin của hai classes là bằng nhau và lớn nhất có thể. Phân tích bài toán ŠVÌÌM.-«--es<©xekxxttkrtetrtettrittkirtkriiikririiiiiiirree 10 Hình 4.
Các điểm gan mặt phân cách nhất của hai classes được khoanh tròn. Soft margin SVM khi có nhiỄM. Soft margin SVM khi dữ liệu gan linearly separable. Giới thiệu các biến SLACK Šuốn.
Dữ liệu của hai classes là không phân biệt tuyến tính trong không gian hai 21 08Pnnhh. Nếu coi thêm chiêu thứ ba là một hàm số của hai chiều còn lại z = x? + yˆ, các điểm dữ liệu sẽ được phân bo trên 1 parabolic và đã trở nên phân biệt tuyến tính. Mặt phẳng màu vàng là mặt phân chia, có thể tim được bởi Hard/Soft Margin SVÀM. LỄ eee 17 Hình 10.
Giao điểm của mặt phẳng tim được và mặt parabolic là một đường ellipse, khi chiếu toàn bộ dữ liệu cũng như đường ellipse này xuống không gian hai chiều ban dau, ta đã tìm được đường phân chia hai clssse. Ý tưởng của mô hình Single Shot Det€CfOF.ee---c-eceereecccerrreeccerre 20 Hình 12. Kiến trúc của mô hình Single Shot Detector [12] sree 21 Hinh 13. Vi du về Intersection Over Unioh.
Công thức tinh của Intersection Over UHiOH. Công thức tính của Intersection Over Union (tt) .---e-ecce-ceexesreexeeee 23 Hình 16. Kit NVIDIA Jetson NGHO .sằĂscceereerittrtrirtritkirtrireriirririrrrer 29 Hình 17. Tổng quan quy trình tối tu model với TensorÑT.
TensorRT tối ưu hóa các mô hình mạng thân kinh được đào tạo để tạo ra một công cụ suy luận thời gian TenSOrRT ÑUHfÌIH€. Phân bố ludng các model cho GPU. Hiệu suất khi thực thi models trên GPU. Phân phối luồng các model cho GPU khi sử dụng TensorRT.
Hiệu suất điều phối của GPU khi sử dụng TensorRT. Quá trình build một file engine dé thực hiện chương trình. Sơ đô thuật toán của chương trÌnh. Tọa độ các điểm trên khuôn mặt dựa trên model shape- predictor-68_face- LATAINIALKS essssesessssssesvssvsssvsssssssesessssesesesesssseavsseseacsessescsacacsesseaeseeseassessesesessesseeeeseeasaessesesventeeeeeneensseaees 41 Hình 26.Toa độ các điểm trên khuôn mặt dựa trên model shape- predictor-68_face- 11/1/1116 8010770787888 8< H.
Minh họa công thức tính độ mở của mắt - EAI. Biểu đô đánh giá độ chính xác dự trên độ biến thiên của giá trị C-. Thống kê kết quả đánh giá theo Confusion Matrix. Số liệu thống kê sau quá trình trainingg.
Hình ảnh thực thi chương trình trên kit NVIDIA Jetson Nano Hình 32. Hình ảnh thực thi chương trình trên kit NVIDIA Jetson Nano (1). 52 DANH MỤC BANG Bang 1. Bảng mô tả các dấu hiệu dé nhận biết trạng thái cua tài XẾ.
Cấu trúc khung dữ liệu làm đầu vào cho ŠWÌM. Số lượng giá trị 0 và 1 được tính cho mỗi video trong số 8 video của Eyeblink8, dựa trên chuyển đổi dữ liệu từ 100000. Độ chính xác của model theo các loại KeTHeÏL.-----c-«c-e-eercerees 48 DANH MỤC TU VIET TAT CUDA: Compute Unified Device Architecture FPS: Frame Per Second OpenCV: Open-Source Computer Vision SSD: Single Shot Detector SVM: Support Vector Machine TOM TAT KHÓA LUẬN Phát hiện buồn ngủ là một đề tài quan trọng có thể ứng dụng trong nhiều lĩnh vực trong cuộc sống. Trong lĩnh vực giao thông việc phát hiện buồn ngủ khi lái xe sẽ có thé góp phần dé giảm bớt số lượng tai nạn giao thông.
Theo thống kê của ủy ban An toàn Giao thông Quốc gia, những vụ tai nạn giao thông liên quan tới giấc ngủ sau vô lăng chiếm tới 30% tổng các vụ giao thông trong một năm. Chỉ trong năm 2019, nhiều tai nạn nghiệm trọng xảy ra do tài xế ngủ gật. Đã có những tổ chức và nhóm nghiên cứu trên thế giới đã nghiên cứu về lĩnh vực này với nhiều ý tưởng và hình thức khác nhau. Một ví dụ điển hình là hệ thống hỗ trợ chú ý của Mercedes Benz “Mercedes-Benz’s Attention Assist” là hệ thống giúp người lái xe nhận biết khi nào họ buồn ngủ và khuyến khích họ giải lao.
Hay một phương pháp khác được hãng Ford thực hiện đó là tạo ra chiếc nón an toàn sử dụng các cảm biến có khả năng diễn giải chuyển động của người lái để cảnh báo nếu người dùng cảm thấy mệt mỏi hoặc buồn ngủ khi lái xe. Ngoài ra cũng có một số nhóm nghiên cứu, tính toán vận tốc cũng như biên độ chớp mắt của tài xế dé từ đó đưa ra dự đoán về trạng thái của tài xế. Những phương pháp trên đã được nghiên cứu và cho thấy được độ hiệu quả cao. Nhưng để có thé hiện thực trong thực tế thì khá khó thực hiện cho những người muốn tìm hiểu và nghiên cứu vì nó cần những thiếc bị đặc thù riêng, mang tính chất xâm nhập và tìm hiểu sâu về con người (phương pháp đo điện tâm đồ) và không đủ hiệu quả khi sử dụng lâu (nón an toàn Ford).
Camera là một giải pháp thay thé dé dàng tiếp cận và không tốn quá nhiều chi phí. Việc sử dụng camera để thu hình ảnh của người lái xe trong quá trình điều khiển phương tiện giao thông để phát hiện được những trạng thái mệt mỏi, buồn ngủ dựa trên các yếu t6 được nhận diện từ khuôn mặt như chớp mắt nhiều lần hay ngap, những yếu tố này được phân tích bởi máy tính, bằng cách áp dụng các công nghệ được ứng dung trong lĩnh vực Thị giác Máy tinh là giải pháp hiệu qua và dé tiếp cận hơn những phương pháp ở trên. Từ đó việc nghiên cứu và phân tích dữ liệu dựa trên hình ảnh thu được từ camera mang tính real-time va chủ động. Ly do thực hiện khóa luận Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ.
Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích rất nhiều các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng dành riêng cho nó. Ngày này, xử lí ảnh đang dần được đưa vào ứng dụng trong cuộc sông, ví dụ như trong y học, lĩnh vực địa chất, trong cách ngành khí tượng học, hay còn được sử dụng rộng rãi trong lĩnh vực hình sự và các hệ thống bảo mật. Nhằm mục đích tìm hiểu, tiếp cận các công nghệ xử lí ảnh hiện đang rất phổ biến trong thé giới công nghệ, bằng cách nghiên cứu về các thư viện mã nguồn mở liên quan đến xử lí ảnh như OpenCV, dlib. Nhóm cũng mong muốn có được các kiến thức cơ bản về máy học — machine learning và áp dụng nó vào các công việc thực tiễn.
Và hơn thế nữa là thực hiện chương trình xử lí ảnh trên các máy tính nhúng ví dụ như kit NVIDIA Jetson nano dé có thé mang chương trình ứng dụng nhiều hơn trong cuộc sông. Nhóm đã chọn thực hiện khóa luận “Nghiên cứu, thử nghiệm thiết bị nhận diện trạng thái tài xế lái xê ô tô”. Mục tiêu của khóa luận Mục tiêu chính của đề tài là nghiên cứu, hiện thực một thiết bị có thê đếm được số lần chớp mắt và số lần ngáp của người lái xe ô tô băng các thư viện mã nguồn mở và thuật toán máy học trên máy tính nhúng NIVIA Jetson Nano Developer Kit. Từ đó góp phần giúp phát hiện trạng thái của tài xế lái xe sắp ngủ gật dé kịp thời cảnh báo cho lái xe.
Cụ thé đề tài sẽ: e Tim hiêu và nghiên cứu vê các bài báo vê nhận biệt buôn ngủ dựa trên các đặc điêm và trạng thái của khuôn mặt. Từ đó xây dựng một chương trình giúp đêm được sô lân chớp mặt và sô lan ngáp của một người dựa trên các điểm trên khuôn mặt — facial landmark. e Tiếp theo đó, phát triển chương trình để có thể nhận biết 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 một phút. Chương trình được xây dựng sẽ có ba mức độ để cảnh báo người dùng là bình thường, có dấu hiệu buôn ngủ ít và dấu hiệu buồn ngủ nhiều.
Chương trình sẽ dựa vào số lần chớp mắt, số lần ngáp hay số lần không thể nhận diện được khuôn mặt trong một thời gian nhất định. Tương ứng với các mức độ sẽ có các cảnh báo khác nhau. e Thử nghiệm chương trình trên máy tính cá nhân với hệ điều hành Ubuntu va máy tính nhúng NVIDIA Jetson Nano. Mục tiêu của khóa luận là chương trình sẽ có độ chính xác sẽ trên 60%! và mức FPS khi thực thi trên kit NVIDIA Jetson Nano có thé sử dụng cho tốt với khả năng real — time.