【人臉檢測——基於機器學習4】HOG特征
前言
HOG特征的全稱是Histograms of Oriented Gradients,基於HOG特征的人臉識別算法主要包括HOG特征提取和目標檢測,該算法的流程圖如下圖所示。本文主要講HOG特征提取。
HOG特征的組成
Cell:將一幅圖片劃分為若幹個cell(如上圖綠色框所示),每個cell為8*8像素
Block:選取4個cell組成一個block(如上圖紅色框所示),每個block為16*16像素。Block的滑動步長為8像素,如黃色箭頭所示
Detection Window:令64*128像素大小的圖片為檢測Win,在其中共計有105個block。
HOG 特征要完全描述一個obj的所有信息,它的維度=窗體中所有block個數(105)*每個block中cell的個數(4)*每個cell中Bin的個數(9)=3780(維),每一維就是一個bin
HOG特征的提取
- Gamma/Colour Normalization
在Navneet Dalal的實驗 [1]中Gamma/Colour Normalization對於檢測器的性能僅僅有些許的影響,他猜測是後續的描述子歸一化能實現相同的功能。
- Gradient Computation
Dalal的實驗[1]中最簡單的一維中心對稱模板在處的高斯模板下效果最好。根據具體的檢測目標采取不同的梯度計算方法。
人臉識別中可以采用如下特征模板計算像素的梯度:
水平方向上的模板為:; :左中右三個像素分別與模板相乘=相鄰像素之差
豎直方向上:;b也就是上下像素之差
整個梯度的幅值 :
角度:
- Spatial/Orientation Binning
這裏我們定義了新的概念bin。Bin可以是(無符號的梯度),也可以是(有符號的梯度)。對於人體檢測系統來說,由於不同人著裝的顏色和背景變化太大,梯度方向的符號不是很重要,而對其他的剛性對象如花瓶、茶杯、摩托車等梯度符號信息非常重要。
我們這裏的人臉檢測中,將bin定義在,並將其分為9份,因此,每個cell都有9個bin。上一小節我們計算出 了像素的梯度與角度。我們要在cell中統計每個梯度的幅值總和。
bin的投影操作可如下所示(並不唯一)
Bin的投影
Bin 將0-360劃分為9塊,每塊為40度,這40度中,每20度為連續的。
例如 0-40度中
Bin1 為0- 20 在這個範圍 180-200 當在這兩個範圍內的 被認為在一個bin上
例如(有很多方法)
對於某個像素ij,計算出來的幅值為f,角度為a=10,在0-20,那麽就投影在bin1上
若 a=190,在180-200之間,那麽也在bin1上。
投影幅值為:
若 a=10/190,剛好位於中間,這,投影幅值就為f
若a=25,那麽投影將被分解為在Bin1 和bin2上
,
計算整體的hog特征
3780維==win(block cell bin),每個維度就是一個bin
對於3780維的某一維,就是某一個窗體win下的某個block中的某個cell的某個bin
對於一個block中的4個cell
Cell0: bin0 bin 1 … bin8
Cell1: bin0 bin 1 … bin8
Cell2: bin0 bin 1 … bin8
Cell3: bin0 bin 1 … bin8
對於第ij(第i行j列)個像素,投影在cell0中的Bin0上,那邊bin0中的內容就是f0:bin0中描述的就是當前像素的梯度
對於第i+1j像素,若也投影在cell0中的Bin0上,那麽Bin0中的內容就是f1
當投影完後, 求 sumbin0 --------就是最後的bin0 權重的累加
- Normalization and Descriptor Blocks
原因:梯度算子容易受到噪聲如光照和背景對比度的影響,為了減少這種影響需要對局部cell進行歸一化處理
基本思想:將相鄰的cell組成可重疊的block,以有效的利用重疊的邊緣信息,然後對每個塊分別進行歸一化處理。
Dala文章中介紹了四種常見的block歸一化算法,其中(1),(2),(4)的性能大致相同,而(3)則降低了性能
(1)L2-norm:
(2)L2-Hys:先做一次L2-norm歸一化,然後把大於等於0.2的分量賦值為0.2再做一次L2-norm
(3)L1-norm:
(4)L1-sqrt:,采用了L1-norm的平方根式
其中, 表示v的k階範數,為一個小數值的常量,它的存在是必要的
統計好每一個block內的梯度信息並形成描述子後,將檢測窗口(win)內所有信息收集起來並結合成的向量即為HOG特征向量。
參考與致謝
Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on. IEEE, 2005, 1: 886-893.
【人臉檢測——基於機器學習4】HOG特征