黃世震1,2,黃志勇1,2
?。?. 福州大學 物理與信息工程學院,福建 福州 350116; 2. 福建省微電子集成電路重點實驗室,福建 福州 350002)
摘要:為了滿足嵌入式設備在復雜光照條件下的人臉檢測需求,提出了一種基于光照不變特征的人臉檢測方法。該方法先基于Retinex理論提取光照不變分量,再以MBLBP特征進行AdaBoost人臉檢測。結合該方法,實現(xiàn)了一種基于嵌入式Linux的人臉實時檢測系統(tǒng)。實驗與實際使用結果表明,該人臉檢測系統(tǒng)具有較高的人臉檢出率,且滿足實時性要求。
關鍵詞:人臉檢測;嵌入式;ARM;Retinex;MBLBP;AdaBoost
0引言
人臉檢測是人臉識別等臉部分析的基礎,其在圖像檢索、目標定位、視頻監(jiān)控以及智能人機交互等領域具有廣泛的應用前景。經過多年的發(fā)展,人臉檢測技術已經取得了很大的進展。與此同時,嵌入式平臺技術突飛猛進,不僅具備體積小、功耗低等特點,而且其運算能力也得到了很大的提高。除了實時性的要求外,光照變化對人臉檢測的影響舉足輕重。國內外研究者對光照處理方法做了大量的研究,主要可分為光照歸一化、人臉建模、光照不變量三類方法。以直方圖均衡化為代表的光照歸一化方法在一定程度上能夠減弱光照變化的影響,但是在復雜光照情況下效果不是很理想。光錐法和球諧函數(shù)法等人臉建模方法效果好,但計算量大,難以滿足嵌入式平臺的實時性要求。本文從光照不變量的角度入手,提出了一種結合Retinex理論和MBLBP算子的AdaBoost人臉檢測算法,并在ARM開發(fā)板上實現(xiàn)。
1硬件平臺構建
本文采用處理器為三星Exynos 4412的ARM開發(fā)板作為實現(xiàn)平臺,該開發(fā)板具有主頻為1.5 GHz的CortexA9 CPU,Mali400 GPU,1 GB DDR3 RAM。采用USB攝像頭作為視頻采集輸入設備,LCD觸控顯示屏作為圖形界面顯示以及觸控操作設備。整個硬件平臺架構如圖1所示。
在PC上的Ubuntu系統(tǒng)中建立交叉編譯環(huán)境,裁剪和編譯Linux內核、制作根文件系統(tǒng),并將Bootloader、Linux內核、根文件系統(tǒng)、USB攝像頭和LCD觸控顯示屏等驅動移植到ARM板上。配置NFS,通過以太網實現(xiàn)PC與ARM板的通信。使用SecureCRT軟件通過串口對ARM板進行調試操作。
2軟件設計
本文的程序設計用到了開源計算機視覺庫(Open Source Computer Vision Library, OpenCV),圖形用戶界面設計采用Qt,因此需對OpenCV和QtEmbedded進行交叉編譯并移植到ARM板上。整個軟件系統(tǒng)框圖如圖2所示。
由攝像頭的圖像傳感器將采集到的圖像傳輸?shù)紼xynos 4412,經過圖像灰度化、尺寸歸一化等預處理后,提取光照不變分量,再計算其MBLBP值,通過Adaboost算法進行人臉檢測,若檢測到人臉則在顯示區(qū)域進行標記。
2.1圖像采集
本文基于V4L2[1]進行視頻圖像采集程序設計,其流程圖如圖3所示。
2.2關鍵算法分析
2.2.1光照不變分量的提取
LAND E H等人[2]在輻照度模型的基礎上提出了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)由物體的固有屬性決定,與光照無關,因此Retinex理論的重點在于如何獲得R(x,y)。
將灰度化的采集圖像變換到對數(shù)域,通過低通濾波器分離出光照分量,最后用上述獲得的對數(shù)域圖像減去分離出的光照分量獲得光照不變分量。
對公式(1)進行對數(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)窗口的灰度值,并且將最大的灰度值替換掉當前窗口中心像素點的灰度值,通過該窗口遍歷整幅圖像求得每個像素點的灰度值。其公式如下:
其中I(x,y)為像素點(x,y)的灰度值,I(i,j)為像素點(i,j)的(2n+1)×(2n+1)鄰域內的灰度值。
本文提取光照不變分量的算法流程如圖4所示。
2.2.2人臉檢測
目前廣泛使用的人臉檢測方法是VIOLA P和JONES M J[34]提出的以Haarlike特征和積分圖方法進行人臉檢測的Haar分類器,該方法是基于FREUND Y和SCHAPIRE R E[5]提出的AdaBoost算法。AdaBoost是一種通過迭代的方法將同一訓練集訓練的不同弱分類器提升形成強分類器的算法。
OJALA T等人[67]提出的局部二值模式(Local Binary Pattern, LBP)是一種圖像局部紋理特征描述算子。原始的LBP定義為:對于每幅圖像上的像素點在其周圍3×3窗口內提取像素值,將周圍8鄰域的灰度值與窗口中心點的灰度值進行比較,若周圍像素點的灰度值大于中心點,則該像素點標記為1,否則為0。用公式表示為:
式中:(xc, yc)為窗口中心點坐標;ic為中心點的灰度值;ip為相鄰像素的灰度值。
如圖5所示,周圍8鄰域內的像素灰度值經比較可生成8位二進制數(shù)00111101,轉換成十進制數(shù)為61,該值即為中心像素點的LBP值,可用來反映該區(qū)域的紋理信息[8]?!?/p>
Liao Shengcai等人[9]在原始LBP的基礎上提出了MBLBP (Multiscale Block Local Binary Patterns)。與原始LBP進行單一像素間比較不同的是MBLBP采用了子區(qū)域塊的平均像素值進行比較,較好地對不同尺度的紋理信息進行描述,且具有更好的魯棒性。
以9×9 MBLBP為例,如圖6所示,將一幅圖像的每個子區(qū)域等分為9塊,計算這9塊的平均灰度值,按照原始LBP的編碼方式將鄰域的平均灰度值與中心子區(qū)域的平均灰度值進行比較,得到的編碼即為中心子區(qū)域的特征值。
LBP特征是整數(shù)特征,相比Haar特征,其訓練和檢測速度更快。用LBP特征表征人臉時,對光照變化(除局部劇烈變化之外)不敏感。這一點,在實驗中進行了驗證。本文進行的人臉檢測訓練與測試基本流程如圖7所示。
3測試與分析
為了驗證本文提出的方法的效果,從CMU和MITCBCL數(shù)據(jù)庫中選取了625個未參加過訓練的人臉樣本(包括不同復雜光照條件下的人臉)作為測試樣本集。測試實驗結果如表1所示。
通過實驗,可得知本文訓練的人臉分類器中,MBLBP分類器和IIF+MBLBP分類器的檢測速度相比其他兩個速度更快。在不同復雜光照條件下,MBLBP人臉分類器的檢測率比Haarlike人臉分類器有所提高,但提高并不多,查找漏檢的樣本發(fā)現(xiàn)MBLBP分類器相比Haarlike分類器能夠多檢測出一些光照變化的樣本,但對于光照變化劇烈的樣本仍然無法有效檢測出。而采用提取光照不變分量的IIF+Haarlike分類器和IIF+MBLBP分類器均能夠有效檢測出這些光照變化劇烈的樣本,且兩者的檢出率相近。綜合檢出率與檢測速度,在ARM設備上采用IIF+MBLBP人臉分類器進行人臉檢測,不僅滿足實時性要求,而且能夠有效應對不同復雜光照條件下的檢測需求。
圖8為最終在ARM平臺上實現(xiàn)的人臉實時檢測系統(tǒng),圖9為該系統(tǒng)在復雜光照條件下的人臉檢測效果。
4結論
本文提出了適用于嵌入式設備的復雜光照人臉實時檢測的方法,通過基于Retinex理論提取光照不變分量,再以MBLBP特征訓練AdaBoost分類器,用該分類器進行人臉檢測。實驗驗證,該方法能夠提高復雜光照情況下的人臉檢出率,且具備較快的檢測速度。最后,在ARM CortexA9平臺上實現(xiàn)了攝像頭人臉實時檢測,經測試與實際使用,整個人臉檢測系統(tǒng)效果良好,為后續(xù)研究人臉識別以及其他應用奠定了基礎。
參考文獻
[1] 徐家,陳奇. 基于V4L2的視頻設備驅動開發(fā)[J]. 計算機工程與設計,2010,31(16):35693572.
[2] LAND E H, MCCANN J. Lightness and Retinex theory [J]. Journal of the Optical Society America, 1971, 61(l):111.
?。?] JONES V M. Rapid object detection using a boosted cascade of simple features[C]. Conference on Computer Vision And Pattern Recognition, 2001:511518.
?。?] VIOLA P, JONES M J. Robust realtime face detection[J]. International Journal of Computer Vision, 2004,57(2):137154.