本人环境ubuntu16.04(仅cpu)
下载SSD项目
1 | git clone https://github.com/weiliu89/caffe.git |
安装caffe相关依赖包
1 | sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler |
配置
1 | cp Makefile.config.example Makefile.config |
- 修改Makefile.config:
1 | # CPU_ONLY:=1`改为`CPU_ONLY:=1 |
- 在INCLUDE_DIRS和LIBRARY_DIRS后面分别加上
/usr/include/hdf5/serial
和/usr/lib/x86_64-linux-gnu/hdf5/serial
1 | INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial |
进入python文件夹安装需要的包
1
for req in $(cat requirements.txt); do sudo -H pip install $req; done
将该python文件夹的路径添加到PYTHONPATH中
1 | export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH |
在Makefile文件的195行:1
2ifeq($(USE_OPENCV),1)
LIBRARIES+=
在LIBRARIES后面添加opencv_videoio和opencv_imgcodecs
- 编译中途出错,建议make clean,再重新编译
编译
1 | make -j8 |
运行demo
下载训练好的模型文件放到models文件夹内,运行
1 | python examples/ssd/ssd_detect.py |
效果如下
终端上打印的为:[xmin,ymin,xmax,ymax,label,score,label_name]
xmin,ymin,xmax,ymax为矩形框的范围,表示方式是图像宽高的百分比