Faster-RCNN论文解读

Faster R-CNN是一种目标检测算法,通过引入region proposal network(RPN)和anchor box机制,实现在GPU上高效进行region proposal的选取和过滤。RPN与Fast R-CNN共享卷积层,加速检测过程,减少计算量。使用3x3卷积核提取特征,通过1x1卷积层进行分类和回归预测,最终通过非极大值抑制筛选出约2000个候选区域。

动机

选取region proposal的算法在CPU上比较消耗时间。Selective search算法速度大约是一张图片两秒,Edgeboxes算法大约是一张图片0.2秒

贡献

提出region proposal network,能够替代selective search算法和edgeboxes算法,直接在GPU上进行region proposal的选取和过滤,并且几乎不需要太多计算开销

算法

在这里插入图片描述
Faster RCNN由两个部分组成,一个是region proposal network,另一个是Fast R-CNN detector

Region proposal network

RPN主要用于ROI的过滤和选择。RPN和Fast R-CNN共享了最前面的多个卷积层(ZF结构是前5层,VGG16结构是前13层),能在一定程度上加速检测并减小计算量和模型大小。使用一个nxn的卷积核对最后一个共享卷积层的输出feature map进行卷积,得到输入图像每个grid的低维度特征(ZF结构是256通道,VGG结构是512通道)。再将低维度特征图分别输入到两个分支的1x1卷积层,一个分支用于每个grid的bbox的回归预测,另一个分支用于每个grid的bbox分类有无目标的预测。

Anchors

在这里插入图片描述
在bbox回归和分类的两个分支中,利用先验知识,为每个grid预设了k个anchor box,为每个anchor box预测6个输出值(tx, ty, tw, th, obj_probability, noobj_probability),总共(2 + 4)k个值。根据anchor box的x, y, w, h和转换公式的逆运算,就可以得到预测的真正bbox的x, y, w, h。
在这里插入图片描述
本文中为每个grid设置了9个anchor box,每个anchor box有不同的长宽比和像素数,以保证能够检测不同大小的目标。这种方式比特征金字塔和滤波器金字塔的方法要更加高效
在这里插入图片描述

损失函数

RPN进行bbox回归和分类的损失函数:
在这里插入图片描述
分类使用softmax loss。回归使用smooth L1 loss,对噪声更加鲁棒。回归不直接预测x, y偏移量和w, h伸缩比,如下图:
在这里插入图片描述

训练

由于负样本远多于正样本,所以在训练时只对每个训练图片采样256个anchor box,其中的正样本和负样本的比例为1:1。
由于RPN和Fast RCNN共享了前几层卷积层,所以采用了4步交替训练。第一步:训练RPN;第二步:使用第一步训练好的RPN产生的region proposal数据训练Fast RCNN,此时RPN和Fast RCNN没有共享卷积层;第三步:使用训练好的Fast RCNN的卷积层初始化RPN的卷积层,并固定参数不参与后向传播,只训练RPN中不和fast RCNN共享的网络卷积层;第四步:固定Fast RCNN中共享卷积层的参数不参与后向传播,微调Fast RCNN中不和RPN共享的网络卷积层。不断重复第一到四步。

部分实现细节

  1. 训练时忽略所有超过图片边界的anchor box,不其计算损失
  2. 在测试时对超过图片边界的anchor box进行clip
  3. 对RPN预测的所有region proposal的结果进行非极大值抑制,剔除大面积重叠的有目标的region,只留下大约2000个。在2000个中只取目标概率为top-N的N个region作为候选目标区域,用于将该区域对应的特征进行下一步的细分类和bbox位置微调

优缺点

优点

首次提出RPN和anchor box机制,实现了GPU上的region proposal预测,也使得预测bbox更加高效和准确

缺点

速度上还是难以达到实时

反思

  1. 预测流程梳理:输入RGB图片,首先是在RPN分支进行region proposal的预测。对最后一个共享卷积层的输出feature map进行3x3卷积,然后在回归分支和分类分支分别使用1x1卷积进行anchor box和region proposal的偏移的回归预测以及region proposal有无目标的分类预测。对预测的所有region proposal进行非极大值抑制处理,留下约2000个region,然后选取有目标概率为top-N的N个region proposal。将这些region proposal根据输入图片的长宽等比例地映射到最后一个共享卷积层的输出feature map上,提取ROI,并max poolig到3x3的feature map,再对每个ROI进行全连接卷积变成4096维的特征,再输入分类器和回归器分别进行细分类和位置微调。
  2. Faster RCNN应该为yolo的诞生提供了思路,感觉yolo就是faster RCNN的紧凑版
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值