前言
本文主要記錄的是對雙目圖像進行monodepth2模型訓練的過程。
訓練數據集準備
我們剛開始拿到的圖片集是xxx1.jpg xxx2.jpg 。。。堆集在一個目錄的圖片,其中1表示左攝像頭,2表示右攝像頭。
這個原始數據集顯然不能直接拿來進行訓練。需要做以下轉換。
1)新建兩個子目錄image_02和image_03,然後把xxx1.jpg放到image_02,xxx2.jpg放到image_03。
2)利用這左、右攝像頭通過標定所得的內參和姿態參數分別將image_02和03對應圖片進行行對齊。
3)將絕大部分image_02和image_03裏面圖片名放到train_files.txt,剩餘放到val_files.txt。並將這兩個txt文件放到split的子目錄下,比如eign_zhou。後面訓練會根據這兩個txt裏面所列文件進行。
由於樣本圖片一般比較多,所以上面三個步驟最好分別寫一個腳本來實現。
訓練和測試命令
訓練命令:
python3 train.py --log_dir stereo_weights/ --model_name stereo --use_stereo --frame_ids 0 --data_path ../stereo --width 960 --height 320 --split eigen_zhou
測試命令:
python3 self_test_simple.py --image_path ../stereo/stereo_data/image_03/000316.jpg --model_name weights_18
測試log:
結論
目前基於自己數據集訓練出來的模型其測距效果一般,具體原因還在分析。數據集太少? K參數需要更新?還是其它方面的原因?目前還不得而知。大家有什麼好的意見也請告訴我。