经典目标检测算法详解(R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、YOLO、SSD)

本文详细介绍了目标检测领域的经典算法,包括R-CNN系列、YOLO、SSD等,涵盖了从两步走策略到端到端检测的发展历程,以及各种算法的优缺点比较。

1 目标检测算法分类

两步走的目标检测:先进行区域推荐,而后进行目标分类
代表:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN
端到端的目标检测:采用一个网络一步到位
代表:YOLO、SSD
在这里插入图片描述

2 目标检测的过渡——定位+分类

  • 定位+分类:图片当中仅有一个目标,检测出 该目标所处位置 及 该目标的类别
  • 定位+分类的实现思路:
    (1)训练 / 下载一个分类模型,例如,AlexNet、VGGNet、ResNet等;
    (2)在原分类网络最后一个卷积层之后,添加 “regression head”
    (3)同时训练原有的 “classification head” (用于分类,分类问题)和 “regression head” (用于定位,回归问题),最终损失函数是分类和定位各自损失的加权和;
    (4)预测时,同时使用分类和回归“head”,得到分类+定位的结果。这里需要强调一下的是,分类预测的结果 就是C个类别的概率;回归预测的结果 有两种可能: 类别无关,输出4个值, 类别相关,输出4*C个值。
  • 假设有10个类别,输出[p1,p2,p3,…,p10],然后输出这一个对象的四个位置信息[x,y,w,h]。同理知道要网络输出什么,如果衡量整个网络的损失
    对于分类的概率,还是使用交叉熵损失
    位置信息具体的数值,可使用MSE均方误差损失(L2损失)
    在这里插入图片描述

3 R-CNN

Ross Girshick在2014年计算机视觉和模式识别大会(CVPR,Computer Vision and Pattern Recognition)中提出R-CNN。

3.1 R-CNN训练过程

(1)选取 正负样本

  • 每张训练图片,采用SS方法来获取2000个ROI(候选区域)。
  • 在所有训练图片的所有候选区域中选取正负样本,正负样本的筛选方法如下:
正样本 候选区域和该图片中所有真实矩形框的交并比, I O U ≥ 0.5 IOU\geq 0.5 IOU0.5,则该候选区域作为这个真实矩形框内物体类别的正样本
负样本 候选区域和该图片中所有真实矩形框的交并比, I O U < 0.5 IOU<0.5 IOU<0.5,则该候选区域作为这个真实矩形框内物体类别的负样本
  • 这样得出若干个候选区域以及对应的类别标记,不是所有的候选区域都会拿去训练,保证正负样本比例 1 : 3 1:3 1:3
  • 得到的正负样本进行图像尺寸变换,使得大小一致(为了适应AlexNet网络的输入图像的大小227×227)

(2)选取 预训练模型:R-CNN采用AlexNet来学习特征,包含5个卷积层和3个全连接层(可直接下载预训练模型AlexNet)

(3)训练 特征提取器(对AlexNet模型进行微调)

  • AlexNet模型:卷积部分可以作为一个好的特征提取器,后面的全连接层可以理解为一个好的分类器
  • 需要在AlexNet模型上微调卷积参数:修改全连接最后一层,1000个类别输出,改为C+1个类别输出(其中C是真实需要预测的类别个数,1是背景类),利用(1)步中准备的正负样本进行AlexNet微调(迁移学习)。

(4)训练 SVM分类器

  • SVM模型的输入:将AlexNet微调模型第五个池化层的输出(即候选区域提取到的特征向量,维度 2000 ∗ 4096 2000*4096 20004096存到硬盘,其作为输入进行SVM分类器训练。(R-CNN当中默认CNN层输出4096特征向量)
  • 针对每个类别训练一个SVM的二分类器,举例:猫的SVM分类器,输入维度是 2000 ∗ 4096 2000*4096 20004096,目标还是之前第一步标记是否属于该类别猫
  • 训练结果:得到SVM的权重矩阵 W,W的维度是 4096 ∗ 20 4096*20 409620(20个SVM分类器)。

(5)训练 候选框回归器

  • 训练样本:与ground truth的IOU超过某个阈值 而且 IOU最大的region proposal,其余的region proposal不参与,目标即为ground truth(真实矩形框)
  • 需要训练N个候选框回归器,N为类别数

3.2 R-CNN预测过程

(1)获取候选区域ROI: 输入一张图像,利用SS方法得到2000个ROI;

(2)特征提取: 所有ROI变换到固定尺寸227×227,作为特征提取器(AlexNet微调)的输入,进行特征提取,得到的

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值