文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)10-0013-04
近年來(lái),,以人臉,、虹膜、視網(wǎng)膜,、指紋,、聲音、基因等生物特征作為識(shí)別手段的生物特征識(shí)別技術(shù)漸漸發(fā)揮出了很好的作用,。這類識(shí)別屬于模式識(shí)別范疇,相比傳統(tǒng)的識(shí)別方式更安全,、穩(wěn)定和方便[1],。其中,人臉識(shí)別因具有友好,、方便,、直接等優(yōu)點(diǎn)而成為一個(gè)熱門(mén)研究領(lǐng)域。
鑒于FPGA的并行高速處理特點(diǎn)以及設(shè)計(jì),、擴(kuò)展的靈活性,,本論文采用FPGA來(lái)實(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ì)定位出來(lái)的人臉區(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)。另外,,攝像頭電路需要通過(guò)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)作為核心處理芯片,,全部模塊功能通過(guò)純硬件實(shí)現(xiàn),。采用Verilog語(yǔ)言編程,系統(tǒng)具有很好的便攜性,、實(shí)時(shí)性,、可擴(kuò)展性和移植性。
2 圖像預(yù)處理算法及實(shí)現(xiàn)
在本設(shè)計(jì)中,,使用圖像預(yù)處理技術(shù)來(lái)消除環(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]來(lái)進(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)來(lái)度量圖像的結(jié)構(gòu)信息,,考察圖像各部分之間的相互關(guān)系,,進(jìn)而提取圖像的結(jié)構(gòu)特征。
本文所述形態(tài)學(xué)濾波的目的是檢測(cè)大小為256×256像素的8位灰度圖像中的弱小目標(biāo),。在本文中,主要實(shí)現(xiàn)了腐蝕、膨脹,、開(kāi)運(yùn)算和閉運(yùn)算,,并在此基礎(chǔ)上通過(guò)級(jí)聯(lián)開(kāi)運(yùn)算和閉運(yùn)算對(duì)圖像進(jìn)行預(yù)處理。
經(jīng)過(guò)形態(tài)學(xué)濾波后,,二值化后的圖像變得“黑白分明”,,更符合實(shí)際的二值結(jié)果,去除了噪聲點(diǎn)或背景區(qū)域的干擾,。
2.3 邊緣檢測(cè)
圖像邊緣檢測(cè)可以簡(jiǎn)化圖像處理,,廣泛應(yīng)用于圖像分割、圖像識(shí)別,、紋理分析等領(lǐng)域,。在數(shù)學(xué)上可以利用其亮度變化曲線的一階、二階導(dǎo)數(shù)來(lái)描述兩種不同的邊緣[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)過(guò)Sobel邊緣檢測(cè)之后,lena圖像的邊緣信息被提取了出來(lái),,檢測(cè)效果比較理想,。
3 人臉檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.1 圖像采集和顯示系統(tǒng)設(shè)計(jì)
本系統(tǒng)中,通過(guò)攝像頭采集圖像做人臉檢測(cè),。同時(shí),,視頻檢測(cè)的結(jié)果需要通過(guò)顯示系統(tǒng)顯示結(jié)果,因此需要視頻采集電路和顯示電路[7],。
3.2 二值化及系統(tǒng)實(shí)現(xiàn)
3.2.1 人臉矩形位置確定
本設(shè)計(jì)中,,利用了人臉的幾何形狀特征來(lái)精確地定位人臉區(qū)域。這里的人臉區(qū)域是指包含了人臉主要特征部位(如眼睛,、鼻子,、嘴巴)的一個(gè)矩形區(qū)域。
圖5給出了人臉幾何形狀的模型圖,。根據(jù)人們的先驗(yàn)知識(shí),,可以假設(shè)人臉長(zhǎng)度約是寬度的1倍到1.5倍,即:iFaceHeight<1.5iFaceWidth,。
以上圖作為模型,,并且根據(jù)人們的先驗(yàn)經(jīng)驗(yàn),,可以找出二值化后人臉區(qū)域的左右邊緣、上下邊緣以及人臉中心位置點(diǎn),,這樣就可以在人臉面部區(qū)域畫(huà)一個(gè)矩形框,,進(jìn)而確定人臉的上、下,、左,、右邊緣的位置。
3.2.2 系統(tǒng)測(cè)試結(jié)果分析
圖6和圖7是一個(gè)攝像頭采集到圖像,,經(jīng)過(guò)膚色檢測(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] 李愛(ài)軍.基于幀差法的交通圖像形態(tài)學(xué)濾波處理方法的研究[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué).2006.
[5] 程鴻亮.基于FPGA的實(shí)時(shí)圖像邊緣檢測(cè)系統(tǒng)的研究[D].西安:長(zhǎng)安大學(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ù)雜背景彩色圖像中的人臉?lè)指罴夹g(shù)[J].計(jì)算機(jī)工程與應(yīng)用,2005,,41(35):73-75.