魏 博,李戰(zhàn)明
(蘭州理工大學(xué) 電氣工程與信息工程學(xué)院,甘肅 蘭州 730050)
在數(shù)字圖像處理和模式識別中,經(jīng)常需要對圖像的輪廓進(jìn)行分析。在分析過程中,需要預(yù)先對圖像做一些必要的分析和處理,從而得到圖像的輪廓,此時得到的圖像輪廓其實(shí)是一些孤立的像素點(diǎn),要對圖像的輪廓進(jìn)行分析和描述就要建立這些像素點(diǎn)的數(shù)學(xué)模型。針對于某些具有特定的形狀的圖像例如圓形、直線等可以用最小二乘法擬合這些圖像輪廓的方程,進(jìn)而分析它的某些幾何特性,例如長度、面積等。文獻(xiàn)[1]中介紹了一種用最小二乘法擬合橢圓方程的方法。然而,對于某些不具有明顯幾何特征的輪廓,可以采用鏈?zhǔn)骄幋a[2]描述圖像輪廓,但這種方法不能直接計算圖像中的幾何特征。本文介紹的基于傅里葉變換的圖像輪廓描述方法可以將圖像的輪廓用傅里葉系數(shù)表示,這種方法可以描述任意圖像的輪廓,對于具有平滑邊緣的輪廓用很少的參數(shù)就可以達(dá)到很好的描述效果。由于人眼邊緣通常是光滑的,而且人眼輪廓具有明顯的幾何外形,因此這種方法可以很好地用來擬合人眼。而且用一次諧波擬合的人眼,其傅里葉系數(shù)具有明顯的幾何意義。因此可以用這些系數(shù)來計算人眼的幾何參數(shù)。由于傅里葉變換的各種算法在計算機(jī)程序設(shè)計中得到了廣泛的使用,因此,這種方法的計算效率也較其他方法高。
在傅里葉變換描述圖像輪廓的方法[3]中,一般將圖像定義在復(fù)平面內(nèi),那么圖像中的每一個像素都可以用一個復(fù)數(shù)來表示。像素的第一個坐標(biāo)表示復(fù)數(shù)的實(shí)部,第二個坐標(biāo)表示復(fù)數(shù)的虛部。因此,輪廓可以表示為下面的形式
圖1給出了用復(fù)數(shù)表示圖像輪廓的實(shí)例
圖1圖象輪廓在復(fù)平面的表示及其分解Fig.1 The representation of image contour in complex plane and its decomposition
圖中用兩個周期分別描述了復(fù)數(shù)實(shí)部和虛部的變化函數(shù)。通常周期T=2π,導(dǎo)出角頻率ω=1。但需要注意的是這種方法只能描述閉合的圖像輪廓。
實(shí)部函數(shù)和虛部函數(shù)可以分別展成傅里葉級數(shù)
為了獲得圖像輪廓的傅里葉描述,我們需要求出實(shí)部函數(shù)和虛部函數(shù)的傅里葉系數(shù),其復(fù)平面的傅里葉系數(shù)可以表示為
為了便于計算機(jī)求解,傅里葉系數(shù)還可以表示成三角函數(shù)的形式,設(shè)
由(4),(5)和歐拉公式[4]可得
綜合式(1)~(8),可以將圖像的輪廓表示為傅里葉級數(shù)的形式
也可將(9)表示為矩陣形式
如果僅取傅里葉級數(shù)的一次諧波,(10)變?yōu)?/p>
設(shè)任意橢圓的參數(shù)方程為
由(11)和(12)可得到以下關(guān)系式
小曲(13)-(14)的三角函數(shù)項,可得
圖2一次諧波擬合輪廓的幾何圖形Fig.2 Shape represented by the first harmonic
圖2中顯示了上述參數(shù)的幾何意義
從圖中可以看出,由一次諧波的4個傅里葉系數(shù)ax1,ay1,bx1,by1可以分別求出橢圓的長軸和短軸的距離。將一次諧波的情形推廣到k此諧波,會得出同樣的結(jié)論。所以,圖形輪廓可一描述為一系列橢圓的疊加。通常,低頻諧波描述出圖像輪廓的整體特征,而高頻諧波描述細(xì)節(jié)特征。人眼輪廓具有明顯的整體特征,而且輪廓的邊緣很光滑。因此,可以判斷用很少次數(shù)的諧波就可以準(zhǔn)確地描述出人眼輪廓。此外,由于傅里葉變換的系數(shù)具有旋轉(zhuǎn)不變和平移不變的性質(zhì)[5],所以輪廓的幾何參數(shù)不受坐標(biāo)平移和坐標(biāo)旋轉(zhuǎn)的影響。
由于人眼的輪廓通常是光滑,所以可已將人眼的輪廓近似為橢圓如圖3。在某些應(yīng)用中常要求出人眼的幾何特征,如人眼長度(2A)以及人眼寬度(2A),有時還會計算人眼的面積,在人眼疲勞檢測[6]中還會用到人眼的長短軸之比S=A/B。但是無論用到哪種幾何參數(shù),人眼長度和人眼寬度是兩個最基本的參數(shù),其他參數(shù)均可由這兩個參數(shù)導(dǎo)出。
圖3人眼的幾何模型及其參數(shù)Fig.3 The geometric model and parameter of human eyes
在用傅里葉變換描述人眼輪廓時,首先要用到一些方法提取人眼輪廓,本實(shí)驗先用Candy算子[7]的方法得到了人眼圖像的邊緣,然后用數(shù)學(xué)形態(tài)學(xué)的方法[8]處理此前得到的圖像,最終獲得了人眼的輪廓圖。得到的人眼的輪廓可以看成一個有限點(diǎn)集,表示為 A={(x,y)|(x,y){人眼邊界}}。圖 4(a)中顯示原始的人眼灰度圖,圖4(b)是經(jīng)過處理的人眼的輪廓圖。
圖4人眼的預(yù)處理Fig.4 The preprocessing of eye
得到人眼輪廓的集合A后,可以將這些點(diǎn)集描繪到復(fù)平面內(nèi)。如圖5,圖中的坐標(biāo)系采用了圖像坐標(biāo)系,即x軸的正方向同笛卡爾坐標(biāo)系一樣是從左到右的,y軸的正方向則與笛卡爾坐標(biāo)系相反是從上到下的。圖中的圓圈表示繞圖像輪廓旋轉(zhuǎn)的起點(diǎn),旋轉(zhuǎn)方向是逆時針。由于噪聲和光照等因素的影響,從圖中可以看出同人眼灰度圖相比,這里得到的輪廓中,人眼的下邊緣不太光滑,出現(xiàn)了一些明顯的波動。
圖5復(fù)平面內(nèi)的人眼輪廓Fig.5 Eye contour placed in a complex plane
由方程(1)可知,可以將人眼輪廓的二維坐標(biāo)(x,y)分別分解到實(shí)軸和虛軸上,得到圖6所示的兩條曲線。第一條曲線縱坐標(biāo)x(t)表示在輪廓上旋轉(zhuǎn)兩周,人眼輪廓在實(shí)軸上的投影,橫坐標(biāo)表示旋轉(zhuǎn)的弧度。同樣的,第二條曲線y(t)的表示旋轉(zhuǎn)時在虛軸上的投影,橫坐標(biāo)表示旋轉(zhuǎn)弧度。此處旋轉(zhuǎn)的角速率ω=1。
圖6人眼輪廓在復(fù)平面的投影曲線Fig.6 The projected curves of human eyes in a complex plane
從圖中可以看出x(t)曲線的形狀與三角函數(shù)的形狀很接近,而y(t)曲線在后半個個周期內(nèi)出現(xiàn)了小范圍的高頻波動,而在前半個周期內(nèi)與三角函數(shù)也非常接近。比較兩幅圖發(fā)現(xiàn),實(shí)軸投影圖(a)的幅值范圍要比要比虛軸投影圖(b)的范圍大得多,這與在圖5中觀察到的情形是一致的。
在得到實(shí)軸和虛軸上各自的函數(shù)后,可以根據(jù)(7)~(8)計算出各自的傅里葉系數(shù),圖7繪出前十次諧波的傅里葉系數(shù)的直方圖,其中k={1,2,...,10}表示諧波次數(shù)。比較四幅圖可以看出在五次諧波以后,傅里葉系數(shù)出現(xiàn)了明顯的衰減。也就是說,五次以后的傅里葉系數(shù)對圖象輪廓的貢獻(xiàn)率已經(jīng)很小,可以忽略不計。 從圖中還可以看出,ax(k),ay(k)和by(k)的一次諧波幅值的絕對值明顯比其他次諧波的幅值的絕對值大得多,這說明一次諧波的傅里葉系數(shù)在描繪人眼輪廓時占據(jù)主導(dǎo)地位。但是在傅里葉系數(shù)ay(k)中,二次諧波系數(shù)的數(shù)值最大,其他諧波系數(shù)出現(xiàn)了很大程度的衰減。這表明在虛軸上的投影有明顯的的二次余弦諧波分量。
求出各次諧波的傅里葉系數(shù)后,既可以用它來合成人眼的輪廓也可以計算人眼的幾何參數(shù)。在圖8中,虛線表示用一次諧波擬合成的人眼輪廓,實(shí)線是用前五次諧波你合成的人眼輪廓。從中可以看出用一次諧波就可以擬合成出人眼的大體輪廓,根據(jù)圖2的幾何關(guān)系,一次諧波系數(shù)可以近似計算出人眼的長度和寬度,也可以導(dǎo)出其他幾何參數(shù)。在實(shí)際應(yīng)用中,如果是計算人眼的幾何參數(shù),可以用一次諧波擬合的曲線做近似計算。如果是恢復(fù)人眼輪廓,可用更高次的諧波擬合。除此之外,用傅里葉變換擬合輪廓還可以除去輪廓邊緣的噪聲。同圖5相比,用前5次諧波擬合的人眼輪廓的邊緣明顯變得光滑了。在提取人眼輪廓是,人眼輪廓是否精確也影響著人眼的擬合效果。圖8中用五次諧波擬合的人眼輪廓與圖4a中相比還是有明顯的誤差,這說明這種方法可以有效的去除圖像輪廓的高頻噪聲,如邊緣的局部抖動以及毛刺等,但對于引起圖像輪廓變形的低頻噪聲卻無能無力。因此,前期輪廓提取的準(zhǔn)確性是很關(guān)鍵的,尤其注意要避免低頻噪聲。
圖7傅里葉系數(shù)的直方圖Fig.7 The bars of Fourier coefficient
圖8傅里葉系數(shù)擬合的人眼輪廓Fig.8 Fitting the eye contour using Fourier coefficients
通過上述分析可知,在已知人眼輪廓點(diǎn)集時,傅里葉變換可以用來擬合人眼以及分析人眼輪廓的幾何參數(shù)。由于人眼輪廓通常是平滑的,傅里葉變換也可以對人眼輪廓起到平滑和去噪的作用。同其他輪廓擬合和幾何參數(shù)分析方法相比,此種方法的算法跟容易實(shí)現(xiàn),而且算法效率更高。因此,可以得到廣泛的應(yīng)用。
[1]Anandaroop Ray,Srivastava DC.Non-linear leastsquaresellipse fitting using the genetic algorithm with applications to strain analysis[J].Journal of Structural Geology,2008,30(6):1593-1602.
[2]Walid Shahab,Hazem Al-Otum,F(xiàn)arouq Al-Ghoul.A modified 2D chain code algorithm for object segmentation and contour tracing[J].The International Arab Journal of Information Technology,2007,6(3):250-257.
[3]Mark S.Nixon,Alberto S.Aguado.Feature Extraction and Image Processing[M].Second Edition.London:Elsevier,2008
[4]蘇變萍,陳東立.復(fù)變函數(shù)與積分變換[M].北京:高等教育出版社,2003.
[5]胡廣書.數(shù)字信號處理-理論與、算法與實(shí)現(xiàn)[M].2版.北京:清華大學(xué)出版社,2003.
[6]Robinson Jimenez,F(xiàn)lavio Prieto,Victor H.Grisales.Detection of the tiredness level of drivers using machine vision techniques.Electronics,Robotics and Automotive Mechanics Conference[C].Cuernavaca:Mexico,2011.
[7]John Canny.A computational approach to edge detection[J].Transactions on Pattern Analysis and Machine Intelligence,1986,8(6):679-698.
[8]Dr.Pierre Soille.Morphological Image Analysis:Principles and Applications[M].Second Edition.Berlin:Springer,2004.