Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành

Trong những năm gần đây, cùng với sự phát triển của công nghệ thông tin, trí tuệ

nhân tạo, lĩnh vực tự động hóa cũng đang phát triển hết sức mạnh mẽ. Nhu cầu về xe

không người lái, các thiết bị tự hành ngày càng lớn. Trong đó, nhận dạng, xác định làn

đường đối các thiết bị tự hành (Autonomous vehicles) cũng như các hệ thống hỗ trợ lái

xe (Driver Assistance Systems) là bài toán đặc biệt quan trọng, đòi hỏi ngày càng cao về

sự chính xác, an toàn ngay cả trong nhiều điều kiện khác nhau như ánh sáng, thời tiết

thay đổi, sự đa dạng về môi trường hoạt động. Đối với các thiết bị tự hành trong công

nghiệp trước đây, dữ liệu đầu vào thường lấy từ các cảm biến như cảm biến hồng ngoại,

cảm biến từ trường. cùng với những thiết kế cố định đối với môi trường hoạt động như

ánh sáng, line đường., điều đó làm giới hạn phạm vi hoạt động cũng như tính đa dụng

của các thiết bị. Những thiết bị tự hành hiện đại hiện nay như ô tô không người lái, máy

bay không người lái, robot vận chuyển hàng hóa, drone giao hàng tự động thường sử

dụng các hệ thống camera để thu thập dữ liệu cho việc xác định quỹ đạo di chuyển. Dữ

liệu từ cảm biến camera có thể được xử lý bằng các thuật toán xử lý ảnh thông thường

như lọc màu, phát hiện cạnh, xoay ảnh, lọc nhiễu. để bóc tách được các line đường từ

đó xác định được làn đường và tâm đường. Tuy nhiên, những thuật toán đó thường thiếu

ổn định với nhiễu do độ sáng thay đổi, làn đường xuất hiện bóng cây, làn đường bị mưa

ướt và thậm chí không thể xác định được làn đường khi line đường bị mất. Một ví dụ

minh họa về sử dụng xử lý ảnh trong phát hiện line đường như trong hình 1.

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 1

Trang 1

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 2

Trang 2

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 3

Trang 3

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 4

Trang 4

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 5

Trang 5

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 6

Trang 6

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 7

Trang 7

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 8

Trang 8

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 9

Trang 9

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành trang 10

Trang 10

pdf 10 trang duykhanh 8820
Bạn đang xem tài liệu "Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành

Sử dụng học sâu trong bài toán xác định tâm làn đường cho các thiết bị tự hành
n đường 
 (pixel màu đỏ ứng với làn đường) 
 Tuy nhiên, các mô hình này vẫn có một vài hạn chế: 
 - Xây dựng dữ liệu huấn luyện mô hình khó khăn, công việc gán nhãn cho các 
pixel trong ảnh có phải làn đường không tốn nhiều thời gian, dễ xảy ra nhầm lẫn. 
 - Mô hình có độ phức tạp tính toán lớn, cần nhiều lớp convolution ở cả phần 
encoder và decoder, cần các bộ xử lý mạnh mẽ như GPU mới có thể xử lý trong thời 
gian thực. 
80 
 Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
 - Nghiên cứu này nhằm đề xuất một mô hình deep learning có khả năng tốt trong 
việc dự đoán đường đi cho các thiết bị tự hành mà chỉ có năng lực xử lý nhỏ, dễ dàng 
trong việc xây dựng dữ liệu huấn luyện. 
2. Xây dựng mô hình dự đoán vị trí tâm đường 
 Mục tiêu của nghiên cứu là xây dựng một mô hình học sâu có kích thước nhỏ 
nhất, đơn giản nhất mà vẫn đáp ứng được yêu cầu của bài toán xác định làn đường cho 
thiết bị tự hành trong nhiều điều kiện đường đi khác nhau. Đầu ra của thuật toán là vị trí 
tâm đường thiết bị cần hướng đến thay vì là hình ảnh phân loại các pixel như các mạng 
Segmentation. Việc đầu ra của thuật toán đơn giản làm giảm thiểu rất nhiều độ phức tạp 
tính toán của mô hình. Mô hình đề xuất được xây dựng trên kiến trúc mạng CNN 
(Convolution Neural Network) [6] thông thường. 
 Hình 4. So sánh kiến trúc mạng CNN và mạng Segmentation 
 a) Kiến trúc mạng CNN; b) Kiến trúc mạng Segmentation 
