Đánh giá và thảo luận

Một phần của tài liệu HD3 trần ngọc tiến nghiên cứu, thiết kế, chế tạo xe tự hành sử dụng mạng học sâu nhân tạo (Trang 97)

Sau khi tiến hành thử nghiệm xe tự hành hoạt động trên điều kiện môi trường ánh sáng khác nhau thì nhóm đã thu được như sau.

Hình 4.25 Dữ liệu thể hiện độ tin cậy của hệ thống nhận diện với tốc độ 0.5m/s

Hình 4.26 Dữ liệu thể hiện độ tin cậy của hệ thống nhận diện với tốc độ 0.2m/s Với vận tốc 0.5m/s độ tin cậy thu được từ 58% đến 88%, và vận tốc 0.2m/s độ tin cậy thu được từ 68% đến 99%. Qua dữ liệu trên cho ta thấy tốc độ của xe sẽ ảnh hưởng đến khả năng nhận diện đối tượng của hệ thống. Do hình ảnh thu được ở

camera khi xe tự hành chạy với vận tốc cao sẽ gây ra hiện tượng nhòe ảnh, số khung hình xuất hiện trên hệ thống xử lý bị hạn chế rất nhiều và đã dẫn đến khả năng nhận diện của xe bị giảm. Để khắc phục yếu điểm này chúng ta cần một camera chất lượng hình ảnh cao hơn và thuật toán xử lý hình ảnh theo thời gian thực có tốc độ và khả năng chính xác cao hơn.

Xe tự hành có độ chính xác cao khi phát hiện làn đường, các biển báo và tín hiệu giao thông. Với mỗi trường hợp và điều khiện khác nhau hệ thống cho ra những kết quả và những thông số khác nhau. Dưới đây là bảng kết quả các thông số cơ bản trung bình với yếu tố ánh sáng khác nhau khi thử nghiệm mà nhóm đã đạt được kết quả như bảng dưới:

Hình 4.27 Biểu đồ xung điều khiển hai động cơ dựa theo độ lệch tâm.

Hình 4.28 Biểu đồ độ lệch tâm theo điều kiện ánh sáng.

Qua đây chúng ta thấy yếu tố ánh sáng ảnh hưởng rất nhiều đến chất lượng xử lý hình ảnh và độ chính xác của xe tự hành khi thử nghiệm trên thực tế. Vậy chúng ta

cần cải thiện xe để phụ thuộc ít nhất vào yếu tố ánh sáng và trong mọi hoàn cảnh để xe tự hành có thể vận hành một cách tốt nhất.

Kết luận chương 4

Tiến hành chế tạo thành công và đưa ra sản phẩm hoàn chỉnh. Sau khi thử nghiệm xe tự hành đã đạt được những kết quả như sau: nhận diện được làn đường, người, biển báo, đèn tín hiệu thành công. Độ chính xác khi nhận diện rất cao 0.9 và tốc độ xử lý xử lý theo thời gian thực của xe tự hành tốt.

KẾT LUẬN, KIẾN NGHỊ 1. Kết luận

Mạng nơ ron học sâu nhân tạo ra đời được xem là giải pháp tối ưu trong việc phát triển xe tự hành, không chỉ giúp tiết kiệm chi phí, tiết kiệm thời gian mà còn mang lại hiệu quả cao. Qua 9 tuần thực hiện đề tài với tất cả những cố gắng của mình cùng với sự hướng dẫn chu đáo nhiệt tình của TS.Trần Ngọc Tiến , cùng toàn thể các thầy cô trong khoa và bạn bè, nhóm chúng em đã trình bày xong phương pháp, cũng như phương hướng nghiên cứu, thiết kế chế tạo xe tự hành sử dụng mạng học sâu nhân tạo.

Nhưng có lẽ vẫn không thể tránh được những thiếu sót. Nhóm chúng em kính mong các thầy cô chỉ bảo để nhóm chúng em hoàn thiện hơn, vững vàng hơn, để có thể tự tin vững bước trong công việc của mình sau này. Nhóm chúng em xin chân thành cám ơn.

