图像特征提取算法:方向梯度直方图HOG

article/2025/9/28 15:02:02

1.基本介绍

HOG,全称是方向梯度直方图(Histogram Of Gradient),是目前计算机视觉、模式识别领域很常用的一种描述图像局部纹理的特征。这个特征名字起的也很直白,就是说先计算图片某一区域中不同方向上梯度的值,然后进行累积,得到可以代表这块区域的直方图,使用直方图进行检索或分类。

因为HOG是一个局部特征,因此如果对一大幅图片直接提取特征,是得不到好的效果的。原理很简单。从信息论角度讲,例如一幅640*480的图像,大概有30万个像素点,也就是说原始数据有30万维特征,如果直接做HOG的话,就算按照360度,分成360个bin,也没有表示这么大一幅图像的能力。从特征工程的角度看,一般来说,只有图像区域比较小的情况,基于统计原理的直方图对于该区域才有表达能力,如果图像区域比较大,那么两个完全不同的图像的HOG特征,也可能很相似。但是如果区域较小,这种可能性就很小。最后,把图像分割成很多区块,然后对每个区块计算HOG特征,这也包含了几何(位置)特性。例如,正面的人脸,左上部分的图像区块提取的HOG特征一般是和眼睛的HOG特征符合的。

2.HOG的优点

(1)由于HOG是 在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不变性,这两种形变只会出现在更大的空间领域上。
(2)在粗的空域抽样、精细 的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响 检测效果。
HOG特征特别适合于做图像中的人体检测

3.特征提取

HOG特征的提取包括图像分割、分区块方向梯度直方图计算和组成特征等。

3.1 分割图像

HOG的图像分割策略,一般来说有overlap和non-overlap两种,如下图所示。overlap指的是分割出的区块(patch)互相交叠,有重合的区域。
non-overlap指的是区块不交叠,没有重合的区域。这两种策略各有各的好处。
在这里插入图片描述
先说overlap,这种分割方式可以防止对一些物体的切割,还是以眼睛为例,如果分割的时候正好把眼睛从中间切割并且分到了两个patch中,提取完HOG特征之后,这会影响接下来的分类效果,但是如果两个patch之间overlap,那么至少在一个patch会有完整的眼睛。overlap的缺点是计算量大,因为重叠区域的像素需要重复计算。

再说non-overlap,缺点就是上面提到的,有时会将一个连续的物体切割开,得到不太“好”的HOG特征,优点是计算量小,尤其是与Pyramid(金字塔)结合时,这个优点更为明显。

3.2 计算每个区块的方向梯度直方图

将图像分割后,接下来就要计算每个patch的方向梯度直方图。步骤如下:

A.利用任意一种梯度算子,例如:sobel,laplacian等,对该patch进行卷积,计算得到每个像素点处的梯度方向和幅值。具体公式如下:
在这里插入图片描述
其中,Ix和Iy代表水平和垂直方向上的梯度值,M(x,y)代表梯度的幅度值,θ(x,y)代表梯度的方向。

B.将360度(2*PI)根据需要分割成若干个bin,例如:分割成12个bin,每个bin包含30度,整个直方图包含12维,即12个bin。然后根据每个像素点的梯度方向,利用双线性内插法将其幅值累加到直方图中。
在这里插入图片描述
C.(可选)将图像分割成更大的Block,并利用该Block对其中的每个小patch进行颜色、亮度的归一化,这一步主要是用来去掉光照、阴影等影响的,对于光照影响不剧烈的图像,例如很小区域内的字母,数字图像,可以不做这一步。而且论文中也提及了,这一步的对于最终分类准确率的影响也不大。

3.3 组成特征

将从每个patch中提取出的“小”HOG特征首尾相连,组合成一个大的一维向量,这就是最终的图像特征。可以将这个特征送到分类器中训练了。例如:有44=16个patch,每个patch提取12维的小HOG,那么最终特征的长度就是:1612=192维。

