mmdetection3d基于kitti数据集训练pointpillars模型
當mmdetection3d環境安裝成功后,可看上一篇如何安裝mmdetection3d
mmdetection3d官網:Log Analysis — MMDetection3D 1.0.0rc1 documentation
1 準備工作
kitti數據集下載,下面是我的百度網盤里的kitti數據集,有需要的自取
鏈接: https://pan.baidu.com/s/1QlgVfl3vBbGEfF0QCo8N6A 提取碼: milu
1.1 創建數據目錄:
mkdir -p data/kitti/ImageSets data/kitti/testing data/kitti/training
也可以不通過終端輸入命令,直接在mmdetection3d/data/kitti目錄下新建ImageSets、testing、training這三個文件夾。
創建好之后,將下載的kitti數據集中的壓縮包全部解壓,將數據集對應按照如下方式擺放。??
其中,ImageSets的內容,是將數據集劃分為訓練和測試及驗證。
不會自己劃分也沒關系,官網文檔? ?,已經給出具體方式了。
wget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/test.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/test.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/train.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/train.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/val.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/val.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/trainval.txt --no-check-certificate --content-disposition -O ./data/kitti/ImageSets/trainval.txt在終端依次輸入以上四條命令,執行完后就可以看到上圖ImagSets文件夾下的內容了。?其中內容如下。
test.txt : 7518行? ? ? ? ? ? ? ? ? train.txt :3712行
val.txt : 3769行? ? ? ? ? ? ? ? ? ? ?trainval.txt : 7481行
1.2 數據預處理
以上準備工作做好后,就可以進行預處理了。
python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti?
數據預處理完后,可以看到data/kitti目錄下生成了一些.pkl和.json文件。?
?1.3 開始訓練數據
選擇相應的模型配置文件,開始訓練。
python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py
訓練過程時間有點久,不用一直在邊上等著。我大概訓練了十幾個小時。?
1.4 開始測試
數據訓練完,可以進行測試了。
python tools/test.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py checkpoints/epoch_80.pth --eval mAP --options 'show=True' 'out_dir=./data/pointpillars/show_results'
注意:這條語句 checkpoints/epoch_80.pth 可能會報錯,你要找到你訓練后生成的./epoch_80.pth放在了什么位置。例如我的測試代碼如下:
python tools/test.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py work_dirs/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class/epoch_80.pth --eval mAP --eval-options 'show=True' 'out_dir=./data/pointpillars/show_results'
當出現如下所示結果,就OK了。
使用show=True,進行可視化的時候,需要安裝open3d包,注意:版本問題,我最開始安裝的是open-python==0.7.0在可視化的時候,出現閃屏。?后來重新安裝了open3d==0.13.0成功可視化。
pip install open3d==0.13.0
?1.5 可視化結果
1、鼠標可視化控制
- 鼠標左鍵+?拖拽:可以旋轉3D圖形
- Ctrl+鼠標左鍵+拖拽:可以移動3D圖形
- 按下鼠標滾動鍵?+?拖拽:也是可以移動3D圖形
- Shift?+?鼠標左鍵?+?拖拽:可以翻轉3D圖形
- 滾動鼠標滾輪:放大和縮小3D圖形
- 按Q會顯示下一張測試圖片
- 按D會進行深度捕捉(捕捉的深度圖會保存到mmdetection3d目錄下)
- H:打印幫助信息
- P或PrtScn:截圖當前的視圖
- O:捕獲當前的渲染設置
- Alt+Enter:在全屏和窗口模式之間切換
2 、點云顏色控制
- 0:默認的點云顏色渲染,默認點云被渲染成灰色
- 1:渲染點云顏色,和0的時候效果一樣
- 2:把x的坐標值作為顏色渲染
- 3:把y的坐標值作為顏色渲染
- 4:把z的坐標值作為顏色渲染
- 9:正常顏色,也是灰色
以上這些大家可以自己是嘗試一下
如:按D,捕捉的深度圖
按2,?把x的坐標值作為顏色渲染。
以上就是pointpillars模型訓練及可視化的全過程了。?
總結
以上是生活随笔為你收集整理的mmdetection3d基于kitti数据集训练pointpillars模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 印第安人的捕梦网 Dreamcatche
- 下一篇: 目前最新NIST随机数测试软件下载、安装