其他分享
首页 > 其他分享> > 【每日一网】Day2:Fast R-CNN流程简单理解

【每日一网】Day2:Fast R-CNN流程简单理解

作者:互联网

Fast RCNN

算法简介

Fast R-CNN仍然使用VGG16作为网络的backbone,与R-CNN相比,训练时间快9倍,测试推理时间快213倍,准确率从62%提升到66%

算法流程

Fast R-CNN算法流程可分为三个步骤
1、一张图像生成1k-2k个候选区域(使用selective search)方法
2、将图像输入网络得到相应的特征图,将ss算法生成的候选框投影到特征图上得到相应的特征矩阵
3、将每个特征矩阵通过ROI Pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全链接层得到预测结果在这里插入图片描述

一次性计算整张图像

与R-CNN不同,R-CNN是将每个候选框分别送入网络,有可能相同的一个特征区域会被计算很多次,造成冗余, Fast R-CNN则是将整张图像送入网络,紧接着从计算出的特征图像上利用候选框提取相应的候选区域,从而不需要重复计算

在论文中,作者将候选框与gt的IOU大于0.5的则定义为正样本, Fast R-CNN中并不是采用所有ss算法产生的候选区,而是采用了其中一部分

Fast R-CNN

文中对生成候选框的区域进行了Max Pooling操作,统一变为7x7的特征矩阵,所以不需要限制输入图像的尺寸。在这里插入图片描述

分类器

图像经过ROI Pooling之后将会输入两个全链接层并展平,随后会并联输入两个全链接层,其中一个负责目标概率预测,一个负责候选框边界回归,分类器会输出N+1个类别的概率,其中N为检测目标的种类,1为背景概率,由于是经过Softmax处理之后输出的,所以N+1类概率和为1。
在这里插入图片描述
在这里插入图片描述

边界框回归器

边界框回归器会输出对应N+1个类别的候选边界框回归参数(dx, dy, dw, dh)共(N+1)x4个节点
在这里插入图片描述
边界框回归的计算函数为
在这里插入图片描述

损失函数

在这里插入图片描述
其中分类损失为为Softmax交叉熵损失

在这里插入图片描述
在这里插入图片描述
边界框回归损失
在这里插入图片描述

TIPS:
损失函数中的lamda是一个平衡系数,用来平衡分类损失和边界框损失;

[u>=1]为艾弗森括号,u>=1时对应的边界框中是正样本,所以等于1,u<1时对应边界框中对应的是背景,也就是负样本所以等于0,就不存在边界框回归损失了。

回归参数Vx = (Gx - Px)/Pw
(真实x - 预测x)/预测w
Vy同理
ln(Vw) = ln(Gw/Pw)
ln(Vh) = ln(Gh/Ph)

ps:交叉熵损失

1、针对多分类问题(softmax输出,所有输出概率和为1)
在这里插入图片描述
在这里插入图片描述

2、针对二分类问题(sigmod输出,每个输出结点之间互不相干)
在这里插入图片描述

selective search算法

Selective search算法(以下简称ss算法):首先通过以及简单的聚类生成区域集合(利用felzenszwalb算法);然后根据定义的相似度不断合并相邻区域构成新的候选框。本质上是一种基于在原始聚类后的区域集合上,依照邻域的相似度,从小到大的进行滑动窗口。

具体算法实现步骤如下:
step1:计算区域集R里每个相邻区域的相似度S={s1,s2,…}
step2:找出相似度最高的两个区域,将其合并为新集,添加进R
step3:从S中移除所有与step2中有关的子集
step4:计算新集与所有子集的相似度
step5:跳至step2,直至S为空

区域相似度,颜色、纹理、尺寸、交叠。四个方面。

标签:候选框,边界,Day2,Fast,算法,区域,CNN
来源: https://blog.csdn.net/dudu199806/article/details/111219059