郭宇航
(國家新聞出版廣電總局無線電臺管理局,北京 100045)
圖像匹配和目標檢測技術是現(xiàn)代圖像處理的重要問題。進行圖像匹配和目標檢測通常的思路是提取圖像中目標的特征,然后在其他圖像中尋找這些特征。幾何矩是圖像中目標的重要特征,其形式簡單,一般只需要一個數(shù)字就可以表達,所以常常被用來做一些粗略的區(qū)分。具有平移不變性的中心矩就是最常用的幾何矩之一。但是由于光照、攝像頭投影變形、拍攝角度、背景噪聲等原因使同一個目標物體在圖像中也會有很大變化,從而造成圖像中目標的很多特征發(fā)生了改變。因此如果能尋找到圖像中目標的一些特征,這些特征具有平移、旋轉(zhuǎn)、灰度、尺度等的不變性,就可以根據(jù)目標的這些特征,在其他圖像中尋找具有這些特征的區(qū)域圖像進行匹配,進行可靠的圖像匹配和目標檢驗。
圖像的不變矩就是具有這些特點的一種濃縮的特征。1962年Hu.M.K提出了7個由幾何矩生成的圖像不變矩,圖像平移、伸縮和旋轉(zhuǎn)后,這些不變矩的值保持恒定[1]。由于Hu矩在很多畸變情況下的不變性,所以可以用Hu矩匹配進行目標的檢測或快速的預處理,提取出目標可能的區(qū)域以進行下一步的處理。因為目標在圖像中的大小、位置均未知,進行識別時,需要求出圖像中不同位置和不同尺度的區(qū)域的Hu矩,然后和目標的Hu矩進行匹配。計算單一區(qū)域Hu矩比較復雜,如果針對圖像中不同位置和不同尺度的區(qū)域,每個都求一遍Hu矩用來比較的話會使復雜度提升很多。
為了減少重復計算的復雜度、提高運算效率,采用積分圖快速計算圖像中任意位置和任意尺度矩形區(qū)域的灰度和的方法被提出[2]?;驹硎菆D像中任意一點的積分圖的值定義為圖像原點到該點所形成矩形區(qū)內(nèi)各像點灰度之和。這樣,原始圖像中任意矩形區(qū)的灰度值之和就可以通過四個邊界頂點的積分圖值的加減法獲得。當需要遍歷某個圖像中任意位置和任意尺度矩形區(qū)域的灰度和之值時,如果提前建立好積分圖,然后通過積分圖中四個頂點值的加減運算,會極大節(jié)省計算時間。
因為積分圖的方法是將積分求值轉(zhuǎn)化為四個頂點積分值的加減運算,所以比較適合化簡一些圖像像素的灰度值通過加減運算組合生成值的計算。但是圖像中心距和Hu矩的值并不是簡單地由圖像像素的灰度值通過加減運算組合生成的,所以無法直接使用積分圖來進行化簡計算。本文對積分圖的方法進行擴展,提出了一種積分圖多項式的算法,可以用來化簡遍歷圖像中任意位置和任意尺度矩形區(qū)域中心矩和Hu矩的計算。
f(x,y)是二階連續(xù)函數(shù),p,q為非零整數(shù):0,1,2,3,…
f(x,y)的(p+q)階原點矩m定義為:
f(x,y)的(p+q)階中心矩μ定義為:
其中xˉ,yˉ和連續(xù)時同樣定義
圖1 積分圖方法求某個矩形區(qū)域所有像素灰度值之和
如圖1所示,在積分圖中,左上方所有像素灰度值之和存儲在每個點中:S其中圖像(x,y)位置的像素灰度值用f(x,y)表示。積分圖可以采用增量的方式生成:
初始條件:SAT(-1,y)=SAT(x,-1)=SAT(-1,-1)=0。所以為了求積分圖,只需要對整張圖像遍歷一遍。有了積分圖后,求圖像矩形區(qū)域像素灰度值之和就簡化為積分圖中幾個點數(shù)值的加減運算:
由2.1中Hu矩的定義可知,Hu無法表示成像素灰度值的加減,但是可以用積分圖多項式來表示。用積分圖多項式求Hu分為3步:
(1)用積分圖多項式來求原點矩
所以用mpnqf(x,y)作為每個像素對應的值。用增量的方法可以生成積分圖用來快速計算原點矩:
初始條件:SAT'(-1,y)=SAT'(x,-1)=SAT'(-1,-1)=0
(2)用積分圖多項式求中心矩
矩形區(qū)域[x-1,y-1,x+w-1,y+h-1]的(p+q)階中心矩:可以用積分圖方法來計算。C(m,n)為從m個元素中任取n個元素的函數(shù):
(3)用積分圖多項式求Hu矩
用積分圖多項式的方法計算下列各式:
求得上述中心矩后,可以用本文公式(5)至(12)的方法計算Hu矩。
圖2 原始圖像
圖3檢測圖像
實驗目的為在圖3中檢測圖2中的圖像是否存在。方法為先求出圖2的Hu矩,然后求圖3中任意位置和任意尺度矩形區(qū)域的Hu矩。設定一個的閾值,如果圖3中某個矩形區(qū)域的Hu矩和圖2的Hu矩差別小于閾值的,則在圖3中檢測到圖2的目標。遍歷任意位置和任意尺度矩形區(qū)域采用枚舉的方法,區(qū)域的寬度從2個像素到圖片的寬度,區(qū)域的長度從2個像素到圖片的長度,區(qū)域的起始位置也是從(0,0)開始,直到區(qū)域的邊緣與圖片的邊緣重合。
求Hu矩采用兩種方法進行對比:
方法1:傳統(tǒng)方法,確定區(qū)域位置和尺度后,用公式(3)至(5)的方法計算歸一化中心矩,用公式(6)至(12)的方法求Hu矩。
方法2:積分圖多項式方法,先用公式(13)和(14)的方法建立廣義積分圖,確定區(qū)域位置和尺度后,用公式(15)至(32)的方法計算歸一化中心矩,用公式(6)至(12)的方法求Hu矩。
實驗采用的硬件:CPU為Intel i77700HQ,內(nèi)存為16GB;采用的軟件:操作系統(tǒng)為win10家庭版64位,程序運行環(huán)境為python2.7。
實驗結(jié)果如表1所示,實驗結(jié)果表明,方法2比方法1減少了很多計算時間,而且圖片越大,方法2比方法1節(jié)約的時間越多。
表1 實驗結(jié)果
由以上可知,利用積分圖多項式的方法求圖像中任意矩形區(qū)域的中心矩和Hu矩可以很大地減少計算時間,提高計算速度。此方法也可以在均值濾波、直方圖均衡化等圖像處理操作中進行推廣。
參考文獻:
[1]Hu M.Visual pattern recognition by moment invariants[J]. IRE Transactions on Information Theory,1962(8):179-187.
[2]Viola P,Jones M.Rapid object detection using a boosted cascade of simple features,2001.CVPR 2001.Proceedings of the 2001 IEEE Computer Society Conference on.IEEE,2001,1:I-511-I-518 vol.1.