Faster R-CNN+Resnet實現訓練自己的數據集(CPU)(一)
使用的是XinLei Chen的faster rcnn的源代碼:https://github.com/endernewton/tf-faster-rcnn
建議出現問題時,仔細閱讀代碼中的readme文檔,能有意想不到的收獲
參考blog:https://blog.csdn.net/sinat_33486980/article/details/81045315
1、環境
虛擬機VMvare + Ubuntu18.04
無GPU加速
tensorflow1.14.0
python3.6.2
Cython0.25.2
opencv-python3.4.1.15
easydict1.6
在下載代碼前,請將環境配置好,避免在運行時出現不必要的錯誤!(建議用conda管理各種庫,conda list查看庫)
2、下載代碼
從https://github.com/endernewton/tf-faster-rcnn中直接下載
或者在你指定的目錄中打開終端,克隆代碼:
git clone https://github.com/endernewton/tf-faster-rcnn.git
建議認真閱讀README.txt文件
3、設置CPU參數並編譯
由於我的電腦沒有GPU,所以根據readme的提示:
1、打開lib/setup.py進行修改:
注釋掉圖中紅線部分

2、lib/model/nms_wrapper.py:
3、lib/model/config.py:
將__C.USE_GPU_NUM 由 TRUE 改為False

修改完相關代碼后就可以進行連接Cython編譯了,進入lib目錄下,在終端中敲入一下命令:
python setup.py build_ext --inplace
make clean
make
cd ..
若之前的代碼修改正確的話編譯應該不會出錯
4、安裝數據集API
在faste rcnn根目錄上打開終端,敲入命令:
cd data git clone https://github.com/pdollar/coco.git cd coco/PythonAPI make cd ../../..
5、下載與訓練模型,並運行demo.py,同時測試VOC2007數據集
1、下載Resnet與訓練模型
在readme文件中有相應的下載地址,但國內下載大概率是不行的,感謝@村民的菜籃子的百度雲備份:https://pan.baidu.com/s/1kWkF3fT,下載后放入data文件中解壓即可。
2、創建output文件:
在faster rcnn目錄下,創建以下文件夾output/res101/voc_2007_trainval+voc_2012_trainval/default。最后把從data解壓的模型放入到創建的文件中。
3、進行demo
有了預訓練模型了就可以對data/demo文件中的圖片進行小小的演示了。
demo中自帶了5張圖片:

回到faster rcnn目錄中,打開終端輸入命令:
./tools/demo.py
運行結果如圖:


