如何才能将Faster R-CNN训练RCNN起来

Proposal,同时可以达到和检测网络共享整个图片的卷积网络特征的目标,使得region proposal几乎是cost free的。

关于Faster R-CNN的详细介绍,可以参考我。

Faster R-CNN的代码是开源的,有两个版本:,。

这里我主要使用的是Python版本,Python版本在测试期间会比MATLAB版本慢10%,因为Python layers中的一些操作是在CPU中执行的,但是准确率应该是差不多的。

为了检验你的py-faster-rcnn是否成功安装,作者给出了一个demo,可以利用在PASCAL VOC2007数据集上体现训练好的模型,来进行demo的运行,步骤如下:

  1. demo会检测5张图片,这5张图片放在data/demo/文件夹下,其中一张的检测结果如下:

  2. 至此如果上述过程没有出错,那么py-faster-rcnn算是成功编译安装。

准备工作2——Caltech数据集

由于Faster R-CNN的一部分实验是在PASCAL VOC2007数据集上进行的,所以要想用Faster R-CNN训练我们自己的数据集,首先应该搞清楚PASCAL VOC2007数据集中的目录、图片、标注格式,这样我们才能用自己的数据集制作出类似于PASCAL VOC2007类似的数据集,供Faster R-CNN来进行训练及测试。

这一部分不是必须的,如果你需要PASCAL VOC2007数据集,可以利用以下命令获取数据集,但我们下载VOC数据集的目的主要是观察他的文件结构和文件内容,以便于我们构建符合要求的自己的数据集。

  1. 创建一个专门用来存数据集的地方,假设是$HOME/data文件夹。

  2. 下载PASCAL VOC2007的训练、验证和测试数据集:

  3. 下载完后用以下命令解压:

  4. # ... 以及其他的文件夹及子文件夹 ...
  5. 创建快捷方式symlinks来连接到VOC数据集存放的地方:

  6. 最好使用symlinks来在共享同一份数据集,防止数据集多处拷贝,占用空间。

  7. 至此VOC数据集创建完毕。

PASCAL VOC数据集的文件结构,如下:

该文件夹主要用来存放图片标注(即为ground truth),文件是.xml格式,每张图片都有一个.xml文件与之对应。选取其中一个文件进行如下分析:

所以为了能够顺利训练,一定要仔细检查自己的xml文件中的左上角的坐标是否都为正。我被这个bug卡了一两天,最终把自己标记中所有的错误坐标找出来,才得以顺利训练。

ImageSets文件夹下有三个子文件夹,这里我们只需关注Main文件夹即可。Main文件夹下主要用到的是train.txt、val.txt、test.txt、trainval.txt文件,每个文件中写着供训练、验证、测试所用的文件名的集合,如下:

JPEGImages文件夹下主要存放着所有的.jpg文件格式的输入图片,不在赘述。

经过以上对PASCAL VOC数据集文件结构的分析,我们仿照其,创建首先创建类似的文件结构即可:

我建议将Caltech文件创建一个symlinks链接到VOCdevkit文件夹之下,因为这样会方便之后训练代码的修改。

  • 至于如何从.seq文件转化为一张张.jpg图片,这里可以。
  • 至于Annotations中一个个.xml标记文件是实验室师兄给我的,也可以转化,但是并不符合要求。

以上所有和有关的文件,都可以直接邮件与我联系,我直接发给你,可以省下不少制作数据集的时间。


楼主你好,我想问一下我的训练数据集只包含目标(Xmin,Ymin,Xmax,Ymax=(0,0,17,29)图片大小为30*18)这样是可以的吗?我的实验结果中,检测框很大,跟这个有关系吗?

  第一次写博客,没想太多。只是想记录一下训练Faster-rcnn是遇见的一些问题。因为在我训练出bug的时候有点绝望,怀疑人生。不过在看到开始训练的一瞬间又觉得活着挺好的。

   咸鱼大神的博客简单易懂。并且对于一些训练时出现的问题给出了解答。(5星好评)

   到这里,如过没出错,已经能训练了。

4.自己碰到的问题(5个)

 这句话的时候,报了个很稀奇的错,而且网上没找到答案。

  找不到这个路径,但是我的文件确实放对了地方,而且当我用cd命令的时候可以进入这个文件夹,打开对应的.jpg文件。

  可能有两个原因:

   如果有编码问题的话可能你还要修改另一个地方,要不test的时候会报错。

   训练的最后完事后,遇到个错误

  因为我在训练自己的数据前用过rbg大神的来跑demo,所以这个是他的.caffemodel,就是标注的红色部分21各类。

  后面绿色的是你自己的类的数目。

  都能好了,demo能跑完,但是不出结果。没有跑rbg大神demo时候的图片框出现。(有点急,后天就要交稿了,自己的demo还没跑出来)

  浪费了一天,后来突发奇想解决了。

  (我也忘了是什么时候放到这个文件夹下的了。可能是之前跑rbg大神的demo的时候,也可能是之前搭环境的时候。)

*越南小哥给我的一个建议:(节省时间的小技巧)

  为了省时间,先运行几条数据试试水。

  后来发现,时间跟迭代次数有关,跟数据多少关系好像不大。所以就修改了迭代次数。

  我改的比较极端[40,20,40,20],一路跑下来到最后的时候会有另一个错。

这个错是说没有学习到东西,我用了[00,2000]试了一下也不行。不过能看到这个错误,如果你的数据集做的没有问题的话,用[,](亲测大概16小时,1341张图)运行你自己的数据集就没问题了。为了省时间我用的是[,](大概8小时,50张图)。这个时间好像与图片大小和图片数量关系不大。感觉只与迭代次数有关。

   到这是我经历的各种坑。一个小白的心路历程,希望大家不要再踩了。(捂脸)

  *还有个我自己的小技巧:没有什么事是上心了还做好的。这两天,睡觉5点都会惊醒,然后穿上衣服直奔研究室。

这是我做的数据(我只用了50张训练2个类,samurai和背景。最后的结果不是很理想,框子有点大。可能是数据不够的原因)



我要回帖

更多关于 3R训练 的文章

 

随机推荐