新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的人臉檢測系統設計

        基于FPGA的人臉檢測系統設計

        作者: 時間:2011-12-21 來源:網絡 收藏

        近年來,以人臉、虹膜、視網膜、指紋、聲音、基因等生物特征作為識別手段的生物特征識別技術漸漸發揮出了很好的作用。這類識別屬于模式識別范疇,相比傳統的識別方式更安全、穩定和方便[1]。其中,人臉識別因具有友好、方便、直接等優點而成為一個熱門研究領域。

        本文引用地址:http://www.104case.com/article/190889.htm

        鑒于的并行高速處理特點以及設計、擴展的靈活性,本論文采用來實現系統的設計。

        1 系統方案設計

        目前,根據是否使用人臉區域的色彩特征,將算法分為兩大類:針對彩色圖像的基于膚色檢測的算法和針對灰度圖像的基于灰度信息的算法。

        本文綜合采用基于彩色圖像的膚色檢測方法和基于幾何特征的灰度檢測方法對人臉區域進行實時跟蹤檢測。

        1.1 基于的人臉檢測方案設計

        本設計選取的是一種由粗及精的方法,綜合采用基于彩色圖像的膚色檢測方法和基于幾何特征的灰度檢測方法。首先基于膚色檢測在一個大的攝像頭范圍內捕捉人臉區域,在一個最佳范圍內定位人臉候選區,實現人臉的粗定位,這一模塊大大減小了后續部分的搜索范圍,降低了系統的運算量。在此基礎上,在膚色檢測所圈定的區域中,利用先驗人臉的幾何特征,實現人臉檢測的目的。

        本設計的算法部分在傳統膚色檢測算法的基礎上加入圖像預處理模塊、色彩平衡模塊、自適應閾值二值化模塊、形態學濾波模塊等實現人臉的粗定位;在此基礎上,對定位出來的人臉區域進行中值濾波、邊緣檢測等處理,如圖1所示。

        69.jpg

        基于上述基本算法,本系統最終需要搭建CMOS攝像頭、FPGA核心圖像處理單元、LCM顯示人臉區域這樣一個完整的人臉圖像處理以及檢測定位系統。系統整體架構如圖2所示。

        圖2中左部分是CMOS攝像頭設備及其控制電路,它輸出主要的數字視頻數據給CMOS Sensor Data Capture模塊,同時從該模塊獲得MCLK信號。另外,攝像頭電路需要通過I2C進行配置,它們之間傳遞的信號主要有SDAT和SCLK。

        中間的FPGA模塊主要完成輸入設備和輸出設備的配置、控制等功能,并完成從輸入到輸出的數據傳輸,是設計的核心單元。其中,主要包含CMOS攝像頭電路的數據獲取、圖像類型轉換、LCM顯示設備控制器、SDRAM控制器、I2C配置控制器等模塊。SDRAM控制器主要是用作幀緩存和圖像獲取(拍照功能);LCM控制器主要是輸出HS(行同步信號)、VS(場同步信號)、顯示數據以及顯示時鐘給LCM;圖像格式轉換模塊主要是實現數據格式到RGB格式的轉換,以方便后續顯示及處理。

        本設計采用Altera公司的FPGA(EP2C35F672C6)作為核心處理芯片,全部模塊功能通過純硬件實現。采用Verilog語言編程,系統具有很好的便攜性、實時性、可擴展性和移植性。

        2 圖像預處理算法及實現

        在本設計中,使用圖像預處理技術來消除環境因素對人臉檢測的影響,主要有快速中值濾波、形態學濾波和邊緣檢測。

        2.1 快速中值濾波

        中值濾波是一種基于統計排序理論的、能有效抑制噪聲的非線性信號處理技術[2]。其基本原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值代替,讓周圍的像素值接近真實值,從而消除孤立的噪聲點。

        在本設計中,選用快速中值濾波[3]來進行圖像預處理,在快速實現濾波輸出的同時節省了比較邏輯單元的個數,減少了資源占用率。

        2.2 形態學濾波

        形態學濾波器被廣泛地應用于圖像處理和目標識別領域。它的基本思想是[4]利用具有一定形態的結構元素作為“探針”,在圖像中不斷移動來度量圖像的結構信息,考察圖像各部分之間的相互關系,進而提取圖像的結構特征。

        本文所述形態學濾波的目的是檢測大小為256×256像素的8位灰度圖像中的弱小目標。在本文中,主要實現了腐蝕、膨脹、開運算和閉運算,并在此基礎上通過級聯開運算和閉運算對圖像進行預處理。

        經過形態學濾波后,二值化后的圖像變得“黑白分明”,更符合實際的二值結果,去除了噪聲點或背景區域的干擾。

        2.3 邊緣檢測

        圖像邊緣檢測可以簡化圖像處理,廣泛應用于圖像分割、圖像識別、紋理分析等領域。在數學上可以利用其亮度變化曲線的一階、二階導數來描述兩種不同的邊緣[5]。

        本文采用Sobel邊緣檢測算子做硬件實現,并且用于實時人臉檢測系統。Sobel邊緣檢測算子是綜合圖像每一個像素點的上下左右亮度加權和,接近模板中心的權值較大[6]。

        70.jpg

        從圖3和圖4可知,Sobel算子x方向和y方向的濾波分別突出了圖像的橫向和縱向的邊緣,灰度連續的部分削弱。經過Sobel邊緣檢測之后,lena圖像的邊緣信息被提取了出來,檢測效果比較理想。

        3 人臉檢測與實現

        3.1 圖像采集和顯示

        71.jpg

        本系統中,通過攝像頭采集圖像做人臉檢測。同時,視頻檢測的結果需要通過顯示系統顯示結果,因此需要視頻采集電路和顯示電路[7]。

        3.2 二值化及系統實現

        3.2.1 人臉矩形位置確定

        本設計中,利用了人臉的幾何形狀特征來精確地定位人臉區域。這里的人臉區域是指包含了人臉主要特征部位(如眼睛、鼻子、嘴巴)的一個矩形區域。

        圖5給出了人臉幾何形狀的模型圖。根據人們的先驗知識,可以假設人臉長度約是寬度的1倍到1.5倍,即:iFaceHeight1.5iFaceWidth。

        以上圖作為模型,并且根據人們的先驗經驗,可以找出二值化后人臉區域的左右邊緣、上下邊緣以及人臉中心位置點,這樣就可以在人臉面部區域畫一個矩形框,進而確定人臉的上、下、左、右邊緣的位置。

        3.2.2 系統測試結果分析

        圖6和圖7是一個攝像頭采集到圖像,經過膚色檢測二值化后加入形態學濾波,去除周圍環境類膚色區域影響的結果圖,人臉的膚色區域檢測效果較好。

        72.jpg

        本文綜合采用基于彩色圖像的膚色檢測方法和基于幾何特征的灰度檢測方法,設計的人臉檢測系統能較好地檢測人臉。下一步工作中,需對本系統從如下幾方面做出改進:

        (1)在進行膚色二值化時,可以采用自適應閾值方法代替固定的統計得出的經驗閾值,即可針對不同的圖像進行二值化,膚色檢測的效果更好。

        (2)實現人臉面部五官的精確定位,以提高人臉檢測的精確度。

        (3)光照平衡模塊的小波變換方法實現。采用的方法是利用小波變換[8]做3級分解,然后再對3級之后的低通濾波分量LL3做灰度平均,并且將LL3中的每個像素都賦值為該均值,相當于對圖像做了亮度的歸一,從而去掉了圖像中的光照成分,最后做小波重構即可。本文中已驗證此方法可行。

        (4)實現復雜背景下[9]的人臉區域檢測定位以及分割技術。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特右旗| 灵台县| 府谷县| 阿拉尔市| 泰和县| 凭祥市| 海宁市| 旌德县| 论坛| 阳江市| 顺昌县| 静宁县| 页游| 建宁县| 邹城市| 涞水县| 昌图县| 宜昌市| 美姑县| 兴安县| 兴义市| 鹤壁市| 岳阳县| 凤阳县| 定襄县| 云龙县| 凤凰县| 法库县| 安平县| 汉阴县| 岳阳市| 棋牌| 大英县| 鄂托克旗| 通道| 福州市| 岳阳市| 称多县| 宜兴市| 兴义市| 双江|