网站设计制作哪家好,公司网站与营销网站的区别,如何建设网站论坛,免费个人网站制作在线目录 一、目标学习的检测方法变迁及对比
二、 基于传统手工特征的检测算法的定义
三、传统主要手工特征与算法
Haar特征与 人脸检测算法 - Viola-Jones(了解)
HOG特征与 SVM 算法(了解)#xff08;行人检测、opencv实现#xff09;
SIFT特征与SIFT算法(了解)
DPM#…目录 一、目标学习的检测方法变迁及对比
二、 基于传统手工特征的检测算法的定义
三、传统主要手工特征与算法
Haar特征与 人脸检测算法 - Viola-Jones(了解)
HOG特征与 SVM 算法(了解)行人检测、opencv实现
SIFT特征与SIFT算法(了解)
DPM物体检测(了解)
四、传统目标检测算法基本流程
五、 基于传统手工特征的检测算法的问题
六、基于手工特征的传统算法的优缺点
优点
缺点: 一、目标学习的检测方法变迁及对比 “目标检测“是当前计算机视觉和机器学习领域的研究热点。从Viola-Jones Detector、DPM等冷兵器时代的智慧到当今RCNN、YOLO等深度学习土壤孕育下的GPU暴力美学整个目标检测的发展可谓是计算机视觉领域的一部浓缩史。整个目标检测的发展历程已经总结在了下图中 可以看出在2012年之前在目标检测领域还是以传统手工特征的检测算法为主但是随着卷积神经网络(CNN)在2012年的兴起目标检测开始了在深度学习下的暴力美学。在深度学习下目标检测的效果比传统手工特征效果好太多。直至今日基于深度学习的检测算法依然是目标检测的主流。 虽然深度学习算法在目标检测中比传统手工特征优秀太多但是我依然不能忘记传统算法给我们带来的帮助本文记录了我学习目标检测算法的开始深入讲述一下传统算法在目标检测的原理和效果。
前置知识
特征提取过程常采用计算机视觉、模式识别中基于颜色、基于纹理、基于形状、基于语义等关于图像特征表示的方法。计算机视觉中常见的特征提取方法有底层特征、中层特征、高层特征三大类常用前两类。 底层特征如颜色、纹理、形状等中层特征基本特征一般是手工设计出来的特征 中层特征基于底层特征进行特征高层特征学习和挖掘后的特征 高层特征基于底层或者中层进行进行特征学习和挖掘后的特征如人是否戴帽子
对于提取出的特征使用分类器进行分类判定 二分类判定当前窗口中是否背景还是要检测的目标 多分类判断是否为背景如果不是背景判断是哪一类。
二、 基于传统手工特征的检测算法的定义 在目标检测算法的发展过程中基于手工特征的传统算法曾经是主流。这些传统算法通过设计和提取手工设计的特征来识别目标物体包括 Haar 特征、HOG 特征、SIFT特征等。本文将深入探讨目标检测算法中基于手工特征的传统算法介绍其原理、优缺点以及在计算机视觉中的应用。 基于手工特征的传统目标检测算法是一类早期的目标检测算法它通过人工设计和提取特征来识别目标物体。这些特征通常是基于图像的局部信息如边缘、纹理、颜色等。在特征提取的基础上传统算法通常使用分类器或检测器来判断图像中是否存在目标物体并给出目标的位置和大小。
三、传统主要手工特征与算法
Haar特征与 人脸检测算法 - Viola-Jones(了解)
Harr特征提取训练人脸分类器Adaboost算法等滑动窗口 问题互动窗口的步长好大小 Haar 特征是一种基于图像矩阵的特征最早应用于人脸检测领域。Viola-Jones 算法是一种基于 Haar 特征的快速人脸检测算法它采用Adaboost 分类器来进行特征选择和级联分类。该算法在人脸检测任务中取得了显著的性能和效率。 2004年Paul Viola和MichaelJones在CVPR上发表了一篇跨时代意义的文章《Robust Real-Time Face Detection》后人将文章中的人脸检测算法称之为Viola-JonesVJ检测器。VJ检测器在17年前极为有限的计算资源下第一次实现了人脸的实时检测速度是同期检测算法的几十甚至上百倍极大程度地推动了人脸检测应用商业化的进程。VJ检测器的思想深刻地影响了目标检测领域至少10年的发展。 VJ检测器采用了最传统也是最保守的目标检测手段——滑动窗口检测即在图像中的每一个尺度和每一个像素位置进行遍历逐一判断当前窗口是否为人脸目标。这种思路看似简单实则计算开销巨大。VJ人脸检测之所以器能够在有限的计算资源下实现实时检测其中有三个关键要素多尺度Haar特征的快速计算有效的特征选择算法以及高效的多阶段处理策略。 在多尺度Harr特征快速计算方面VJ检测器使用积分图对特征提取进行加速。积分图可以使特征计算量与窗口的尺寸无关同时也避免了处理多尺度问题时建图像金字塔这一耗时的过程。 在特征选择算法方面与传统意义上的手工特征不同的是VJ检测器中使用的Harr特征并非是人为事先设计好的。VJ检测器使用了过完备的随机Haar特征并通过Adaboost算法从一个巨大的特征池约180k维中进行特征选择选取出对于人脸检测最有用的极少数几种特征从而降低不必要的计算开销。 在多阶段处理方面作者提出了级联决策结构并将其形象地称之为“瀑布”Cascades。整个检测器由多级Adaboost决策器组成每一级决策器又由若干个弱分类决策桩Decision Stump组成。瀑布的核心思想是将较少的计算资源分配在背景窗口而将较多的计算资源分配在目标窗口如果某一级决策器将当前窗口判定为背景则无需后续决策就可继续开始下一个窗口的判断。 Haar特征主要是差分有四种基本特征 value白 - 黑
第一种表示相邻像两个素点4个方向进行差值0度180度45度135度第二种线性特征宽的区域表示两个像素点。第三种中心特征相邻区域同中心点进行差分。像LDP特征。第四种多个像素点彼此的关系。 最终选取所抽取的直方图差分运算本身就是在梯度求解。因此Haar特征属于文理特征。
Adaboost算法属于机器学习中的集成学习方法。
初始化样本权重w样本权重之和为1训练弱分类器更新样本权重分类错误的样本加大权重循环第二步结合各个分类器结果进行投票
滑动窗口方法 首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后会得到不同窗口检测到的物体标记这些窗口大小会存在重复较高的部分最后采用非极大值抑制(Non-Maximum Suppression, NMS)的方法进行筛选。
HOG特征与 SVM 算法(了解)行人检测、opencv实现
提取HOG特征训练SVM分类器利用滑动窗口提取目标区域进行分类判断NMS输出检测结果 HOG( Histogram of Oriented Gradients) 特征是一种描述图像局部梯度方向的特征广泛应用于行人检测和物体识别。结合 SVM(支持向量机)分类器HOG 特征能够在复杂场景下实现目标检测任 SIFT特征与SIFT算法(了解)
灰度化 Gamma 变换 对值进行根号求解计算梯度map 计算每一个点在x、y方向的梯度值利用梯度值到梯度夹角即得到tan x/y求方向角图像划分成小的cell统计每个cell梯度直方图多个cell组成一个block特征归一化 拼接多个block串联并归一化与量化角度和cell大小有关系cell越小梯度维度越大通常维度会很大。 SIFT( Scale-Invariant Feature Transform)特征是一种基于局部极值点和尺度空间的特征主要用于图像匹配和目标识别。SIFT 算法通过提取关键点和特征描述子实现对图像中目标的定位和识别。 DPM物体检测(了解)
DPM特征提取
有符号梯度无符号梯度 有符号整个角度空间表示为18维向量0 ~ 360度 无符号0 ~ 180度每个cell得到27维直方图 HOG中多维情况是采用PCA对HOG进行降维。 DPM是采用一种逼近PCA的方法进行近似处理就是对每一个cell所提取的27维直方图进行求和表示水平方式累加求和4个值垂直求和27个值在进行拼接得到最终31维的特征向量。累加方式速度有所提升。
DPM物体检测
计算DPM特征图计算相应图roof filter和part filter 就是当前区域可能为目标区域的一个值理解为能量分布Latent SVM分类器训练检测识别 四、传统目标检测算法基本流程
流程一 给定一张待检测图片将这张图片作为检测算法的输入然后对图片采用滑动窗口方式进行进行候选框的提取然后对每个候选框中的图像进行特征提取特征的提取主要基于前面的前置知识中介绍方式提取并用分类器进行特征分类的判定得到一系列的当前检测目标的候选框这些候选框可能存在重叠的状况此时使用非极大值抑制算法NMS对候选框进行合并或过滤得到的最后的候选框就是最终的检测目标即输出结果。
流程二 给定一张图片作为输入采用特征提取目标框回归的方法来进行目标区域的提取最后同样利用NMS进行候选框的合并最终得到目标输出结果。
注意
流程一适用于传统的目标检测方法和基于深度学习的目标检测方法流程二适用于基于深度学习的目标检测方法
五、 基于传统手工特征的检测算法的问题
1.通过传统方法设置特征一方面很难设计另一方面设计出来的特征往往存在各种问题比如对于某一个特定条件不适应即不鲁棒效率低2.通过滑动窗口的方式来提取目标框并对目标框进行分类判定的这种策略在提取滑动窗口时的流程是非常繁琐耗时
六、基于手工特征的传统算法的优缺点
优点
a.相对简单:基于手工特征的传统算法通常较为简单和易于实现不需要大量的训练样本b.较低的计算复杂性:由于特征提取过程通常较为简单传统算法在计算上较为高效。c.可解释性强:手工特征是由人工设计的具有较好的可解释性有助于分析算法的性能和结果
缺点:
a.依赖于特征设计:基于手工特征的传统算法的性能很大程度上依赖于特征设计的质量和选择。不同的任务需要不同的特征因此需要耗费大量的人力和时间来进行特征设计和调优。b.不适应复杂场景:传统算法通常对于复杂场景的处理能力较弱特别是在目标尺度、形状变化较大或存在遮挡的情况下c.无法处理大规模数据:随着数据规模的增大基于手工特征的传统算法的计算复杂性和识别性能将受到限制。 上一篇01目标检测-问题引入
下一篇03目标检测-传统方法与深度学习算法对比