Faster rcnn Caffe C++版 包含 训练自己的数据

大多数开源的Faster rcnn是python语言的,想要利用高性能的C++版本并不多见,该库既包括训练,训练自己的数据,也包括评估测试,是使用Caffe部署目标检测系统的最佳方案。

演示

使用时sh example/FRCNN/demo_frcnn.sh,会处理五张图片examples/FRCNN/images,并将结果放入examples/FRCNN/results

注意:您应该将已训练的caffemodel放入models/FRCNN,例如ZF_faster_rcnn_final.caffemodelZF模型。

准备训练和评估

  • 训练数据清单是examples/FRCNN/dataset/voc2007.trainval
  • 测试数据的列表是examples/FRCNN/dataset/voc2007.test
  • 为PASCAL VOC数据集创建符号链接ln -s $YOUR_VOCdevkit_Path $CAFFE_ROOT/VOCdevkit

如VGG示例所示models/FRCNN/vgg16/train_val.proto,原始图片应显示在$CAFFE_ROOT/VOCdevkit/VOC2007/JPEGImages/。(检查FrcnnRoiData中的window_data_param)

如果您想在自己的数据集上训练 Faster R-CNN,您可以准备自定义数据集列表。格式如下

# image-id
image-name
number of boxes
label x1 y1 x2 y2 difficulty
...
  • ImageNet预先训练好的模型可以在此链接中找到

训练

sh examples/FRCNN/zf/train_frcnn.sh 将使用ZF模型开始voc2007数据的训练过程。

如果您使用提供的训练脚本,请确保:

  • VOCdevkit在VOCdevkit内的$ CAFFE_ROOT和VOC2007内
  • 应将ZF pretrain模型放入模型/ FRCNN / as ZF.v2.caffemodel中

examples/FRCNN/convert_model.pybbox_pred由平均值和标准差值对层的参数进行变换,因为回归值在训练期间被归一化,我们应该恢复它以获得最终模型。

评估

sh examples/FRCNN/zf/test_frcnn.sh 将使用训练的ZF模型评估voc2007测试数据的性能。

  • 此shell的第一步:测试所有voc-2007-测试图像并将结果输出到文本文件中。
  • 此Shell的第二步:将结果与实际情况文件进行比较并计算mAP。

详情

不同模型的shells和prototxts 位于examples/FRCNNmodels/FRCNN

代码中的更多细节:

  • include/api/FRCNN以及src/api/FRCNN演示和测试API
  • include/caffe/FRCNNsrc/caffe/FRCNN包含与 Faster R-CNN相关的所有代码

 

https://github.com/D-X-Y/caffe-faster-rcnn/tree/dev

转载请注明:《Faster rcnn Caffe C++版 包含 训练自己的数据

2 人吐嘈

  1. 阿甘 回复

    请问您安装的系统版本、cuda版本和cudnn的版本分别是哪个,谢谢!

    • 52cv.net 文章作者回复

      你好 这个应该和版本没有关系 不过现在原作者已经不建议用caffe了 详见文末的网址

发表评论

电子邮件地址不会被公开。 必填项已用*标注