这是一种提取特征的方法

关键流程

1、pixel 计算梯度(ΔDistance,ΔAngle\Delta{Distance},\Delta{Angle}ΔDistance,ΔAngle)
2、对cell内的pixel梯度进行规则权重投影
3、对block内的cell进行对比度归一化
4、所有block的直方图向量一起组合成一个大的HOG特征向量
5、【可选】PCA降维

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

微分是一种线性描述函数在一点附近变化的方式。

微分与导数是两个不同的概念。

但是对于一元函数来说,可微分与可导是完全等价的。

可微分的函数,其微分值等于导数乘自变量的微分dxdxdx,换句话说,函数的微分与自变量的微分之商等于该函数的导数。因此导数也叫做“微商”。函数y=f(x)y=f(x)y=f(x)的微分又可以记作dy=f′(x)dxdy=f'(x)dxdy=f′(x)dx

对于梯度:
Δf=[Gx,Gy]T=[δfδx,δfδy]T\Delta{f}=[Gx ,Gy]^T=[\frac{\delta{f}}{\delta{x}},\frac{\delta{f}}{\delta{y}}]^TΔf=[Gx,Gy]T=[δxδf​,δyδf​]T

Dalal等人利用许多一阶微分模板进行求梯度近似值,但在实验中表明模板[-1,0,1]效果最好。
采用模板[-1,0,1]为例计算图像梯度以及方向,通过梯度模板计算水平和垂直方向的梯度分别如下:

1、该像素点的水平 梯度值。
Gh(x,y)=f(x+1,y)−f(x−1,y)G_h(x,y)=f(x+1,y)-f(x-1,y)Gh​(x,y)=f(x+1,y)−f(x−1,y)

2、该像素点的 垂直梯度值。
Gw(x,y)=f(x,y+1)−f(x,y−1)G_w(x,y)=f(x,y+1)-f(x,y-1)Gw​(x,y)=f(x,y+1)−f(x,y−1)

Δf=[Gh,Gw]T\Delta{f}=[G_h,G_w]^TΔf=[Gh​,Gw​]T
计算该像素点的梯度值MMM(梯度强度)以及梯度θ\thetaθ方向
M≈∣Gh∣+∣Gw∣M≈|G_h|+|G_w|M≈∣Gh​∣+∣Gw​∣
θ=arctan(GhGw)\theta =arctan(\frac{G_h}{G_w})θ=arctan(Gw​Gh​​)

梯度方向的范围限定,一般采用无符号的范围,故梯度方向可表示为:

对cell内的pixel梯度进行规则权重投影

通常使用的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度的度量方式。

对block内的cell进行对比度归一化

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

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

得出HOG最终的特征向量

优点缺点:

优点
HOG表示的是边缘(梯度)的结构特征,因此可以描述局部的形状信息;
位置和方向空间的量化一定程度上可以抑制平移和旋转带来的影响;
采取在局部区域归一化直方图,可以部分抵消光照变化带来的影响。
由于一定程度忽略了光照颜色对图像造成的影响,使得图像所需要的表征数据的维度降低了。
而且由于它这种分块分单元的处理方法,也使得图像局部像素点之间的关系可以很好得到的表征。

缺点
描述子生成过程冗长,导致速度慢,实时性差;
很难处理遮挡问题。
由于梯度的性质,该描述子对噪点相当敏感

参考:
https://www.cnblogs.com/wjgaas/p/3597248.html

