赞
踩
目标检测RCNN算法经历了RCNN->FAST RCNN->FASTER RCNN的递进演化。
1. 在cpu端提取候选框:通过纹理或色彩等传统算法(SelectiveSearch)在原图中找到可能的候选框,通常为1k~2k个
2. 将候选框归一缩放为统一大小,分别输入cnn网络提取特征
3. 使用svm或softmax分类器分类,对于有目标框回归目标框体。
缺点:
需要现在cpu上预处理图片,处理步骤过多,每个region都要进行一次cnn前向传播,多次重复计算
与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在上面的基础上更近了一步,将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,只对正样本进行计算。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。