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

Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
SDNG HC SÂU TRONG BÀI TOÁN XÁC ĐỊNH  
TÂM LÀN ĐƯỜNG CHO CÁC THIT BTHÀNH  
Nguyễn Ngọc Tuấn*, Lại Tiến Đệ  
Đại học Kỹ thuật Lê Quý Đôn  
Tóm tt  
Bài báo đề xut một mô hình học sâu dựa trên kiến trúc mng CNN để xác định tâm làn  
đường đối vi các thiết btự hành, đảm bảo độ chính xác trong nhiều điều kiện môi trường  
về ánh sáng và địa hình; yêu cầu độ phc tp tính toán thp, ddàng xây dng tp dliu  
hun luyn.  
Tkhóa: Thiết bthành; hthng htrlái; thuật toán xác định làn đường; trí tunhân to;  
hc sâu; mạng nơron tích chập CNN.  
1. Đặt vấn đề  
Trong những năm gần đây, cùng với sphát trin ca công nghthông tin, trí tuệ  
nhân to, lĩnh vực tự động hóa cũng đang phát triển hết sc mnh m. Nhu cu vxe  
không người lái, các thiết bthành ngày càng lớn. Trong đó, nhận dạng, xác định làn  
đường đối các thiết bthành (Autonomous vehicles) cũng như các hệ thng htrlá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 vi các thiết bthành trong công  
nghiệp trước đây, dữ liệu đầu vào thường ly tcác cm biến như cảm biến hng ngoi,  
cm biến từ trường... cùng vi nhng 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 hn phm vi hoạt động cũng như tính đa dụng  
ca các thiết b. Nhng thiết bthà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 vn chuyn hàng hóa, drone giao hàng tự động thường sử  
dng các hthống camera để thu thp dliu cho việc xác định quỹ đạo di chuyn. Dữ  
liu tcm biến camera có thể được xlý bng các thut toán xảnh thông thường  
như lọc màu, phát hin cnh, xoay nh, lc nhiu... để bóc tách được các line đường từ  
đó xác định được làn đường và tâm đường. Tuy nhiên, nhng thuật toán đó thường thiếu  
ổn định vi nhiễu do độ sáng thay đổi, làn đường xut hiện bóng cây, làn đường bị mưa  
ướt và thm chí không thể xác định được làn đường khi line đường bmt... 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.  
Tuy nhiên, trên thực tế, vạch kẻ đường không phải lúc nào cũng rõ ràng như trong  
ví dụ trên, line đường có thể bị mờ hoặc bị các phương tiện khác che khuất dẫn đến  
* Email: ngoctuanhvhn@gmail.com  
78  
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
thuật toán không thể bóc tách được. Đây là hạn chế rất lớn đối với các thuật toán xử lý  
ảnh thông thường.  
Gray scale  
Origin  
Threshold  
Houghline detection  
Hình 1. Các giai đoạn xnh lọc xác định làn đường sdng camera  
Thi gian gần đây, lĩnh vực trí tunhân tạo nói chung và học sâu nói riêng đã đạt  
được rt nhiu thành tựu đột phá trong nhiu lĩnh vực của đời sng, công ngh. Hc  
sâu (deep learning) là mt nhánh ca ngành máy hc da trên mt tp hp các thut  
toán để cgng mô hình dliu trừu tượng hóa mc cao bng cách sdng nhiu lp  
xlý vi cu trúc phc tp, hoc bng cách khác bao gm nhiu biến đổi phi tuyến  
nhm xp xmt hàm sbt kì giữa đầu ra (output) và đầu vào (input) [1]. Hc  
sâu là mt tp các kthut hc máy mnh sdng mng neuron nhân to nhiu lp.  
79  
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
Nhiu kiến trúc hc sâu khác nhau nmng tri giác đa lớp (MLP: Multi Layers  
Perceptron), mạng neuron tích chập (CNN - Convolution Neutral Network) [2], mng  
tin cy sâu (DBN - Deep Belief Network) và mạng neuron hồi quy (RNN - Recurrent  
Neutral Network) đã được áp dng cho các lĩnh vực như thgiác máy tính, tự đng nhn  
dng ging nói, xlý ngôn ngtnhiên, nhn dng âm thanh ngôn ngvà tin sinh hc,  
chúng đã được chng minh là to ra các kết qurt tốt đối vi nhiu nhim vụ  
khác nhau.  
Đã có rt nhiu nghiên cu nhm ng dng deep learning vào bài toán xác định  
làn đường và cho kết qurt tt [3, 4, 5]. Vi các thut toán sdng mô hình deep  
learning, các mô hình thường được xây dng theo kiến trúc ging vi các mng  
Segmentation [6], thình ảnh đầu vào, mô hình sphân loi các pixel có phi làn  
đường hay không.  
Hình 2. Kiến trúc cơ bản của một mạng Segmentation  
Hình 3. Sử dụng mạng Segmentation để xác định làn đường  
(pixel màu đỏ ứng với làn đường)  
Tuy nhiên, các mô hình này vn có mt vài hn chế:  
- Xây dng dliu hun luyn 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 tn nhiu thi gian, dxy ra nhm ln.  
- Mô hình có độ phc tp tính toán ln, cn nhiu lp convolution cphn  
encoder và decoder, cn các bxlý mnh mẽ như GPU mới có thxlý trong thi  
gian thc.  
80  
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
- Nghiên cu này nhằm đề xut mt mô hình deep learning có khả năng tốt trong  
vic dự đoán đường đi cho các thiết bthành mà chỉ có năng lực xlý nh, ddàng  
trong vic xây dng dliu hun luyn.  
2. Xây dựng mô hình dự đoán vị trí tâm đường  
Mc tiêu ca nghiên cu là xây dng mt mô hình học sâu có kích thước nhỏ  
nhất, đơn giản nht mà vẫn đáp ứng được yêu cu của bài toán xác định làn đường cho  
thiết bthành trong nhiều điều kiện đường đi khác nhau. Đầu ra ca thut toán là vtrí  
tâm đường thiết bcầ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 ca thuật toán đơn gin làm gim thiu rt nhiều độ phc tp  
tính toán ca mô hình. Mô hình đề xuất được xây dng trên kiến trúc mng 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. Sdng blc số để xem xét các đặc trưng của nh  
Giống như các lớp n khác, lp tích chp ly dliệu đầu vào, thc hin các phép  
chuyển đổi để to ra dliệu đầu vào cho lp kế tiếp (đầu ra ca lớp này là đầu vào ca  
lp sau). Phép biến đổi được sdng là phép tính tích chp. Mi lp tích chp cha mt  
hoc nhiu blc - bphát hiện đặc trưng (filter - feature detector) cho phép phát hin  
và trích xut những đặc trưng khác nhau của nh. Mng CNN là mt tp hp các lp  
tích chập chồng lên nhau và sdng các hàm nonlinear activation như ReLU [8] và  
tanh để kích hot các trng strong các node. Mi mt lp sau khi thông qua các hàm  
kích hot sto 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 tcấ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 hoc 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 cnh cn quan tâm là tính bt biến (Location  
Invariance) và tính bcc (Compositionality). Vi 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 ca thut toán sbị ảnh hưởng đáng kể. Pooling layer scho bn tính bt biến đối  
vi phép dch chuyn, phép quay và phép co giãn. Tính bcc cc bcho ta các cấp độ  
biu din thông tin tmứ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 ti sao CNNs cho ra mô hình với độ chính xác rt  
cao. Cũng giống như cách con người nhn biết các vt thtrong tnhiên.  
Ngoài ra, để tăng tốc độ huấn luyện, nhóm tác gisdụ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. Hun luyn mô hình  
2.2.1. Xây dựng mô hình  
Sdụng ngôn ngữ python [11] và Keras-Tensorflow [12] nhóm nghiên cu xây  
dng mô hình. Dưới đây là kiến trúc cụ thể của mô hình:  
_______________________________________________________________  
Layer (type)  
=================================================================  
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)  
_________________________________________________________________  
max_pooling2d_1 (MaxPooling2 (None, 40, 60, 16)  
_________________________________________________________________  
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)  
_________________________________________________________________  
max_pooling2d_2 (MaxPooling2 (None, 20, 30, 32)  
_________________________________________________________________  
conv2d_3 (Conv2D) (None, 20, 30, 64) 18496  
_________________________________________________________________  
leaky_re_lu_3 (LeakyReLU) (None, 20, 30, 64)  
_________________________________________________________________  
max_pooling2d_3 (MaxPooling2 (None, 10, 15, 64)  
_________________________________________________________________  
conv2d_4 (Conv2D) (None, 10, 15, 128) 73856  
Output Shape  
Param #  
0
0
0
0
0
0
83  
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
_________________________________________________________________  
leaky_re_lu_4 (LeakyReLU) (None, 10, 15, 128)  
_________________________________________________________________  
max_pooling2d_4 (MaxPooling2 (None, 5, 7, 128)  
_________________________________________________________________  
flatten_1 (Flatten) (None, 4480)  
_________________________________________________________________  
dropout_1 (Dropout) (None, 4480)  
_________________________________________________________________  
dense_1 (Dense) (None, 64) 286784  
_________________________________________________________________  
leaky_re_lu_5 (LeakyReLU) (None, 64)  
_________________________________________________________________  
dense_2 (Dense) (None, 32) 2080  
_________________________________________________________________  
leaky_re_lu_6 (LeakyReLU) (None, 32)  
_________________________________________________________________  
dense_3 (Dense) (None, 1) 33  
_________________________________________________________________  
activation_1 (Activation) (None, 1)  
0
0
0
0
0
0
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 “Cuc đua sốnăm 2019 do tập đoàn FPT phối hp Đài Truyn  
hình Vit Nam tchứ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 tp  
con: tp hun luyn (training set) để hun luyn mô hình, tp kim soát (validation set)  
để giám sát soverfiting ca mô hình và tập đánh giá (test set) dùng để đánh giá kết quả  
mô hình sau khi hun luyn.  
84  
Journal of Science and Technique - N.206 (5-2020) - Le Quy Don Technical University  
Hình 7. nh camera thu thp dliu hun luyn khi thiết bị di động di chuyn  
trong điều kiện đường mất làn, đường có bóng râm  
Hình 8. nh camera thu thp dliu hun luyn khi thiết bị di động di chuyn  
trong đường hm với cường độ ánh sáng thay đổi trong điều kin 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  
GPU: Nvidia GTX 1060 6GB  
Training data: 12000  
Test data: 1500  
batch_size: 512  
tổng epochs: 60  
Validation data: 1500  
Optimizer: Adam  
Thời gian huấn luyện dưới 10 phút.  
Kết quhun luyn ca mô hình mng Deep learning đề xuất xác định tâm đường  
được đưa ra trên hình 9, sai lch chuẩn hóa (1,0 tương đương với 2,4 m thc tế) ca tâm  
đường ca mô hình dự đoán so với nhãn trên các tp hun luyn và tp kim soát. Sai  
lch gim qua nhiu vòng hun luyn (epochs - mi vòng hun luyn mô hình sẽ được  
hc toàn bdliu ttp hun luyn). Kết quhun luyn vòng cui cùng: sai lch  
trên tp hun luyn (training loss) là 0,0034 ( 0,8 cm), sai lch trên tp kim soát  
(validation loss) là 0,0036 (0,9 cm) (hàm li - 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 hi ttt và không  
xảy ra hiện tượng overfiting. Trên tập kim tra, mô hình cho kết qusai lch (loss) cui  
cùng là 0,0056 (1,3 cm), tương đi sát vi trên tp kim soát (0,0036).  
Hình 9. Kết quhun luyn ca mô hình mng deep learning  
đề xut xác định tâm đường  
3. Kết lun  
Có ththy 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 qudự đoán tâm đường chính xác vi 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 qunghiên cu này có  
thhoàn thin ng dụng trong bài toán điều khin các thiết bthành di chuyn trong  
các môi trường đô th. Cth, kết qunghiê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 hp Đài Truyn hình Vit Nam tchc. Đội thi  
MTA_Race4Fun đã đạt chức vô địch toàn quc. Trong quá trình thc nhim vòng bán  
kết (Min Bc) và vòng chung kết quc gia, với điều kin sa hình thi đấu khác nhau,  
điều kiện ánh sáng được thay đổi ngu nhiên (sdụng các đèn led màu khác nhau tạo  
hiu ứng, đi trong đường hm, hiu ng bóng râm giả), địa hình thay đổi (đi trong  
đường hm, trên cu), có những đoạn đường mt line 2 bên (đoạn đường tuyết, đoạn  
đường không có line), kết qumô hình đưa ra để dự đoán tâm đường đi chính xác cao,  
không gp scố, đảm bo thiết bdi chuyn 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  
pdf 10 trang yennguyen 09/04/2022 28100
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

File đính kèm:

  • pdfsu_dung_hoc_sau_trong_bai_toan_xac_dinh_tam_lan_duong_cho_ca.pdf