1. 程式人生 > >目標檢測SSD Ubuntu16.04 CPU搭建與測試

目標檢測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-compiler
sudo 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

暫未解決,在虛擬機器上容易出錯。