《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的人臉檢測(cè)系統(tǒng)設(shè)計(jì)
基于FPGA的人臉檢測(cè)系統(tǒng)設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第10期
李昌盛,王亞娟,黃啟俊,常 勝
(武漢大學(xué) 物理學(xué)院,湖北 武漢430072)
摘要: 選取一種由粗及精的方法,綜合采用基于彩色圖像的膚色檢測(cè)方法和基于幾何特征的灰度檢測(cè)方法,在傳統(tǒng)膚色檢測(cè)算法的基礎(chǔ)上,加入圖像預(yù)處理、色彩平衡、二值化、形態(tài)學(xué)濾波、中值濾波、邊緣檢測(cè)等技術(shù)進(jìn)行人臉檢測(cè)。搭建了由CMOS攝像頭到FPGA核心圖像處理單元,再到LCM顯示這樣一個(gè)完整的人臉圖像處理及檢測(cè)系統(tǒng)。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)10-0013-04
A face detection system design based on FPGA
Li Changsheng,Wang Yajuan,Huang Qijun,Chang Sheng
Physics Institute,Wuhan University,Wuhan 430072,China
Abstract: The design combines the detection method of skin color based on color image and that of gray scale based on geometric features in a Coarse-to-fine fashion. On the base of traditional skin color detection method, algorithms including the image preprocessing, color balance, binary module, morphological filtering,median filter and edge detection technology are added to achieve face detection. The system will eventually build a complete face image processing and detecting system, including the CMOS camera, FPGA core image processing unit and LCM display.
Key words : face recognition;face detection;FPGA;skin color detection;image processing technology


    近年來,以人臉、虹膜、視網(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。