文章目录
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 IOU≥0.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 2000∗4096)存到硬盘,其作为输入进行SVM分类器训练。(R-CNN当中默认CNN层输出4096特征向量)
- 针对每个类别训练一个SVM的二分类器,举例:猫的SVM分类器,输入维度是 2000 ∗ 4096 2000*4096 2000∗4096,目标还是之前第一步标记是否属于该类别猫
- 训练结果:得到SVM的权重矩阵 W,W的维度是 4096 ∗ 20 4096*20 4096∗20(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微调)的输入,进行特征提取,得到的

本文详细介绍了目标检测领域的经典算法,包括R-CNN系列、YOLO、SSD等,涵盖了从两步走策略到端到端检测的发展历程,以及各种算法的优缺点比较。
&spm=1001.2101.3001.5002&articleId=102732745&d=1&t=3&u=c7c7a8ad5a384f3ebff5f67c80615f27)
1736

被折叠的 条评论
为什么被折叠?



