目標檢測SSD Ubuntu16.04 CPU搭建與測試
前段時間在NVIDIA jeston TX1上測試SSD目標檢測方法挺順利,今天準備用新的資料重新測試,發現儲存不足。。汗
因急於想驗證一下,臨時在Ubuntu的CPU主機上重新搭建測試一下,竟然遇到前前後後花了幾個小時(抓狂啊,遇到同樣的問題就是想不起來當初怎麼做的,可見記錄的重要性,今天就記錄一下,下次再忘了撞死!!!)
——————————————————start ————————————————————
環境:Ubuntu16.04LTS
一、安裝必要的包
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compilersudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install python-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
二、下載code (caffe)
git clone https://github.com/weiliu89/caffe.git
下載完後步驟主要參考ReadMe檔案
cd caffe
git checkout ssd
三、 編譯
# Modify Makefile.config according to your Caffe installation.
cp Makefile.config.example Makefile.config
修改Makefile.config 把CPU_ONLY :=1前的#去掉,使用CPU環境
make -j8 (遇到幾個問題,下面採坑介紹)# Make sure to include $CAFFE_ROOT/python to your PYTHONPATH.
make py
make test -j8
# (Optional)
make runtest -j8
採坑1:如下錯誤
解決:
1. 修改Makefile.config檔案
在INCLUDE_DIRS 新增:
/usr/include/hdf5/serial/
如下圖所示
2. 修改Makefile檔案
在 LIBRARIES
把hdf5_hl hdf5 改為 hdf5_serial_hl hdf5_serial
如下圖所示
採坑2 make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3]
解決:sudo apt-get install libopenblas-dev
四 測試
前面三個步驟執行環境搭建完成。
進入ssd目錄,執行 python ssd_detect.py 前 先把檔案配置一下
預訓練的模型官網試了幾次都無法下載,這裡給個百度網盤下載
https://pan.baidu.com/s/12qxYos-WVEPpHlQFEfy85w
自己看著檔案目錄自己設定。
另外可能還會有找到不大labelmap和example image,這些問題都是自己根據上圖目錄自己設定。
今天整理的不夠清晰,還有好多tricks沒記錄,明天再整理整理。
————————待續未完————
更
測試視訊檢測
在caffe目錄下
python examples/ssd/ssd_pascal_video.py(切換到SSD目錄執行會報錯)
需要修改ssd_pascal_video.py 執行為CPU:solver_mode = P.Solver.CPU 即可。
測試實時webcam 檢測報錯,無法開啟攝像頭
video_data_layer.cpp:46] Failed to open webcam: 0
暫未解決,在虛擬機器上容易出錯。