Caffe-SSD 和Faster RCNN训练 Caltech行人数据集

前言:
    本教程的主要内容:    
    1,将Caltech行人数据集转换成Caffe-SSD,Faster RCNN系列能够训练的格式(VOC数据集格式);
    2,同理,可以将INRIA,ETH,TUD等数据集转换成VOC格式。
    3,Caltech数据集转换后适用的算法:RCNN系列(Faster RCNN,RFCN),SSD系列
 
Caltech数据集介绍:
     该数据库是目前规模较大的行人数据库,采用车载摄像头拍摄,约10个小时左右,视频的分辨率为640x480,30帧/秒。标注了约250,000帧(约137分钟),350000个矩形框,2300个行人,另外还对矩形框之间的时间对应关系及其遮挡的情况进行标注。
     数据集分为set00~set10,其中set00~set05为训练集,set06~set10为测试集(标注信息尚未公开)。
     性能评估方法有以下三种:(1)用外部数据进行训练,在set06~set10进行测试;(2)6-fold交叉验证,选择其中的5个做训练,另外一个做测试,调整参数,最后给出训练集上的性能;(3)用set00~set05训练,set06~set10做测试。
     由于测试集的标注信息没有公开,需要提交给 Pitor Dollar 。结果提交方法为每30帧做一个测试,将结果保存在txt文档中(文件的命名方式为I00029.txt I00059.txt ……),每个txt文件中的每行表示检测到一个行人,格式为“[left, top,width, height, score]”。如果没有检测到任何行人,则txt文档为空。该数据库还提供了相应的Matlab工具包,包括视频标注信息的读取、画ROC(Receiver Operatingcharacteristic Curve)曲线图和非极大值抑制等工具。

目的: 由于基于caffe的SSD和Faster RCNN系列都是使用Pascal VOC数据集来进行的训练,所以使用SSD和Faster RCNN系列训练Caltech行人数据集时, 必须要 将Caltech 行人数据集转化成VOC格式

工具:


环境:caffe,caffe-SSD,matlab,windows7(linux适用),python(安装了opencv),

第一步:下载工具集Caltech2VOC: https://github.com/WeiFeifan/Caltech2VOC

第二步:在%caffe-root%/data文件夹中新建caltech文件夹,将Caltech2VOC中的所有内容复制到%caffe-root%/data/caltech; 这里%caffe-root%是指本机上的caffe根目录。

第三步: 下载Caltech数据集,下载到%caffe-root%/data/caltech中。如果已经下载好的话,可以将Caltech数据集解压到%caffe-root%/data/caltech/caltech_code/data-USA;这里放在data/caltech只是为了方便说明,放在其他路径时,自己修改相应路径

第四步: 运行%caffe-root%/data/caltech/caltech_code/extractDatasets.m  这时会在%caffe-root%/data/caltech文件夹下

生成trainval和test文件夹。

    这里trainval设置的是每5帧提取出1帧图片,如果你想提取更多的训练数据的话,可以适当修改dbInfo.m。

 如下图:


dbInfo.m中的第47行代码,红色框中的skip就是每隔5帧提取出1帧图片。可以自行设置。
test数据是每30帧提取一张图片,设置内容与官网上提交测试结果统一。


第五步:生成的trainval和test文件夹中会有images和labels文件夹,分别存放了图片和标注信息。其中bounding box是txt格式的,我们需要转化成VOC的xml格式。
运行第二步复制到 %caffe-root%/data/caltech中的createXml.py,其中:

以上对应了你自己的路径信息。第一次运行生成trainval中的annotations,第二次运行修改foldername=‘test’后,生成test中的annotations。

第六步:在没有行人的图片中并不生成annotation文件,可以将没有行人的图片移除。这里将原来的原来的images文件夹改名为OImages,新建一个空文件夹images。
运行第二步复制来的move_jpgto.py。即可生成我们想要的VOC格式的caltech行人数据集。

补充一些:
     这里的caltech数据集分成了trainval和test两部分,有别于VOC格式将trainval和test放在一起。如果明白caffe制作数据的原理就明白了,这里其实是一样的。

后面的步骤是将VOC格式的数据集转换成caffe使用的lmdb格式。这里基本没什么难点了。
将VOC转换成lmdb格式可参考: http://blog.csdn.net/u010725283/article/details/79122513

补充一句:Caltech2VOC是对P神的matlab工具集进行的修改,如果对你有帮助,记着star一下,谢谢啦。

另附一句:如果什么疑问可以加QQ:2427020508





  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值