《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于嵌入式Linux的復(fù)雜光照人臉實時檢測研究
基于嵌入式Linux的復(fù)雜光照人臉實時檢測研究
2016年微型機(jī)與應(yīng)用第12期
黃世震1,2,黃志勇1,2
(1. 福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116; 2. 福建省微電子集成電路重點實驗室,福建 福州 350002)
摘要: 為了滿足嵌入式設(shè)備在復(fù)雜光照條件下的人臉檢測需求,提出了一種基于光照不變特征的人臉檢測方法。該方法先基于Retinex理論提取光照不變分量,再以MBLBP特征進(jìn)行AdaBoost人臉檢測。結(jié)合該方法,實現(xiàn)了一種基于嵌入式Linux的人臉實時檢測系統(tǒng)。實驗與實際使用結(jié)果表明,該人臉檢測系統(tǒng)具有較高的人臉檢出率,且滿足實時性要求。
關(guān)鍵詞: 人臉檢測 嵌入式 ARM Retinex
Abstract:
Key words :

  黃世震1,2,黃志勇1,2

 ?。?. 福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116; 2. 福建省微電子集成電路重點實驗室,福建 福州 350002)

      摘要:為了滿足嵌入式設(shè)備在復(fù)雜光照條件下的人臉檢測需求,提出了一種基于光照不變特征的人臉檢測方法。該方法先基于Retinex理論提取光照不變分量,再以MBLBP特征進(jìn)行AdaBoost人臉檢測。結(jié)合該方法,實現(xiàn)了一種基于嵌入式Linux的人臉實時檢測系統(tǒng)。實驗與實際使用結(jié)果表明,該人臉檢測系統(tǒng)具有較高的人臉檢出率,且滿足實時性要求。

  關(guān)鍵詞:人臉檢測;嵌入式;ARM;Retinex;MBLBP;AdaBoost

0引言

  人臉檢測是人臉識別等臉部分析的基礎(chǔ),其在圖像檢索、目標(biāo)定位、視頻監(jiān)控以及智能人機(jī)交互等領(lǐng)域具有廣泛的應(yīng)用前景。經(jīng)過多年的發(fā)展,人臉檢測技術(shù)已經(jīng)取得了很大的進(jìn)展。與此同時,嵌入式平臺技術(shù)突飛猛進(jìn),不僅具備體積小、功耗低等特點,而且其運算能力也得到了很大的提高。除了實時性的要求外,光照變化對人臉檢測的影響舉足輕重。國內(nèi)外研究者對光照處理方法做了大量的研究,主要可分為光照歸一化、人臉建模、光照不變量三類方法。以直方圖均衡化為代表的光照歸一化方法在一定程度上能夠減弱光照變化的影響,但是在復(fù)雜光照情況下效果不是很理想。光錐法和球諧函數(shù)法等人臉建模方法效果好,但計算量大,難以滿足嵌入式平臺的實時性要求。本文從光照不變量的角度入手,提出了一種結(jié)合Retinex理論和MBLBP算子的AdaBoost人臉檢測算法,并在ARM開發(fā)板上實現(xiàn)。

1硬件平臺構(gòu)建

  本文采用處理器為三星Exynos 4412的ARM開發(fā)板作為實現(xiàn)平臺,該開發(fā)板具有主頻為1.5 GHz的CortexA9 CPU,Mali400 GPU,1 GB DDR3 RAM。采用USB攝像頭作為視頻采集輸入設(shè)備,LCD觸控顯示屏作為圖形界面顯示以及觸控操作設(shè)備。整個硬件平臺架構(gòu)如圖1所示。

 

001.jpg

  在PC上的Ubuntu系統(tǒng)中建立交叉編譯環(huán)境,裁剪和編譯Linux內(nèi)核、制作根文件系統(tǒng),并將Bootloader、Linux內(nèi)核、根文件系統(tǒng)、USB攝像頭和LCD觸控顯示屏等驅(qū)動移植到ARM板上。配置NFS,通過以太網(wǎng)實現(xiàn)PC與ARM板的通信。使用SecureCRT軟件通過串口對ARM板進(jìn)行調(diào)試操作。

