FR-CNN是Ross Girshick的新作,从文章来看FR-CNN比R-CNN和SPPNet都快很多。当然R-CNN和SPPNet也都是Girshick的作品,FR-CNN的正确率不仅超越Girshick自己的嫡出,也超过了DPM等其他方法。
FR-CNN正如文章所说的是一个简单,并且Elegant的框架。和那些Pipeline的模型相比,的确是优雅很多的。当然FR-CNN本身也可以看作是一个Pipeline,只不过这个Pipeline只有两个步骤,一是Pretrain的CNN,第二个是Region Pooling和Fully connected Network(FC)。
我认为优雅之处在于:
文章采用了多目标的函数,所以把分类问题和Localization问题一起解决了。 最终的目标函数可以用于Fine tune Pretrained CNN (当然也不是每一层都能Train)。这样看起来就是一个统一的框架了。 https://github.com/rbgirshick/fast-rcnn
For training smaller networks (CaffeNet, VGG_CNN_M_1024) a good GPU (e.g., Titan, K20, K40, …) with at least 3G of memory suffices For training with VGG16, you’ll need a K40 (~11G of memory) 目前的GPU是GTX980ti显存满足条件
参照我的计算机的配置
可能你的机器上没有cython, easydict
sudo pip install cython sudo pip install easydict1下载源代码
git clone --recursive https://github.com/rbgirshick/fast-rcnn.git下载代码的目录,命名为$FRCN_ROOT。
2编译Cython
cd $FRCN_ROOT/lib make3编译Caffe and pycaffe
caffe 的安装与配置
cd $FRCN_ROOT/caffe-fast-rcnn cp Makefile.config.example Makefile.config #用例子文件作为模板 vi Makefile.config # 按照你的机器设置进行修改。 make -j8 && make pycaffe在Makefile.config中记得将注释掉的WITH_PYTHON_LAYER := 1 释放出来
4下载pre-computed Fast R-CNN detectors
大概985M, 慢慢等待。
cd $FRCN_ROOT ./data/scripts/fetch_fast_rcnn_models.sh5 运行演示
cd $FRCN_ROOT ./tools/demo.py效果图:
整个过程很顺利,没有出现什么问题 主要是参照作者的github提供README.md 接下来就是进攻faster rcnn 希望顺利~