Ubuntu下运行Faster-Rcnn
Faster-Rcnn 介绍
前几天Shaoqing Ren放出了Faster-Rcnn的代码,可以在他的Github上下载得到,上面也有详细的配置说明。
我下载下来,在自己的虚拟机上测试了一下,速度上确实比之前的Fast-Rcnn有提高。
SPP-Net,Fast-Rcnn,Faster-Rcnn都是在Ross Girshick2014年发布的RCNN上面的改进与提高,其中SPP-Net,Faster-Rcnn都是Shaoqing Ren的作品,当然其中还有Kaiming He以及Ross Girshick等微软亚研院研究员的贡献。Shaoqing Ren也是个牛人啊,可以去他的个人主页看看他做的一些工作,ICCV,CVPR,ECCV三大会,PAMI都发过论文,今年Faster-Rcnn还发表在了NIPS上,是我的奋斗目标!
Faster-Rcnn相对于Fast-Rcnn的改进在于将Object Proposal利用CNN网络实现,并与Detection的CNN网络结合实现了一个端到端的Object Detection框架。之前Fast-Rcnn的Proposal是利用Selective Search实现的,SS方法虽然得到的Proposal相对于其他方法是较好的,但是其速度比较慢,更不用说跟利用GPU进行加速的Detection步骤相比,由此Proposal的产生便成为了一个瓶颈。
而Faster-Rcnn便解决了这个问题,不单单是加速了Proposal的产生,还将两个网络结合进行优化,于是原本跟Detection任务分离的Proposal步骤被结合了起来,Detection的结果好坏会通过梯度的回传影响到Proposal网络的参数,Faster-Rcnn实现优化的思路采用的是常见的固定一个更新另一个的策略,固定Proposal网络,更新Detection网络,再固定Detection网络,更新Proposal网络。
Faster-Rcnn 配置
参考Shaoqing Ren的配置说明:
(1) 安装Matlab 2014a
(2) 下载源代码
git clone --recursive https://github.com/ShaoqingRen/faster_rcnn.git
(3)配置Caffe
将你之前配置过的CaffeMakefile.config
拷贝至./faster-rcnn/external/caffe
,记得修改Matlab接口,接着编译就可以了。
make -j$(nproc)
make matcaffe -j$(nproc)
(4) 运行Faster-Rcnn
A. 在faster-rcnn路径下打开Matlab,或者直接打开Matlab再切换到faster-rcnn路径,运行faster_rcnn_build.m
,