2軟件設(shè)計

  本文的程序設(shè)計用到了開源計算機(jī)視覺庫(Open Source Computer Vision Library, OpenCV),圖形用戶界面設(shè)計采用Qt,因此需對OpenCV和QtEmbedded進(jìn)行交叉編譯并移植到ARM板上。整個軟件系統(tǒng)框圖如圖2所示。

002.jpg

  由攝像頭的圖像傳感器將采集到的圖像傳輸?shù)紼xynos 4412,經(jīng)過圖像灰度化、尺寸歸一化等預(yù)處理后,提取光照不變分量,再計算其MBLBP值,通過Adaboost算法進(jìn)行人臉檢測,若檢測到人臉則在顯示區(qū)域進(jìn)行標(biāo)記。

  2.1圖像采集

  本文基于V4L2[1]進(jìn)行視頻圖像采集程序設(shè)計,其流程圖如圖3所示。

003.jpg

  2.2關(guān)鍵算法分析

  2.2.1光照不變分量的提取

  LAND E H等人[2]在輻照度模型的基礎(chǔ)上提出了Retinex理論。物體的顏色不受非均勻性光照的影響,而是取決于物體對不同波長光線的反射能力。圖像中的固有屬性為其反射分量,圖像中的干擾部分為光照分量,可通過去除光照分量保留反射分量,實現(xiàn)光照不變分量的提取。

  輻照度模型可用如下公式表示:

  I(x,y)=R(x,y)L(x,y)(1)

  式中,I(x,y)為采集到的光照圖像,R(x,y)和L(x,y)分別表示圖像在(x,y)處的反射系數(shù)和光照分量。

  輻照度模型中,R(x,y)由物體的固有屬性決定,與光照無關(guān),因此Retinex理論的重點在于如何獲得R(x,y)。

  將灰度化的采集圖像變換到對數(shù)域,通過低通濾波器分離出光照分量,最后用上述獲得的對數(shù)域圖像減去分離出的光照分量獲得光照不變分量。

  對公式(1)進(jìn)行對數(shù)變換得到公式(2):

  I′(x,y)=R′(x,y)+L′(x,y)(2)

  式中,I′(x,y)=logI(x,y),表示對數(shù)域的采集圖像;R′(x,y)=logR(x,y),表示對數(shù)域的光照不變分量;L′(x,y)=logL(x,y),表示對數(shù)域的光照分量。

  這里選用的低通濾波器為極大值濾波器,以保證提取的光照不變分量能有足夠的LBP紋理特征供后續(xù)人臉檢測使用。該濾波器提取圖像上(2n+1)×(2n+1)窗口的灰度值,并且將最大的灰度值替換掉當(dāng)前窗口中心像素點的灰度值,通過該窗口遍歷整幅圖像求得每個像素點的灰度值。其公式如下:

  3.png

  其中I(x,y)為像素點(x,y)的灰度值,I(i,j)為像素點(i,j)的(2n+1)×(2n+1)鄰域內(nèi)的灰度值。

  本文提取光照不變分量的算法流程如圖4所示。

