美文网首页
折腾faster-rcnn(二)--数据篇

折腾faster-rcnn(二)--数据篇

作者: dacf13a4e779 | 来源:发表于2018-01-08 11:15 被阅读0次

    标签:深度学习 Linux
    Platform:ubuntu 16.04 LTS + CUDA 8.0 + OPENCV 2.4.13 + Python 2.7


    demo已经成功跑完,但是训练数据集,或者更普遍的,训练自己的数据集该怎么搞呢? 请看下文,这里以Pascal VOC 2007为例:

    下载Pascal VOC 2007

    这里参照的是py-faster-rcnn的Beyond the demo: installation for training and testing models
    下载三个文件

    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
    wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
    

    在data目录下,新建一个VOCdevkit2007文件夹,将这三个文件解压至此:

    tar xvf VOCtrainval_06-Nov-2007.tar
    tar xvf VOCtest_06-Nov-2007.tar
    tar xvf VOCdevkit_08-Jun-2007.tar
    

    下载ImageNet预训练模型

    在py-faster-rcnn根目录下执行脚本:

    ./data/scripts/fetch_imagenet_models.sh
    

    修改头文件protocol bufffers(以下简称protobuf)

    faster rcnn有两种各种训练方式:

    • Alternative training(alt-opt)
    • Approximate joint training(end-to-end)
      这一部分是我觉得最坑的地方,没有人告诉我要改这个,只要一执行训练脚本
    ./experiments/scripts/faster_rcnn_alt_opt.sh 0 ZF pascal_voc
    

    或者

    ./experiments/scripts/faster_rcnn_end2end.sh 0 ZF pascal_voc
    

    就会报错:

    AttributeError: 'module' object has no attribute 'text_format'
    

    查看Python脚本,原来是protobuf出了问题,这里需要修改lib/fast_rcnn/train.py的头文件,增加一行:

    import google.protobuf.text_format
    

    顺便吐槽一下这里搞了好久,应该是protobuf更新太快了,建议作者写出protobuf的版本!!!然后执行训练脚本就行了。

    第一阶段迭代完成后报错:

    TypeError: 'numpy.float64' object cannot be interpreted as an index
    

    将numpy降级:

    sudo pip install -U numpy==1.11.0
    

    看到没有,这里还需要降级numpy,真是醉了

    阅读Pascal VOC文档的一些所得:

    1. 该图像集分为训练/验证集和测试集两个部分,在跑faster-rcnn的时候是混在一起的,只通过ImageSets下的txt文件来区分图像到底属于哪个集合,实际上faster-rcnn只用到了Main文件夹下的txt文件,我们自己做图像集的时候可以只做这个文件夹下的内容。
    2. Main文件夹下的有train,trainval,val,test四个文件,这是所有图像的集合,可以打开看到这里没有加类标签。其他前面加上前缀类标的同名文件也是所有图像的集合,但后面如果是1代表是本类(正样本),-1代表不是本类(负样本),0代表不确定(模糊样本,多出现在test文件里)。从集合的观点可以这么理解,所有类样本名的集合构成了以上四个文件。制作这四个文件的脚本以后会发的~~

    相关文章

      网友评论

          本文标题:折腾faster-rcnn(二)--数据篇

          本文链接:https://www.haomeiwen.com/subject/joovnxtx.html