2.1. Kiến trúc mô hình 
 Đối với các mạng neuron nhân tạo (Artificial Neural Network - ANN) thông 
thường, các đặc trưng của bức ảnh được trích xuất thông qua các thuật toán xử lý ảnh 
như lọc ảnh, thay đổi không gian màu, các phép biến hình, threshold... trước khi đưa 
vào mạng ANN. Khi sử dụng các bộ lọc số [7] để xem xét một vài đặc trưng của ảnh 
(Hình 5). 
 Tuy nhiên, đối với các mô hình học sâu, các đặc trưng trên được trích xuất một 
cách tự động thông qua các lớp trích xuất đặc trưng, đối với đầu vào là ảnh số, các lớp 
tích chập (Convolution layers) thường được sử dụng và cho kết quả rất tốt. Những mô 
hình học sâu như thế thường được gọi là mạng tích chập. 
 81
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
 Hình 5. Sử dụng bộ lọc số để xem xét các đặc trưng của ảnh 
 Giống như các lớp ẩn khác, lớp tích chập lấy dữ liệu đầu vào, thực hiện các phép 
chuyển đổi để tạo ra dữ liệu đầu vào cho lớp kế tiếp (đầu ra của lớp này là đầu vào của 
lớp sau). Phép biến đổi được sử dụng là phép tính tích chập. Mỗi lớp tích chập chứa một 
hoặc nhiều bộ lọc - bộ phát hiện đặc trưng (filter - feature detector) cho phép phát hiện 
và trích xuất những đặc trưng khác nhau của ảnh. Mạng CNN là một tập hợp các lớp 
tích chập chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU [8] và 
tanh để kích hoạt các trọng số trong các node. Mỗi một lớp sau khi thông qua các hàm 
kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo. 
 Đối với các thuật toán xử lý ảnh thông thường, các tham số của bộ lọc được chọn 
theo mục đích cụ thể như bộ lọc phát hiện cạnh, bộ lọc làm sắc nét, bộ lọc làm mờ 
Tuy nhiên, trong mạng CNN các tham số sẽ được khởi tạo ngẫu nhiên (có thể theo một 
phân bố xác suất nào đó, hoặc bằng 0) trong quá trình huấn luyện, mô hình sẽ tự học 
được các tham số để trích xuất những đặc trưng cần thiết của bức ảnh. 
 Mô hình trong nghiên cứu này phát triển từ cấu trúc mạng CNN, đầu vào của 
mạng là ảnh RGB kích thước 160x240x3, mạng sử dụng hàm sigmoid hoặc hàm tanh là 
activation cuối cùng, trả về vị trí tâm đường chuẩn hóa. 
 Hình 6. Mô hình mạng CNN dự đoán tâm đường 
82 
 Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
 Trong mô hình CNN có 2 khía cạnh cần quan tâm là tính bất biến (Location 
Invariance) và tính bố cục (Compositionality). Với cùng một đối tượng, nếu đối tượng 
này được chiếu theo các gốc độ khác nhau (translation, rotation, scaling) thì độ chính 
xác của thuật toán sẽ bị ảnh hưởng đáng kể. Pooling layer sẽ cho bạn tính bất biến đối 
với phép dịch chuyển, phép quay và phép co giãn. Tính bố cục cục bộ cho ta các cấp độ 
biểu diễn thông tin từ mức độ thấp đến mức độ cao và trừu tượng hơn thông qua 
convolution từ các filter. Đó là lý do tại sao CNNs cho ra mô hình với độ chính xác rất 
cao. Cũng giống như cách con người nhận biết các vật thể trong tự nhiên. 
 Ngoài ra, để tăng tốc độ huấn luyện, nhóm tác giả sử dụng kỹ thuật chuẩn hóa 
