Hình 4.13 và 4.14 là quá trình thử nghiệm xe chạy thẳng với model được xây dựng bởi thư viện tensorflow.Kết quả trên cho thấy model đáp ứng được yêu cầu đặt ra là xác định xe phải đi thẳng trong trường hợp này.Cũng như những thực nghiệm khác đây là kết quả khi thực nghiệm trong điều kiện ánh sáng tối ưu nhất,khơng bị các tác động bên ngồi.
68 Hình 4.15: Xe rẽ phải api
69 Hình 4.17: Kết quả nhận diện biển báo bằng api
Hình 4.17 là ảnh thực nghiệm quá trình nhận diện biển báo bằng model api, đồng thời tính diện tích của biển báo để có dừng xe khi diện tích thỏa điều kiện cho phép.Kết quả trên cũng cho thấy model api cũng đáp ứng khá tốt việc nhận diện biển báo trong điều kiện ánh sáng thực tế.Số lần thực nghiệm của model này cũng tương tự như model keras là 100 lần.
4.2.3 Thống kê
Qua quá trình thực nghiệm của cả hai model được xây dựng dựa trên hai phương pháp.Mỗi phương pháp có những ưu điểm khác nhau đã được trình bày ở chương 2,nhưng lại có những nhược điểm khá giống nhau.Khi xử lý hình ảnh trong mơi trường thực tế thì việc hình ảnh bị nhiễu do ánh sánh là điều không thể tránh khỏi, khi ánh sáng thay đổi
70
trong ngày thì việc xác định hình ảnh để xứ lý và điều khiển xe cũng bị sai theo.Các hình ảnh được thể hiện phía trên là những hình ảnh xe thu thập và xử lý trong điều kiện ánh sáng tối ưu nhất.
Việc thu thập hình ảnh đầu vào để tạo model trong nhiều điều kiện ánh sáng khác nhau là điều vơ cùng quan trọng,nó giúp việc xử lý trở nên tốt hơn,hạn chế các trường hợp nhiễu do ánh sáng.
Dưới đây là thống kê thời gian chạy tối ưu trong ngày của model sử dụng tensorflow và kears:
Bảng 4.2: Bảng kết quả thực nghiệm nhận dang lane,biển stop trong điều kiện thực tế.
Giờ Số lần 7 AM 8 AM 9 AM 10 AM 11 AM 12 AM 1 PM 2 PM 3 PM 4 PM 5 PM 6 PM 1 O O O X O O O O O O O X 2 O O O O O O X O X X O X 3 X O O O O O X O O X O X 4 O O O O O O O O X O O O 5 O X X O O O O X X O X O 6 X O O X X O O O O X X X 7 O O O O X O O O O X O X 8 O O X O O X O X O O X O 9 X X O O O O O X O O X O 10 O O O O O O O O O O X X Độ chính xác(%) 70 80 80 80 80 90 80 70 70 60 50 40
Với: O là nhận dạng lane và điều khiển chính xác, X là nhận dạng lane và không điều khiển chính xác.
Độ chính xác trung bình là 80%. Như vậy,có 20% là nhận biết và điều khiển khơng chính xác.Trong đó ngun nhân lớn nhất lớn nhất gây ra việc nhận biết và điều khiển khơng chính xác chính là sự ảnh hưởng của ánh sáng,như đã nói phía trên ánh sáng đóng vai trị rất quan trọng trong việc nhận biết hình ảnh và xử lý của xe.Với những góc sáng khác nhau của mặt trời trong ngày sẽ gây nên nhiễu hình ảnh, ví dụ như bóng của chính xe,hay bóng của cây bên đường,.. là những điều khó tránh khỏi khi xử lý ảnh trong môi trường thực tế.
71 4.3 NHẬN XÉT VÀ ĐÁNH GIÁ
Qua quá trình thực hiện đề tài,nhóm chúng em đã tìm hiểu cơ sở lý thuyết liên quan đến đề tài như phương pháp xây dựng model Deep Learning bằng hai phương pháp như trên, lý thuyết về ngôn ngữ Python, Arduino và thông số kỹ thuật của các phần cứng.
Đối với Jetson Nano, nhóm đã tiếp cận từ những bước cơ bản nhất từ việc cài đặt hệ điều hành, cài đặt các thư viện cần thiết, trong đó thư viện Opencv chiếm thời gian đáng kể. Jetsn Nano có những chức năng tương đương với một máy tính, tuy tốc độ xử lý chưa thực sự tốt nhưng nó lại rất nhỏ gọn và mức tiêu thụ điện năng thấp, phù hợp với các dự án có tính di chuyển liên tục.Camera logitech chỉ có độ phân giải 3MP, nhưng hình ảnh nó cung cấp có chất lượng đủ để xử lý ảnh khá tốt.Về model xây dựng thông qua hai phương pháp trên có độ chính xác nằm trong khoảng có thể chấp nhận được, nhưng vẫn còn một số trường hợp nhận dạng khơng chính xác do ảnh hưởng của ánh sáng trong môi trường thực tế là rất lớn.
Đối với Arduino Uno R3 được dùng để nhận tín hiệu từ Jetson Nano về điều khiển các thiết bị phần cứng. Arduino Uno R3 có kích thước nhỏ gọn,giá thành khá rẻ,sử dụng phần mềm Arduino để lập trình,với ngơn ngữ lập trình dễ sử dụng và hệ thống thư viện mở đa dạng, nguồn tài liệu mở phong phú. Tuy vậy nhược điểm lớn nhất của Arduino Uno R3 là tần số hoạt động khá thấp, nên không thể đáp ứng các hoạt động điều khiển yêu cầu tần số cao.
72 Chương 5
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 KẾT LUẬN
Từ kết quả thực nghiệm ta nhận thấy được điểm mạnh và yếu của hai phương pháp, được tổng hợp dưới bảng sau:
Bảng 5.1: Ưu điểm và nhược điểm của hai mơ hình đào tạo.
Mơ hình Keras Mơ hình API
Ưu điểm - Đào tạo mơ hình đơn giản.
- Thời gian đào tạo ngắn. - Độ chính xác cao.
- Độ chính xác cao. - Hạn chế tín hiệu lỗi.
Nhược điểm
- Tín hiệu lỗi do sự thay đổi của môi trường.
- Quá trình đào tạo phức tạp hơn.
- Thời gian đào tạo mơ hình tương đối lâu. - Bị ảnh hưởng bởi ánh sáng
- Khơng thể hoạt động bên ngồi khu vực đào tạo
Từ thực tế hoạt động, tín hiệu do mơ hình keras chỉ đưa ra một đối tượng duy nhất cho một khung ảnh, nên khi bị nhiễu bởi ánh sáng hoặc mơ hình chưa đạt chuẩn thì rất khó để kiểm sốt dẫn đến hoạt động sai sót của xe khi chạy thực tế. Vậy nên chúng em mới sử dụng phương pháp thứ hai là dùng xác định cung đường chạy bằng nhiều đối tượng, tức là trên một khung hình sẽ cho một hay nhiều hơn một đối tượng trong một khung hình.
Việc sử dụng nhiều đối tượng để xác định cung đường trong một khung hình vừa có điểm mạnh và điểm yếu riêng. Điểm mạnh là ta có thể khống chế tín hiệu điều khiển gửi xuống xe bằng cách dựa trên các đối tượng trong khung hình, nghĩa là trong một điều kiện nhất định sẽ xuất hiện một lượng đối tượng nhất định, dựa vào những đối tượng và hướng di chuyển của xe mong muốn mà ta thiết lập điều kiện điều khiển cho xe. Chính vì thế đây cũng là điểm yếu của việc sử dụng nhiều đối tượng là có rất nhiều trường hợp xuất hiện
73
trong cũng một cung đường ( điều này gây ra bởi điều kiện ánh sáng và chất lượng mơ hình được đào tạo). Nhưng những điều kiện này có thể khắc phục được bởi thực nghiệm nhiều lần để dự đoán tất cả các điều kiện xảy ra, hạn chế sai sót.
Nhược điểm lớn nhất là đặc thù của chiếc xe chạy bằng mơ hình từ dữ liệu ảnh cung cấp trước. Mà các dữ liệu này chỉ xuất hiện trong điều kiện cụ thể ( khu vực đường đi khoa cơ khí động lực) nên khi đưa xe ra ngồi khu vực này, xe hồn tồn khơng hoạt động được. Mặc dù có thể mở rộng khu vực hoạt động bằng cách mở rộng lượng dữ liệu ảnh đầu vào tuy nhiên cách này khơng được khuyến khích. Bởi vì chiếc xe hoạt động trên nền tảng deep learning chưa phải là machine learning, nên xe hồn tồn chưa có khả năng tự cập nhật dữ liệu mới. Vì thế mỗi lần mơ hình khơng đạt chuẩn, ta phải tiến hành đào tạo lại mơ hình, việc này tốn rất nhiều thời gian mà hiệu quả mang lại không cao.
5.2 HƯỚNG PHÁT TRIỂN
Trong tương lai gần:Để xe có thể hoạt động chính xác hơn thì nhóm sẽ thu thập nhiều hình ảnh hơn nữa vào nhiều thời điểm khác nhau trong ngày, để có thể tạo ra một model có độ chính xác cao trong tương lai.Tiếp theo là hồn thiện về mặt cơ khí để xe có thể di chuyển một cách chính xác hơn,khơng bị tác động nhiều của các yếu tố bên ngoài như mặt đường,vật cản.
Trong tương lai xa hơn, nhóm sẽ phát triển xe tự hành một cách hồn thiện hơn, có thể phát hiện và tránh các vật thể đang di chuyển trên đường, đặt được vị trí mà mong muốn xe đi chuyển đến, đảm báo xe chạy đúng lane cho phép, nhận diện thông tin về nhiều biển báo cũng như đèn tín hiệu.Bằng cách sử dụng thêm các cảm biến siêu âm, Lidar.Đặc biệt là xây dựng hệ thống ROS để điều khiển xe.
ROS là viết tắt của Robot operating system, là chương trình dùng để phát triển robot nói chung và xe tự lái nói riêng. Nếu nhìn ở một góc nhìn khác, xe tự hành chính là một robot tự động. Tuy nhiên ta chỉ sử dụng một mảng nhỏ của hệ thống này chính là tạo bản đồ khu vực và xác định vị trí mà chiếc xe đang hoạt động trên bản đồ đó.
Các thơng tin từ việc xử lý hình ảnh lane, biển báo, vị trí GPS, Lidar cảm biến đều sẽ được thu thập và tổng hợp một cách cụ thể để đưa ra thơng tin chính xác nhất giúp xe di chuyển đúng theo ý muốn,và an tồn thơng qua ROS.Hay nói cách khác ROS chính là bộ não của chiếc xe.
74 TÀI LIỆU THAM KHẢM
[1] Deep Residual Learning for Image Recognition, by He, K., Ren, S., Sun, J., &
Zhang, X. (2016). CoRR, abs/1512.03385. (cited 1436 times, HIC: 137 , CV: 582)
[2] Luận văn thạc sĩ cơng nghệ thơng tin:”Nghiên cứu về mạng Neural tích chập và ứng dụng cho bài tốn nhận dạng biển số xe”, Lê Thị Thu Hằng, Bách Khoa Hà Nội 2016.
[3] Nielsen, M. (2018, 10 2). Introducing convolutional networks. Neural Networks and Deep Learning:
http://neuralnetworksanddeeplearning.com/chap6.html#introducing_convolution al_networks
[4] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
[5] Donahue, J., Jia, Y., Vinyals, O., Hoffman, J., Zhang, N., Tzeng, E., & Darrell, T. (2014, January). Decaf: A deep convolutional activation feature for generic visual recognition. In International conference on machine learning (pp. 647-655).
[6] https://keras.io [7] https://towardsdatascience.com/battle-of-the-deep-learning-frameworks-part-i- cff0e3841750 [8] https://www.digikey.com/en/maker/projects/getting-started-with-the-nvidia- jetson- nano-part-1-setup/2f497bb88c6f4688b9774a81b80b8ec2 [9] https://www.pyimagesearch.com/2019/11/04/traffic-sign-classification-with- keras- and-deep-learning/ [10] https://www.hackster.io/smart-tech/programming-arduino-using-python-f3d2c0 [11] https://www.geeksforgeeks.org/image-classifier-using-cnn/ [12] https://medium.com/@mrhwick/simple-lane-detection-with-opencv-bfeb6ae54ec0 [13] https://topdev.vn/blog/thuat-toan-cnn-convolutional-neural-network/
75
[14] https://nordiccoder.com/blog/deep-learning-la-gi/
76 PHỤ LỤC
77
79
81
89