面试的时候,很多次会问到这些模型的东西,因为你做的项目当中会涉及到这些,但是总是一问三不知。故课下补补课。
想要看看大家的博客和好好看看相关论文,了解一下所以然吧。
传统目标检测的方法一般分为三个阶段:首先在给定的图像上选择一些候选的区域,然后对这些区域提取特征,最后使用训练的分类器进行分类。
又重新看了有三老师的《深度学习之图像识别》-第六章:目标检测,关于fast r-cnn,faster r-cnn,yolo方法,ssd的描述。
完成一个目标检测任务,会进行3个步骤,第1步选择检测窗口,第2步提取图像特征,第3步设计分类器。
选择检测窗口:
最直观最简单的方法是利用图像金字塔+各种尺度比例的框+暴力搜索法:从左到右,从上到下滑动窗口,然后利用分类方法对目标框进行识别
特征提取:
Haar特征是经典的V-J框架使用的基本特征,它表达的是局部的明暗对比关系。
LBP是传统人脸检测算法中广泛使用的纹理特征。
HOG特征是在物体检测领域应用非常广泛的特征
分类器:
Adaboost:迭代的分类方法,在opencv开源库中使用的人脸检测框架的分类器正是这个,它的核心思想是在很多分类器中,自适应地挑选其中分类精度更高的弱分类器,
并将其进行组合从而实现一个更强的分类器。
SVM:通过最大化分类间隔得到分类平面的支持向量。
Decision Tree等
#####################
# 学习目标检测方法: #
#####################
在言有三老师的书中说道,深度学习的目标检测分为one-stage和two-stage检测算法两种。对于two-stage检测方法来说,
它生成了可能包含物体的候选区域Region Proposal,然后对这个候选区域做进一步的分类和校准,得到最终的检测结果,代表方法有r-cnn系列方法。
而单阶段检测算法直接给出了最终的检测结果,没有经过生成候选区域的步骤,典型代表为YOLO和SSD。
R-CNN:
使用Selective search将候选区域控制在了2000个左右,然后将对应的框进行缩放操作,送入CNN中进行训练,通过SVM和回归器确定物体的类别并对其进行定位。
由于CNN具有非常强大的非线性表征能力,可以对每一个区域进行很好的特征学习,因而性能大大提升。
特点:
1.利用Selective search方法,先通过实例分割将图像分割为若干小块,然后选择相似度较高的小块,把这些相似的小块合并将为一个大块,最后整个物体生成一个大的矩形框,
通过该方法大大提高了候选区域的筛选速度
2.用在ImageNet数据集上进行学习的参数对神经网络进行预处理,解决了在目标检测训练过程中标注数据不足的问题
3.通过线性回归模型对边框进行校准,减少了图像中的背景空白,得到更精确的定位
缺点:
1.冗余计算
2.候选区域的尺度缩放问题
====>Spatial pyramid pooling 空间金字塔池化
引入SPP层,它实现了将输入的任意尺度的特征图组合成了特定维度的输出
Fast R-CNN:
与R-CNN的区别之处在于RoI Pooling层,它是一个简化的SPP层
R-CNN和Fast R-CNN不能解决Selective search方法低效率的滑动窗口选择问题。
Faster R-CNN:
提出了Region Proposal Networks(RPN)框架,实现了利用深度学习自己学习生成候选区域的策略,充分利用了feature maps的价值,在目标检测中去除了
Selective search方法。
RPN,就是以一张任意大小的图片作为输入,输出一批矩形区域的提名,每一个区域都会对应目标的分数和位置信息。实际上在最终的卷积特征层上,
在每一点利用滑窗生成k个不同的矩形框来提取区域,k一般取值9
k个不同的矩形框称为anchor,具有不同的尺度和比例。用分类器来判断anchor覆盖的图像是前景还是背景,对于每一个anchor,还需要使用一个回归模型
来判断回归框的精细位置。
YOLO方法:
相比于R-CNN的优点,检测物体速度更快,避免产生背景错误。
检测精度低
对于小物体的检测效果不好
yoloV1 不够精确
yoloV2 提高了检测速度,还提高了精度
改进:
1.添加batch normalization
了模型的收敛速度,减少模型出现过拟合的概率
2.使用更高精度输入图
3.引入anchor boxes,在卷积图上进行滑窗采样
4.回归框聚类,提高了k-means聚类方法将回归框进行聚类,提高精度
5.预测值归一化
6.跨层连接
7.多尺度训练
yoloV3:把原来网络中softmax层换成了逻辑回归层,实现把单标签分类改成多标签分类,另一个特点采用多尺度融合(提高了对小物体的检测性能)
ssd:
ssd融合了yolo的无显式候选框提取和faster r-cnn中的anchor机制,并在特征空间中融合了不同卷积层的特征进行预测
最大特点是考虑到不同层featureMap的感知野不同,同时对lower featureMap和upper featureMap进行检测
ssd的几个重要概念:
featuremap cell:featuremap上的最小格子
default box:越大的default box,就能检测越大的目标
相比于R-CNN系统,yolo和ssd系统的方法没有了region proposal的提取,属于单阶段目标检测,速度更快,同时也会损失信息和精度。
目标检测中的关键技术:
1.多尺度特征
2.定位的改进
3.级联网络的设计
本文暂时没有评论,来添加一个吧(●'◡'●)