目录
一、目标检测
1. 算法目的:一是分类图像中的物体,二是给出图像中物体的具体位置
2. 解决算法:一是传统的图像处理方法,二是基于深度学习的方法。
二、传统目标检测
1. 主要算法流程:
- 提取候选区域(proposal) Selective Search
- 对候选区域进行特征提取(haar,hog)
- 使用分类器(事先训练好的)进行分类
- 对所有包含有效目标的候选区域进行合并
- 作图,绘制出检测目标轮廓框
2. 典型算法
- haar+SVM
- Hog + SVM
- DPM
- 模板匹配
- 级联算法(Cascade +Haar/SVM+HOG/DPM)
二、two-stage 深度模型目标检测
1.算法模型比较
1.1 RCNN
1.1.1 RCNN 模型结构图
参考RCNN
1.1.2 RCNN流程
- 使用selective search方法提取候选框(proposal) 约1K~2K个proposals
- 对每个proposal,剪切为相同大小之后,将其输入卷积网络提取特征
- 特征输入SVM分类器进行分类
- 使用回归器精细修正明确目标的候选框的位置
1.1.3 RCNN提升
相比传统方法,主要是将特征提取采用了卷积网络进行提取,提高了准确度和时间。
1.2 SPPnet
参考:
目标检测之Sppnet
Sppnet
1.2.1 SPP net 模型结构图
1.2.2 SPPnet流程
- 使用selective search方法提取候选框(proposal) 约1K~2K个proposals
- 将原始图片输入卷积层,然后将region proposal对应到feature map(映射结果就是不同大小的ROI)
- 将ROI输入到金字塔层,输出相同大小的feature map,然后输入到fc层,进行分类和回归
1.2.3 Sppnet 的提升
- 卷积权重共享,只对原始图片进行一次卷积操作,region proposal对应的feature map是对整张图片的feature map进行映射得到.
- 不再对图片进行wraped操作,使用金字塔层将region proposal对应的feature map映射到相同的大小,满足fc层的输入
1.3 Fast RCNN
参考:
Fast RCNN 算法详解
1.3.1 Fast RCNN 模型结构图
1.3.2 Fast RCNN 流程
- 提取region proposal
- 将图像归一化到224*224之后送入卷积网络提取特征
- 然后将region proposal对应的feature map进行映射,得到ROI
- 进行ROI pooling,将ROI pooling为相同大小的feature map输入到fc层
- 分类和回归都是使用网络模型进行实现
1.3.3 Fast RCNN 的提升
- RCNN一张图像内候选框之间大量重叠,提取特征操作冗余。
本文将整张图像归一化后直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框 - 在训练时,本文先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算
- RCNN中独立的分类器和回归器需要大量特征作为训练样本。Fast RCNN把类别判断和位置精调统一用深度网络实现,不再需要额外存储
1.4 Faster RCNN
参考:
Faster RCNN 算法详解
1.4.1 Faster RCNN 模型结构
1.4.2 Faster RCNN 流程图
- 将图像按照不同时期缩放到相应的尺度,然后输入到特征提取网络
- 将feature map输入到RPN中提取anchor,并且给出anchor的坐标以及相应的前后景概率
- 接下来将anchor和feature map作为fast rcnn接下来的输入,其中的anchor就类似于Fast RCNN中的proposals
1.4.3 Faster RCNN的提升
- 将proposal的提取也使用模型进行实现
2. 算法数据处理比较
2.1 RCNN
- proposal 归一化为227*227之后再输入卷积网络提取特征
- fine-tuning阶段:学习率0.001,每一个batch包含32个正样本(属于20类)和96个背景,训练数据:如果重叠比例大于0.5,则认为此候选框为此标定的类别;否则认为此候选框为背景
- 类别判断阶段:hard negative mining 如果和本类所有标定框的重叠都小于0.3,认定其为负样本,正样本为本类的真值标定框
- 精修位置阶段:训练样本判定为本类的候选框中,和真值重叠面积大于0.6的候选框
- PASCAL VOC上的检测率从35.1%提升到53.7%
2.2 SPPnet
- 使用卷积计算共享的操作,只需要对整张图像进行特征提取一次,之后再将proposal与其对应。
- 不需要将图片先进行crop之类的操作,直接使用金字塔层在全连接层之前进行大小处理
2.3 Fast RCNN
- RCNN一张图像内候选框之间大量重叠,提取特征操作冗余。
本文将整张图像归一化后(224*224)直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框 - 在训练时,本文先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算(同 SPPNET)
- RCNN中独立的分类器和回归器需要大量特征作为训练样本。
本文把类别判断和位置精调统一用深度网络实现,不再需要额外存储 - 采用SVD对全连接层参数进行分解,进行全连接层提速。
- 前景:25% ,与某个真值重叠在[0.5,1]的候选框,背景:与真值重叠的最大值在[0.1,0.5)的候选框
2.4 Faster RCNN
- 候选区域生成使用深度网络模型实现
- 考察训练集中的每张图像:
a. 对每个标定的真值候选区域,与其重叠比例最大的anchor记为前景样本
b. 对a)剩余的anchor,如果其与某个标定重叠比例大于0.7,记为前景样本;如果其与任意一个标定的重叠比例都小于0.3,记为背景样本
c. 对a),b)剩余的anchor,弃去不用。
d. 跨越图像边界的anchor弃去不用
以上就是对two-stage和传统的目标检测的一些总结,主要四关于一些参数耳朵设置,还有样本的处理这些。主要关注样本处理的细节。
之后会再来看看one-stage的。