借鉴http://blog.csdn.net/u012235274/article/details/52120152这篇博客;
先来实现yolo的预测过程:新建一个项目yolo,添加yolo.cpp 下载地址:链接: http://pan.baidu.com/s/1dFKKBvz 密码: 5m5i (这里包括detect_layer.hpp,detect_layer.cpp,yolo.cpp,convert_imageset_multi_label.cpp,voc_label.py,以及prototxt和caffemodel文件)
编译项目,生成yolo.exe,新建bat文件,写入:
相应的caffemodel和prototxt文件都在百度云里面,请自行下载。
效果如下:
接着讨论关于yolov1版本的训练问题:
利用voc_label.py处理VOC数据集,提取bbox和classes,然后将其转换成truth label(7*7*(1+4+classes)),然后用convert_imageset_multi_label.cpp新建工具处理多标签的train.txt和val.txt转换成lmdb格式的文件。为了实现新建的dection Layer,在src/caffe/proto中,打开caffe.proto,然后在message LayerParameter中新建
并添加新建层参数:
接着用extract_proto.bat更新caffe.pb.cc 和caffe.pb.h
最后添加相应的.hpp文件和.cpp文件,编译成功后就可以利用给的caffemodel来finetune训练。
训练后测试效果如下:
后面一两天准备分享下windows-SSD的训练和预测的工程。