扩展

与pyramid相结合,即PHOG。PHOG指的是,对同一幅图像进行不同尺度的分割,然后计算每个尺度中patch的小HOG,最后将他们连接成一个很长的一维向量,作为特征。例如:对一幅512512的图像先做33的分割,再做66的分割,最后做1212的分割。接下来对分割出的patch计算小HOG,假设为12个bin即12维。那么就有912+3612+14412=2268维。需要注意的是,在将这些不同尺度上获得的小HOG连接起来时,必须先对其做归一化,因为33尺度中的HOG任意一维的数值很可能比12*12尺度中任意一维的数值大很多,这是因为patch的大小不同造成的。PHOG相对于传统HOG的优点,是可以检测到不同尺度的特征,表达能力更强。缺点是数据量和计算量都比HOG大了不少。
在这里插入图片描述

参考资料

HOG特征
方向梯度直方图
Navneet Dalal and Bill Triggs,《Histograms of Oriented Gradients for Human Detection》,2005
A. Bosch, A. Zisserman, and X. Munoz, 《Representing shape with a spatial pyramid kernel》,2007


http://chatgpt.dhexx.cn/article/c3YJOCc4.shtml

相关文章

HOG特征提取算法原理

1.算法基本流程 在一幅图像中,方向梯度直方图(Histogram of Oriented Gradient, HOG)能够很好地描述局部目标区域的特征,是一种常用的特征提取方法,HOGSVM在行人检测中有着优异的效果。在HOG中,对一幅图像进…

sift特征提取算法

简介 SIFT算法是用来提取图像局部特征的经典算法,SIFT算法的实质是在不同的尺度空间上查找关键点(特征点),并计算出关键点的方向。SIFT所查找到的关键点是一些十分突出,不会因光照,仿射变换和噪音等因素而变化的点,如角点、边缘点、暗区的亮点及亮区的暗点等。 主要步骤 …

特征提取算法:HOG,HAAR,LBP

(一)HOG特征 1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征…

人脸识别技术中的Gabor特征提取算法

前言 上篇文章中,讲述了语音识别技术中的DTW算法,DTW算法是用于模板匹配的。这篇文章我们将介绍人脸识别中的Gabor特征提取算法,Gabor算法是用在特征提取阶段。我们在这里对比一下语音识别的流程图和人脸识别技术的流程图,以便学…

特征提取算法简单学习笔记

update 2021.04.22 这几年的经验下来,以前以为特征提取的方法时共通的,注意力都在后续算法部分,现在的感受是,不同领域算法反而很多时候时共通的,特征提取差异很大,不能简单的一言以蔽之,这也是…

脑电数据的特征提取算法详解

脑电信号的特征工程。 作者做了什么 做这件事有什么意义 作者是用什么方法去做的 这个方法(思路)的每一步具体怎么操作,每一步都有什么目的,为了解决一个什么样的小问题 在做的过程中,有哪些难点,作者是如何…

特征提取算法(1)——纹理特征提取算法LBP

模式识别中进行匹配识别或者分类器分类识别时,判断的依据就是图像特征。用提取的特征表示整幅图像内容,根据特征匹配或者分类图像目标。 常见的特征提取算法主要分为以下3类: 基于颜色特征:如颜色直方图、颜色集、颜色矩、颜色聚合向量等;基于纹理特征:如Tamura纹理特征、…

深度学习理论——特征提取算法

大家好,继续理论学习,今天介绍几种最常见的特征提取算法。 1.LBP算法(Local Binary Patterns,局部二值模式) LBP算子是一种用来描述图像局部纹理特征的算子,具有灰度不变性。 其主要思想是在目标像素周围…

特征提取算法的总结

