ĐẠI HỌC QUỐC GIA TP. HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH NGUYEN VÕ HỮU PHÚC - 19522043 PHẠM MINH QUẦN - 19522084 KHÓA LUẬN TÓT NGHIỆP HIỆN THỰC MÔ HÌNH PHÁT HIỆN VÀ TRÁNH VAT CAN TREN DUONG TRONG DIEU KHIEN XE TU HANH IMPLEMENTATION OF OBSTACLE DETECTION AND EVASION ON ROAD IN AUTO-DRIVING CAR KY SƯ KỸ THUAT MAY TÍNH GIANG VIEN HUONG DAN Ths. TRAN HOANG LOC Ths. PHAM MINH QUAN TP.
HO CHi MINH, 2023 LỜI CẢM ƠN Để có thể thực hiện và hoàn thành khóa luận tốt nghiệp này chúng em xin chân thành gửi lời cảm ơn đến thầy cô Trường Đại học Công nghệ Thông tin — Đại học Quốc gia Thành phố Hồ Chí Minh nói chung và thầy cô trực thuộc khoa Kỹ thuật Máy tính nói riêng đã giúp đỡ và hỗ trợ và giúp đỡ chúng em trong suốt quá trình 4 năm học tập và nghiên cứu tại trường Đại học này. Xin gửi lời cảm ơn chân thành đến giảng viên Ths. Trần Hoàng Lộc và giảng viên Ths. Phạm Minh Quân đã là người đồng hành và cung cấp kiến thức đồ thời cũng hỗ trợ chúng em suốt thời gian thực hiện dé tài này từ lúc phát triển và bắt đầu nghiên cứu ở môn đồ án 1 đến tận khi hoàn thành khóa luận tốt nghiệp này.
Xin chân thành cảm ơn đến những bạn bè và anh chị đã giúp đỡ cung cấp những tài liệu và chỉ dẫn tận tình giúp cung cấp nhiều nguồn uy tín và phủ hợp trong suốt quá trình thực hiện khóa luận này. Một lần nữa xin gửi lời cảm ơn đến tất cả những người đã giành thời gian và công sức giúp đỡ chúng em hoàn thành khóa luận tốt nghiệp. Trong quá trình thực hiện khóa luận tất nhiên chúng em cũng sẽ không tránh khỏi những thiết sót mong các quý thầy cô và các bạn, anh chị bỏ qua và thứ lỗi. Sinh viên thực hiện Nguyễn Võ Hữu Phúc Phạm Minh Quân Khoa Kỹ thuật Máy Tính - MTCL2019.3 MỤC LỤC TOM TAT KHÓA LUẬN.
TONG QUAN DE TÀI. Tình hình ngoài nue:. Tình hình trong nưỚC:. Giới thiệu về Machine Learning.---+©222++++22vv+reerrvvrrrsrrvrcree 5 Chương 2.--22+22EE+2+22EEEE+tEE2EEEtEEEEErrrtrrkrcree 6 2.
Kiến trúc Machine Learning. Neural Network là gì?. Artificial Neural Network. Multi-layer PerceptrOn.
Convolutional Neural Network. — Single Shot MultiBox Detector. Giới thiệu về SSD vveessssssssssscsssscsesessssensssssssssssssssssseeeeeeeeseeeeeeeees 17 2. Kiến trúc mô hình SSD.
Ưu điểm và nhược điểm của SSD. Quá trình phát triển và cải tiễn của SSD. Ứng dụng của SSD. Giới thiệu về MobileNet.
Kiến trúc của mạng MobileNet. Ưu và nhược điểm của MobileNetV3. Giới thiệu về Lidar. Cách thức hoạt động.
Ứng dụng của Lidar.---2222cc+22222Evvverrerrrrrrrseerree 31 COng lì) TT. Thuật toán lan truyền ngược (Backpropagation algorithm). Hàm kích hoạt (Activation function). Hàm mất mát (bi.
Độ chính xác của mô hình .----¿ 2+ ©++x++zx+zx++zx+zzxzrxeex 39 2. Phần mềm và thư viện hỗ trợ. --- S5 s1 ng ng Hy 42 2. NỘI DUNG THUC HIỆN.
Mô hình nhận diện vật thé. SSDlite voi backbone MobileNetV3. Giới thiệu mô hình. Kiến trúc và kích thước mô hình .-- - - s+s+s+ze+s+E+zezszx+zezs 48 3.
Đánh giá mô hình và nhận Xét. Mô hình SSDIite với MobileNetV3 cắt giảm 2 lớp cuối của mạng. Giới thiệu mô hình.----2¿©+++£+x++E+Ex++rx+rxerreerxerrxee 49 3. Kiến trúc mô hình sau khi cắt giảm.
Chi tiết mô hình. _ Tệp dataset COCO. HH TH HH HH nh 51 3. Tiền xử lý ảnh.
Tại sao phải tiền xử lý ảnh.-- c5 sS<cEt+E2EccEerkerxerxrreres 53 3. Xử lý ảnh băng thư viện Pytorch.------¿-s++cx+cx+scxcezxez 54 3. Huấn luyện và đánh giá mô hình.---¿- ¿+ +++x++z++zx++zx++zxzzxeex 56 3. Khởi tạo mô hình tùy chỉnh.
Huấn luyện mô hình.--- 2-22 E+EE+EE++EE+EEtEEerEezErrxerkerree 58 3. _ Đánh giá mô hìnhh. Phần mềm mô phỏng CARLA. _ Thiết lập môi trường mô phỏng.
Khoi chạy CARLA S€TV€T. GÀ LH HH HH ệt 63 3. Kết nối máy khách. Tương tác với mô phỏng .- - -- - s xxx vn g gre 65 3.
Chương trình điều khiỂn.--¿- 2 2 2 +k+SE£EE#EEEEESEEEEE2EEEEEEEEEEErkrrkrrree 70 3. Luồng xử lý nhận diện vật cản. Ludng xử lý tín hiệu Lidar. Luồng xử lý tín hiệu điều khiển xe.
2S 2T Hee 71 Chương 4.-- 2-2 ©5£+S22EE2EE£EEtEEEEEEEEEEEErrkrrrkerkerrrree 78 4. Thiết kế phần cứng.--c¿©k2EE+EE+EEEE£+E+EEEEEEESEEEEEEEEEEEEEEEEEEkerkrrkrree 78 4. Chương trình mô phỏng CAIRLA:. Thực nghiệm mô hình trên phan cứng JetsonNano.
Độ chính xác của mô hình. Hiệu năng của mô hình trên phần cứng JetsonNano. KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIÉN.ccc2cc 2S 2Sc 2c SE TH HE 1111 1111 crrereee 82 5. Thực hiện mô phỏng.
Mô hình sử dụng. Định hướng phát triỂn.----¿- 2 +++E£+EE+EE£EEEEEEEEEEEEEEEEEEEEEErrkerkerreee 83 TÀI LIEU THAM KHẢO.- - St ESEESE+EEEEEEEEEEEEESEEEEEESESEEEESESEEEErkekrrrrkrree 84 DANH MỤC HÌNH Hình 1.1: Quy mô thị trường trí tuệ nhân tạo Bắc Mỹ, 2019-2030 (Ty USD) [10] .1: Tế bào nơ-ron sinh học trong não người [Í]|.-- «<< <+<see+sseesses 7 Hình 2.2: TẾ bào nơ-ron nhân tao sử dung trong kiến trúc ANN [1].3: Kiến trúc ANN cơ bản [1].---c¿-+cc++tstEkxrrtrktrrtrrtrrrrrtrrrrrrrrrrrk 8 Hình 2.4: Kết cầu của một mạng Perceptron đa lớp cơ bản [2].5: Kết quả mang CNN nhận diện chữ viết tay [3] .6: Kiến trúc LeNet-5 nhận diện chữ viết tay [20] .7: Kiến trúc AlexNet được giới thiệu vào năm 2012 [2I].8: Khối Inception, a) Phiên bản cơ bản; b) Sử dụng những lớp Conv1x1 giảm số chiều và kích thước dit liệu đầu vào [23] .------ 2-2 2+sz+x+zxezzzszse2 13 Hình 2.9: Mô hình R-CNN với ba bước chính [4].----- +5 << +++<<ss+++<exc++ss 14 Hình 2.10: Mô hình Fast R-CNN [24].11: Anchor boxes trong RPN áp dụng vào mô hình Faster R-CNN [25].12: Mô hình YOLO cơ bản [Š]|.13: Kiến trúc mô hình YOLO cơ bản [5].-----cc::-ccccc+sccxecrsrrrreer 16 Hình 2.14: Kiến trúc SSD sử dụng VGG-16 làm mang Backbone [6T].15: Mô hình MobileNet được sử dụng vào các ứng dụng di động [32].17: MobileNetV2 + Squeeze-and-Excite [34] .- -- c5 ccscc<scsseesee 26 Hình 2.18: Hiệu xuất của các phiên bản MobileNetV3 [34] .19: Kết cấu của hệ thống Lidar cơ bản [37].--- <5 c5 << ££cc<£ssss<+30 Hình 2.20: Biểu đồ hàm kích hoạt Sigmoid [41].----c¿-ccc++cxxccscxxeeere 34 Hình 2.21: Sơ đồ hàm kích hoạt ReLU [42]. - - 2c x ++x£E+E£EE+EeExeEerxexzxers 34 Hình 2.22: Ví dụ của hàm softmax với dữ liệu đầu vào và kết quả tương ứng.23: Đồ thi ham swish [43] .24: Đồ thị hàm ReLU6 [33] ,.-- 2-22 5¿©5+2E++£x+2Ext2EEtzx+zrxezrxerresree 36 Hình 2.25: Đồ thi ham swish so với hardswish [33]. - 0 Gv Hg H T g Hi hrưn 41 Hình 2.27: Google colaboratory ÏOBO.- -- --- 5 + kh HH gtưệt 42 Hình 2.
Gv HH TT Hà HH HH gà 43 Hình 2.29: Môi trường mô phỏng của CA RÌA.- s- cccs+csecsvessessessesske 44 Hình 2.30: Mô phỏng tính hiệu Lidar của CARLA.31: Workflow của Socket trong pythON.1: Kiến trúc SSDlite với backbone MobileNetV3.2: Kiến trúc SSDlite với backbone MobileNetV3 đã được giảm số lớp và giới hạn loại vật thé cần nhận diện.-- 2-2 ¿+ 2+E+EE+EE+2EE£EE+EEtEEEEErEkrrxrrrrrex 49 Hình 3.3: Tệp dataset sử dụng trong đề tài này.---- 5-2 z+ce+xecxerxerxerxersrree 53 Hình 3.4: Ham Resize của Pytorch .5: Grayscale của PVfOTCH.- - c1 11121191 1 TH HH 55 Hình 3.6: CenterCrop của PyfOTC.c ¿+ ss + c1 1321131011911 1191111 1 9 1 ng 55 Hình 3.7: FiveCrop của Pytorch (cắt vào 4 góc và trung tâm ảnh) .8: RandomCrop của Py{OTCh.- óc <6 3E 11 1 1 nh ngư 55 Hình 3.9: Kết hợp các hàm tiền xử ly ảnh và áp dụng vào mô hình.10: Lớp khởi tạo cho từng lớp trong mô hình tùy chỉnh.11: Hàm chỉnh backbone MobileNetV3 .- cv sessesee 58 Hình 3.12: Hàm tông hợp kiến trúc mô hình hoàn chỉnh.13: Kết nối với google drive trên Colab.---¿--¿«¿©++2x++zx+zzx+zxesrsz 59 Hình 3.14: Tach tệp dataset lớp ra thành các tệp con: Train, Test và Validate .15: Khởi tạo dataloader dé đưa dữ liệu vào mô hình huấn luyện.16: Chon phan cứng dé huấn luyện.-- - 2-2 2 2 £+E££x+zx+£x+rszrszsez 60 Hình 3.17: Lưu mô hình huấn luyện tai checkpoint.18: Tải lại mô hình huấn luyện từ checkpoint.19: Hàm bat đầu huấn luyện mô hình .---2¿- ¿+2 5++x2z++zx+zz+z 60 Hình 3.20: Hàm đánh giá độ chính xác của mô hình.- --- -«- -«£+<<+sx+se+sx+ 61 Hình 3.21: Ảnh môi trường mô phỏng.--- - 2 2 E+E+2E£+EE+EE+EEerEEzEEzrxerxerez 63 Hình 3.22: Flowchart client khởi tạo kết nối với S€TVeT. - - - << + << << E1 EEEEEE11111111EEE11895555555551 511k kkkkkkkree 65 Hình 3.24: Flowchart client giao tiếp và nhận dữ liệu từ cảm biến.25: Flowchart luồng xử lý dit liệu ảnh.--2- ¿2+ ©+2+++zxzzx+zxesrxz 70 Hình 3.26: Hàm nhận diện vật thê.-- 2-22 +¿++2E++Ex+2EEt2EEtEE+erxrzrxrrrecree 71 Hình 3.27: Khởi tạo lớp xử lý ảnh nhằm chia luồng.28: Flowchart luồng xử lý đữ liệu Lidar.29: Khởi tạo lớp xử lý Lidar nhằm chia luỗng.30: Flowchart luồng điều khiển xe.31: Flowchart thuật toán xử lý tránh né vat cắn.32: Flowchart xử lý đa luỗng.-¿- + ¿2£ E+EE+EE+EE£EE+EEEEEerkerkerkrrkrree 77 Hình 4.1: Sơ đồ thiết kế phần cứng.---- 2 2¿©2+¿+SE+2EE+EE+SEEEEEEEEESrkrrrrrrerree 78 Hình 4.2: Chương trình mô phỏng CC arÌa.3: Kết quả evaluate mô hình được điều chỉnh.--2- 2 2 s2 s2 s+£s2 s2 80 DANH MỤC BANG Bảng 2-1: Cấu hình kiến trúc VGGNet [22] .---:¿-55+¿2c5vvtsccxvrsrrrrrrsrrrerrre 12 Bảng 2-2: Mô hình GoogLeNet sử dụng khối Inception [23].-- ---«-- 13 Bang 2-3: Kết quả nhận diện hình ảnh trên tệp PASCAL VOC2012 [6]. 20 Bảng 2-4: Kết quả nhận diện hình ảnh trên tệp COCO test-dev2012 [6]. 20 Bang 2-5: Kết quả nhận diện trên thiết bi di động iPhone XS Max của mô hình MobileNetV2-SSD có sử dụng BlazeBlock và không sử dụng BlazeBlock [31].21 Bảng 2-6: Sườn kiến trúc của MobileNet [32].
- ¿5-5 ecx+EvEeEerkerxrxerxererxee 23 Bảng 2-7: Depthwise Separable vs Full Convolution MobileNet [32]. 24 Bảng 2-8: MobileNet Width Multiplier [32].--- 555 + +ssksseeesseesesers 24 Bang 2-9: MobileNet Resolution Multiplier [32] .-- 555555 <<++<s<<+seesssess 24 Bang 2-10: Kiến trúc MobileNetV3-large [33].- - c7 sSSssreeersesrreses 26 Bảng 2-11: Kiến trúc MobileNetV3-small [33] .------ + + =scxsxssezezszezererssressz 27 Bang 3-1: Chi tiết kiến trúc mô hình từ Sequential 2 — l.--------s¿sz=s+ 50 Bảng 3-2: Chỉ tiết kiến trúc mô hình từ ModuleList 2 — 2.-----:---sc:-:+ 5I Bang 4-1: Kết quả so sánh giữa mô hình Modified với các mô hình khác. 81 Bang 4-2: Kết quả so sánh giữa mô hình Pre-trained với Modified.- 81 DANH MỤC TỪ VIET TAT Từ viết tắt Ý nghĩa AI Artificial intelligence ML Machine Learning DL Deep Learning Lidar Light Detection and Ranging NN Neural Network IoT Internet of Things GPT Generative Pre-trained Transformer GPU Graphics processing unit CPU Central processing unit ANN Artificial Neural Network [1] MLP Multi-layer Perceptron [2] CNN Convolutional Neural Network [3] R-CNN Region-based Convolutional Neural Network [4] RPN Region Proposal Network YOLO You Only Look Once [5] SSD Single Shot MultiBox Detector [6] VOC Visual Object Classes COCO Common Objects in Context CVPR Conference on Computer Vision and Pattern Recognition SE Squeeze and Excitation ReLU Rectified Linear Units MSE Mean Squared Error IoU Intersection over Union mAP Mean Average Precision FPS Frames per second TÓM TẮT KHÓA LUẬN Thuật ngữ "xe tự hành" đã xuất hiện từ lâu trong lịch sử phát triển công nghệ tự động hóa và đã trải qua nhiều giai đoạn phát triển. Ý tưởng ban đầu về xe tự hành xuất hiện trong văn học khoa học viễn tưởng.
Sau đó, từ năm 1920 [7], các nhà khoa học và kỹ su đã nghiên cứu dé tạo ra các hệ thống tự động hóa dé giúp lái xe.