方向梯度直方图

维基百科,自由的百科全书
跳转至: 导航搜索

方向梯度直方图(英语Histogram of oriented gradient描述子是一种在计算机视觉图像处理中用来进行物体检测的特征描述子。此方法使用了图像的本身的梯度方向特征。此方法类似于边缘方向直方图(edge orientation histograms)方法,SIFT描述子,和上下文形状方法,但其特征在于其在在一个网格密集的大小统一的方格单元(dense grid of uniformly spaced cells)上计算,而且为了提高精确度使用了重叠的局部对比度归一化(overlapping local contrast normalization)的方法。

其作者Navneet DalalBill Triggs法国国家计算机技术和控制研究所(INRIA),他们在2005年的CVPR上首先发表了描述方向梯度直方图的论文。在这篇论文里,他们着重将他们的算法放在静态图像的行人检测问题上,之后他们也将他们的实验扩展到了视频中的人的检测的和静态图像中的车辆和常见动物的检测。

理论描述[编辑]

方向梯度直方图描述子的核心思想是一幅图像中的物体的表象和形状可以被像素强度梯度或边缘的方向分布很好地描述。其实现方法是先将图像分成小的叫做方格单元连通区域;然后采集方格单元中各像素点的梯度方向或边缘方向直方图;最后把这些直方图组合起来就可以构成特征描述子。为了提高精确度,还可以把这些局部直方图在图像的更大的区间(block)中进行对比度归一化(contrast-normalized),此方法通过先计算各直方图在这个区间(block)中的密度,然后根据这个密度值对区间中的各个方格单元做归一化。通过这个归一化后,能对光照变化和阴影获得更好的稳定性。

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

算法和实现[编辑]

梯度计算[编辑]

许多特征检测的第一步都是要进行图像的预处理,如归一化颜色值和gamma值,但如Dalal和Triggs指出的那样,HOG描述子可以省略这个步骤,因为它其中的描述子归一化处理能达到同样的效果。图像预处理对最终效果的贡献微薄。所以第一步就是计算梯度值。最通常用的方法就是简单的应用一个一维的离散的梯度模版分别应用在水平和垂直方向上去。可以使用如下的卷积核进行卷积:

[-1, 0, 1]\text{ and }[-1, 0, 1]^T.\,

Dalal和Triggs也测试了其他更加复杂的卷积核,例如3x3的索伯卷积核(索伯算子)和斜角卷积核,但是这些卷积核在行人检测的实验中表现的都很差。他们还用高斯模糊进行预处理,但是在实际运用中没有模糊反而会更好。 [2]

直方图统计的方向单元划分(Orientation binning)[编辑]

计算的第二步是建立分块直方图。每个块内的每个像素对方向直方图进行投票。每个块的形状可以是矩形或圆形的,方向直方图的方向取值可以是0-180度或者0-360度,这取决于梯度是否有符号。Dalal和Triggs发现在人的检测实验中,把方向分为9个通道效果最好。至于投票的权重,可以是梯度的幅度本身或者是它的函数。在实际测试中,梯度幅度本身通常产生最好的结果。其它可选的方案是采用幅度的平方或开方,或者幅度的裁剪版本。[3]

描述符塊[编辑]

為了要解釋照明和對比的改變,梯度強度必須要局部地歸一化,這需要把方格集結成更大、在空間上連結的區塊。HOG描述符是歸一化方格直方圖的元件的向量,這直方圖由所有區塊的區域而來。這些區塊通常會重疊,意味著每個方格不只一次影響了最後的描述符。兩個主要的區塊幾何存在著:一個是矩形的R-HOG區塊,另一個是圓形的C-HOG區塊。R-HOG區塊一般來說是多個方格子組成的,由三個參數表示:每個區塊有多少方格、每個方格有幾個像素、以及每個方格直方圖有多少頻道。在Dalal和Triggs的人检测实验中,发现最优的单元块划分是3x3或6x6个像素,同时直方图是9通道。

測試[编辑]

進一步的發展[编辑]

參見[编辑]

參考資料[编辑]

外部連結[编辑]