hog特徵原理描述

Histogram of Oriented Gridients(HOG) 方向梯度直方圖

[轉載自 https://blog.csdn.net/datase/article/details/71374471 版權歸原做者全部 僅供學習參考]html

Histogram of Oriented Gridients,縮寫爲HOG,是目前計算機視覺、模式識別領域很經常使用的一種描述圖像局部紋理的特徵。這個特徵名字起的也很直白,就是說先計算圖片某一區域中不一樣方向上梯度的值,而後進行累積,獲得直方圖,這個直方圖呢,就能夠表明這塊區域了,也就是做爲特徵,能夠輸入到分類器裏面了。那麼,接下來介紹一下HOG的具體原理和計算方法,以及一些引伸。post

 

1.分割圖像學習

由於HOG是一個局部特徵,所以若是你對一大幅圖片直接提取特徵,是得不到好的效果的。原理很簡單。從信息論角度講,例如一幅640*480的圖像,大概有30萬個像素點,也就是說原始數據有30萬維特徵,若是直接作HOG的話,就算按照360度,分紅360個bin,也沒有表示這麼大一幅圖像的能力。從特徵工程的角度看,通常來講,只有圖像區域比較小的狀況,基於統計原理的直方圖對於該區域纔有表達能力,若是圖像區域比較大,那麼兩個徹底不一樣的圖像的HOG特徵,也可能很類似。可是若是區域較小,這種可能性就很小。最後,把圖像分割成不少區塊,而後對每一個區塊計算HOG特徵,這也包含了幾何(位置)特性。例如,正面的人臉,左上部分的圖像區塊提取的HOG特徵通常是和眼睛的HOG特徵符合的。url

接下來講HOG的圖像分割策略,通常來講有overlap和non-overlap兩種,以下圖所示。overlap指的是分割出的區塊(patch)互相交疊,有重合的區域。non-overlap指的是區塊不交疊,沒有重合的區域。這兩種策略各有各的好處。spa

non-overlapoverlap

先說overlap,這種分割方式能夠防止對一些物體的切割,仍是以眼睛爲例,若是分割的時候正好把眼睛從中間切割而且分到了兩個patch中,提取完HOG特徵以後,這會影響接下來的分類效果,可是若是兩個patch之間overlap,那麼至少在一個patch會有完整的眼睛。overlap的缺點是計算量大,由於重疊區域的像素須要重複計算。.net

再說non-overlap,缺點就是上面提到的,有時會將一個連續的物體切割開,獲得不太「好」的HOG特徵,優勢是計算量小,尤爲是與Pyramid(金字塔)結合時,這個優勢更爲明顯。3d

2.計算每一個區塊的方向梯度直方圖htm

將圖像分割後,接下來就要計算每一個patch的方向梯度直方圖。步驟以下:blog

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.組成特徵

將從每一個patch中提取出的「小」HOG特徵首尾相連,組合成一個大的一維向量,這就是最終的圖像特徵。能夠將這個特徵送到分類器中訓練了。例如:有4*4=16個patch,每一個patch提取12維的小HOG,那麼最終特徵的長度就是:16*12=192維。

4.一些引伸

 與pyramid相結合,即PHOG。PHOG指的是,對同一幅圖像進行不一樣尺度的分割,而後計算每一個尺度中patch的小HOG,最後將他們鏈接成一個很長的一維向量,做爲特徵。例如:對一幅512*512的圖像先作3*3的分割,再作6*6的分割,最後作12*12的分割。接下來對分割出的patch計算小HOG,假設爲12個bin即12維。那麼就有9*12+36*12+144*12=2268維。須要注意的是,在將這些不一樣尺度上得到的小HOG鏈接起來時,必須先對其作歸一化,由於3*3尺度中的HOG任意一維的數值極可能比12*12尺度中任意一維的數值大不少,這是由於patch的大小不一樣形成的。PHOG相對於傳統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

相關文章
相關標籤/搜索