第三章写了如何搭建caffe ssd环境,这一章我们利用进行caffe ssd自带模型实现目标检测。
参考官网:https://github.com/weiliu89/caffe/tree/ssd
1、下载VGGNet网络
下载地址:fully convolutional reduced (atrous) VGGNet
建议存储在CAFFE_ROOT/models/VGGNet/目录。
下载不了可以到这里下载:https://download.csdn.net/download/hunzhangzui9837/11001907
2、获取数据
# 下载数据集
cd $HOME/data #在home目录下新建一个data文件
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# 解压数据
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
3、 创建LMDB文件
cd $CAFFE_ROOT #进入caffe根目录
./data/VOC0712/create_list.sh
./data/VOC0712/create_data.sh
在执行./data/VOC0712/create_data.sh如果出现以下错误是因为需要把caffe中的和python有关的路径添加到python的编译路径中去。
ImportError: No module named caffe.proto
执行:
sudo gedit ~/.bashrc
最后一行加入:export PYTHONPATH=/home/bjw/caffe_ssd/python:$PYTHONPATH
source ~/.bashrc
4、测试:
首选进入caffe根目录
cd $CAFFE_ROOT #进入caffe根目录
(1)python版
python examples/ssd/ssd_detect.py #测试图片
python examples/ssd/ssd_pascal_webcam.py #测试摄像头
python examples/ssd/ssd_pascal_video.py #测试video
图片测试结果:
视频测试结果:
video测试结果:
(2)c++版
测试图片:
./build/examples/ssd/ssd_detect.bin models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel examples/images/list.txt --file_type image --out_file output.txt --confidence_threshold 0.4
测试video
./build/examples/ssd/ssd_detect.bin models/VGGNet/VOC0712/SSD_300x300/deploy.prototxt models/VGGNet/VOC0712/SSD_300x300/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel examples/videos/list.txt --file_type video --out_file output.txt --confidence_threshold 0.4
c++版只输出文本结果,在caffe根目录的output.txt文件里面。 如果想要像python一样有结果图,需要重新编译examples/ssd目录下的ssd_detect.cpp文件,下一章将会详细描述。