- Những mặt đã làm được:

+ Đề tài đã nghiên cứu, thiết kế chế tạo xe tự hành sử dụng mạng học sâu nhân tạo.

+ Đề tài đã thực hiện nghiên cứu việc nhận diện làn đường, người, biển báo và tín hiệu đèn giao thông với độ tin cậy cao trong khi vẫn đáp ứng theo thời gian thực.

+ Đề tài đã thử nghiệm xe tự hành trên thực tế. + Đề tài đã cơ bản đáp ứng được các mục tiêu đề ra. - Những mặt chưa làm được:

+ Trong quá trình nghiên cứu mạng học sâu nhân tạo gặp khó khăn trong việc tăng khả năng chính xác của hệ thống và chưa can thiệp sâu để cải thiện hệ thống.

+ Khả năng đi theo đường chỉ dẫn còn có nhiều sai số do chưa xác định được bán kính cong của làn đường và chưa đáp ứng hoàn toàn được yêu cầu đã đưa ra.

+ Sử dụng thuật toán xử lý ảnh nên phụ thuộc vào chất lượng ánh sáng nên hệ thống sẽ khó ổn định khi gặp điều kiện ánh sáng bất lợi.

2. Kiến nghị

Đề nghị tiếp tục nghiên cứu, hoàn thiện hệ thống theo một số hướng sau:

- Tăng độ chính xác cho hệ thống và có thể quét tất cả các vật thể với tầm nhìn mở rộng.

- Hệ thống có thể định vị chính xác vị trí của chính xe tự hành và các xe khác trên làn đường.

- Hạn chế sự ảnh hưởng của yếu tố ánh sáng và điều kiện ngoại cảnh.

- Trong thời gian tới có thể can thiệp sâu hơn vào hệ thống của mạng nơ ron sâu học nhân tạo để tạo ra những hướng đi hoàn toàn mới nhằm cải thiện xe tự hành ngày càng vượt trội hơn.

TÀI LIỆU THAM KHẢO

[1] Hicham, B., Ahmed, A., & Mohammed, Vehicle Type Classification Using Convolutional Neural Network., Fez, Morocco: IEEE, 2018.

[2] Aleksandr Mezhenin, Vladimir Polyakov, Vera Izvozchikova, Development and Testing of a Pedestrian Traffic Monitoring, St. Petersburg: University Orenburg State University.

[3] Wang, H.; Roa, A.C.; Basavanhally, A.N.; Gilmore, H.L.; Shih, N.; Feldman, M.; Tomaszewski, J.; Gonzalez, F.;, A. Mitosis detection in breast cancer pathology images by combining handcrafted and, J. Med. Imaging, 2014, 1.

[4] Chen, K.; Loy, C.C.; Gong, S.; Xiang, T. Feature mining for localised crowd counting, Surrey, UK: In Proceedings of the BMVC, 3–7 September 2012.

[5] Wu, X.; Liang, G.; Lee, K.K.; Xu, Y. Crowd density estimation using texture analysis and learning, Kunming, China: In Proceedings of the 2006 IEEE International Conference on Robotics and Biomimetics, 17–20 December 2006. [6] Duygulu, P.; Barnard, K.; de Freitas, J.F.; Forsyth, D.A. Object recognition as

machine translation: Learning a lexicon for a fixed image vocabulary, Copenhagen, Denmark: In Proceedings of the European Conference on Computer Vision, 28–31 May 2002.

[7] Abbott, F.T.; Johnson, A.H.; Prior, S.D.; Steiner, D.D. Integrated Biological Warfare Technology Platform (IBWTP). Intelligent Software Supporting Situation Awareness, Response, and Operations, 2007: Technical Report; Quantum Leap Innovations Inc.: Newark, USA.

