目标检测

目标检测
目的:找出图像中所有感兴趣的目标和物体,并确定目标的位置和大小(定位目标的位置并知道目标物是什么,包括定位和分类)。
1、经典方案:滑动窗口+图像缩放
应用:人脸检测,行人检测,车辆检测,车流量检测,根据红绿灯状态确定车辆的行为,材质表面的缺陷检测,印刷电路板表面的缺陷检测,肿瘤等病变部位检测。


2、DPM可变形的组件模型(Deformable Part Model)
一种通用的目标检测算法
思想:先提取DPM人工特征,再用latentSVM分类。DPM特征复杂,计算慢;人工特征对旋转,拉伸变化的物体检测效果差。
问题:经典的CNN只能接收固定大小的输入图像,因为第一个全连接层和它之前的卷积层之间的权重矩阵大小是固定的,而全连接层和卷积层本身对输入图像大小没有限制。
解决:全卷积神经网络(FCN),即去掉所有全连接层,全部由卷积层来替代。
卷积核5X5,一次移动1步
池化核2X2,一般一次移动2步

(latent SVM,Latent是指混合模型中配置模型的隐变量,隐变量的配置可以类比于混合模型中决定一个样本属于哪个模型的虚拟变量。比如我们有一个数据集是一组生物的身体特征(没有性别标注)然后输出的label是这个生物是不是人 但是男人与女人的标准显然是完全不同的 所以我们要引入一个隐藏变量V,V=1的时候表示男,V=0的时候表示女,从而我们在进行训练的时候,为了达到最好分类。)

 


3、R-CNN,Region CNN
image->crop/warp->conv layers->fc layers->output
步骤:
(1)使用Selective Search算法从待检测图像中提取2000个左右的区域候选框。
(2)把候选框缩放成固定大小
(3)用DCNN提取每个候选框的特征,得到固定长度的特征向量。
(4)对候选框中提取出的特征(特征向量),使用分类器进行分类得到类别信息(SVM实现二分类,每个类别对应一个SVM,全连接神经网络实现回归
(5)对于属于某一特征类别的候选框,用回归器进一步调整其位置
问题:
(1)R-CNN不采用滑动窗口方案是因为计算成本高,会产生大量待分类窗口。通过Proposal(Selective Search)的方法依然有2000多个候选框,这些候选框都需要大度经过backbone网络提取特征。
(2)训练时,候选区域提取,特征提取,分类和回归都是分开操作。
(3)输入图片patch必须强制缩放成固定大小,会造成物体变形。

(选择性搜索Selective Search:首先通过简单的区域划分算法,将图片划分成很多小区域,再通过相似度和区域大小不断的聚合相邻小区域,类似于聚类的思路(小的区域先聚合,防止大的区域不断的聚合小区域,导致层次关系不完全)。这样就能解决object层次问题,实际上也是非常成熟的技术。其次,为了保证能够划分的完全,对于相似度,作者提出了可以多样化的思路,不但使用多样的颜色空间(RGB,Lab,HSV等等),还有很多不同的相似度计算方法。最后对于计算速度,选择性搜索相对穷举,大大减少了后期分类过程中的计算量,但是本身的计算量还是有很大的优化空间,后来很多人在这个思路上改进,得到了性能好的多的算法)


4、SPPNet
image->conv layers->空间金字塔池化(spatial pyramid pooling)->fc layers->outputs
(1) 对整张图像进行卷积得到特征图
(2) 在卷积层后对特征图进行SPP金字塔池化,得到固定长度的特征向量
(3)对候选框中提取出的特征(特征向量),使用分类器进行分类得到类别信息(SVM实现二分类,每个类别对应一个SVM,全连接神经网络实现回归)
(4)对于属于某一特征类别的候选框,用回归器进一步调整其位置
优点:SPPNet将空间金字塔思想加入到CNN,实现了数据的多尺度输入,不需要固定输入数据的尺寸。
并且只对原图进行一次卷积得到整张图的feature map,节省大量的计算时间。

空间金字塔采样:对特征图进行固定数量不同刻度(尺度)的网格划分,每一种刻度对图片划分一次并称为金字塔的一层,例如三层划分为16 4 1这样就是21个网格,对划分后的21个网格再进行池化,这样就可以得到固定长度的输出,输入到全连接层。)


