用自己的数据训练Faster-RCNN

Faster-RCNN玩了一段时间了,一直想写一篇文章总结一下,但拖延症一直也没有下笔,今天就写了吧,做个总结。

这里写图片描述

Faster-RCNN是RCNN系列检测方法中最新的方法了(Yolo除外,因为Yolo走的是另一个路子,有机会再说这个),简单来说Faste-RCNN把Fast-RCNN方法用到的proposal方法也弄到了CNN网络里(rbg大神称此网络为RPN网络),省去了额外的诸如selective search之类的proposal方法,后面的分类直接把RPN网络生成的proposal映射回卷基层生成的feature map得到固定纬的特征,进行分类,这就跟之前Fast-RCNN一样了。唯一不同的是,对同一幅图片的多个疑似目标Faster-RCNN只需要进行一次forward,这样就避免了对同一个图片的多个proposal进行多次forward,这样节省的时间就显而易见了,在TitanX上我的实验结果每张图片差不多170ms-200ms, 这个速度还是比Fast-RCNN快了很多。

具体的内容可以参看论文,这里我介绍一下如何用自己的数据训练Faster-RCNN,至于如何安装我就不赘述了,可以参考rgb的github

1. 准备数据

在rbg的原版Faster-RCNN里,他是用的Pascal voc 2007的数据集,为了使用rbg的代码,我在这里没有改变自己的数据格式,而是把标注数据整理成和Pascal voc一样的数据格式,简单来说就是新建一个文件夹,可以任意命名,我在这里假设$pascal_format是我新建的自己放pascal voc格式的数据文件夹。

$pascal_format下应该有一个叫做VOC2007的文件夹,VOC2007下应该有Annotations、ImageSets和JPEGImages三个文件夹,其中:Annotations是标注数据xml文件,JPEGImages是和Annotations中的xml文件一一对应的图片文件,两个文件除了后缀分别是.xml和.jpg,其他部分应该一样,都应该是六位数字,比如:000001.jpg和000001.xml。ImageSets下有一个Main文件夹,文件夹内有一个trainval.txt文件,里面是训练数据设置,格式如下:

000000
000001
000002
000003
000004
000005
000006
……

一般我们手头的数据不是Pascal voc格式的,Pascal voc数据里面的标注数据是如下的xml文件:

<?xml version="1.0"?>

-<annotation>

<folder>VOC2007</folder>

<filename>013120.jpg</filename>


-<source>

<database>ChongQing Database</database>

<annotation>ChongQing</annotation>

<image>flickr</image>

<flickrid>QiangXie</flickrid>

</source>


-<owner>

<flickrid>QiangXie</flickrid>

<name>QiangXie</name>

</owner>


-<size>

<width>1664</width>

<height>1200</height>

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值