前段时间在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
暂未解决,在虚拟机上容易出错。