Faster R-CNN

算法过程(RPN+Fast R-CNN)

  • 将图像输入网络得到相应的特征图
  • 使用RPN结构生成后选矿,将RPN生成的候选框投影到特征图上获得相应的特征矩阵
  • 将每个特征矩阵通过RoI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果
    在这里插入图片描述

将图像输入网络得到相应的特征图

与Fast R-CNN第一步相同

使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵

RPN结构

在这里插入图片描述

  • 2k scores:一个anchor对应两个概率,一个是前景的概率,一个是背景的概率。如下图cls所示,每两个格子对应一个anchor,第一个格子表示为背景的概率,第二个格子表示为前景的概率。

  • 4k coordinates:每个anchor会生成4个边界框回归参数。如下图所示,在reg中每四个对应一个anchor,分别表示中心点的x、y坐标以及边框的长和宽
    在这里插入图片描述

  • 256-d:将ZF作为backbone时,该网络生成的特征图的channel是256。如果使用VGG-16的话,就是512

  • anchor:滑动窗口中心点在原图对应的位置,然后以该位置为中心,画出k个anchor box。每个位置(每个滑动窗口)在原图上都对应有3x3=9个anchor

    • 三种尺度(面积): { 12 8 2 , 25 6 2 , 51 2 2 } \left \{ 128^2, 256^2, 512^2 \right \} {1282,2562,5122}
    • 三种比例: { 1 : 1 , 1 : 2 , 2 : 1 } \left \{1:1, 1:2, 2:1 \right \} {1:1,1:2,2:1}
  • cls:第一个是背景的概率,第二个是前景的概率。每个位置会生成2x9=18个cls

  • reg:每个位置会生成4x9=36个reg

  • 感受野:对于ZF网络是171,对于VGG网络是228

根据以上知识点,对于一张1000x600x3的图像,大约有60x40x9(20K)个anchor,忽略跨越边界的anchor以后,剩下约6K个anchor。对于PRN生成的候选框之间存在大量重叠,基于候选框的cls得分,采用非极大抑制,IoU设为0.7,这样每张图片只剩2K个候选框。
在这里插入图片描述

只采用256个anchor(由正样本和负样本1:1组成,如果正样本不足128个,则由负样本补足)

  • 正样本:anchor与ground-truth box的IoU值大于0.7,或者拥有最大IoU的anchor
  • 与所有的ground-truth box的IoU值小于0.3
    滑动窗口其实就是3x3的卷积层,步长为1,padding为1,通过该卷积层获得的特征矩阵和原来的feature map尺寸一样。
    在这里插入图片描述

将每个特征矩阵通过RoI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果

loss function

L ( { p i } , { t i } ) = 1 N c l s ∑ i L c l s ( p i , p i ∗ ) + λ 1 N r e g ∑ i p i ∗ L r e g ( t i , t i ∗ ) L\left (\left \{p_i \right \}, \left \{t_i \right \}\right )=\frac{1}{N_{cls}}\sum_{i}L_{cls}(p_i,p^*_i)+\lambda\frac{1}{N_{reg}}\sum_ip_i^*L_{reg}(t_i,t_i^*) L({pi},{ti})=Ncls1iLcls(pi,pi)+λNreg1ipiLreg(ti,ti)

  • p i p_i pi表示第i个anchor预测为真实标签的概率
  • p i ∗ p_i^* pi当为正样本时为1,当为负样本时为0
  • t i t_i ti表示预测第i个anchor的边界框回归参数
  • t i ∗ t^*_i ti表示第i个anchor对应的GT Box的边界框回归参数
  • N c l s N_{cls} Ncls表示一个mini- batch中的所有样本数量256
  • N r e g N_{reg} Nreg表示anchor位置的个数(不是anchor个数)约2400
  • λ \lambda λ通常取10

由于 λ 1 N r e g = 1 240 \lambda\frac{1}{N_{reg}}=\frac{1}{240} λNreg1=2401,所以有时也将这两项合并求解。

分类损失
多分类

L c l s = − log ⁡ ( p i ) L_{cls} = -\log (p_i) Lcls=log(pi)

  • p i p_i pi表示第i个anchor预测为真实标签的概率
  • p i ∗ p^*_i pi当样本正证样本时为1,当为负样本时为0。

以下图为例,上方的1011表示预测为真实标签的情况,1表示为前景,0表示为背景。第一个anchor的损失为 − ln ⁡ ( 0.9 ) -\ln(0.9) ln(0.9),第二个anchor的损失为 − ln ⁡ 0.2 -\ln0.2 ln0.2注意:不是 − ln ⁡ 0.8 -\ln0.8 ln0.8
在这里插入图片描述

二分类

L c l s = − [ p i ∗ log ⁡ ( p i ) + ( 1 − p i ∗ ) log ⁡ ( 1 − p i ) ] L_{cls}=-[p_i^*\log(p_i)+(1-p_i^*)\log(1-p_i)] Lcls=[pilog(pi)+(1pi)log(1pi)]

  • p i p_i pi表示第i个anchor预测为真实标签的概率
  • p i ∗ p^*_i pi当样本正证样本时为1,当为负样本时为0。

以下图为例,第一个损失为 − ln ⁡ ( 0.9 -\ln(0.9 ln(0.9,第二个的损失为 − [ ( 1 − 0 ) ln ⁡ ( 1 − 0.2 ) ] = − ln ⁡ 0.8 -[(1-0)\ln(1-0.2)] =-\ln0.8 [(10)ln(10.2)]=ln0.8……以此类推。
在这里插入图片描述

边界框回归损失

L r e g ( t i , t i ∗ ) = ∑ i s m o o t h L 1 ( t i − t i ∗ ) L_{reg}(t_i,t_i^*)=\sum_ismooth_{L_1}(t_i-t_i^*) Lreg(ti,ti)=ismoothL1(titi)
s m o o t h L 1 ( x ) = { ∣ x ∣ − 0.5 , o t h e r w i s e 0.5 x 2 , i f ∣ x ∣ < 1 smooth_{L_1}(x)=\left \{ ^{0.5x^2,if \left | x \right |<1}_{\left | x \right |-0.5,otherwise} \right. smoothL1(x)={x0.5,otherwise0.5x2,ifx<1

  • t i = [ t x , t y , t w , t h ] t_i=[t_x,t_y,t_w,t_h] ti=[tx,ty,tw,th]
  • t i ∗ = [ t x ∗ , t y ∗ , t h ∗ , t w ∗ ] t_i^*=[t_x^*,t_y^*,t_h^*,t_w^*] ti=[tx,ty,th,tw]
  • p i ∗ p^*_i pi当样本正证样本时为1,当为负样本时为0
  • t i t_i ti表示预测第i个anchor的边界框回归参数
  • t i ∗ t_i^* ti表示第i个anchor对应的GT Box的回归参数
    在这里插入图片描述

训练

方法1:直接采用RPN Loss+Fast R-CNN Loss的联合训练方法(推荐)

方法2:原论文的方法(麻烦,不推荐)

总结

在这里插入图片描述
参考资料:良心视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明 YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明YOLO高分设计资源源码,详情请查看资源内容使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值