KỸ THUẬT HUẤN LUYỆN MẠNG VÀ THIẾT LẬP THÔNG SỐ

Một phần của tài liệu Mô hình xe tự hành (Trang 66)

5.2.1. Xử lý On-road

Để tăng tốc độ huấn luyện mạng, mạng backbone được khởi tạo trọng số với mô hình mạng MobilenetV2 đã được huấn luyện trước với các tập dữ liệu lớn (pretrained model). Như đã chú thích ở trên, nhóm huấn luyện mạng với nhiều kích cỡ ảnh. Nhóm làm giàu dữ liệu bằng cách thay đổi kích cỡ ảnh đầu vào với 4 kích cỡ khác nhau: 512x1024, 768x1536, 360x640, 720x1280. Nhóm sử dụng Adam solver [36] để tối ưu hóa hàm softmax với hệ số suy giảm 4 × 10−5 và tốc độ học được khởi tạo là 10−7. Tốc độ học giảm mỗi 5 epochs, mỗi epoch tốc độ học sẽ được tính như phương trình (13). Nhóm huấn luyện mạng trong 200 epoch với batch size là 4.

_=10−7×(

5.2.2. Xử lý Off-road

Trong quá trình huấn luyện, trước khi cho ảnh vào model ở việc xác định vị trí của biển báo, nhóm sử dụng một số kỹ thuật xử lý ảnh như biến dạng trắc quang (độ sáng ngẫu nhiên, độ tương phản, độ bão hòa, nhiễu sáng), biến dạng hình học (cắt tỉ lệ ngẫu nhiên, đảo) và sau đó đưa kích thước của chúng về ảnh 320x240 pixels. Còn đối với việc phân loại biển báo, tất cả các ảnh biển báo đã được tách ra sẽ được lưu dưới dạng png và thay đổi kích thước thành ảnh 20x20 pixels.

5.3. KẾT QUẢ

5.3.1. Môi trường mô phỏng

Một vài kết quả thu được ở môi trường mô phỏng ở hình 5.5và hình 5.6, kết quả cho thấy thuật toán phân đoạn không bị nhiễu bởi bóng cây và tuyết bên lề đường.

52

Hình 5. 5 Kết quả trong môi trường mô phỏng (1)

53

5.3.2. Môi trường thực tế

Một vài kết quả của thuật toán phân đoạn làn đường trên bộ CamVid và bộ dữ liệu của nhóm được thể hiện ở hình 5.7 và 5.8. Mặc dù nhóm chỉ huấn luyện trên bộ dữ liệu CamVid nhưng khi triển khai trên bộ dữ liệu tự thu thập vẫn nhận được kết quả khá tốt, điều đó cho thấy thuật toán có khả năng thích nghi khá tốt với môi trường mới.

Một vài kết quả thu được từ phương pháp mà nhóm đề xuất, kết hợp giữa xử lý ảnh truyền thống và học sâu trên bộ dữ liệu tự thu thập được thể hiện ở hình 5.9-5.12, cho thấy thuật toán vẫn có thể nhận diện làn đường cong với tốc độ cao.

54

Hình 5.8 Kết quả trong môi trường thực tế (Ảnh lấy từ mô hình xe)

55

Hình 5.10 Kết quả nhận diện làn đường (2)

Hình 5.11 Kết quả nhận diện làn đường (3)

56

5.4. SO SÁNH VÀ ĐÁNH GIÁ

5.4.1. Các phương pháp đánh giá kết quả

5.4.1.1. IOU

IoU – Intersection over Union là một số liệu để định lượng phần trăm trùng lặp giữa mặt nạ được dán nhãn và đầu ra của dự đoán và được tính theo công thức (23). Với A là tổng số điểm ảnh của mặt nạ được dán nhãn; B là tổng số điểm ảnh của mặt nạ đầu ra dự đoán.

IoU =

5.4.1.2. FLOPs

Để đánh giá tốc độ của mô hình, nhóm đếm xem có bao nhiêu tính toán trong đó, được gọi là FLOPs – floating point operations per second.

5.4.1.3. Độ chính xác điểm ảnh

Để đánh giá độ chính xác của mỗi phân lớp (class) nhóm sử dụng công thức (15). TP viết tắt của từ true positive đại diện cho một điểm ảnh được dự đoán đúng thuộc phân loại đã cho. TN – true negative đại diện cho một điểm ảnh được dự đoán đúng nhưng không thuộc phân loại đã cho. Và tương tự với FP (fasle positive), FN (false negative), chúng lần lượt biểu hiện cho một điểm ảnh được dự đoán sai nhưng thuộc phân loại đã cho và không thuộc phân loại đã cho. (adsbygoogle = window.adsbygoogle || []).push({});

=

5.4.1.4. Mà trận tương quan (Confusion matrix) cho nhiều lớp

Về cơ bản, confusion matrix thể hiện có bao nhiêu điểm dữ liệu thực sự thuộc vào một class, và được dự đoán là rơi vào một lớp. Để hiểu rõ hơn, hãy xem bảng dưới đây:

57

Hình 5. 13 Ví dụ cho ma trận tương quan

Có tổng cộng 10 điểm dữ liệu. Chúng ta xét ma trận tạo bởi các giá trị tại vùng 3x3 trung tâm của bảng.

Ma trận thu được gọi là confusion matrix. Nó là một ma trận vuông với kích thước mỗi chiều bằng số lượng lớp dữ liệu. Giá trị tại hàng thứ i, cột thứ j là số lượng điểm lẽ ra thuộc vào class i nhưng lại được dự đoán là thuộc vào class j. Như vậy, nhìn vào hàng thứ nhất (0), ta có thể thấy được rằng trong số bốn điểm thực sự thuộc lớp 0, chỉ có hai điểm được phân loại đúng, hai điểm còn lại bị phân loại nhầm vào lớp 1 và lớp 2.

5.4.1.5. Tỉ lệ báo động nhầm, tỉ lệ bỏ sót (FPR và FNR)

FPR và FNR dựa vào bốn yếu tố: the false positive (FP), the true positive (TP), the false positive (FP) the false negative (FN). TP và FP lần lượt là số lần phát hiện biển báo chích xác và không chính xác của từng loại biển báo. TN và FN lần lượt là số lần phát hiện biển báo không phải là loại cần quan tâm chích xác và không chính xác. Công thức tính FPR và FNR như bên dưới:

FPR = FNR =

58

5.4.2. Kết quả On-road

Để đánh giá hiệu suất của phát hiện làn đường, nhóm sử dụng các chỉ số: mean intersection over union (mean IU), mean accuracy (ACC), giga floating point operations (GFLOPs), và frames per second (FPS).

Trong bảng 5.1, nhóm thể hiện hiệu suất của mô hình với nhiều kích thước đầu vào của bộ dữ liệu CamVid. Kết quả cho thấy hiệu quả tốt hơn khi mô hình sử dụng kích thước đầu vào là 720x1280 hoặc 360x640. Với kích thước đầu vào lớn hơn là 720x1280, mặc dù hiệu suất có tăng lên một ít nhưng tốc độ lại giảm đi 4 lần so với 360x640, như được thể hiện ở bảng 5.2. Ngoài ra ở bảng 5.1, nhóm cũng so sánh hiệu suất mô hình được đề xuất với việc huấn luyện có multi-scale (MS) và không có. Khi huấn luyện có MS, hiệu suất được tăng lên trên dưới 1% trên Mean IU và 1% đến 2% trên Mean ACC.

Cũng trên bộ dữ liệu CamVid đó nhóm cũng đã so sánh phương pháp đề xuất với mạng SkipNet [37], cũng là một mạng nhẹ cho phân đoạn làn đường. Kết quả ở bảng 5.3 cho thấy hiệu suất của phương pháp được đề xuất tốt hơn SkipNet và tốc độ tính toán cũng ít hơn nhiều.

Bảng 5. 1 HIỆU SUẤT QUÁ TRÌNH PHÂN ĐOẠN Input size

360x640 720x1280 512x1024 480x640

59

Cuối cùng để đánh giá mô hình phát hiện chướng ngại, nhóm sử dụng true positive rate (TPR) và false positive rate (FPR) thể hiện ở bảng 5.4. Kết quả cho thấy thuật toán phát hiện chướng ngại vật của chúng tôi đạt kết quả tốt ở khoảng cách nhỏ hơn 6m.

Bảng 5. 2 SỐ PHẦN TỬ ĐIỂM NỔI VÀ TỐC ĐỘ FPS Input size

Bảng 5. 3 BẢNG SO SÁNH GIỮA MÔ-ĐUN CẢI TIẾN VỚI SKIPNET Method

SkipNet [37] Proposed

method

Bảng 5. 4 HIỆU SUÂT CỦA PHÁT HIỆN LÀN ĐƯỜNG VỚI NHỮNG KHOẢNG CÁCH KHÁC NHAU

Distance from camera to obstacle, meter

< 6 6 - 7 > 7

60

5.4.3. Kết quả Off-road

Hình 5. 14 Kết quả phân loại

Để đánh giá độ chính xác của phương pháp được đề xuất, nhóm dựa vào (1) FPR và FNR với (2) ma trận tương quan. (adsbygoogle = window.adsbygoogle || []).push({});

Hệ thống của chúng tôi có thể vận hành thời gian thực và thời gian đáp ứng là từ 22 đến 23 ảnh trên giây (fps). Trong bảng 5.5, nhóm thể hiện fps của mỗi công việc. Để đánh giá hiệu suất, nhóm thu thập dữ liệu từ môi trường thực tế bằng cách cho mô hình chạy 5 lần. FPR, FNR của phần nhận diện biển báo và ma trận tương quan của phần phân loại biển báo được thể hiện tương ứng trong bảng 5.6 và hình 5.14. Dựa trên kết quả, nhóm có thể kết luận rằng phương pháp được đề xuất đạt hiệu suất tốt ở phần nhận diện khi nhúng vào phần cứng, độ chính xác trung bình đạt đến 99,78%. Kể cả khi điều kiện ánh sáng bị thay đổi, hiệu suất của hệ thống cũng không bị ảnh hưởng (như được thể hiện ở hình 5.15). Tuy nhiên, hệ thống được đề xuất vẫn còn đơn giản, nó chỉ quan tâm 5 loại biển báo giao thông thường gặp. Để phát triển hơn trong thực tế, đề tài cần mở rộng nhiều loại biển báo hơn.

61

Hình 5. 15 (a) Kết quả trong điều kiện ánh sáng thấp. (b) Kết quả trong điều kiện ánh sáng cao

Bảng 5. 5 FPS CỦA MỖI CÔNG VIỆC TRONG OFF-ROAD Task

Identifying the location of the considered objects Recognizing objects

All

Bảng 5. 6 ĐÁNH GIÁ KẾT QUẢ PHÁT HIỆN BIỂN BÁO TRONG CÁC LAANFN CHẠY THỬU NGHIỆM KHÁC NHAU

Dataset 1 2 3 4 5 Average

65

CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1. KẾT LUẬN

Trong đề tài này nhóm đề xuất một hệ thống thống nhất có thể phát hiện biển báo giao thông, làn đường và vật cản trên đường từ đó cho phép xe có thể tự lái. Để có thể phát hiện làn đường, nhóm đề xuất kết hợp các phương pháp học sâu và phương pháp xử lý ảnh truyền thống để vừa giảm thời gian và công sức thu thập dữ liệu trong khi vẫn giữ được hiệu suất cao. Những làn đường được phát hiện sau đó được sử dụng để xác định đoạn đường có thể đi và phát hiện vật cản trên đoạn đường đó bằng thông tin từ ảnh depth. Bên cạnh đó, nhóm cũng đề xuất một model nhẹ để phát hiện biển báo giao thông và xác định khoảng cách đến mô hình. Kết quả và đánh giá cho thấy hệ thống của nhóm hoạt động tốt trong môi trường thử nghiệm với xe mô hình.

6.2. HƯỚNG PHÁT TRIỂN

Trong tương lại, nhóm sẽ cố gắng thử nghiệm các chức năng đã được đánh giá vào hệ thống xe thật và quan tâm đến những thách thức thực tế mới như thời tiết (ảnh hưởng trực tiếp đến tầm nhìn của camera), thời gian đáp ứng khi tốc độ của xe ở mức cao, …. Bên cạnh đó, nhóm đã thử nghiệm một số nhiệm vụ mới cho hệ thống như phát hiện và cảnh báo ổ gà, vết nứt trên đường, vật cản động phía trước. Để tích hợp thêm các nhiệm vụ trên vào hệ thống cũng như tăng độ chính xác, tốc độ xử lý đồng thời giảm thời gian huấn luyện mô hình, nhóm đang nghiên cứu áp dụng multi-task learning và transfer learning trong thời gian tới.

66

TÀI LIỆU THAM KHẢO

[1] Jamel Baili, Mehrez Marzougui , Ameur Sboui , Samer Lahouar , Mounir Hergli , J.Subash Chandra Bose, Kamel Besbes, "Lane Departure Detection Using Image Processing Techniques," in 2017 2nd International Conference on Anti-Cyber Crimes (ICACC), 2017.

[2] Jihun Kim, Minho Lee, "Robust Lane Detection Based On Convolutional Neural Network and Random Sample Consensus," in Neural Information Processing, 21st International Conference, 2014, pp. 454-461.

[3] Ruyi Jiang, Mutsuhiro Terauchi, Reinhard Klette, Shigang Wang, Tobi Vaudrey, "Low-Level Image Processing for Lane Detection and Tracking," in

ArtsIT, 2009.

[4] Marc Revilloud , Dominique Gruyer, Evangeline Pollard, "An improved approach for robust road marking detection and tracking applied to multi-lane estimation," in 2013 IEEE Intelligent Vehicles Symposium (IV), 2013.

[5] K. Zhaom, M. Meuter, C. Nunn, D. Muller, S. Muller-Schneiders, and J. Pauli, "A novel multi-lane detection and tracking system," in A novel multi-lane detection and tracking system,”, 2012.

[6] D. Neven, B-D.Brabandere, S. Georgoulis, M. Proesmans and L-V. Gool, "Towards End-to-End Lane Detection: an Instance Segmentation Approach," in

67

[7] Thanh-Phat Nguyen, Vu-Hoang Tran, Ching-Chung Huang, "Lane Detection and Tracking Based on Fully Convolutional Networks and Probabilistic Graphical Models," in IEEE, 2018.

[8] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, "SSD: Single Shot MultiBox Detector," in Computer Vision – ECCV 2016, 14th European Conference, 2016, pp. 21-37.

[9] B. Anh, "Công nghệ xe tự hành của Việt Nam: Còn nhiều thách thức," [Online].

Available: https://congluan.vn/cong-nghe-xe-tu-hanh-cua-viet-nam-con-nhieu- thach-thuc-post39614.html.

[10] Ashanira Mat Deris, Azlan Mohd Zain, Roselina Sallehuddin, "Overview of Support Vector Machine in Modeling Machining Performances," in Procedia Engineering, 2011.

[11] Chenchen Ji, Mingfeng Lu, Jinmin Wu, Zhen Guo, "Faster region-based convolutional neural network method for estimating parameters from Newton's rings," in Modeling Aspects in Optical Metrology VII, 2019. (adsbygoogle = window.adsbygoogle || []).push({});

[12] Canan Tastimur, Mehmet Karaköse, Yavuz Celik, Erhan Akin , "Image processing based traffic sign detection and recognition with fuzzy integralv," in

2016 International Conference on Systems, Signals and Image Processing (IWSSIP),2016.

[13] Karsten Behrendt and Jonas Witt, "Deep Learning Lane Marker Segmentation From Automatically Generated Labels," in IEEE/RSJ International Conference on Intelligent Robots and Systems, 2017.

68

[14] Yingmao Li, Asif Iqbal, Nicholas R. Gans, "Multiple lane boundary detection using a combination of low-level image features," in IEEE 17th International Conference, 2014.

[15] V. Shrimali, "learnopencv," [Online]. Available: https://www.learnopencv.com/pytorch-for-beginners-basics/.

[16] "Wikipedia," [Online]. Available:

https://en.wikipedia.org/wiki/Digital_image_processing.

[17] "Wikipedia," [Online]. Available:

https://en.wikipedia.org/wiki/Hough_transform#:~:text=The%20Hough%20transfor m%20is%20a,shapes%20by%20a%20voting%20procedure..

[18] N. H. Tiệp, "Giới thiệu machine learning," [Online]. Available:

https://machinelearningcoban.com/2016/12/26/introduce/.

[19] N. H. Tiệp, "Bài 19: Support vector machine," [Online]. Available: https://machinelearningcoban.com/2017/04/09/smv/.

[20] S. Saha, "A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way," [Online]. Available: https://towardsdatascience.com/a-comprehensive- guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53.

[21] "Missinglink.ai," [Online]. Available:

https://missinglink.ai/guides/computer-vision/image-segmentation-deep- learning-methods-applications/.

69

[22] J. Hui, "SSD object detection: Single Shot MultiBox Detector for real-time processing," [Online]. Available: https://medium.com/@jonathan_hui/ssd-object- detection-single-shot-multibox-detector-for-real-time-processing-9bd8deac0e06.

[23] R. Girshick, "Fast R-CNN," in IEEE/CVF, 2015.

[24] Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, Hartwig Adam, "MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications," in

IEEE/CVF, 2017.

[25] Songtao Liu, di Huang, Yunhong Wang, "Receptive Field Block Net for Accurate and Fast Object Detection," 2017.

[26] N. H. Tiệp, "Gradient Descent," [Online]. Available:

https://machinelearningcoban.com/2017/01/16/gradientdescent2/.

[27] J. Brownlee, "What is the Adam optimization algorithm?," [Online]. Available: https://machinelearningmastery.com/adam-optimization-algorithm- for-deep-learning.

[28] "Định nghĩa về PID," [Online]. Available: https://prosensor.vn/pid-la-gi/.

[29] Taha Emara, Hossam E. Abd El Munim, Hazem M. Abbas, "LiteSeg: A Novel Lightweight ConvNet for Semantic Segmentation," in DICTA Confence, 2019.

[30] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy and A. L. Yuille, "DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution,

70

and Fully Connected CRFs," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 4, pp. 834-848, 2017. (adsbygoogle = window.adsbygoogle || []).push({});

[31] "Polynomial Curve Fitting," [Online].

Available: https://www.centerspace.net/polynomial- curve-fitting.

[32] Linzai, "Github.com," [Online]. Available: https://github.com/Linzaer/Ultra- Light-Fast-Generic-Face-Detector-1MB.

[33] N. Dalal, B. Triggs, "Histograms of oriented gradients for human detection," in IEEE, 2005.

[34] Laurens van der Maaten, Geoffrey Hinton, "Viualizing data using t-SNE,"

Journal of Machine Learning Research, vol. 9, pp. 2579-2605, 2008.

[35] "CamVid," [Online]. Available: https://pgram.com/dataset/camvid/.

[36] J. Brownlee, "Gentle Introduction to the Adam Optimization Algorithm for

Deep Learning," 2017. [Online]. Available:

https://machinelearningmastery.com/adam-optimization-algorithm-for-deep- learning/.

[37] Xin Wang, Fisher Yu, Zi-Yi Dou, Trevor Darrell, Joseph E. Gonzalez, "SkipNet: Learning Dynamic Routing in Convolutional Networks," in CVPR, 2017.

[38] "Feed the Troll 0.1.1 documentation," [Online]. Available: http://docs.ros.org/.

[39] M. Haloi and D. B. Jayagopi, "A robust lane detection and departure warning system," in IEEE Intelligent Vehicles Symposium, 2015.

71

[40] Soomok Lee, Seong-Woo Kim, Seung-Woo Seo, "Accurate ego-lane recognition utilizing multiple road characteristics in a Bayesian network framework," in IEEE Intelligent Vehicles Symposium, 2015.

[41] M. Aly, "Real time detection of lane markers in urban streets," in IEEE Intelligent Vehicles Symposium, 2008.

Một phần của tài liệu Mô hình xe tự hành (Trang 66)