Faster R-CNN算法(论文部分翻译+总结)

Faster R-CNN通过Region Proposal Network(RPN)实现快速对象检测,解决了Fast R-CNN中Selective Search耗时的问题。RPN是一个共享卷积层的网络,用于生成带有objectness score的候选区域。Anchors是预设大小的参考框,RPN在每个sliding window位置预测多个候选区域。训练RPN时,采用二分类损失函数和边界框回归损失,以1:1比例采样positive和negative anchors。RPN与Fast R-CNN通过交替优化共享权值,实现整体网络的训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文题目是《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》

在Fast R-CNN中,候选区域的选择是用的Selective Search(SS)方法,因此在生成候选区域的这一步上要花费很长时间,几乎和检测时间一样长。本文提出了一种用深度网络生成候选区域的网络RPN,与检测网络的计算相比,使用该网络对候选区域的计算几乎不花费太多时间。


RPN的结构

RPN的输入是一个任意大小的图像,输出是一系列矩形候选区域,并且每个候选区域都有一个objectness score(objectness衡量的是一系列对象类和背景的关系)。为了让RPN与Fast R-CNN目标检测网络共享权值,论文假设两个网络共享一些卷积层。论文研究了ZF模型和VGG模型,在ZF模型中,有5个可共享的卷积层;在VGG模型中,有13个可共享的卷积层。
在这里插入图片描述
上图是RPN的结构(以ZF为参考模型)。conv feature map是由最后一个可共享的卷积层输出的特征图,其上的sliding window的大小是n × n,属于RPN中的第一个卷积层,它的作用相当于卷积操作中的滑动窗口。这篇论文中n=3,因为在输入图像上的有效感受野是很大的(ZF中是171个像素,VGG中是228个像素)。
整个RPN的结构是
首先是n × n(3×3)的卷积层,其输出用ReLU函数激活;
然后将n × n(3×3)卷积层中每个sliding window映射到一个低维的向量中(ZF是256维,VGG是512维);
最后向量通过两个同级的1×1的卷积层分为两路,再分别馈入到两个全连接层中——回归层(reg)和分类层(cls)。


Anchors

什么是anchor? 在每个sliding window的位置上,同时预测k个候选区域,将这k个候选区域相对于k个参考框(大小已被预设)进行参数化,那么这k个参考框就是anchor。如上图的右边,一个sliding window中有k个大小不同的anchor,它们都是矩形区域。
每个anchor的中心点与sliding window的中心点重合,也就是说,anchor是以sliding window的中心点为基准,有不同的大小的形状。论文中,anchor有3种比例和3种长宽比,因此在每个sliding window中共有9个anchor,即k=9。对于一个大小为W×H的特征图来说,总共有WHk个anchor。
本论文所使用的方法中,anchor具有平移不变性——相对于anchor来计算候选区域的函数和anchor本身,anchor都是平移不变的。


训练RPN

1.损失函数

为了训练RPN,为每个anchor设置一个二分类标记(是一个对象/不是一个对象)。其中,有两种anchor可以被设置成positive第一种,anchor与ground-truth box有最大的IoU;第二种,anchor与任一个ground-truth box的IoU大于0.7。一个ground-truth box可能会把多个anchor设置为positive。当anchor与所有ground-truth box的IoU小于0.3,那么将其设置为nagetive
损失函数定义如下:
在这里插入图片描述
其中,i是一个anchor在一个mini-batch上的索引, p i p_{i} pi是anchor i 是否是一个对象的预测概率。 p ∗ p^{*} p表示anchor是否为positive,当anchor是positive时, p ∗ p^{*} p=1;当anchor是nagetive时, p ∗ p^{*}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值