004.jpg

  2.2.2人臉檢測

  目前廣泛使用的人臉檢測方法是VIOLA P和JONES M J[34]提出的以Haarlike特征和積分圖方法進(jìn)行人臉檢測的Haar分類器,該方法是基于FREUND Y和SCHAPIRE R E[5]提出的AdaBoost算法。AdaBoost是一種通過迭代的方法將同一訓(xùn)練集訓(xùn)練的不同弱分類器提升形成強(qiáng)分類器的算法。

  OJALA T等人[67]提出的局部二值模式(Local Binary Pattern, LBP)是一種圖像局部紋理特征描述算子。原始的LBP定義為:對于每幅圖像上的像素點在其周圍3×3窗口內(nèi)提取像素值,將周圍8鄰域的灰度值與窗口中心點的灰度值進(jìn)行比較,若周圍像素點的灰度值大于中心點,則該像素點標(biāo)記為1,否則為0。用公式表示為:

  HNYLQ5(XGACY1LPNJS8_I3K.png

  式中:(xc, yc)為窗口中心點坐標(biāo);ic為中心點的灰度值;ip為相鄰像素的灰度值。

  如圖5所示,周圍8鄰域內(nèi)的像素灰度值經(jīng)比較可生成8位二進(jìn)制數(shù)00111101,轉(zhuǎn)換成十進(jìn)制數(shù)為61,該值即為中心像素點的LBP值,可用來反映該區(qū)域的紋理信息[8]。 

005.jpg

  Liao Shengcai等人[9]在原始LBP的基礎(chǔ)上提出了MBLBP (Multiscale Block Local Binary Patterns)。與原始LBP進(jìn)行單一像素間比較不同的是MBLBP采用了子區(qū)域塊的平均像素值進(jìn)行比較,較好地對不同尺度的紋理信息進(jìn)行描述,且具有更好的魯棒性。

006.jpg

  以9×9 MBLBP為例,如圖6所示,將一幅圖像的每個子區(qū)域等分為9塊,計算這9塊的平均灰度值,按照原始LBP的編碼方式將鄰域的平均灰度值與中心子區(qū)域的平均灰度值進(jìn)行比較,得到的編碼即為中心子區(qū)域的特征值。

  LBP特征是整數(shù)特征,相比Haar特征,其訓(xùn)練和檢測速度更快。用LBP特征表征人臉時,對光照變化(除局部劇烈變化之外)不敏感。這一點,在實驗中進(jìn)行了驗證。本文進(jìn)行的人臉檢測訓(xùn)練與測試基本流程如圖7所示。

007.jpg

3測試與分析

  為了驗證本文提出的方法的效果,從CMU和MITCBCL數(shù)據(jù)庫中選取了625個未參加過訓(xùn)練的人臉樣本(包括不同復(fù)雜光照條件下的人臉)作為測試樣本集。測試實驗結(jié)果如表1所示。

009.jpg

  通過實驗,可得知本文訓(xùn)練的人臉分類器中,MBLBP分類器和IIF+MBLBP分類器的檢測速度相比其他兩個速度更快。在不同復(fù)雜光照條件下,MBLBP人臉分類器的檢測率比Haarlike人臉分類器有所提高,但提高并不多,查找漏檢的樣本發(fā)現(xiàn)MBLBP分類器相比Haarlike分類器能夠多檢測出一些光照變化的樣本,但對于光照變化劇烈的樣本仍然無法有效檢測出。而采用提取光照不變分量的IIF+Haarlike分類器和IIF+MBLBP分類器均能夠有效檢測出這些光照變化劇烈的樣本,且兩者的檢出率相近。綜合檢出率與檢測速度,在ARM設(shè)備上采用IIF+MBLBP人臉分類器進(jìn)行人臉檢測,不僅滿足實時性要求,而且能夠有效應(yīng)對不同復(fù)雜光照條件下的檢測需求。

  圖8為最終在ARM平臺上實現(xiàn)的人臉實時檢測系統(tǒng),圖9為該系統(tǒng)在復(fù)雜光照條件下的人臉檢測效果。

  

008.jpg

4結(jié)論

  本文提出了適用于嵌入式設(shè)備的復(fù)雜光照人臉實時檢測的方法,通過基于Retinex理論提取光照不變分量,再以MBLBP特征訓(xùn)練AdaBoost分類器,用該分類器進(jìn)行人臉檢測。實驗驗證,該方法能夠提高復(fù)雜光照情況下的人臉檢出率,且具備較快的檢測速度。最后,在ARM CortexA9平臺上實現(xiàn)了攝像頭人臉實時檢測,經(jīng)測試與實際使用,整個人臉檢測系統(tǒng)效果良好,為后續(xù)研究人臉識別以及其他應(yīng)用奠定了基礎(chǔ)。

參考文獻(xiàn)

 ?。?] 徐家,陳奇. 基于V4L2的視頻設(shè)備驅(qū)動開發(fā)[J]. 計算機(jī)工程與設(shè)計,2010,31(16):35693572.

  [2] LAND E H, MCCANN J. Lightness and Retinex theory [J]. Journal of the Optical Society America, 1971, 61(l):111.

 ?。?] JONES V M. Rapid object detection using a boosted cascade of simple features[C]. Conference on Computer Vision And Pattern Recognition, 2001:511518.

  [4] VIOLA P, JONES M J. Robust realtime face detection[J]. International Journal of Computer Vision, 2004,57(2):137154.


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