1. 程式人生 > >【人臉檢測——基於機器學習4】HOG特征

【人臉檢測——基於機器學習4】HOG特征

block 模板 onf 介紹 顏色 組成 computer com ams

前言

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特征的提取

  1. Gamma/Colour Normalization

在Navneet Dalal的實驗 [1]中Gamma/Colour Normalization對於檢測器的性能僅僅有些許的影響,他猜測是後續的描述子歸一化能實現相同的功能。

  1. Gradient Computation

Dalal的實驗[1]中最簡單的一維中心對稱模板技術分享圖片技術分享圖片處的高斯模板下效果最好。根據具體的檢測目標采取不同的梯度計算方法。

人臉識別中可以采用如下特征模板計算像素的梯度:

水平方向上的模板為:技術分享圖片技術分享圖片:左中右三個像素分別與模板相乘=相鄰像素之差

豎直方向上:技術分享圖片;b也就是上下像素之差

整個梯度的幅值 :技術分享圖片

角度:技術分享圖片

  1. 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 權重的累加

  1. 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特征