[8] Sam, D.B.; Sajjan, N.N.; Maurya, H.; Babu, R.V. Almost Unsupervised Learning for Dense Crowd Counting, USA: In Proceedings of the Thirty-Third AAAI Conference on Artificial Intelligence, Honolulu, HI, 27 January–1 February 2019. [9] Naveed Ilyas, Ahsan Shahzad 2 and Kiseon Kim, Convolutional-Neural Network-

Based Image Crowd Convolutional-Neural Network-Based Image Crowd Counting: Review, Categorization, Analysis, and Performance Evaluation, 19 December 2019.

[10] Zhan, B.; Monekosso, D.N.; Remagnino, P.; Velastin, S.A.; Xu, Xu, L.Q. Crowd analysis: A survey, Mach. Vis.Appl, 2008.

[11] Zitouni, M.S.; Bhaskar, H.; Dias, J.; Al-Mualla, M.E. Advances and trends in visual crowd analysis: A systematic survey and evaluation of crowd modelling techniques, Neurocomputing, 2006.

[12] Ryan, D.; Denman, S.; Sridharan, S.; Fookes, C. An evaluation of crowd counting methods, features and regression models, Comput. Vis. Image Underst, 2015. [13] Sindagi, V.A.; Patel, V.M, A survey of recent advances in cnn-based single image

crowd counting and density estimation, Pattern Recognit. Lett, 2018. [14] https://vn.got-it.ai/blog/pycharm-la-gi [15] https://quantrimang.com/python-la-gi-tai-sao-nen-chon-python-140518 [16] https://researchgate.net/profile/RakkshabIyer/publication/353211011 [17] https://www.mdpi.com/2072-4292/13/18/3776/htm [18] https://www.computervision.zone/topic/the-concept-and-setup/ [19] https://www.miai.vn

#Cài đặt thư viện import cv2 import numpy as np import utlis import serial import time import math

#Thiết lập các thông số và ngưỡng so sánh

CONFIDENCE_THRESHOLD = 0.4 #Độ tin cậy tối thiểu để phát hiện đối tượng

NMS_THRESHOLD = 0.3 #Ngưỡng loại bỏ các bounding box trùng PERSON_WIDTH = 163 #kích thước của người trong ảnh mẫu

TRAFFIC_LIGHT_WIDTH = 100 #Kích thước của đèn giao thông trong ảnh mẫu

STOP_SIGN_WIDTH = 70 #kích thước của biển báo trong ảnh mẫu CAR_WIDTH = 155 #Kích thước xe trong ảnh mẫu

SP20_WIDTH = 70 #Kích thước biển báo tốc độ trong ảnh mẫu TURN_LEFT_WIDTH = 70 #Kích thước biển rẽ trái trong ảnh mẫu curveList = [] #Mảng nhận các giá trị độ lệch của làn đường

avgVal = 10

# Thiết lập màu, phông chữ cho đối tượng

COLORS = [(255, 0, 0), (255, 0, 255), (0, 255, 255), (255, 255, 0), (0, 255, 0), (255, 0, 0)]

BLACK = (0, 0, 0) FONTS = cv2.FONT_HERSHEY_COMPLEX #Viết độ lệch lên ảnh cv2.putText(imgResult, str(curve), (wT // 2, 285), cv2.FONT_HERSHEY_COMPLEX, 1, (255, 0, 255), 2) for x in range(-30, 30): w = wT // 20 if display == 2: #Hiển thị các ảnh

imgStacked = utlis.stackImages(0.7, ([img, imgWarpPoints, imgWarp], [imgHist, imgLaneColor, imgResult]))

cv2.imshow('ImageStack', imgStacked) elif display == 1:

cv2.imshow('Resutlt', imgResult)

#Đặt giới hạn cho độ lệch tâm theo pixels curve = curve / 100

if curve > 1: curve == 1 if curve < -1: curve == -1

return curve

#Hàm detect đối tượng def object_detector(image):

