Faster-RCNN全攻略

1.前言

首先当然得感谢rbgirshick大神给我们不断带来惊喜,在fast-rcnn的基础上升级的faster-RCNN,这是github地址,https://github.com/rbgirshick/py-faster-rcnn,论文地址,https://arxiv.org/abs/1506.01497下面是几篇写的很好的博客总结,
http://blog.csdn.net/shenxiaolu1984/article/details/51036677http://www.360doc.com/content/17/0303/14/10408243_633634497.shtml

2.安装

好了,废话不多说了,前面的理论知识学习完我们就可以开始实践了,这里简单介绍一下faster-rcnn代码的特点

  1. 自带的caffe,安装前可以不安装caffe,当然我觉着还是先自己安装好caffe比较安心
  2. 所有的tools均为python语言编写,方便使用
  3. 基于caffe构架,能力强的同学可以好好研究一下它是怎么搭建的
  4. 提供了tool可以进行训练,适应不同的cnn的网络,当然它只提供了zf,vgg12,和vgg16的tool,你想换比较新的,比如googleNet得自己参照着写

下面正式介绍安装:
本文的安装工作收到了下面的这篇文章很多启发,欢迎查看http://blog.csdn.net/sinat_30071459/article/details/51332084
本来想好好翻译一下,现在我又犯懒了,只挑重点说:

第一步:安装各种支持的库

pip install cython  
pip install easydict  
apt-get install python-opencv 

第二步:安装各种支持的库

git submodule update --init --recursive

第三步:编译caffe

希望你已经装好caffe再玩frcnn,因为caffe很难装。给个我自己摸索的教程:
http://blog.csdn.net/angelfish91/article/details/56019558

第四步:编译frcnn的lib

进入py-faster-rcnn/lib
执行make

第五步:下载VOC2007数据集

提供一个百度云地址:http://pan.baidu.com/s/1mhMKKw4
解压,然后,将该数据集放在py-faster-rcnn\data下,用你的数据集替换VOC2007数据集。(替换Annotations,ImageSets和JPEGImages)
(用你的Annotations,ImagesSets和JPEGImages替换py-faster-rcnn\data\VOCdevkit2007\VOC2007中对应文件夹)

第六步:下载ImageNet数据集下预训练得到的模型参数(用来初始化)

提供一个百度云地址:http://pan.baidu.com/s/1hsxx8OW
解压,然后将该文件放在py-faster-rcnn\data下
也可以参照github上通过脚本来下载:

Download pre-computed Faster R-CNN detectors

cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh

This will populate the $FRCN_ROOT/data folder with faster_rcnn_models. See data/README.md for details. These models were trained on VOC 2007 trainval.

第七步:运行Demo

After successfully completing basic installation, you’ll be ready to run the demo.

To run the demo

cd $FRCN_ROOT
./tools/demo.py

The demo performs detection using a VGG16 network trained for detection on PASCAL VOC 2007.

3. 训练

光玩玩Demo怎么行,下面介绍如何自己训练,先来看看步骤

  1. 准备数据
  2. 将数据制作成voc2007的格式
  3. 准备环境
  4. 设置参数进行训练

一项一项说:
数据最好是视频中取得照片,不用特别多,根据经验,超过500张训练出来就不会太差了。那么照片怎么标定呢,参照我整理的blog: http://blog.csdn.net/angelfish91/article/details/56295908

好了,数据有了,接下来是准备环境,第一步是修改网络参数,怎么修改,参照blog:http://blog.csdn.net/sinat_30071459/article/details/51332084,接下来要注意了,根据我踩过的坑:

  1. python中numpy 的版本必须为1.11,否则训练报错,怎么安装,参考blog:http://blog.csdn.net/youcharming/article/details/51073911
  2. 训练报错assert (boxes[:, 2] >= boxes[:, 0]).all()出现AssertionError,参考:http://blog.csdn.net/xzzppp/article/details/52036794
  3. !!!为防止与之前的模型搞混,训练前把output文件夹删除(或改个其他名),还要把py-faster-rcnn/data/cache中的文件和
    py-faster-rcnn/data/VOCdevkit2007/annotations_cache中的文件删除(如果有的话)。

学习率等之类的设置,可在py-faster-rcnn/models/pascal_voc/ZF/faster_rcnn_alt_opt中的solve文件设置,迭代次数可在py-faster-rcnn\tools的train_faster_rcnn_alt_opt.py中修改:

4. 测试

将训练得到的py-faster-rcnn\output\faster_rcnn_alt_opt***_trainval中ZF的caffemodel拷贝至py-faster-rcnn\data\faster_rcnn_models(如果没有这个文件夹,就新建一个),然后,修改:
py-faster-rcnn\tools\demo.py,参考blog: http://blog.csdn.net/sinat_30071459/article/details/51332084,
弄好之后就可以通过demo来进行测试啦

5. 小结

faster-RCNN因为出色的性能,完善的代码,网上有很多教程,当环境配置出现问题时,请请教百度与google,很多问题在gibhub和stack overflow 上已经有人踩过坑了,祝大家训练成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值