Advertisement

【目标检测】《Faster R-CNN: Towards Real-Time ObjectDetection with Region Proposal Networks》论文阅读笔记

阅读量:

1.摘要

将RPN(Region Proposal Network:同时预测检测框和目标分数)成功整合至Fast RCNN模型中。其中RPN模块采用全连接层设计。基于VGG16架构的Backbone在GPU环境下实现了5帧每秒的计算效率。该方法在ILSVRC和COCO 2015竞赛中取得了冠军成绩。

2.介绍

开发出了一种新的算法用于精准预测涵盖较大尺寸与高宽比例的区域提示。通过该方法能在优化过程中保持相关提示的一致性。

给出其两个代码连接:

该GitHub项目提供的是基于MATLAB实现的经典Faster R-CNN算法框架,并支持多语言接口

https://github.com/rbgirshick/py-faster-rcnn (as implemented in Python).

3.相关工作

略一下。

4.Faster RCNN

Faster RCNN系统主要包含基于卷积神经网络(CNN)设计的检测器。提取特征的过程采用了深度学习中的Backbone架构,并且该架构能够高效地从输入图像中提取关键特征信息。这些特征不仅由Fast RCNN检测器独立完成任务,同时也与区域建议网络(RPN)层进行了共享计算以提高整体性能。区域建议网络(RPN)通过滑动窗口方法生成特征图中每个像素点对应9个候选框(具体为3种尺度和3种缩放比例组合),这些候选框将作为后续分类任务的基础 anchor 点。在推理阶段,系统会根据候选框与真实目标之间的交并比值(IoU)计算出每个候选框对应的置信度值,并同时记录下 anchor 点的具体坐标位置信息。其中判断一个候选框是正样本还是负样本的关键在于对比其与实际物体的最大重叠程度:若某 anchor 与其对应的目标计算得到 IoU 值大于0.7,则判定为正样本;反之,则认为是负样本(通常这代表的是背景区域)。RoIPooling层会对预测出的位置进行精细校准,并在此基础上完成分类任务的结果识别工作

4.1 RPN

图像的尺寸具有任意性,在处理过程中系统会自动适应输入图像的比例关系。系统将根据输入图像生成一系列候选矩形框区域,并对应计算其置信分数。滑动窗口机制会生成W×H×9=27种不同尺度和缩放比例的锚框。分类损失函数用于区分正样本和负样本(即目标与背景),而回归损失则用于优化候选框的位置参数。真实标签用星号标记(0代表负样本、1代表正样本),预测结果则不带星号。分类损失函数用于计算类别预测误差的同时也能区分物体是否存在;回归损失则用于优化坐标点位置参数的具体数值。为了提高训练效率,在每个小批量数据中随机选取256个候选锚框进行优化运算

重点:在预测过程中,当anchor与某一ground truth(gt)的交并比(IoU)超过0.7时,则被归类为正样本;若该anchor与所有ground truths计算得到的IoU均低于0.3,则被视为负样本(背景类别)。

4.2 RPN与Fast RCNN共享特征

在卷积神经网络中提取特征时,RPN与Fast RCNN实现了信息的有效共享。在撰写本文的过程中,整个训练过程涉及多个步骤,其中最为复杂的就是这一系列操作,下面我们将详细阐述其具体实现流程。首先进行的是RPN模型的基础训练,随后利用其生成的候选框来进一步优化FastRCNN模型,接着是在检测阶段初始化并固定提取特征的部分,并对模型参数进行微调优化后,最后是在保持两者的权重共享基础上对FastRCNN模型进行了进一步优化

4.3 细节

在训练阶段中,在输入一个尺寸为1M×6L(百万像素乘以六千像素)的图像时,在经过特征提取网络进行四次降采样后得到尺寸为6×4(六乘四)的小尺寸特征图上,在每个滑动窗口内包含9个不同尺度的情况下,在整个过程中会产生约2万零多个候选边界框(reinforcement)。随后,在密集区域中的候选边界框将通过非极大值抑制算法(NMS)以75%的比例进行过滤以去除重叠度过高的候选边界框。最后,在RoI pooling层上会将约2千个候选边界框转换为目标检测器所需的格式进行进一步处理。而在此过程中所生成的目标检测候选边界框的数量仅为3个(三个),这与前面所述的结果存在明显差异

5.结果

这里我就给下paper with code里面的coco的结果吧。

技术发展很快,算法需要持续学习呀。记与松哥❤相恋❤202日。

全部评论 (0)

还没有任何评论哟~