【Paper】利用積分圖像法快速計算Haar特徵

由於Haar特徵是矩形中黑色區域所有像素值的和減去白色區域所有像素值的和。在之前(《計算Haar特徵個數》)我們看到,24*24的圖片中,有115984個特徵,遠遠大於其像素個數。如果計算每個特徵的像素和,計算量會非常大,而且很多次運算是重複的。

Paul Viola提出一種利用積分圖像法快速計算Haar特徵的方法(《Rapid object detection using a boosted cascade of simple features》)。簡單說來,就是先構造一張“積分圖”(Integral image),也叫Summed Area Table,之後任何一個Haar矩形特徵都可以通過查表的方法(Look Up Table)和有限次簡單運算得到,大大減少了運算次數。

將矩形表示爲:

其中,x,y表示起點座標,w,h表示寬,高,a表示角度。

矩形內像素值之和表示爲:

0°矩形特徵


構造積分圖像Summed Area Table


積分圖像中,每個點存儲是其左上方所有像素之和:

其中I(x,y)表示圖像(x,y)位置的像素值。
積分圖像可以採用增量的方式計算:

初始邊界:SAT(-1,y)=SAT(x,-1)=SAT(-1,-1)=0
所以,只需要對整張圖像遍歷一次就可以求得這張圖的積分圖像。

計算Haar矩形特徵

如圖所示:


利用積分圖計算可計算矩形區域內像素和:



所以,無論矩形r的尺寸大小,只需查找積分圖像4次就可以求得任意矩形內像素值的和。


45°Rotated矩形特徵


構造旋轉積分圖像Rotated SummedArea Table

 

旋轉積分圖中,每個點存儲是其左上方延伸出的45°區域範圍內所有像素之和:


RSAT(x,y)也採用增量方計算得到:


初始邊界:RSAT(-1,y)=RSAT(x,-1)=RSAT(x,-2)=0
          RSAT(-1,-1)=RSAT(-1,-2)=0

公式具體示意如下圖:



計算Haar矩形特徵

同樣的方式,可推出每個矩形內像素和的計算公式:

*圖太難畫了,不清楚的自己在草稿紙上試試吧~

同樣的,無論旋轉矩形r的尺寸大小,只需要查找積分圖像4次就可以求得任意矩形內像素值得和。



(轉載請註明作者和出處:http://blog.csdn.net/xiaowei_cqu 未經允許請勿用於商業用途)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章