下载ssd:
git clone https://github.com/conner99/caffe.git
cd caffe
git checkout ssd-microsoft
修改CommonSettings.props
在caffe-master\src\caffe下新建3rdparty文件夹,里面添加hungarian.cpp
在caffe-master\include\caffe下新建3rdparty文件夹,里面添加hungarian.hpp
下载地址:链接: http://pan.baidu.com/s/1o7MTRIi 密码: xyye
编译即可
下载数据
http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
在data\VOC0712下解压VOC文件,变成VOC2007和VOC2012两个文件夹
在caffe根目录下新建get_image_size的bat文件
运行bat文件,生成test_name_size.txt文件
复制data\VOC0712的create_data.bat到caffe根目录下,修改如下root_dir,运行bat文件,在data\VOC0712下生成trainval_lmdb和test_lmdb文件
下载VGG的weight文件https://gist.github.com/weiliu89/2ed6e13bfd5b57cf81d6
下载设置好的训练和测试的prototxt文件(见上面百度云地址,且这里都已经设置好是CPU了,但是要注意下里面的一些文件路径与你的路径是否一致),也可以修改models\VGGNet\VOC0712下的ssd_pascal.py和score_ssd_pascal.py来生成相应的训练和测试网络文件及是否采用GPU计算等参数的设置。
在根目录下新建bat文件
进行训练,前面的CNN部分是之间用VGG的权重的。
因为只有CPU,所以训练了一晚上,迭代了2000次,测试下效果
其中test,txt代表是图像路径及名称(类似于HDF5那种形式)具体如下: (最好写绝对路径,否则可能读不到 )
原来的项目是预测输出的是
代表的是类 置信得分 坐标值
为了在opencv显示显示其预测结果和保存结果,给ssd_detect.cpp添加一些操作(主要是对image type做了处理,video就没处理了)
预测的效果如下:
置信度阀值取0.3还能识别两类,因为训练的太少了,效果不好,所以有GPU的可以迭代个5万次左右应该就可以得到很好的结果。实验室太穷,没GPU只有训练下意思意思