区域生成网络(RPN)是一种可以处理任意大小输入图像并输出一系列矩形感兴趣区域和对应的感兴趣区域所包含物体的置信度[3]。下面本文会详细介绍区域生成网络的建模,以及如何将其构成全卷积网络(FCN)。
本文研究的目的是将区域生成网络和快速卷积神经网络结合起来实现卷积层参数共享,所以要保证区域生成网络和快速卷积神经网络共享一个卷积层,基于此本文使用网络共享卷积层的ZFNet模型[4]。
图1 Faster R-CNN 结构图
感兴趣区域是通过一个网络在Fast R-CNN 网络和RPN 网络共享的卷积层上进行滑动,这个网络可以接纳输入目标对象图像大小为n × n,之后所选择的特征会逐一映射到低的向量空间,然后再经过激活函数ReLU 对其进行处理。经过上述操作以后,本文将得到的特征视为全连接层的input,其中一个为边界框回归层,另一个为分类层,如下图2所示。通常,输入网络的图像感知区域比较大,网络会以滑动窗口的形式进行工作,其中全连接层在每一个空间的位置上都是共享的。这样的结构可以有效地实现n ×n 卷积层接1×1的卷积层的形式。
图2 区域生成网络(Region Proposal Network,RPN)结构示意图[3]
根据RPN 网络结构中矩形窗的位置,由此可以判断感兴趣区域是否有目标对象。记网络在不同的位置所检测的区域数目为k,从而边界回归层所对应的坐标输出数目为4k,分类层所输出2k 个分数用来评估各个感兴趣区域是否包含目标对象。本文将这k 个区域的参数与参考框一一联系,这些有关联的参考框被称为锚点(anchor)。(www.xing528.com)
区域生成网络在训练时,所有的锚点被分为正、负两类样本。分类是根据交除重叠比(IOU)值来确定,判断为正样本的条件是同样注框IOU 值最大或标准框的IOU 值大于0.7 的锚点;判定为负样本的条件是所有标注框的IOU 值小于0.3 的锚点。
本文区域生成网络的训练过程就是将损失函数求解最小值的过程。基于此区域生成网络对于交通标志图像检测损失函数的定义如下:
其中,i 是mini-batch 中一个anchor 的标号,Pi是i号anchor 是目标对象图像被检测到的概率大小。若anchor 为正,则网络训练的标注P*i 为1;若anchor 为负,则P*i 为0。ti代表四维向量,这个向量对图像目标对象的边界框坐标进行处理,t*i 是与正anchor 关联的ti的标注。Nreg代表anchor 位置的数量,两者用于归一化处理,并由参数λ 平衡。
分类损失函数Lcls、边界框回归损失函数Lreg如下所示,R 为鲁棒的损失函数,定义式为
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。