当前位置:首页|资讯

『目标检测 2 』Faster RCNN

作者:独傲沐年发布时间:2024-09-22


公众号更名为“CV模型架构”


知识面的盲点那么多,为什么不看看

星标/置顶  深度学习干货分享❤

————


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


论文地址:https://arxiv.org/abs/1506.01497


项目地址:https://github.com/endernewton/tf-faster-rcnn


ppt之后发


解读


Faster RCNN 主要改进点是在Fast RCNN基础上对候选区域进行了修改。把selective search 换成 RPN(区域候选网络),还引入了anchor box 做法。


网络结构图



流程如下:


  • 输入测试图像,将整张图片输入CNN,进行特征提取;

  • 用RPN生成一堆Anchor box,对其进行裁剪过滤后通过softmax判断anchors是前景(foreground)还是背景(background),即是物体or不是物体,另一分支bounding box regression修正anchor box,得到较精确的proposal(这里的较精确是相对于后面全连接层的再一次box regression而言);

  • 把网络建议窗口映射到CNN的最后一层卷积feature map上;

  • 通过RoI pooling层使每个RoI生成固定尺寸的feature map;

  • 利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练。


具体细节如下图



首先原图输入进cnn,一共13个卷积层,13个激活,4个池化。提一点pad=1,保证了conv层输入输出尺寸始终一样。特征提取的最后一张feature map送到RPN网络,RPN网络部分如下:



一路经过softmax,锚点框(anchor)得到前景(positive)和背景(negative)分类。另一路做anchor的bbox回归,得到精确的候选区域(proposal),最后的proposal综合两路然后去除太小和超出图像边界的框,使用nms得到最终的候选框(大概300左右)。

说到rpn自然得讲anchor,那么anchor是什么?


通熟易懂说法就是一组生成的矩形,这个矩形框和边界框意思及坐标表示相同,不同比例的anchor在feature map上映射生成几十万个框,来选择positive和negative,如下图。



底图是feature map;anchor面积128,256,512;每种面积宽高比例为1: 1, 1: 2, 2: 1。


在特征图上使用滑动窗口,每一个feature map 单位格用k种(论文 k 取9,上文图中比例)形状的anchor定位。



sliding后,通过卷积操作输出256维度的置信分数和位置;2k用来分类前后景,所以是2倍;4k是框坐标位置。


RPN图解步骤举例(方便理解,底图用自然图像):
1.feature map上通过滑动窗口anchor生成约20万个框(举例100个)



2.anchor边界框修订(去除超边界框)

3.proposal前景分数排序



4.nms去除重叠候选框(proposal与GT 重叠度IOU>0.7为前景   <0.3 为背景,其余剔除)



5.BBox回归(修正box)


p为预测框,G为gt,为了让p更接近真实框,对框的中心坐标做平移、缩放得到G'更接近真实框。(这种方法只有在粗定位后才能用,未定位不能用)


6.从feature map收集anchor按得分选一定数量proposal送入ROI中。
ROI作用在fast rnn中讲过,在这里放个动态图吧。


池化操作后,接连接层,对图像中目标定位和预测种类分数,结构图如下。



事实上是对porposal进行分类,属于图像识别


最终结果如图所示(举例图):





理解论文后看此网络结构图(对应文章开头)




实验结果对比


RPN表现


使用 fast R-CNN 探测器和 VGG-16的 PASCAL VOC 2007/2012 测试集的结果




目标检测数据集的结果(%) ,模型是 VGG-16


Faster-CNN 关于 PASCAL VOC 2007测试集和2012测试集的检测图。模型是 VGG-16。“ COCO”是指 COCO trainval 系列用于训练。另见表6和表7




使用 Faster R-CNN 系统的 PASCAL VOC 2007测试集的目标检测结果的选定例子。模型为 VGG-16,训练数据为07 + 12 trainval (2007年测试集的 mAP 为73.2%)。我们的方法检测范围广泛的尺度和宽高比对象。每个输出框都与类别标签和[ 0,1]中的 softmaxscore 相关联。0.6的得分阈值用于显示这些图像。获得这些结果的运行时间为每张图像198毫秒,包括所有步骤。


总结


faster rcnn 可以用于解决复杂的计算机视觉问题,并取得很好的效果. 虽然模型是目标检测,但对于语义分割,3D目标检测等,都可以使用此模型或借鉴RPN。因此,深度理解其工作原理,对于更好的解决其它问题很有帮助。



欢迎留言/私信、互相讨论,感谢支持~

我是休柏,一颗向阳的种子。


留言说说你的看法吧~



本文使用 文章同步助手 同步


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1