trung gian (Batch Normalization) [9] sau các lớp tích chập và Dropout [10] để giảm 
hiện tượng overfiting. 
2.2. Huấn luyện mô hình 
2.2.1. Xây dựng mô hình 
 Sử dụng ngôn ngữ python [11] và Keras-Tensorflow [12] nhóm nghiên cứu xây 
dựng mô hình. Dưới đây là kiến trúc cụ thể của mô hình: 
_______________________________________________________________ 
Layer (type) Output Shape Param # 
================================================================= 
conv2d_1 (Conv2D) (None, 80, 120, 16) 1216 
_________________________________________________________________ 
batch_normalization_1 (Batch (None, 80, 120, 16) 64 
_________________________________________________________________ 
leaky_re_lu_1 (LeakyReLU) (None, 80, 120, 16) 0 
_________________________________________________________________ 
max_pooling2d_1 (MaxPooling2 (None, 40, 60, 16) 0 
_________________________________________________________________ 
conv2d_2 (Conv2D) (None, 40, 60, 32) 4640 
_________________________________________________________________ 
batch_normalization_2 (Batch (None, 40, 60, 32) 128 
_________________________________________________________________ 
leaky_re_lu_2 (LeakyReLU) (None, 40, 60, 32) 0 
_________________________________________________________________ 
max_pooling2d_2 (MaxPooling2 (None, 20, 30, 32) 0 
_________________________________________________________________ 
conv2d_3 (Conv2D) (None, 20, 30, 64) 18496 
_________________________________________________________________ 
leaky_re_lu_3 (LeakyReLU) (None, 20, 30, 64) 0 
_________________________________________________________________ 
max_pooling2d_3 (MaxPooling2 (None, 10, 15, 64) 0 
_________________________________________________________________ 
conv2d_4 (Conv2D) (None, 10, 15, 128) 73856 
 83
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
_________________________________________________________________ 
leaky_re_lu_4 (LeakyReLU) (None, 10, 15, 128) 0 
_________________________________________________________________ 
max_pooling2d_4 (MaxPooling2 (None, 5, 7, 128) 0 
_________________________________________________________________ 
flatten_1 (Flatten) (None, 4480) 0 
_________________________________________________________________ 
dropout_1 (Dropout) (None, 4480) 0 
_________________________________________________________________ 
dense_1 (Dense) (None, 64) 286784 
_________________________________________________________________ 
leaky_re_lu_5 (LeakyReLU) (None, 64) 0 
_________________________________________________________________ 
dense_2 (Dense) (None, 32) 2080 
_________________________________________________________________ 
leaky_re_lu_6 (LeakyReLU) (None, 32) 0 
_________________________________________________________________ 
dense_3 (Dense) (None, 1) 33 
_________________________________________________________________ 
activation_1 (Activation) (None, 1) 0 
================================================================= 
Total params: 387,297 (3 trăm 87 nghìn 297) 
Trainable params: 387,201 
Non-trainable params: 96 
 Tổng tham số của mô hình là 387,297. Mô hình bao gồm 5 lớp Convolution, 2 lớp 
Dense, sử dụng hàm LeakyReLU làm activation (hàm phi tuyến) giữa các lớp, và hàm 
sigmoid ở lớp cuối cùng. 
2.2.2. Chuẩn bị dữ liệu 
 Dữ liệu hình ảnh (bên trái hình 7, 8) được thu thập bằng camera Astra trên xe mô 
hình và trên sa hình “Cuộc đua số” năm 2019 do tập đoàn FPT phối hợp Đài Truyền 
hình Việt Nam tổ chức (phần màu đỏ ở góc thể hiện hướng rẽ của xe tại ngã ba, ngã tư 
tiếp theo). Sử dụng Toolbox xây dựng trên python với opencv để gán nhãn tâm đường 
(màu xanh lá cây) như hình bên phải sau đó sử dụng xử lý ảnh để xác định vị trí tâm 
đường và chuẩn hóa theo chiều rộng của ảnh. Input data là tập ảnh bên trái với label là 
vị trí tâm đường chuẩn hóa tương ứng. Dữ liệu chuẩn bị gồm 15000 ảnh với các địa 
hình, cung đường trong các điều kiện ánh sáng khác nhau. Dữ liệu được chia thành 3 tập 
con: tập huấn luyện (training set) để huấn luyện mô hình, tập kiểm soát (validation set) 
để giám sát sự overfiting của mô hình và tập đánh giá (test set) dùng để đánh giá kết quả 
mô hình sau khi huấn luyện. 
84 
 Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
 Hình 7. Ảnh camera thu thập dữ liệu huấn luyện khi thiết bị di động di chuyển 
 trong điều kiện đường mất làn, đường có bóng râm 
 Hình 8. Ảnh camera thu thập dữ liệu huấn luyện khi thiết bị di động di chuyển 
 trong đường hầm với cường độ ánh sáng thay đổi trong điều kiện khác nhau 
2.2.3. Kết quả 
 Mô hình được huấn luyện trên phần cứng: 
 CPU: Intel Core i5 8400 Test data: 1500 
 GPU: Nvidia GTX 1060 6GB batch_size: 512 
 Training data: 12000 tổng epochs: 60 
 Validation data: 1500 
 Optimizer: Adam 
 Thời gian huấn luyện dưới 10 phút. 
 Kết quả huấn luyện của mô hình mạng Deep learning đề xuất xác định tâm đường 
được đưa ra trên hình 9, sai lệch chuẩn hóa (1,0 tương đương với 2,4 m thực tế) của tâm 
đường của mô hình dự đoán so với nhãn trên các tập huấn luyện và tập kiểm soát. Sai 
lệch giảm qua nhiều vòng huấn luyện (epochs - mỗi vòng huấn luyện mô hình sẽ được 
học toàn bộ dữ liệu từ tập huấn luyện). Kết quả huấn luyện ở vòng cuối cùng: sai lệch 
trên tập huấn luyện (training loss) là 0,0034 ( 0,8 cm), sai lệch trên tập kiểm soát 
(validation loss) là 0,0036 ( 0,9 cm) (hàm lỗi - loss function: mean squared error). 
 85
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
Training loss và validation loss giảm đều, mượt cho thấy mô hình hội tụ tốt và không 
xảy ra hiện tượng overfiting. Trên tập kiểm tra, mô hình cho kết quả sai lệch (loss) cuối 
cùng là 0,0056 ( 1,3 cm), tương đối sát với trên tập kiểm soát (0,0036). 
 Hình 9. Kết quả huấn luyện của mô hình mạng deep learning 
 đề xuất xác định tâm đường 
3. Kết luận 
 Có thể thấy mô hình nhóm nghiên cứu đưa ra cách xác định vị trí tâm đường và 
đưa ra kết quả dự đoán tâm đường chính xác với vị trí tâm đường được gán nhãn. Mô 
hình sau khi huấn luyện cũng cho kết quả dự đoán tốt khi thực nghiệm, xác định được 
chính xác vị trí tâm đường trong các điều kiện khác nhau. Tốc độ tính toán cao, độ trễ 
trung bình là 14 ms, đạt 60 fps trên Jetson Tx2, đảm bảo hoạt động trên thời gian thực 
đối với phần cứng có khả năng tính toán không quá mạnh. Kết quả nghiên cứu này có 
thể hoàn thiện ứng dụng trong bài toán điều khiển các thiết bị tự hành di chuyển trong 
các môi trường đô thị. Cụ thể, kết quả nghiên cứu này được áp dụng cho đội thi 
MTA_Race4Fun của Đại học Kỹ thuật Lê Qúy Đôn trong cuộc thi “Cuộc đua số” năm 
2019 do Tập đoàn FPT phối hợp Đài Truyền hình Việt Nam tổ chức. Đội thi 
MTA_Race4Fun đã đạt chức vô địch toàn quốc. Trong quá trình thực nhiệm ở vòng bán 
kết (Miền Bắc) và vòng chung kết quốc gia, với điều kiện sa hình thi đấu khác nhau, 
điều kiện ánh sáng được thay đổi ngẫu nhiên (sử dụng các đèn led màu khác nhau tạo 
hiệu ứng, đi trong đường hầm, hiệu ứng bóng râm giả), địa hình thay đổi (đi trong 
đường hầm, trên cầu), có những đoạn đường mất line 2 bên (đoạn đường tuyết, đoạn 
đường không có line), kết quả mô hình đưa ra để dự đoán tâm đường đi chính xác cao, 
không gặp sự cố, đảm bảo thiết bị di chuyển trơn tru. 
Tài liệu tham khảo 
1. MMichael Nielsen (2019). Neural Networks and Deep Learning. Springer US, pp. 2-4. 
2. Ian Goodfellow, Yoshua Bengio, Aaron Courville (2016). Deep learning. The MIT Press 
 US, pp. 326-365. 
86 
 Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University 
3. Malte Oeljeklaus, Frank Hoffmann, Torsten Bertram (2018). A Fast Multi-Task CNN for 
 Spatial Understanding of Traffic Scenes. 2018 21st International Conference on Intelligent 
 Transportation Systems (ITSC), Maui, pp. 2825-2830. 
4. Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, and Hartwig Adam 
 (2018). Encoder-Decoder with Atrous Separable Convolution for Semantic Image 
 Segmentation, 2018 European Conference on Computer Vision (ECCV), Munich, 
 pp. 833-851. 
5. Yuenan Hou, Zheng Ma, Chunxiao Liu, and Chen Change Loy (2019). Learning 
 Lightweight Lane Detection CNNs by Self Attention Distillation. 2019 International 
 Conference on Computer Vision (ICCV), Seoul , pp. 1013-1021. 
6. Sharif Amit Kamran (2018). Efficient Yet Deep Convolutional Neural Networks for 
 Semantic Segmentation. 2018 International Symposium on Advanced Intelligent 
 Informatics (SAIN), Yogyakarta, pp. 123-130. 
7. Sandipan Dey (2018). Hands-On Image Processing with Python: Expert techniques for 
 advanced image analysis and effective interpretation of image data. Packt UK. 
8. Takio Kurita (2017). Improvement of learning for CNN with ReLU activation by sparse 
 regularization. 2017 International Joint Conference on Neural Networks (IJCNN), 
 Anchorage, pp. 2684-2691. 
9. Vignesh Thakkar, Suman Tewary, Chandan Chakraborty (2018). Batch Normalization in 
 Convolutional Neural Networks. 2018 Fifth International Conference on Emerging 
 Applications of Information Technology (EAIT), Kolkata, pp. 1-5. 
10. ByungSoo Ko, Han-Gyu Kim, Ho-Jin Choi (2017). Controlled dropout: A different dropout 
 for improving training speed on deep neural network. 2017 IEEE International Conference 
 on Systems, Man, and Cybernetics (SMC), Banff, pp. 972-977. 
11. François Chollet (2017). Deep Learning with Python. Manning US. 
12. Aurélien Géron (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow: 
 Concepts, Tools, and Techniques to Build Intelligent Systems. O'Reilly Media US. 
 USE OF DEEP LEARNING IN THE PROBLEM FOR DETERMINING 
 THE CENTER OF ROAD LANE FOR AUTONOMOUS VEHICLES 
 Abstract: The paper proposes a deep learning model based on CNN architecture in the 
problem of determining the center of the road lane for autonomous vehicles, helping to improve 
quality, ensure accuracy in many different environmental conditions in light, weather change 
and complex terrain; The requirement of calculation complexity is not too high and it is easy to 
build the training data set. 
 Keywords: Autonomous vehicles; advanced driver assitance systems; lane detection 
algorithm; artificial intelligence; deep learning; Convolution Neutral Network - CNN. 
 Ngày nhận bài: 31/12/2019; Ngày nhận bản sửa lần cuối: 08/4/2020; Ngày duyệt đăng: 23/6/2020 
  
 87

File đính kèm:

  • pdfsu_dung_hoc_sau_trong_bai_toan_xac_dinh_tam_lan_duong_cho_ca.pdf