5、Fast R-CNN
image->conv layers(先进行选择性搜索,这里是每个候选框在特征图上的映射patch)->ROI pooling->classifier(FCs包括分类和回归,分类器判别是否属于一个特定类 ,对于属于某一特征的候选框,用回归器进一步调整其位置)
(1)    在图像中确定约1000-2000个候选框 (使用选择性搜索)
(2)    对整张待检测图片输进CNN进行卷积,得到feature map
(3)    找到每个候选框在feature map上的映射patch,将每个patch作为每个候选框的卷积特征输入到ROI pooling层和之后的层
(4)    对候选框中提取出的特征(这个patch),使用分类器判别是否属于一个特定类 (将SVM和全连接神经网络合在一起,使用一个新的网络进行分类和回归
(5)    对于属于某一特征的候选框,用回归器进一步调整其位置

(ROI:特征图上的框 region of interest,把不同大小的输入映射到一个固定尺度的特征向量,ROI池化层和SPP类似但只使用一个尺度(刻度)进行网格划分和池化,可以看做是一个单层的SPPNet,)


6、Faster R-CNN
image->conv->RPN->ROI pooling->classifier和regoression
(1)    对整张待检测图片输进CNN,得到feature map
(2)    卷积特征输入到RPN,得到候选框的特征信息
(3)    对候选框中提取出的特征,使用分类器判别是否属于一个特定类(通过神经网络实现分类和回归) 
(4)    对于属于某一特征的候选框,用回归器进一步调整其位置

(针对SPPNet和Fast-RCNN不易用GPU加速的问题,在主干网络中加入了RPN网络Region proposal Network,RPN网络是提取边缘的神经网络,将RPN放在最后一个卷积层的后面,RPN网络可以直接训练得到候选区域。首先在输入的卷积特征图上滑动窗口,建立一个神经网络用于物体分类和框位置的回归,滑动窗口的位置提供了物体的大致位置,框的回归提供了框更精确的位置。通过RPN网络提取候选框来代替传统的Selective Search等候选框生成方法,实现了网络端到端的训练


7、R-FCN
分类需要特征具有平移不变性,检测则要求对目标的平移做出准确响应
卷积是具备平移不变性的,但一旦插入ROI pooling之后,后面的网络结构就不再具备平移不变性了
因此由于ROI pooling会丢失位置信息,故在pooling前利用不同的位置敏感得分图position sensitive score map负责检测目标的不同位置,直接在位置敏感得分图上利用ROI pooling进行信息采样融合分类和位置信息,并该位置敏感ROI各子块预测后通过投票表决该位置敏感ROI的总的预测类别


8、Mask RCNN
问题:Faster RCNN在做下采样和ROI pooling时都对特征图大小做了取整操作。
解决:对特征图尺寸变化不再使用取整操作,而是通过双线性插值填补非整数位置的像素,使得下游特征图向上游映射时没有位置误差。


9、YOLO系列
YOLO是单步one-stage,而之前的以RCNN为代表的是两步two-stage,分为候选区域生成和区域分类。
(1)YOLO V1
YOLO系列舍去了候选区域生成(proposal阶段),直接将特征提取、候选框回归和分类在同一个无分支的卷积网络中完成。
将待检测图像缩放到统一尺寸,为了检测不同位置的目标,将图像等分成SXS的网格,如果某个目标的中心落在一个网格单元中,那么此网格单元就负责预测该目标
(2)YOLO V2
加入了批量归一化层以及残差网络结构
(3)YOLO V3
V3在V2的基础上使用全新的残差网络并结合了FPN网络结构


10、SSD
采用网格划分的思想,在不同尺度的特征图上考虑不同的尺度,而RPN是在一个特征图上考虑不同的尺度。
为了检测不同尺度的目标,SSD对不同卷积层的特征图进行滑窗扫描。在前面卷积层输出的特征图中检测小的目标,在后面卷积层的特征图中检测大的目标。


11、FPN(Feature Pyramid Network)
多数的object detection算法都是只采用顶层特征做预测,但我们知道低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。虽然也有些算法采用多尺度特征融合的方式,但是一般是采用融合后的特征做预测。
FPN同时利用底层特征高分辨率目标位置准确,和高层特征语义信息丰富的特点。
FPN结构灵活,可以和各种特征特征提取网络结合为目标检测算法的基础网络,这些基于FPN结构的检测算法能够增加网络深度,获取更丰富语义信息的同时得到更准确的位置信息。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值