深度学习完全攻略!(连载九:fast-RCNN模型理解)

在前面的章节中,我们已经介绍了RCNN了,可以很明显的看到RCNN是一种基于多方法联合使用的策略。这种方法最大的缺点就是可控性较差。一旦有一个环节没有处理好就影响最终的结果。比如说:

  1. select search 方法如果处理不好,后面的基本不用再搞了,而且,这也是算法最耗时的部分
  2. CNN需要对每个候选框做扩展,然后送入到神经网络中,这极大的限制了CNN对原始数据的利用
  3. SVM分类虽然可以做到较好的分类,同时结合bounding box回归可以预测物体位置,但是这样做很费事
  4. 深度学习最擅长的就是做大数据的分析。很久以前,我在研究稀疏表示的时候,参数是自己逐个逐个的调,而且参数不易过多,深度学习却可以用成千上百万的参数做相同的事情。既然是这样,过多的额外步骤就发挥不了深度学习的优势。所以,一个大的趋势就是怎么充分利用CNN的优势,做我们想做的事情,同时去掉额外的多余外来处理和操作。

 

第一,fast-rcnn的原理

在此背景下,fast-rcnn就诞生了。

好了,一张图说一说fast-rcnn的原理。

 

 

从图中可以看到,fast-rcnn相比于rcnn最大的改变是去掉了后面的SVM。直接将目标预测和位置预测放到了CNN中。但是,fast-rcnn保留了select search候选区生成方法,这也为进一步的改进留下了空间。

 

第二,fast-rcnn关键点说明

Fast-rcnn有两个地方是最值得说明的,这也是本文主要的内容所在,ROI pooling 和联合目标函数。

(1)ROI pooling

 

 

 

 

(2)联合目标函数

 

 

 

 

再fast-rcnn中,select search生成候选框很讨厌,怎么把这一部分也省去,让CNN来做呢?下一节,faster-rcnn将做介绍。

本文已同步至微信公众号--> 麻瓜智能,欢迎关注

你可能感兴趣的:(深度学习)