当前位置:   article > 正文

Faster RCNN算法演进_farstrcnn和crnn结合

farstrcnn和crnn结合

目标检测RCNN算法经历了RCNN->FAST RCNN->FASTER RCNN的递进演化。

RCNN原理及实现步骤

1. 在cpu端提取候选框:通过纹理或色彩等传统算法(SelectiveSearch)在原图中找到可能的候选框,通常为1k~2k个

2. 将候选框归一缩放为统一大小,分别输入cnn网络提取特征

3. 使用svm或softmax分类器分类,对于有目标框回归目标框体。

缺点:

需要现在cpu上预处理图片,处理步骤过多,每个region都要进行一次cnn前向传播,多次重复计算

FAST RCNN原理及实现

与RCNN最大的区别在于FAST CRNN是对一整张图进行卷积抽取特征,而RCNN是对每一个proposal分别进行卷积运算。

当FAST RCNN卷积完成后,会连接一个ROI Pooling层。这个层的作用主要是用于特征尺寸变换,其输入是卷积完成的特征图和SelectiveSearch提取出来的Proposal。因为原图与特征图存在对应关系,所以每个proposal也对应特征图上的一个特定区域。ROI Pooling会将该区域均匀地分割为M×N个网格,然后对每个网格做pooling,最后拉平成一个 (M×N)x1 大小的1维向量,传入后续的全连接中做分类和框体回归。
尽管ROI Pooling可以看做是针对ROI区域的feature map的Pooling操作,但因为不是固定尺寸的输入,因此每次的pooling网格大小得手动计算。 

这里写图片描述

FASTER RCNN实现原理

faster rcnn在上面的基础上更近了一步,将proposal的生成部分放到了roi层中。

anchor机制:

生成propoasl的规则基于anchor机制,对于卷积完成的特征图,根据给出一个基准窗大小,按照倍数和长宽比例得到不同大小的窗。例如论文中基准窗大小为16,给了(8、16、32)三种倍数和(0.5、1、2)三种比例,这样能够得到一共9种尺度的anchor。当最终特征图为M×N大小时,所生成的anchor数量就为 M×N×9个。

样本生成机制:

生成anchor后,需要对anchor进行筛选,与实际的样本label组成正样本与负样本。

1)假如某anchor与任一目标区域的IoU最大,则该anchor判定为有目标;

2)假如某anchor与任一目标区域的IoU>0.7,则判定为有目标;

3)假如某anchor与任一目标区域的IoU<0.3,则判定为背景。

所谓IoU,就是预测box和真实box的覆盖率,其值等于两个box的交集除以两个box的并集。正负样本均随机选择128个参与训练,其它的anchor不参与训练。

结果筛选NMS:

最终会生成很多候选框,之中很多是重叠的。FASTER RCNN准确率准确率最大的为基准,对于相互间IoU不大于0.7的目标框,只保留准确率高的候选框。然后在剩余的选择top-N,前300个框用于训练。

代价函数定义为:

注意,对回归框坐标的loss,只对正样本进行计算。

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/577291
推荐阅读
相关标签
  

闽ICP备14008679号