Xem mẫu

  1. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Ứng Dụng Trí Tuệ Nhân Tạo Trong Nhận Dạng Biển Báo, Làn Đường Và Điều Hướng Cho Xe Tự Hành Ngô Mạnh Tiến1, Hà Thị Kim Duyên2, Lê Mạnh Long2, Nguyễn Đức Duy2 1 Viện Vật lý, Viện Hàn lâm KH&CN Việt Nam Email: nmtien@iop.vast.ac.vn 2 Trường Đại học Công nghiệp Hà Nội Email: ha.duyen@haui.edu.vn, lemanhlong@haui.edu.vn,duybarca99@gmail Abstract: Bài báo này trình bày về ứng dụng trí tuệ trình di chuyển. Do đó các phương pháp ứng dụng dữ nhận tạo cho điều hướng xe tự hành: sử dụng mô hình liệu hình ảnh trong xe tự hành tập trung vào giải quyết CNN (Convolutional Neural Network) cho nhiệm vụ hai bài toán quan trọng: nhận dạng vạch kẻ đường và nhận dạng vạch kẻ đường, thuật toán Adaboost nhận dạng biển báo giao thông Cascaded cho nhiệm vụ nhận dạng biển báo giao thông. Trong bài toán nhận dạng nhận dạng vạch kẻ Từ đó tích hợp và điều hướng tự động cho xe tự hành có gắn sensor Camera 3D. Các kết quả mô phỏng sử dụng đường, đã có nhiều công trình nghiên cứu sử dụng phần mềm giả lập Unity, mô hình thực nghiệm xe được mạng neural nhân tạo (ANN) để đảm bảo được tính xây dựng và hệ thống được lập trình nhúng các thuật chính xác và có hiệu quả cao. Tuy nhiên việc sử dụng toán trên nền tảng phần cứng xử lý hiệu năng cao chuyên mạng ANN mất nhiều thời gian để học do mạng phải dụng TX2 Jetson và lập trình dựa trên hệ điều hành lập xử lý, học từng điểm ảnh của dữ liệu đầu vào. Mạng trình cho robot ROS (Robot Operating System). CNN được sử dụng nhằm khắc phục nhược điểm đó nhờ việc sử dụng các lớp tích chập đặt phía trước các Keywords: Trí tuệ nhân tạo, học sâu, xe ô tô tự hành, lớp nơ-ron nhân tạo thông thường để trích xuất các đặc hệ điều hành ROS, thuật toán CNN, điều hướng tự động, trưng của ảnh đầu vào, giúp quá trình học của mô thuật toán Adaboost Cascaded hình nhanh hơn rất nhiều, đồng thời đảm bảo tính I. GIỚI THIỆU chính xác cao. Trong bài toán nhận dạng biển báo giao thông, có Tính thông minh trong những hệ thống robot tự một số nghiên cứu về chủ đề này đạt được những kết hành này phụ thuộc vào việc robot có thể tự tính toán quả khả quan. Trong [4] trình bày phương pháp phát ra quỹ đạo phù hợp với môi trường nó hoạt động. Bởi hiện và nhận dạng các biển báo giao thông đường bộ vậy, những nhận thức về môi trường xung quanh, bao sử dụng kết hợp các kỹ thuật phân đoạn ảnh, phát hiện gồm cả những thông tin cố định hay sự thay đổi của biên và phân tích hình dáng đối tượng để phát hiện môi trường, là yếu tố tiên quyết, ảnh hưởng trực tiếp vùng ứng viên có thể là biển báo giao thông. Sau đó, tới việc chuyển động của robot. Do đó một hệ thống rút trích đặc trưng HOG và huấn luyện mạng Nơron nhận thức cung cấp những thông tin về môi trường cho nhân tạo để nhận dạng biển báo cho kết quả nhận dạng robot có vai trò quan trọng trong các hệ thống robot tự đạt tỉ lệ 94%. Tuy nhiên, công trình này chưa được tối hành. ưu một cách hiệu quả. Trong nghiên cứu [5], tác giả sử Trong điều khiển chuyển động cho robot tự hành, dụng phương pháp Haar-like kết hợp thuật toán tăng bài toán điều hướng cho robot đóng vai trò quan trọng. tốc Adaboost cho việc phát hiện ảnh và sử dụng Một hệ thống điều hướng của robot tự hành thông phương pháp PCA cho nhiệm vụ phân loại. Phương thường có thể chia thành 4 khối [1]: hệ thống cảm pháp này đã chứng minh được kết quả chính xác rất biến, hệ thống nhận thức, hệ thống lập kế hoạch di cao. chuyển và hệ thống điều khiển động cơ. Gần đây các Nội dung của bài báo này tập trung vào trình bà về công trình nghiên cứu xây dựng hệ thống điều hướng ứng dụng mô hình CNN cho nhiệm vụ nhận dạng và của robot tự hành chỉ dựa trên một nguồn dữ liệu đầu bám làn đường, sử dụng thuật toán Machine Learning vào là hình ảnh đang ngày càng xuất hiện nhiều và Adaboost trong bài toán nhận dạng biển báo giao nhận được sự quan tâm lớn [2] [3]. Trong điều hướng thông đường bộ, các kết quả được mô phỏng sử dụng xe tự hành, khác với robot tự hành là vì bài toán điều phần mềm giả lập Unity, các thuật toán được thử hướng của xe tự hành không đơn thuần là dẫn đường nghiệm bằng cách lập trình nhúng trên nền tảng máy từ một điểm xuất phát đến đích, mà còn cần tuân thủ tính nhúng Jetson TX2 và hệ điều hành robot (Robot chặt chẽ các tín hiệu giao thông xuất hiện trong quá Operating System - ROS), vi điều khiển STM32 giao ISBN: 978-604-80-5076-4 136
  2. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) tiếp ngoại vi và điều khiển các động cơ truyền động mức toàn cầu. Sử dụng các API đã nghiên cứu và phát xe. triển cho robot sẽ giúp rút ngắn quá trình nghiên cứu, II. CẤU TRÚC PHẦN CỨNG XE TỰ HÀNH VÀ ứng dụng, và đây cũng là mục tiêu cuối cùng của ROS. CÔNG CỤ LẬP TRÌNH ROS Cấu trúc giao tiếp của ROS được phát triển thông qua các node, các node được đóng gói trong các A. Cấu trúc phần cứng xe tự hành. packages khác nhau theo từng nhiệm vụ. Hoạt động Cấu trúc phần cứng được sử dụng: giao tiếp giữa các node dưới dạng chủ đề, tin nhắn, - Máy tính nhúng Jetson TX2 với vai trò xử lý dịch vụ được minh họa trong Hình 2. trung tâm, là bộ xử lý hiệu năng cao chuyên dụng cho Trong hình 2, có thể thấy Master chính là node kết các xử lý trí tuệ nhận tạo (AI), Deep Learning, nó thu nối tất cả các node còn lại, các node còn lại muốn giao tập các tín hiệu từ các cảm biến, astra camera, Lindar, tiếp với nhau phải thông qua node Master. IMU và xử lý và gửi các tín hiệu đặt cho mạch điều khiển. Hình 2. Cấu trúc chương trình của ROS - Node: ROS node là đơn vị nhỏ nhất thực thi các tác vụ trong hệ thống. Một robot có thể có rất nhiều node để thực hiện quá trình giao tiếp của nó. Hình 1. Sơ đồ cấu trúc phần cứng - Master: ROS master đóng vai trò như một Astra camera có độ phân giải hình ảnh RGB lên node trung gian kết nối giữa các node khác nhau. đến 1280 x 720 @ 30 khung hình / giây, độ sâu hình Master bao quát thông tin về tất cả các node chạy trong ảnh Res lên đến 640 x 480, tốc độ 30 khung hình / môi trường ROS. giây sẽ được sử dụng như mắt của robot để thu hình - Message: Các node có thể giao tiếp với nhau ảnh từ môi trường một cách rõ nét và chân thực nhất, bằng cách gửi và nhận dữ liệu dưới dạng message. là đầu vào cho các thuật toán nhận dạng vạch đường Message là một cấu trúc dữ liệu được sử dụng bởi các và biển báo. node để trao đổi dữ liệu. - Mạch điều khiển STM32 sẽ là bộ phận nhận tín hiệu điều khiển từ Jetson TX2 thông qua giao thức - Topic: Một trong những phương pháp để giao UART, kết hợp với thông tin thu được từ cảm biến tiếp và trao đổi message giữa hai node được gọi là encoder để trực tiếp điều khiển tín hiệu đến mạch cầu topic. Topic giống như một kênh message, trong kênh MOSFET. đó dữ liệu được trao đổi bằng message. Mỗi topic sẽ có - Mạch cầu H sử dụng các MOSFET là mạch công một tên khác nhau tùy thuộc vào những thông tin mà suất điều khiển các động cơ DC 2 bánh di chuyển. nó sẽ phụ trách cung cấp. - Module Bluetooth để thu tín hiệu điều khiển từ điện thoại tự hành khi muốn điều khiển trực tiếp. - Service: service là một loại phương pháp giao B. Hệ điều hành lập trình Robot Operating System. tiếp khác với Topic. Topic sử dụng tương tác publish - Hệ điều hành ROS (Robot Operating System) là subcribe nhưng trong service nó tương tác theo request một nền tảng linh hoạt cho việc lập trình các phần - response. Một node sẽ hoạt động như một server, có mềm cho hệ thống robot. Nó bao gồm các công cụ và một server thường xuyên chạy và khi node client gửi thư viện nhằm đơn giản hoá việc xây dựng các hệ yêu cầu dịch vụ cho server, máy chủ sẽ thực hiện dịch thống robot phức tạp bằng việc kết hợp các nền tảng vụ và gửi kết quả cho máy khách robot với nhau. Hơn thế nữa, ROS được xây dựng để tạo điều kiện cho việc phát triển và kết hợp các phần III. THUẬT TOÁN VÀ LẬP TRÌNH HỆ THỐNG mềm robot với nhau một cách thuận lợi. Nó cung cấp Trong bài báo này, ROS đóng vai trò trung tâm các phương thức hoạt động của một hệ điều hành, bao điều phối giữa các module phần mềm của hệ thống gồm kết nối tới phần cứng, điều khiển thiết bị cấp thấp theo Hình 3 các module đóng vai trò là các node và thực hiện những tác vụ trong hệ thống robot thống mạng, thực hiện trao đổi dữ liệu thông qua cơ chế nhất. Nó cũng cung cấp các công cụ và thư viện để xây subscribe (nhận giữ liệu) và publish (cung cấp giữ dựng, viết và hoạt động trên nhiều máy tính. liệu) tới một topic, mỗi topic chứa giữ liệu được cung ROS đã cho phép người dùng thiết lập một môi cấp bởi một node duy nhất. Các cơ chế này đã được trường có thể hợp tác phát triển phần mềm cho robot ở trừu tượng hóa và cung cấp các API phục vụ công việc ISBN: 978-604-80-5076-4 137
  3. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) lập trình. Lớp tiếp theo là kết quả tích chập từ lớp trước đó, vì vậy CNN có được các kết nối cục bộ vì mỗi nơ-ron Kiến trúc phần mềm của hệ thống điều hướng được xây dựng trên ROS: ở lớp tiếp theo sinh ra từ một bộ lọc được áp đặt lên - Node Astra camera có nhiệm vụ chuyển đổi tín một vùng cục bộ của lớp trước đó. Mỗi lớp như vậy được áp đặt các bộ lọc khác nhau. Một số lớp khác hiệu điện từ camera thành hình ảnh RGB, sau đó như lớp pooling/subsampling dùng để lọc lại các thông publish hình ảnh vào topic /rgb_image. tin hữu ích hơn bằng cách loại bỏ các thông tin nhiễu. Trong suốt quá trình huấn luyện, CNN sẽ tự động học các tham số cho các lớp. Lớp cuối cùng được gọi là lớp kết nối đầy đủ (Fully Connected Layer) dùng để phân lớp dữ liệu. - Kiến trúc mạng đề xuất Trong nghiên cứu này, nhóm tác giả đề xuất xuất một kiến trúc mạng dựa trên kiến trúc CNN NVIDIA DAVE-2 [7], kiến trúc mạng đề xuất được biểu diễn trong Hình 5: Mô hình có 9 lớp với 250000 tham số cần chỉnh Hình 3. Hệ thống điều hướng của xe tự hành định. Ảnh đầu vào là ảnh RGB kích thước 200x66 - Node Navigation Core subcrible topic pixel. Với 5 lớp tích chập, ảnh đầu vào sẽ được trích /rgb_image để nhận hình ảnh phục vụ cho quá xuất và sau đó thu được các giá trị đặc trưng nhất. Qua trình dự đoán góc lái. Tại đây, khối Lane 4 lớp fully connected ta có đầu ra là 3 node là các góc Detection làm nhiệm vụ sử dụng mô hình CNN giá trị đặt gửi xuống bộ điều khiển để điều khiển xe. đã được huấn luyện dự đoán góc lái dự kiến, khối Đó là các giá trị -30 độ (rẽ trái), 0 độ (đi thẳng) và 30 Traffic Classification sẽ sử dụng thuật toán độ (rẽ phải). Adaboost Cascaded để phát hiện và đưa ra phân lớp của biến báo xuất hiện trong hình ảnh. - Main Process kết hợp đầu ra của hai khối trước đó để tính toán được góc lái cuối cùng mà cơ cấu chấp hành cần tuân theo. - Node Navigation Core publish: Góc lại này sẽ được đưa vào vào topic /angle, - Node Motor Control với sự phụ trách của vi điều khiển STM32 là nhận dữ liệu và điều hướng động cơ theo đúng yêu cầu. A. Hệ thống nhận diện làn đường ứng dụng (Convolution Neural Network - CNN) Mạng nơ-ron tích chập (CNN) [7] là một mô hình Deep Learning có khả năng xây dựng các hệ thống phân loại với độ chính xác cao. Cấu trúc cơ bản của CNN gồm các lớp tích chập (Convolution layer), lớp phi tuyến (Nonlinear Layer) và lớp lọc (Pooling Layer). Các lớp tích chập kết hợp với các lớp phi tuyến sử dụng các hàm phi tuyến như ReLU hay Tanh để tạo ra thông tin trừu tượng hơn (Abstract/higher- level) cho các lớp tiếp theo. Cấu trúc cơ bản của một mạng nơ-ron tích chập được biểu diễn trong Hình 4. Hình 5. Mô hình mạng CNN dự đoán góc quay Lưu ý rằng đối với mỗi khối ở các tầng từ đầu tới F6 ta sử dụng hàm kích hoạt Sigmoid dạng: 1 f ( x) (1) 1 e x B. Phân loại biển báo ứng dụng CASCADE ADABOOST Quá trình nhận dạng biển báo giao thông được chia Hình 4. Cấu trúc cơ bản của một mạng CNN làm 2 bài toán: phát hiện biển báo và nhận dạng biển ISBN: 978-604-80-5076-4 138
  4. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) báo. Trong bài báo này, nhóm tác giả đề xuất sử dụng IV. KẾT QUẢ MÔ PHỎNG VÀ CHẠY THỬ thuật toán Cascaded Adaboost với đặc trưng Haar-like NGHIỆM [8] để xây dựng các bộ phân lớp cho từng loại biển. A. Hệ thống nhận dạng làn đường Adaboost dựa trên kĩ thuật Boosting với ý tưởng là 1. Huấn luyện mạng gán cho mỗi mẫu một trọng số W và tại mỗi bộ phân Nhóm tác giả tiến hành huấn luyện với phương lớp sẽ tăng trọng số cho mẫu sai, giảm trọng số cho pháp back propagation. Sử dụng tập ảnh huấn luyện mẫu đúng. Sau đó tạo bộ phân lớp mới theo hướng tập với 1000 ảnh để học và 400 ảnh để giám sát (dùng để trung vào các mẫu sai [9]. Quá trình huấn luyện được chỉnh định các hyperparameter của mô hình). Mục mô tả cụ thể: tiêu là hàm sai số (loss function) Bước 1: Cho tập ảnh huấn luyện ( x1 , t1 )...( xn , tn ) 1 N với ti 1 1 . Khởi tạo trọng số cho mỗi mẫu huấn E ( y y0 ) 2 (5) N 1 1 Tiến dần giá trị 0, với y là giá trị do mô hình dự luyện w với n = 1, N n(1) N đoán được, y0 là giá trị được gán cho của tập đầu vào. Bước 2: Thủ tục Boosting 2. Kết quả huấn luyện mạng For m = 1…M Sau 2000 vòng lặp, kết quả huấn luyện chính là đồ Xây dựng bộ phân lớp yếu ym: thị của hàm sai số E được thể hiện ở Hình 7: Với mỗi đặc trưng j xây dựng bộ phân lớp yj có độ lỗi Ej theo công thức (2) n Ej w (nm ) I ( ym ( xn ) # tn ) (2) 1 1 ( ym ( xn ) # tn ) với I ( ym ( xn ) # tn ) 0 ( ym ( xn ) # tn ) Chọn bộ phân lớp yj có độ lỗi nhỏ nhất ta được ym Cập nhật lại trọng số cho bộ phân lớp sau bằng cách tập trung vào các mẫu sai theo công thức (3): w (m n 1) w (vm ) e m I ( ym ( xn ) # tn (3) 1 m Hình 7. Kết quả huấn luyện Với m ln m Có thể thấy sau 2000 vòng lặp hàm sai lệch giảm n xuống còn 0.0153 tương ứng sai số trung bình là w (nm ) I ( ym ( xn ) # tn ) 1,53% và độ chính xác của mô hình là 98,47%. Đây là 1 m n (4) một kết quả có thể chấp nhận được. w (nm ) Tiến hành nhận dạng với mô hình đã được huấn 1 luyện ta có kết quả theo bảng 1. Bước 3: Bộ phân lớp cuối cùng là tổng của M bộ Bảng 1. Kết quả huấn luyên nhận dạng làn đường phân lớp. bằng CNN C. Cấu trúc phân tầng Cascade AdaBoost là một bộ phân lớp mạnh tuy nhiên nhược điểm của nó là trên mỗi bộ phân lớp yếu ta phải duyệt tất cả các cửa sổ trên ảnh dẫn đến thời gian tính toán lâu. Để cải thiện nhược điểm này người ta thường sử dụng cấu trúc phân tầng. Cấu trúc phân tầng được Viola and Jones giới thiệu lần đầu tiên [10] cho bài toán phát hiện khuôn mặt. Hình 6 minh họa sơ đồ một cấu trúc phân tầng cho bộ phát hiện đối tượng. Với cấu trúc này, giải thuật nhanh chóng loại bỏ những ứng viên không thuộc lớp đó. Với kết quả trên kết luận được rằng mô hình đạt độ chính xác cao nhất với ảnh được dán nhãn đi thẳng với độ chính xác 99% , tiếp sau đó là ảnh rẽ trái với 98,5% và ảnh rẽ phải với 97,91%. Với kết quả này khi mô mô phỏng cũng như thử nghiệm với xe mô hình xe tự Hình 6. Sơ đồ cấu trúc phân tầng hành đã đảm bảo kết quả bám đường chính xác. ISBN: 978-604-80-5076-4 139
  5. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) B. Hệ thống phân loại biển báo Trong nghiên cứu này, nhóm tác giả tiến hành nhận dạng 4 loại biển: biển hạn chế tốc độ, biển rẽ trái, biển rẽ phải và biển dừng (stop) tương ứng xây dựng 4 bộ phân lớp. Hình 8. Biển báo cần nhận Dữ liệu để huấn luyện được nhóm nghiên cứu tự Hình 9. Trình giả lập mô phỏng xe tự hành chụp và sưu tầm trên mạng sau đó chỉnh sửa phù hợp. Tại Hình 10, nhận thấy đường có xuất hiện góc cua Dữ liệu để huấn luyện bao gồm: trái đồng thời không có sự xuất hiện của biển báo, hệ 3020 ảnh nền không chứa biển báo thống điều hướng dự đoán góc quay là -30 độ. 1200 ảnh biển báo hạn chế tốc độ 40km/h 1200 ảnh biển báo được phép rẽ trái 1200 ảnh biển báo được phép rẽ phải 1200 ảnh biển báo dừng Các thông số được chọn cho bộ huấn luyện Cascade Adaboost như sau: False positive rate : 0.5 Detection rate : 0.5 Cascade false positive : 0.005 Số tầng của Cascade thay đổi nhiều giá trị để chọn Hình 10. Hệ thống dự đoán góc quay -30 độ được số tầng tối ưu và các cửa sổ được quét trên toàn bộ ảnh với thông số: Hệ số tăng kích thước cửa số: 1.1 Kích thước cửa sổ tối thiểu: 15x15 Kích thước cửa sổ tối đa : 150x150 Số tầng tối ưu cho 4 bộ phân lớp là 18. Các bộ phân lớp sau đó được kiểm thử với 200 ảnh trong bộ test chuẩn biển báo và kết quả được thể hiện trên bảng 2: Bảng 2: Kết quả huấn luyện phân lớp biển báo bằng thuật toán Cascade AdaBoost Biển hạn Biển rẽ Biển rẽ Biển Hình 11. Kết quả dự đoán góc quay 0 độ chế 40km/h trái phải dừng Tại hình 11, hệ thống nhận diện làn đường dự Số lượng 50 50 50 50 đoán góc quay là 0 độ, hệ thống phân loại biển báo đã kiểm tra dự đoán thành công biến báo rẽ trái, hệ thống điều hướng sẽ tiếp tục cho xe đi thẳng cho đến khi không Số phát hiện 60 55 54 61 còn sự xuất hiện của biến báo thì tiến hành vào cua với Số nhận 45 47 46 43 góc quay -30 độ, theo hình 12. dạng đúng Độ chính xác 90% 94% 92% 86% 2. Chạy mô phỏng trên phần mềm giả lập Trong phần này, hệ thống điều hướng sẽ được tiến hành mô phỏng trên phần mềm giả lập được cung cấp bởi Unity. Trong quá trình mô phỏng, phần mềm giả lập sẽ trả về dữ liệu hình ảnh do camera phía trước của xe ghi lại. Hình ảnh này sẽ được sử dụng làm đầu vào của mô hình CNN đã được training và thuật toán phân loại biển báo để dự đoán góc quay cần thiết, sau đó truyền lại giá trị cho trình giả lập để điều hướng xe đi theo góc quay đó trong khung hình tiếp theo. Hình 12. Kết quả dự đoán góc quay -30 độ ISBN: 978-604-80-5076-4 140
  6. Hội nghị Quốc gia lần thứ 23 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2020) Trên trình giả lập mô phỏng, hệ thống có thể hoạt TÀI LIỆU THAM KHẢO động tốt đáp ứng thời gian thực với tốc độ 30 FPS và [1] Kocic, Jelena & Jovicic, Nenad & Drndarevic, Vujo. An End- giúp chiếc xe có thể di chuyển một cách linh hoạt to-End Deep Neural Network for Autonomous Driving trong môi trường. Designed for Embedded Automotive Platforms. Sensors. 10.3390/s19092064, 2019.. 3. Thử nghiệm trên xe mô hình [2] Lenac, Kruno & Kitanov, Andrej & Cupec, Robert & Petrovic, Để thử nghiệm các thuật toán nhận dạng làn đường Ivan, Fast planar surface 3D SLAM using LIDAR. Robotics and và biển báo, nhóm nghiên cứu tiến hành xây dựng và Autonomous Systems. 92. 197-220. sử dụng mô hình xe tự hành như hình 13. Đây cũng là 10.1016/j.robot.2017.03.013, 2017. [3] Yuan, Chang & Chen, Hui & Liu, Ju & Zhu, Di & Xu, Yanyan, mô hình tương tự tham gia cuộc thi xe tự lái “cuộc đua Robust Lane Detection for Complicated Road Environment số” do công ty FPT và đài truyền hình Việt Nam tổ Based on Normal Map. IEEE Access. PP. 1-1. chức. 10.1109/ACCESS.2018.2868976, 2018. Nhóm cũng giả lập đường đi của xe trên sa bàn [4] Bao, Truong & Chen, Trương & Truong, Quoc-Di, Phát Hiện Và Nhận Dạng Biển Báo Giao Thông Đường Bộ Sử Dụng Đặc kích cỡ 10mx5m và thực hiện chạy thực nghiệm. Trưng Hog Và Mạng Nơron Nhân Tạo. Journal of Science, Can Tho University, 2015. [5] Nguyễn Văn Long,“Tìm hiểu và đề xuất phương pháp nhận dạng và phân loại biển báo giao thông ở Việt Nam”, Luận văn Thạc sĩ, Đại học Duy Tân, 2016, tr 33-83. [6] Albawi, Saad & Abed Mohammed, Tareq & ALZAWI, Saad, Understanding of a Convolutional Neural Network. 10.1109/ICEngTechnol.2017.8308186, 2017. [7] Mariusz Bojarski, Davide Del Testa, Daniel Dworakowski, Bernhard Firner, Beat Flepp, Prasoon Goyal, Lawrence D. Jackel, Mathew Monfort, Urs Muller, Jiakai Zhang, Xin Zhang, Jake Zhao, Karol Zieba, “End to End Learning for Self-Driving Cars”, Computer Vision and Pattern Recognition arXiv:1604.07316 [cs.CV], 2016. [8] [R. Lienhart J. Maydt. An extended set of Haar features for Hình 13. Mô hình xe thử nghiệm rapid object detection. IEEE Image Processing. 2002. Proceedings. 2002 International Conference on. I-900 - I-903 vol.1. 200 [9] Yoav Freund, Robert E. Schapire, “A Short Introduction to Boosting”, Journal of Japanese Society for Artificial Intelligence, 14(5):771-780, September, 1999 Paul Viola and Michael Jones, Fast and Robust Classification using Asymmetric AdaBoost and a Detector Cascade, To appear in Neural I Hình 14. Sa bàn giả lập chạy thử nghiệm Kết quả thử nghiệm: xe chạy bám làn đường và nhận dạng được các biển báo và đi về đich theo đúng yêu cầu vơi tốc độ tối đa là 0.5m/s. Với tốc độ cao hơn của xe thì dẫn đến hiện tượng chạy không ổn định, bởi tốc độ xử lý của Camera và bộ xử lý, và trễ truyền thông đến các mạch điều khiển động cơ. V. KẾT LUẬN Bài báo này trình bày về ứng dụng trí tuệ nhân tạo trên nền tảng hệ điều hành lập trình robot ROS cho bài toán điều hướng tự động trong môi trường tuân theo tín hiệu làn đường và biển báo giao thông. Mạng CNN ứng dụng cho nhiệm vụ xác định đường đi đảm bảo tính chính xác cao với tỉ lệ 98%. Thuật toán Adaboost ứng dụng cho bài toán nhận dạng biển báo giao thông đảm bảo tính chính xác cao, dễ dàng cho việc triển khai trên các nền tảng máy tính nhúng. Các kết quả kiểm thử mô phỏng trên trình giả lập Unity cho thấy tính hiệu quả, khả thi của phương pháp điều hướng nhằm ứng dụng cho xe tự hành, xe tự lái. ISBN: 978-604-80-5076-4 141
nguon tai.lieu . vn