Xem mẫu
- 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
- 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
- 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
- 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
- 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
- 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