HOG(Histogram of Oriented Gradients)

HOG(Histogram of Oriented Gradients)

     HOG描述子高维图像特征向量常规生成步骤:

1.图像归一化;

2.利用一阶微分计算图像梯度; 

3.基于梯度幅值的方向权重投影; 

4.HOG特征向量归一化;  

5.得出HOG最终的特征向量

 
步骤 1:图像归一化

        提高检测器对光照的鲁棒性,由于实际的应用场景人体目标可能出现在各种不同的场合,检测器对光照不太敏感才会取得较好的效果。

 

步骤 2 利用一阶微分计算图像梯度

1、图像平滑

        灰度图像,为去除噪点,会先利用离散高斯平滑模板进行平滑:高斯函数在不同平滑尺度下对灰度图像进行平滑操作。Dalal等人的实验表明,做高斯平滑时人体检测效果最佳,错误率缩小了约一倍。不进行平滑操作的可能原因:图像是基于边缘的,平滑操作会降低边缘信息的对比度,从而减少图像中的人体信号信息。

2、梯度法求图像梯度
 

步骤 3 基于梯度幅值的方向权重投影

       HOG结构:常用HOG结构大致有三种:矩形HOG(简称为R-HOG),圆形HOG和中心环绕HOG。它们的单位均为Block(块)。dalal的试验证明矩形HOG和圆形HOG的检测效果基本一致,而环绕形HOG效果相对差一些。矩形HOG块的划分:一般一个Block)都由若干Cell单元)组成,一个单元都有如干个像素点组成。


      在每个Cell中都独立做梯度方向统计,从而以梯度方向为横轴的的直方图,梯度方向可取0度到180度或0度到360度,但dalal等人的实验表明,对于人体目标检测0度到180度这种忽略度数正负级的方向范围能够取得更好的结果。然后又将这个梯度分布平均分成若干个方向角度(orientation bins),每个方向角度范围都会对应一个直方柱。实际根据dalal等人实验证实,在人体目标检测中,在无符号方向角度范围并将其平均分成9份(bins)能取得最好的效果,当bin的数目继续增大时效果改变不明显,在人体目标检测中常使用bin数目为9范围0到180度的度量方式。

      对梯度方向的投影权重方式的选取: 对于梯度方向的加权投影,一般都采用一个权重投影函数,它可以是像素点的梯度幅值,梯度幅值的平方根或梯度幅值的平方,甚至可以使梯度幅值的省略形式,它们都能够一定程度上反应出像素上一定的边缘信息。根据Dalal等人论文的测试结果,采用梯度幅值量级本身得到的检测效果最佳,使用量级的平方根会轻微降低检测结果,而使用二值的边缘权值表示会严重降低效果(约为5%个单位10-4FPPW(False Positives Per Window))。

         块与块之间的关系,通常是将某个变量范围固定划分为几个区域,由于边界变量与相邻区域具有相关性,所以变量只对一个区域进行投影而对相邻区域完全无关时会对其他区域产生混叠效应。采用块重叠,重复统计计算或者线性插值权重分配的方式解决混叠问题。

         Dalal等人在他们那篇关于HOG最为经典的论文《Histogram of Oriented Gradient for Human Detection》提出了利用块与块的重叠(Overlap)来解决混叠,并且取得了不错的效果。 在重叠方式中,块与块之间的边缘点被重复根据权重投影到各自相邻块(block)中,从而一定模糊了块与块之间的边界,处于块边缘部分的像素点也能够给相邻块中的方向梯度直方图提供一定贡献,从而达到关联块与块之间的关系的作用。dalal对于块和块之间相互重叠程度对人体目标检测识别率影响也做了实验分析。

        利用线性插值的方法解决分块之间联系问题:有些文献采用的不是块与块重叠的方法,而是采用线性插值的方法来削弱混叠效应。这种方法的主要思想是每个Block都对临近的Block都有影响,这种影响,我们可以以一种加权方式附加上去。

 

步骤 4:HOG特征向量归一化

      我们要对block块内的HOG特征向量进行归一化。对block块内特征向量的归一化主要是为了使特征向量空间对光照,阴影和边缘变化具有鲁棒性。还有归一化是针对每一个block进行的,一般采用的归一化函数有以下四种:




        在人体检测系统中进行HOG计算时一般使用L2-norm,dalal的文章也验证了对于人体检测系统使用L2-norm效果最好。

 

步骤 5 HOG最终的特征向量生成


    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Viola-Jones算法: 优点: - 算法速度非常快,能够在实时系统中使用 - 算法对于不同的目标具有较好的泛化性能,可以应用于人脸识别、人体检测等多个领域 缺点: - 对于遮挡、光照变化、角度变化等因素敏感,准确率有限 - 对于非正面的人脸检测效果较差 - 对于目标的大小、旋转角度等要求较高,需要对输入图像进行预处理 2. HOG算法: 优点: - 算法对于光照变化、遮挡等因素具有一定的鲁棒性,能够在一定程度上保持检测的准确性 - 算法能够在不同的尺度下进行目标检测,对于不同大小的目标具有较好的适应性 缺点: - 算法对于目标的姿态、旋转角度等变化较为敏感,需要进行预处理 - 算法对于背景噪声较大的情况下,会对检测结果产生影响 3. YOLO算法: 优点: - 算法速度较快,能够在实时系统中使用 - 算法能够在单个网络中完成目标检测和分类,具有较高的精度和召回率 - 算法对于目标的姿态、旋转角度等变化较为鲁棒 缺点: - 算法对于小目标的检测准确率较低 - 算法对于密集目标的检测准确率较低 - 算法对于目标的长宽比例较大的情况下,检测效果不佳 4. CNN算法: 优点: - 算法能够自动学习特征,无需手工提取,具有较高的鲁棒性和准确性 - 算法对于目标的姿态、旋转角度等变化较为鲁棒 - 算法在图像分类、目标检测等多个领域具有广泛的应用 缺点: - 算法需要大量的计算资源和数据集支持,训练时间较长 - 算法对于数据集的质量要求较高,需要进行预处理 - 算法的可解释性较差,难以理解和解释其决策过程 5. MTCNN算法: 优点: - 算法能够同时完成人脸检测、关键点检测和人脸对齐等任务,具有较高的精度和鲁棒性 - 算法对于不同尺度、姿态、光照等因素具有较好的适应性和泛化性能 缺点: - 算法运行速度较慢,对于实时系统应用有一定限制 - 算法对于遮挡、模糊等情况下的检测效果较差 - 算法对于不同种族、年龄等差异较大的人脸检测效果有限

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值