《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于層次型AdaBoost檢測算法的快速人臉檢測在FPGA上的實現
基于層次型AdaBoost檢測算法的快速人臉檢測在FPGA上的實現
摘要: FPGA有著規整的內部邏輯陣列和豐富的連線資源,特別適合于數字信號處理,且有良好的并行性和可擴展性。因此,特別適用于人臉檢測中多個窗口并行處理以及弱特征的并行運算。
關鍵詞: FPGA 人臉檢測
Abstract:
Key words :

人臉檢測是指對于給定的圖像或視頻,判斷其中是否存在人臉,如果存在,則進一步確定人臉的個數、具體位置以及大小的過程[1]。

    作為一個模式識別問題,人臉檢驗包含兩個方面的內容,一是特征提取,二是分類方法設計。近年來,為更好地區分不同模式,出現了一些新的特征定義,使其便于特征提取[2]并拓展了特征庫[3],而采用AdaBoost算法從弱特征中選取分類能力強的特征組成強分類器的方法來設計層次型分類器,可以很好地解決直立正面人臉檢測問題[4]。

   FPGA有著規整的內部邏輯陣列和豐富的連線資源,特別適合于數字信號處理,且有良好的并行性和可擴展性。因此,特別適用于人臉檢測中多個窗口并行處理以及弱特征的并行運算。

1 算法介紹

1.1 弱特征

   由于像素特征具有受尺度變化影響比較嚴重和不便于構建快速分類器的缺點,因此,為了更好地區分不同模式,本文采用區域面積來歸一化特征,將特征定義為相鄰矩形像素灰度均值之差,如式(1):

 

公式

 

  其中,II(x,y)為積分圖像在點(x,y)處的值,I(x′,y′)為圖像在點(x′,y′)處的值。

   采用面積來歸一化,避免了對弱特征進行尺度放縮時引起的誤差,并且減弱了光照對檢測的影響。

1.1.1 弱特征庫的建立

   為易于實現,本文采用一個包含九個區域的形狀模板來統一表示像素特征,九個區域面積大小相同,但對模板區域而言,長寬可以不同。模板的九個區域有三種狀態:1、0、-1,分別采用白、黑、灰來表示。在九個區域中,正特征集合定義為形狀模板中白色區域組成的集合,負特征集合定義為形狀模板中灰色區域組成的集合,黑色區域沒有使用。

    考慮到特征的表示能力和運算速度,文中只選擇了其中16種表示能力強且易于快速運算的形狀作為弱特征庫,16種形狀模板如圖1所示。

16種形狀模板

1.1.2 弱特征值的快速計算

    為快速提取弱特征,將其轉化為兩個矩形區域的求取運算,以第13種弱特征為例,正負區域運算圖如圖2所示。先將負矩形合并為一個矩形,即圖中A區域所示;然后求取九個區域的灰度和,即圖中C區域像素灰度和,最后通過C和A求取B區域像素灰度和。根據式(2),可得sum(B)=sum(C)-sum(A)。特征區域面積也可以通過類似方法求取。根據式(1)可得到:

 

公式

 

其中Acr(A)、Acr(C)分別為區域A和區域C的面積。通過式(3)可快速求得任意微結構特征。

正負區域運算圖

1.2 分類方法設計

    為了在檢測率不變的條件下提高檢測速度,本文采用層次型人臉檢測器結構,如圖3所示。該結構分為12層,每一層都是AdaBoost 算法訓練得到的一個強分類器。經過閾值調整,使得每一層都能讓幾乎全部人臉樣本通過,而拒絕很大一部分非人臉樣本。這樣,靠近前面的各層,采用少量的特征即可拒絕大部分的非人臉樣本,而靠近后面的各層,需采用大量的特征來排除近似人臉的非人臉候選圖像的干擾。

 

 

層次型人臉檢測器結構

1.3 檢測流程

    基于上述分析,判斷一個人臉窗口的基本流程如圖4所示。

判斷一個人臉窗口的基本流程

檢測流程:(1)讀入取樣窗口和弱特征信息,求出每層的若干微特征值;(2)將微特征值除以窗口的灰度方差,得到歸一特征值(f),實現歸一化處理;(3)讀入此微特征訓練所得的參數(m,r),將歸一特征值進行處理:h=(f-m)/r;(4)輸出h,從查找表中取出對應的函數值b;(5)將強分類器所包含弱分類器對應的輸入值相加:a=Σb;并將a與當前層的閾值y比較;判斷通過與否。

如此循環12次以檢測出人臉。

2 硬件設計

    整個系統分為片內、片外兩部分,系統結構如圖5所示。其中,片外(即存儲器,存儲圖像和參數);片內,即FPGA,由四部分組成:(1)預處理電路:計算積分圖像,微特征對應的正負區域和采樣窗口的灰度方差;(2)分類器:檢測出人臉窗口;(3)窗口融合電路:融合鄰近的人臉窗口;(4)控制電路:控制片內片外的數據傳輸及片內電路的時序。