【CVPR2005】梯度方向直方图(Histogram of Oriented Gradients,简称HOG)相关推荐

  1. 机器视觉 Histogram of oriented gradients

    Histogram of oriented gradients 简称 HoG, 是计算机视觉和图像处理领域一种非常重要的特征,被广泛地应用于物体检测,人脸检测,人脸表情检测等. HoG 最早是在200 ...

  2. Histogram of Oriented Gradients

    原文链接:https://www.learnopencv.com/histogram-of-oriented-gradients/ In this post, we will learn the de ...

  3. 梯度方向直方图和物体检测Histogram of Oriented Gradients and Object Detection

    If you've been paying attention to my Twitter account lately, you've probably noticed one or twoteas ...

  4. HOG(histogram of oriented gradients)特征个人总结

    HOG(histogram of oriented gradients)特征个人总结 前述 HOG特征概述 HOG特征提取 图像预处理 计算梯度 计算区间(cell)直方图 归一化块(block) 计 ...

  5. HOG(Histogram of Oriented gradients) feature extraction

    转载 https://blog.csdn.net/liulina603/article/details/8291093 1.HOG特征: 方向梯度直方图(Histogram of Oriented G ...

  6. 【计算机视觉】方向梯度直方图(Histogram of Oriented Gradient,HOG)

    文章目录 1. HOG 简述 2. HOG 工作流程 第一步.对图像的颜色空间进行归一化 第二步.计算每个像素点的梯度 第三步.为每个单元构建梯度方向直方图 第四步.块内梯度直方图归一化 3. 举个例 ...

  7. CVPR2005【行人检测】HOG+SVM用于人体检测的梯度方向直方图

    目录 CVPR2005-用于人体检测的梯度方向直方图 Histograms of Oriented Gradients for Human Detection 使用的数据集 研究方法 数据 流程 双对 ...

  8. Histogram of Oriented Gridients(HOG) 方向梯度直方图

    from: Histogram of Oriented Gridients(HOG) 方向梯度直方图 Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模 ...

  9. 【计算机视觉】Histogram of Oriented Gridients(HOG) 方向梯度直方图

    Histogram of Oriented Gridients(HOG) 方向梯度直方图 Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉.模式识别领域很 ...

  10. 金字塔式梯度方向直方图(PHOG)

    Pyramid Histogram of Oriented Gradients (PHOG),HOG大家都知道了,其实就是一个模板,每个CELL用方向信息来统计,我其实很久也用过边界方向直方图,只是感 ...

最新文章

  1. 深入理解Java 8 Lambda表达式(Oracle官方文档版)
  2. java double框架简介
  3. TypeScript Type Innference(类型推断)
  4. 自定义时间格式 返回年月日
  5. Room是怎样和LiveData结合使用的?(源码分析)
  6. 怎么用PHP语句做出增改删查功能,mysql语句实现简单的增、删、改、查操作示例...
  7. supervisor配置文件中如何添加多个环境变量
  8. 好用的记事本_分类记事本软件哪个好用?大家推荐一个苹果手机用的分类记事本便签呗...
  9. php最新版本的安装,centos安装新PHP版本
  10. kcp 介绍与源代码分析_Mendel:基于遗传隐喻的源代码推荐
  11. SAP软件财务年结步骤
  12. weex scroller滚动列表实践
  13. 低配置系统安装 linux,在低配置机中安装Linux系统
  14. 将文本中的各个单词的字母顺序翻转(Java)
  15. 如何防御DOS和DDOS攻击
  16. CPU 基本工作原理和概念
  17. 微信公众号post方法Java_Java HttpClient 如何伪装微信浏览器进行POST请求
  18. PHP 函数、类声明和调用
  19. intell idea怎么恢复默认设置
  20. 刘强东:B2C电商的本质

热门文章

  1. ArcGIS 地表TIN面数据的符号化
  2. Flutter动画系列之SizeTransition
  3. ppt 2016 html,2016第1章HTML5.ppt
  4. android+祖玛游戏源码,Flash祖玛游戏源代码
  5. slxrom+v.21+原生android+4.2,小米4移动联通版 魔趣OS 安卓10 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  6. php如何只删去汉字,php如何删除字符串中的中文
  7. Flink Weekly | 每周社区动态更新(附5月活跃榜单)
  8. 聊一个不常见的面试题:为什么数据库连接池不采用 IO 多路复用
  9. linux命令we,Linux 命令执行过程
  10. 桌面上计算机点击后,怎样设置电脑的鼠标点击后窗口(也就是桌面上点一下出来的窗口)为自己另类设计的个性窗口图案?求高手。...