classes, scores, boxes = model.detect(image, CONFIDENCE_THRESHOLD, NMS_THRESHOLD)

# 1: Tên object 2:Kích thước object theo pixels, 3: Toạ độ điểm trên bên trái bounding box

data_list.append([class_names[classid[0]], box[3], (box[0], box[1] - 2)]) return data_list

#hàm tìm tiêu cự camera

def focal_length_finder(measured_distance, real_width, width_in_rf): focal_length = (width_in_rf * measured_distance) / real_width return focal_length

# Hàm tính khoảng cách

def distance_finder(focal_length, real_object_width, width_in_frame): distance = (real_object_width * focal_length) / width_in_frame return distance

# Ảnh mẫu người thứ nhất

ref_person_1 = cv2.imread('anhmau/perimag823.jpg') #Đọc ảnh tương ứng person_data_1 = object_detector(ref_person_1) #Xác định bounding box các đối tượng

person_width_in_rf_1 = person_data_1[0][1] #Lấy kích thước đối tượng tương ứng 0:object thứ nhất, 1: kích thước obj đó

# Ảnh mẫu người thứ hai

ref_person_2 = cv2.imread('anhmau/perimag922.jpg') person_data_2 = object_detector(ref_person_2) person_width_in_rf_2 = person_data_2[0][1]

#Ảnh mẫu người thứ 3 ref_person_3 = cv2.imread('anhmau/perimag87.jpg') person_data_3 = object_detector(ref_person_3) person_width_in_rf_3 = person_data_3[0][1] # Ảnh mẫu người thứ 4 ref_person_4 = cv2.imread('anhmau/perimag95.jpg') person_data_4 = object_detector(ref_person_4) person_width_in_rf_4 = person_data_4[0][1] # Ảnh mẫu đèn giao thông 1

ref_redlight = cv2.imread('anhmau/perimag95.jpg') red_data = object_detector(ref_redlight)

red_width_in_rf = red_data[4][1] print(red_data)

# Ảnh mẫu đèn giao thông 2s

greenlight = cv2.imread('anhmau/perimag95.jpg') green_data = object_detector(greenlight) green_width_in_rf = green_data[4][1] # Ảnh mẫu xe 1 ref_car1 = cv2.imread('anhmau/perimag1013.jpg') car1_data = object_detector(ref_car1) car1_width_in_rf = car1_data[1][1] #Ảnh mẫu xe 2 ref_car2 = cv2.imread('anhmau/perimag1016.jpg') car2_data = object_detector(ref_car2) car2_width_in_rf = car2_data[0][1]

# Ảnh mẫu speed 20 1

ref_speed_20 = cv2.imread('anhmau/parimag527.png') sp20_data_1 = object_detector(ref_speed_20)

sp20_width_in_rf_1 = sp20_data_1[0][1] # anh mau speed 20 2

ref_speed_60 = cv2.imread('anhmau/parimage815.png') sp20_data_2 = object_detector(ref_speed_60)

sp20_width_in_rf_2 = sp20_data_2[0][1] # anh mau turn left 1

ref_turn_left_1 = cv2.imread('anhmau/parimage579.png') left_data_1 = object_detector(ref_turn_left_1)

left_width_in_rf_1 = left_data_1[0][1] # anh mau turn left 2

ref_turn_left_2 = cv2.imread('anhmau/parimage571.png') left_data_2 = object_detector(ref_turn_left_2)

left_width_in_rf_2 = left_data_2[0][1] #các biến kích hoạt điều kiện

turn_left_active = True chinh_goc_active = False chinh_goc_active1 = False chinh_goc_active2 = False chinh_goc_active3 = False dung_active = False dung2_active=False xm_per_pix = 2.7 / 480

Một phần của tài liệu HD3 trần ngọc tiến nghiên cứu, thiết kế, chế tạo xe tự hành sử dụng mạng học sâu nhân tạo (Trang 97)

Tải bản đầy đủ (PDF)

(120 trang)