在前面的blog中,我们已经讲了SIFT的原理,这里我们再详细讲解SIFT的变体:PCA-SIFT和GLOH。 – Scale invariant feature transform (SIFT): Lowe, 2004. – PCA-SIFT: SIFT: Ke and Sukthankar 2004 Ke and Sukthankar, 2004. – Gradient l…

常见的几种图像特征提取算法

常见的几种图像特征提取算法 1. LBP算法(Local Binary Patterns,局部二值模式)2.HOG特征提取算法(Histogram of Oriented Gradient)3.SIFT算子(Scale-invariant feature transform,尺度不变特征变换) 1. LBP算法(Local…

SIFT特征提取算法实验

SIFT特征提取算法实验 SIFT特征提取算法 1.1 算法定义 1.2 SIFT特征提取算法实验: 1.3 构造数据集 检测提取感兴趣点 2.1代码实现: 2.2.绘制特征点代码分析: 提取数据集中每张图片的SIFT特征并展示 3.1实现对比: 3.2代码实现: 4.计算两张图片间的SIFT特征匹配结果 4.1匹配…

SIFT、SURF等关键点特征提取算法代码

文章目录 1.关键点特征提取算法2.SIFT代码(pythonopencv)2.SURF代码(pythonopencv)3.SIFT和SURF的比较 1.关键点特征提取算法 特征提取是提取出物体(如图片)的特征,用数学的向量、矩阵等对物体…

HOG图像特征提取算法

HOG图像特征提取算法 HOG简介HOG特点HOG计算步骤HOG参数计算HOG提取特征效果HOG代码实现 HOG简介 HOG全称:方向梯度直方图(Histogram of Oriented Gradient),发表于2005年的CVPR,是一种图像特征提取算法,和…

SURF特征提取算法详解

上一节我们已经介绍了SIFT算法,SIFT算法对旋转、尺度缩放、亮度变化等保持不变性,对视角变换、仿射变化、噪声也保持一定程度的稳定性,是一种非常优秀的局部特征描述算法。但是其实时性相对不高。 SURF(Speeded Up Robust Features)算法改进了特征了提取…

图像特征提取算法—HOG

图像特征提取算法—HOG 一 图像基本概念 1.1特征 边缘,角,区域。但不同的目的对应着的不同的特征,边缘特征,颜色特征,梯度方向分布等。 每个物体,我们总可以用一些词语或部件来描述它,比如人…

时域特征提取_EEG信号特征提取算法

点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 时域分析与频域分析 EEG信号特征提取就是以脑电信号作为源信号,确定各种参数并以此为向量组成表征信号特征的特征向量。 特征參数主要包括时域信号(如幅值)和频域信号(如频率)两大类,相应的特征提取方法也…

特征提取算法

特征提取 1、背景2、边界预处理Moore boundary tracing algorithmChain CodesFreeman Chain Codesslope chain codes (SCCs) minimum-perimeter polygon (MPP)signaturesskeletons 3、Region Feature Descriptors3.1 区域描述子和特征向量3.2 Topological Descriptors3.3 Textu…

深度学习之特征提取算法

目录 前言 二、LBP(Local Binary Patterns,局部二值模式) 三、HOG算法(Histogram of Oriented Gradient, 方向梯度直方图) 四、SIFT算子(Scale-invariant feature transform ,尺度不变特征变换) 五、H…

idea如何使用git关联远程仓库

1.git的配置 一般本地安装了git,idea会自动检索, 2.创建git本地仓库 一般以你要上传的项目为根目录 3.将文件提交至本地仓库 4.提交至远程仓库 点击VCS选择git点击push提交,第一次连接会让你输入远程仓库的地址。 我们先将github上的地…

git 将本地项目关联到远程仓库

原文链接:https://www.jianshu.com/p/2a8b4e627991 参考链接: https://blog.csdn.net/baidu_35085676/article/details/53456884 1.首先在项目目录下初始化本地仓库 git init 2.添加所有文件( . 表示所有) git add . 3.提交所有文件到本地仓库 git comm…