如果一輛車子要實現(xiàn)自動駕駛,那么障礙物感知絕對是最基礎(chǔ)也是最核心的功能。Apollo 障礙物感知系統(tǒng)分為3D 檢測、ROI 濾波、識別、運算、感知五大板塊。其感知過程如下:首先 LiDAR 探測到信號,傳遞給 ROI 的 Filter,濾波后的信號通過 Obstacle Segmentation 和 Detection 做識別,然后是 Tracking,Apollo 在運算這一塊采用的是 NVIDIA GPU,運算能力強勁,可以實現(xiàn) 10Hz 的輸出,最后是 Obstacles 感知。
當系統(tǒng)感知到障礙物后,需要對障礙物進行行為預(yù)測,如障礙物是否是動態(tài)的,其下一步動作是什么。Apollo 障礙物行為預(yù)測系統(tǒng)采用 MLP 多層感知機制,通過深度神經(jīng)網(wǎng)絡(luò)與規(guī)劃算法,達到精準預(yù)測路徑的目的。
訓(xùn)練MLP深度學(xué)習(xí)模式有2個前提條件:
請從官網(wǎng)下載并安裝Anaconda軟件
運行以下命令安裝必要的依賴項:
安裝numpy: conda install numpy
安裝tensorflow: conda install tensorflow
安裝keras (version 1.2.2): conda install -c conda-forge keras=1.2.2
安裝h5py: conda install h5py
安裝protobuf: conda install -c conda-forge protobuf
接下來要遵循的步驟是使用發(fā)布的演示數(shù)據(jù)來訓(xùn)練MLP模型。為了方便起見,我們把阿波羅作為本地阿波羅儲存庫的路徑,例如,/home/username/apollo
如果用來存儲離線預(yù)測數(shù)據(jù)的文件夾不存在的話,則使用命令
mkdir APOLLO/data/prediction
創(chuàng)建一個新文件夾
打開apollo/modules/prediction/conf/prediction.conf.通過改變--noprediction_offline_mode成--prediction_offline_mode來啟動離線模式
在apollo文件夾中用bash docker/scripts/dev_start.sh啟動dev docker
在apollo文件夾中用bash docker/scripts/dev_into.sh進入dev docker
在docker中,/apollo/下運行bash apollo.sh build進行編譯
在docker中,/apollo/下通過python docs/demo_guide/rosbag_helper.py demo_2.0.bag下載演示用rosbag
在docker中,/apollo/下通過bash scripts/prediction.sh start_fe運行預(yù)測模塊
打開一個新的終端窗口,使用步驟4進入apollo dev docker
在新的終端窗口中,在/apollo/下,使用rosbag play demo_2.0.bag播放演示rosbag
當rosbag在新終端中運行結(jié)束后,在原來的終端按下Ctrl + C停止預(yù)測模塊。
在/apollo/data/prediction/文件夾中檢查是否有feature.0.bin文件存在
在docker中進入
/apollo/modules/tools/prediction/mlp_train/
使用python generate_labels.py -f /apollo/data/prediction/feature.0.bin標記數(shù)據(jù)。然后在/apollo/data/prediction/文件夾中檢查是否有feature.0.label.bin文件存在
更新:
在docker中進入
/apollo/modules/tools/prediction/mlp_train/
使用python generate_labels.py /apollo/data/prediction/feature.0.bin /apollo/data/prediction/feature.0.label.bin標記數(shù)據(jù)。然后在/apollo/data/prediction/文件夾中檢查是否有feature.0.label.bin文件存在
在docker中,/apollo/modules/tools/prediction/mlp_train/下,通過python generate_h5.py -f /apollo/data/prediction/feature.0.label.bin生成 H5文件。然后檢查feature.0.label.h5是否被創(chuàng)建
更新:在docker中,/apollo/modules/tools/prediction/mlp_train/下, 通過python generate_h5.py /apollo/data/prediction/feature.0.label.bin/apollo/data/prediction/feature.0.label.h5生成 H5文件。然后檢查feature.0.label.h5是否被創(chuàng)建
退出dev docker
進入APOLLO/modules/tools/prediction/mlp_train/proto/文件夾并運行protoc--python_out=./fnn_model.proto來生成fnn_model_pb2.py
進入APOLLO/modules/tools/prediction/mlp_train/文件夾通過python mlp_train.py APOLLO/data/prediction/feature.0.label.h5啟動訓(xùn)練模型
模型的評估報告在APOLLO/modules/tools/prediction/mlp_train/evaluation_report.log
模型會被存放在APOLLO/modules/tools/prediction/mlp_train/mlp_model.bin,如果你覺得你的模型更好可替換在APOLLO/modules/prediction/data/mlp_vehicle_model.bin中原來的模型
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5589瀏覽量
123877 -
MLP
+關(guān)注
關(guān)注
0文章
57瀏覽量
4927
原文標題:技術(shù)文檔 | 如何訓(xùn)練MLP深度學(xué)習(xí)模式
文章出處:【微信號:Apollo_Developers,微信公眾號:Apollo開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
誰會小波神經(jīng)網(wǎng)絡(luò)預(yù)測算法的設(shè)計?
請問基于模型預(yù)測算法的DC/DC變換器電壓出現(xiàn)很大跳變是什么原因?
請問h.264幀內(nèi)預(yù)測算法的各個子模塊的代碼怎么設(shè)計?
請問h.264的幀內(nèi)預(yù)測算法的ding層怎么設(shè)計
請問h.264幀內(nèi)預(yù)測算法的fpga實現(xiàn)怎么設(shè)計?
基于YOLOX目標檢測算法的改進
三操作數(shù)的前導(dǎo)1預(yù)測算法糾錯編碼模塊的設(shè)計與實現(xiàn)
基于網(wǎng)絡(luò)表示學(xué)習(xí)與隨機游走的鏈路預(yù)測算法

基于規(guī)則的預(yù)測算法和基于機器學(xué)習(xí)的預(yù)測算法
評論