文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)10-0013-04
近年來,以人臉、虹膜、視網(wǎng)膜、指紋、聲音、基因等生物特征作為識(shí)別手段的生物特征識(shí)別技術(shù)漸漸發(fā)揮出了很好的作用。這類識(shí)別屬于模式識(shí)別范疇,相比傳統(tǒng)的識(shí)別方式更安全、穩(wěn)定和方便[1]。其中,人臉識(shí)別因具有友好、方便、直接等優(yōu)點(diǎn)而成為一個(gè)熱門研究領(lǐng)域。
鑒于FPGA的并行高速處理特點(diǎn)以及設(shè)計(jì)、擴(kuò)展的靈活性,本論文采用FPGA來實(shí)現(xiàn)人臉檢測(cè)系統(tǒng)的設(shè)計(jì)。
1 人臉檢測(cè)系統(tǒng)方案設(shè)計(jì)
目前,根據(jù)是否使用人臉區(qū)域的色彩特征,將人臉檢測(cè)算法分為兩大類:針對(duì)彩色圖像的基于膚色檢測(cè)的算法和針對(duì)灰度圖像的基于灰度信息的算法。
本文綜合采用基于彩色圖像的膚色檢測(cè)方法和基于幾何特征的灰度檢測(cè)方法對(duì)人臉區(qū)域進(jìn)行實(shí)時(shí)跟蹤檢測(cè)。
1.1 基于FPGA的人臉檢測(cè)方案設(shè)計(jì)
本設(shè)計(jì)選取的是一種由粗及精的方法,綜合采用基于彩色圖像的膚色檢測(cè)方法和基于幾何特征的灰度檢測(cè)方法。首先基于膚色檢測(cè)在一個(gè)大的攝像頭范圍內(nèi)捕捉人臉區(qū)域,在一個(gè)最佳范圍內(nèi)定位人臉候選區(qū),實(shí)現(xiàn)人臉的粗定位,這一模塊大大減小了后續(xù)部分的搜索范圍,降低了系統(tǒng)的運(yùn)算量。在此基礎(chǔ)上,在膚色檢測(cè)所圈定的區(qū)域中,利用先驗(yàn)人臉的幾何特征,實(shí)現(xiàn)人臉檢測(cè)的目的。
本設(shè)計(jì)的算法部分在傳統(tǒng)膚色檢測(cè)算法的基礎(chǔ)上加入圖像預(yù)處理模塊、色彩平衡模塊、自適應(yīng)閾值二值化模塊、形態(tài)學(xué)濾波模塊等實(shí)現(xiàn)人臉的粗定位;在此基礎(chǔ)上,對(duì)定位出來的人臉區(qū)域進(jìn)行中值濾波、邊緣檢測(cè)等處理,如圖1所示。
基于上述基本算法,本系統(tǒng)最終需要搭建CMOS攝像頭、FPGA核心圖像處理單元、LCM顯示人臉區(qū)域這樣一個(gè)完整的人臉圖像處理以及檢測(cè)定位系統(tǒng)。系統(tǒng)整體架構(gòu)如圖2所示。
圖2中左部分是CMOS攝像頭設(shè)備及其控制電路,它輸出主要的數(shù)字視頻數(shù)據(jù)給CMOS Sensor Data Capture模塊,同時(shí)從該模塊獲得MCLK信號(hào)。另外,攝像頭電路需要通過I2C進(jìn)行配置,它們之間傳遞的信號(hào)主要有SDAT和SCLK。
中間的FPGA模塊主要完成輸入設(shè)備和輸出設(shè)備的配置、控制等功能,并完成從輸入到輸出的數(shù)據(jù)傳輸,是設(shè)計(jì)的核心單元。其中,主要包含CMOS攝像頭電路的數(shù)據(jù)獲取、圖像類型轉(zhuǎn)換、LCM顯示設(shè)備控制器、SDRAM控制器、I2C配置控制器等模塊。SDRAM控制器主要是用作幀緩存和圖像獲取(拍照功能);LCM控制器主要是輸出HS(行同步信號(hào))、VS(場(chǎng)同步信號(hào))、顯示數(shù)據(jù)以及顯示時(shí)鐘給LCM;圖像格式轉(zhuǎn)換模塊主要是實(shí)現(xiàn)數(shù)據(jù)格式到RGB格式的轉(zhuǎn)換,以方便后續(xù)顯示及處理。
本設(shè)計(jì)采用Altera公司的FPGA(EP2C35F672C6)作為核心處理芯片,全部模塊功能通過純硬件實(shí)現(xiàn)。采用Verilog語言編程,系統(tǒng)具有很好的便攜性、實(shí)時(shí)性、可擴(kuò)展性和移植性。
2 圖像預(yù)處理算法及實(shí)現(xiàn)
在本設(shè)計(jì)中,使用圖像預(yù)處理技術(shù)來消除環(huán)境因素對(duì)人臉檢測(cè)的影響,主要有快速中值濾波、形態(tài)學(xué)濾波和邊緣檢測(cè)。
2.1 快速中值濾波
中值濾波是一種基于統(tǒng)計(jì)排序理論的、能有效抑制噪聲的非線性信號(hào)處理技術(shù)[2]。其基本原理是把數(shù)字圖像或數(shù)字序列中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近真實(shí)值,從而消除孤立的噪聲點(diǎn)。
在本設(shè)計(jì)中,選用快速中值濾波[3]來進(jìn)行圖像預(yù)處理,在快速實(shí)現(xiàn)濾波輸出的同時(shí)節(jié)省了比較邏輯單元的個(gè)數(shù),減少了資源占用率。
2.2 形態(tài)學(xué)濾波
形態(tài)學(xué)濾波器被廣泛地應(yīng)用于圖像處理和目標(biāo)識(shí)別領(lǐng)域。它的基本思想是[4]利用具有一定形態(tài)的結(jié)構(gòu)元素作為“探針”,在圖像中不斷移動(dòng)來度量圖像的結(jié)構(gòu)信息,考察圖像各部分之間的相互關(guān)系,進(jìn)而提取圖像的結(jié)構(gòu)特征。
本文所述形態(tài)學(xué)濾波的目的是檢測(cè)大小為256×256像素的8位灰度圖像中的弱小目標(biāo)。在本文中,主要實(shí)現(xiàn)了腐蝕、膨脹、開運(yùn)算和閉運(yùn)算,并在此基礎(chǔ)上通過級(jí)聯(lián)開運(yùn)算和閉運(yùn)算對(duì)圖像進(jìn)行預(yù)處理。
經(jīng)過形態(tài)學(xué)濾波后,二值化后的圖像變得“黑白分明”,更符合實(shí)際的二值結(jié)果,去除了噪聲點(diǎn)或背景區(qū)域的干擾。
2.3 邊緣檢測(cè)
圖像邊緣檢測(cè)可以簡(jiǎn)化圖像處理,廣泛應(yīng)用于圖像分割、圖像識(shí)別、紋理分析等領(lǐng)域。在數(shù)學(xué)上可以利用其亮度變化曲線的一階、二階導(dǎo)數(shù)來描述兩種不同的邊緣[5]。
本文采用Sobel邊緣檢測(cè)算子做硬件實(shí)現(xiàn),并且用于實(shí)時(shí)人臉檢測(cè)系統(tǒng)。Sobel邊緣檢測(cè)算子是綜合圖像每一個(gè)像素點(diǎn)的上下左右亮度加權(quán)和,接近模板中心的權(quán)值較大[6]。
從圖3和圖4可知,Sobel算子x方向和y方向的濾波分別突出了圖像的橫向和縱向的邊緣,灰度連續(xù)的部分削弱。經(jīng)過Sobel邊緣檢測(cè)之后,lena圖像的邊緣信息被提取了出來,檢測(cè)效果比較理想。
3 人臉檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 圖像采集和顯示系統(tǒng)設(shè)計(jì)
本系統(tǒng)中,通過攝像頭采集圖像做人臉檢測(cè)。同時(shí),視頻檢測(cè)的結(jié)果需要通過顯示系統(tǒng)顯示結(jié)果,因此需要視頻采集電路和顯示電路[7]。
3.2 二值化及系統(tǒng)實(shí)現(xiàn)
3.2.1 人臉矩形位置確定
本設(shè)計(jì)中,利用了人臉的幾何形狀特征來精確地定位人臉區(qū)域。這里的人臉區(qū)域是指包含了人臉主要特征部位(如眼睛、鼻子、嘴巴)的一個(gè)矩形區(qū)域。
圖5給出了人臉幾何形狀的模型圖。根據(jù)人們的先驗(yàn)知識(shí),可以假設(shè)人臉長度約是寬度的1倍到1.5倍,即:iFaceHeight<1.5iFaceWidth。
以上圖作為模型,并且根據(jù)人們的先驗(yàn)經(jīng)驗(yàn),可以找出二值化后人臉區(qū)域的左右邊緣、上下邊緣以及人臉中心位置點(diǎn),這樣就可以在人臉面部區(qū)域畫一個(gè)矩形框,進(jìn)而確定人臉的上、下、左、右邊緣的位置。
3.2.2 系統(tǒng)測(cè)試結(jié)果分析
圖6和圖7是一個(gè)攝像頭采集到圖像,經(jīng)過膚色檢測(cè)二值化后加入形態(tài)學(xué)濾波,去除周圍環(huán)境類膚色區(qū)域影響的結(jié)果圖,人臉的膚色區(qū)域檢測(cè)效果較好。
本文綜合采用基于彩色圖像的膚色檢測(cè)方法和基于幾何特征的灰度檢測(cè)方法,設(shè)計(jì)的人臉檢測(cè)系統(tǒng)能較好地檢測(cè)人臉。下一步工作中,需對(duì)本系統(tǒng)從如下幾方面做出改進(jìn):
(1)在進(jìn)行膚色二值化時(shí),可以采用自適應(yīng)閾值方法代替固定的統(tǒng)計(jì)得出的經(jīng)驗(yàn)閾值,即可針對(duì)不同的圖像進(jìn)行二值化,膚色檢測(cè)的效果更好。
(2)實(shí)現(xiàn)人臉面部五官的精確定位,以提高人臉檢測(cè)的精確度。
(3)光照平衡模塊的小波變換方法實(shí)現(xiàn)。采用的方法是利用小波變換[8]做3級(jí)分解,然后再對(duì)3級(jí)之后的低通濾波分量LL3做灰度平均,并且將LL3中的每個(gè)像素都賦值為該均值,相當(dāng)于對(duì)圖像做了亮度的歸一,從而去掉了圖像中的光照成分,最后做小波重構(gòu)即可。本文中已驗(yàn)證此方法可行。
(4)實(shí)現(xiàn)復(fù)雜背景下[9]的人臉區(qū)域檢測(cè)定位以及分割技術(shù)。
參考文獻(xiàn)
[1] 邢嘉,李磊.人臉識(shí)別方法綜述[J].科技信息.2010,2(17):472-473.
[2] VISAKHASART S,CHITSOBHUK O.Multi-pipeline architecture for face recognition on FPGA[C].International Conference on Digital Image Processing,IEEE.2009.
[3] 孟顯英.中值濾波算法的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2010(9):7822-7824.
[4] 李愛軍.基于幀差法的交通圖像形態(tài)學(xué)濾波處理方法的研究[D].沈陽:沈陽工業(yè)大學(xué).2006.
[5] 程鴻亮.基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)的研究[D].西安:長安大學(xué).2009.
[6] 薛麗霞,李濤,王佐成.一種自適應(yīng)的Canny邊緣檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用研究,2010,27(9):3588-3590.
[7] 趙東方.基于FPGA的數(shù)字視頻采集與顯示系統(tǒng)的設(shè)計(jì)[D].湖北:武漢大學(xué).2008.
[8] 王亞娟,曠捷,倪奎,等.基于FPGA的高性能離散小波變換設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2009,35(9):22-24.
[9] 郭紅建,敖婷,馮建強(qiáng).復(fù)雜背景彩色圖像中的人臉分割技術(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(35):73-75.