【机器学习】传统目标检测算法总结

目标检测是什么

object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。

然而,这个问题可不是那么容易解决的,1、物体可以出现在图片的任何地方,并且其尺寸变化范围很大。2、摆放物体的角度,姿态不定。3、物体还可以是多个类别。


目前学术和工业界出现的目标检测算法分成3类:
1. 传统的目标检测算法:Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化;

2. 候选区域/框 + 深度学习分类:通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案,如:
R-CNN(Selective Search + CNN + SVM)
SPP-net(ROI Pooling)
Fast R-CNN(Selective Search + CNN + ROI)
Faster R-CNN(RPN + CNN + ROI)
R-FCN
等系列方法;

3. 基于深度学习的回归方法:YOLO/SSD/DenseBox 等方法;以及最近出现的结合RNN算法的RRC detection;结合DPM的Deformable CNN等


传统目标检测算法总结

前面几篇文章对传统的目标检测算法都做了介绍。

传统目标检测的组合算法:

Haar特征+Adaboost+Cascade

Cascade级联思想可以快速抛弃没有目标的平滑窗(sliding window),因而大大提高了检测效率。但它有一个很大的缺点,它仅仅使用了很弱的特征,用它做分类的检测器也是弱分类器,仅仅比随机猜的要好一些,它的精度靠的是多个弱分类器来实行一票否决式推举(就是大家都检测是对的)来提高命中率,确定分类器的个数也是经验问题。

很弱的特征就是like-haar特征。

这边指的弱分类器是adaboost,因为adaboost每一步迭代只用了180000(24*24的图像)个特征中的一个特征,导致adaboost实际上也算不得是真正意义上的强分类器。

HOG特征+SVM对比HOG特征+Cascade

HOG的优点: 
- 核心思想是所检测的局部物体外形能够被梯度或边缘方向的分布所描述,HOG能较好地捕捉局部形状信息,对几何和光学变化都有很好的不变性; 
- HOG是在密集采样的图像块中求取的,在计算得到的HOG特征向量中隐含了该块与检测窗口之间的空间位置关系。

矩形HOG和SIFT有些相似的地方,关于SIFT具体看这篇博文SIFT特征提取分析

HOG的缺陷: 
- 很难处理遮挡问题,人体姿势动作幅度过大或物体方向改变也不易检测(这个问题后来在DPM中采用可变形部件模型的方法得到了改善); 
- 跟SIFT相比,HOG没有选取主方向,也没有旋转梯度方向直方图,因而本身不具有旋转不变性(较大的方向变化),其旋转不变性是通过采用不同旋转方向的训练样本来实现的; 
- 跟SIFT相比,HOG本身不具有尺度不变性,其尺度不变性是通过缩放检测窗口图像的大小来实现的; 
- 此外,由于梯度的性质,HOG对噪点相当敏感,在实际应用中,在Block和Cell划分之后,对于得到各个像区域中,有时候还会做一次高斯平滑去除噪点。

DPM特征+Latent SVM

DPM算法优点:

1、方法直观简单;

2、运算速度块;

2、适应动物变形;

DPM算法缺点:

1、性能一般

2、激励特征人为设计,工作量大;

   这种方法不具有普适性,因为用来检测人的激励模板不能拿去检测小猫或者小狗,所以在每做一种物件的探测的时候,都需要人工来设计激励模板,为了获得比较好的探测效果,需要花大量时间去做一些设计,工作量很大。

3、无法适应大幅度的旋转,稳定性很差;


传统目标检测算法的缺点

上面对比的是传统目标检测算法中各自的优缺点,接下来要讲讲传统目标检测算法的通病。

1)基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余
2)手工设计的特征对于多样性的变化没有很好的鲁棒性

主线:区域选择->特征提取->分类器 

1、区域选取 
采用滑动窗口的策略对整幅图像进行遍历,而且需要设置不同的尺度,不同的长宽比。这种穷举的策略虽然包含了目标所有可能出现的位置,但是缺点也是显而易见的:时间复杂度太高,产生冗余窗口太多,这也严重影响后续特征提取和分类的速度和性能。补充一下, DPM论文是直接对整张图进行操作了,但实际上也是对图进行了遍历,root filter和part filter也是遍历了整张图缩放了不同的尺寸进行特征提取。但也可以理解为DPM的输入本就只是一个窗口的大小detect window。

2、特征提取 
由于目标的形态多样性,光照变化多样性,背景多样性等因素使得设计一个鲁棒的特征并不是那么容易。然而提取特征的好坏直接影响到分类的准确性。(这个阶段常用的特征有Haar、SIFT、HOG等) 

3、分类器 
主要有SVM, Adaboost等。 

 

  • 26
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值