首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

RPN网络代码解读

在目标检测领域Faster RCNN可以说是无人不知无人不晓,它里面有一个网络结构RPN(Region Proposal Network)用于在特征图上产生候选预测区域。但是呢,这个网络结构具体是怎么工作的呢?网上有很多种解释,但是都是云里雾里的,还是直接撸代码来得直接,这里就直接从代码入手直接撸吧-_-||。 首先,来看一下Faster RCNN中RPN的结构是什么样子的吧。可以看到RPN直接通过一个卷积层rpn_conv/3×3直接接在了分类网络的特征层输出上面,之后接上两个卷积层rpn_clc_score与rpn_bbox_pred分别用于产生前景背景分类与预测框。之后再由python层AnchorTargetLayer产生anchor机制的分类与预测框。然后,经过ROI Proposal产生ROI区域的候选,并通过ROI Pooling规范到相同的尺寸上进行后续处理。大体的结构如下图所示:

02

目标检测算法Faster RCNN的损失函数以及如何训练?

从上一期Faster RCNN的算法原理上,我们知道Faster RCNN算法有两部分,一个是用来提取候选框的RPN网络,一个是最后检测目标的分类回归网络。通过学习,我们知道RPN网络在提取候选框的时候有两个任务,一个是判断该anchor产生的候选框是否是目标的二分类任务,另一个是对该候选框进行边框回归的回归任务。 而Faster RCNN最后的目标检测网络同样也有两个任务,跟RPN网络类似,一个是判断RPN网络产生的候选框框住的物体是具体哪一类物体的分类任务,另一个是对该候选框进行回归的回归任务。 既然两个网络都是多任务网络,那么,我们先看看RPN网络的损失函数是怎么样的?先上RPN网络的总体损失函数,接下来分析,如下(公式可左右滑动):

01

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

最先进的目标检测网络依赖于区域建议算法来假设目标位置。SPPnet和Faster R-CNN等技术的进步,降低了检测网络的运行时间,但是暴露了区域提案计算的瓶颈。在这项工作中,我们引入了一个与检测网络共享全图像卷积特性的区域建议网络(RPN),从而实现了几乎免费的区域建议。RPN是一个完全卷积的网络,它同时预测每个位置的目标边界和目标得分。对RPN进行端到端训练,生成高质量的区域建议,Faster R-CNN对其进行检测。通过共享卷积特性,我们进一步将RPN和Faster R-CNN合并成一个单独的网络——使用最近流行的具有“Attention”机制的神经网络术语,RPN组件告诉统一的网络去哪里看。对于非常深的VGG-16型号,我们的检测系统在GPU上帧率为5帧(包括所有步骤),同时在PASCAL VOC 2007、2012和MS COCO数据集上实现了最先进的目标检测精度,每张图像只有300个proposal。在ILSVRC和COCO 2015年的比赛中,Faster R-CNN和RPN是在多个赛道上获得第一名的基础。

02
领券