Faster RCNN

文章概述了R-CNN、FastR-CNN和FasterR-CNN这三个目标检测算法的发展历程,重点在于它们在候选区域生成、特征提取、分类和边界框回归方面的优化,以及FastR-CNN和FasterR-CNN在速度和准确性上的提升。

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

R-CNN -> Fast R-CNN -> Faster R-CNN

RCNN算法流程可分为4个步骤

1)一张图像生成1k~2k个候选区域(使用Selecive Search方法)

2)对每个候选区域,使用深度网络提取特征

3)特征送入每一类SVM分类器,判别是否属于该类

4)使用回归器精细修正候选框位置

1.候选区域生成

        利用Selecive Search算法通过图像分割的方法得到一些原始区域,然后使用一些合并策略将这些区域合并,得到一个层次化的区域结构,而这些结构就包含着可能需要的物体。

2.对每个候选区域,使用深度网络提取特征

        将2000候选区域缩放到227✖227pixel,接着将候选区域输入事先训练好的AlexNet CNN网络,获取4096维的特征得到2000✖4096维矩阵。  

3.特征送入每一类SVM分类器,判定类别

        将2000✖4096维特征与20个SVM组成的权值矩阵4096✖20相乘,获得2000✖20的概率矩阵,每一行代表一个建议框归于每个目标类别的概率。分别对上述2000✖20维矩阵中每一列即每一类进行非极大值抑制剔除重叠建议框,得到该列即该类中得分最高的一些建议框。

4.使用回归器精细修正候选框位置

        对NMS处理后剩余的建议框进一步筛选。接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别的修正后的得分最高的bounding box。

R-CNN框架

Region proposal(Selective Search)
Feature extraction(CNN)

Classification

(SVM)

Bounding-box regression

(regression)

R-CNN存在的问题:

1.测试速度慢:

        测试一张图片约53s(CPU)。用Selecive Search算法提取候选框用时约2秒,一张图像内候选框之间存在大量重叠,提取特征操作冗余。

2.训练速度慢:

        过程及其繁琐

3.训练所需空间大:

        对于SVM和bbox回归训练,需要从每个图象中的每个目标候选框提取特征,并写入磁盘。对于非常深的网络,如VGG16,从VOCO7训练集上的5k图像上提取的特征需要数百GB的存储空间。

Fast R-CNN

        同样使用VGG16作为网络的backbone,与R-CNN相比训练时间快9倍,测试推理时间快213倍,准确率从62%提升至66%(再Pascal VOC数据集上)。

Fast RCNN算法流程可分为3个步骤

1)一张图像生成1k~2k个候选区域(使用Selecive Search方法)

2)将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。

3)将每个特征矩阵通过ROI pooling层缩放到7✖7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

R-CNN依次将候选框区域输入卷积神经网络得到特征。

Fast R-CNN将整张图像送入网络,紧接着从特征图像上提取相应的候选区域。这些候选区域的特征不需要再重复计算。

分类器

        输出N+1个类别的概率(N为检测目标的种类,1为背景)共N+1个节点

边界框回归器

        输出对应N+1个类别的候选边界框回归参数(dx,dy,dw,dh),共(N+1)✖4个节点

Multi-task loss

p是分类器预测的softmax概率分布p=(p0,...,pk)

u对应目标真实类别标签

t^u对应边界框回归器预测的对应类别u的回归参数(t^ux,t^uy,t^uw,t^uh)

v对应真实目标的边界框回归参数(vx,vy,vw,vh)

[u>=1]是艾弗森括号

Fast R-CNN框架

Region proposal(Selective Search)

Feature extraction

Classification

Bounding-box regression

(CNN)

Faster R-CNN

        同样使用VGG16作为网络的backbone,推理速度在GPU上达到5fps(包括候选区域的生成),准确率也有进一步的提升。

Fast RCNN算法流程可分为3个步骤

1)将图像输入网络得到相应的特征图

2)使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵。

3)将每个特征矩阵通过ROI pooling层缩放到7✖7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果。

计算Faster-RCNN中ZF网络feature map中3✖3滑动窗口在原图中感受野的大小。

Faster R-CNN训练

直接采用RPN LOSS + Fast R-CNN Loss的联合训练方法(现在采用)

原论文中采用分别训练RPN以及Fast R-CNN的方法

Faster R-CNN框架

Region proposal

Feature extraction

Classification

Bounding-box regression

(CNN)

FPN结构

        Faster R-CNN如果使用了FPN结构,针对目标检测任务cocoAP提升2.3个点,pascalAP提升3.8个点。

        原论文中1✖1的卷积核的个数为256,即最终得到的特征图的channel都等于256

FPN结构

P6只用于RPN部分,不在Fast-RCNN部分使用。针对不同的预测特征层,RPN和Fast RCNN的权重共享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值