系統結構

    本文在預處理電路、分類器和窗口融合電路三環節采用流水線技術,其中分類器是整個系統的技術瓶頸,決定了人臉檢測的速度。因此,分類器的設計成為關鍵。

2.1 分類器結構

    分類器由若干弱分類器和外圍電路構成,其內部結構如圖6所示,其中每一個弱分類器(PE)內部結構如圖7所示,PE每部分實現的功能分別是:模塊A:計算該窗口的微結構特征值e;模塊B:歸一化處理微特征值e得f;模塊C:得出該窗口微特征閾值b;控制電路:控制模塊間的時序即PE內部與外部的數據交換。

內部結構

 

內部結構

該處理單元由兩個32位除法器、一個32位乘法器、若干全加器和寄存器構成。而除法器和乘法器由移位電路實現,其結構(以除法器為例)如圖8所示。

 

內部結構

2.2 弱分類器的組合

    分類器由若干弱分類器與控制電路組成,其中控制電路根據每一層參數來控制該層強分類器個數與每一強分類器所含弱分類器數。

    由訓練得到一個包含12層共294個弱特征的分類器。因此,檢測出一個人臉窗口,要通過294個弱特征處理單元運算。綜合考慮時間和資源因素,弱分類器的組合采取一次處理多個窗口,分時復用硬件資源的方法。

    訓練所得第n層強分類器所包含的弱特征個數如圖9(a)所示。通過大量檢測結果可得窗口通過率與層數n的關系如圖9(b)所示。

弱分類器的組合

 

將層通過率與該層所含弱特征個數相乘,并乘以選定的一次處理窗口的數目(12),可得較為平滑曲線,如圖10所示。

 

平滑曲線

 

從圖9(b)可知前7層分類器已將絕大多數的非人臉窗口拒掉。因此,處理單元數目即由前幾層中強分類器所含弱特征數與該層所處理的窗口數的乘積最大值決定,由圖10可知處理單元數目為38。這樣便可在較少資源的情況下大大提高檢測速度。

另外,為降低一次同時處理兩個臨近人臉窗口的概率,本文預先改變了候選窗口輸入次序。

3 實驗結果

實驗是對CMU-MIT測試庫進行的,而訓練時主要選用從Internet上收集得到的人臉圖像共1000幅,通過對這1 000幅圖像進行隨機旋轉、平移一個像素、隨機鏡像共得到5 000幅24×24像素的人臉訓練樣本。同時收集了1 600幅自然圖片作為非人臉樣本候選集。

輸入圖像為256×256像素,其檢測效果如圖11所示。對此種輸入圖像采用縮放因子的s=1.3,平移因子的d=2.5,搜索從30×30像素到255×255像素范圍內的人臉。整個系統用VHDL語言描述,表1為所用硬件資源情況。

檢測效果

 

 

硬件資源情況

 

其平均處理速度為17.3fps, 虛警率低于5E-7,檢測率可達0.998。

文中新定義的微特征具有對于特征放縮時近似引入誤差的魯棒性,以及去光照影響的特性。此外,本文設計的特征模板,不僅擴展了微結構特征庫,而且使用方便,可以根據需要選取合適特征。本文采用流水線技術將積分圖像的計算與分類器運算并行,提高了弱特征提取速度。而在硬件實現時,利用軟件訓練與測試結果。綜合速度和硬件資源兩指標,在保證檢測質量的前提下,設計最優的硬件結構,充分利用硬件資源。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 97视频在线观看免费播放 | 国产成人综合日韩精品无 | 日日干日日操 | 韩日免费视频 | 欧美日韩高清不卡一区二区三区 | 一级欧美日韩 | 午夜影院性 | 国产在线一二三区 | 污视频免费在线播放 | 97青草| 欧美中文在线观看 | 成人a毛片在线看免费全部播放 | 亚洲伦理视频 | 在线伊人网| 综合558欧美成人永久网站 | 国产白丝 | 免费看片亚洲 | 欧美性猛交ⅹxxx乱大交按摩 | 国产区一区二区三 | 99精品视频免费在线观看 | 草草影院www色欧美极品 | 黄网站视频 | 看毛片看毛片 | 荡娃艳妇系列小说 | 久草新在线观看 | 亚洲一区二区三区精品影院 | 欧日韩一区二区三区 | 日韩第一| 2021国产精品成人免费视频 | 久久国产精品成人免费 | 日韩一级片免费看 | 亚洲中午字幕 | 亚洲国产日韩无在线播放 | 最近中文免费字幕在线播放 | 欧洲精品视频在线观看 | 色好吊| 亚洲国产男人本色在线观看的a站 | 777丰满影院| 色视频免费网站 | 九九影片重口味 | 成人在线网站 |