黃世震,黃志勇
(1. 福州大學 物理與信息工程學院,福建 福州 350116; 2. 福建省微電子集成電路重點實驗室,福建 福州 350002)
?
基于嵌入式Linux的復雜光照人臉實時檢測研究
黃世震1,2,黃志勇1,2
(1. 福州大學 物理與信息工程學院,福建 福州 350116; 2. 福建省微電子集成電路重點實驗室,福建 福州 350002)
摘要:為了滿足嵌入式設備在復雜光照條件下的人臉檢測需求,提出了一種基于光照不變特征的人臉檢測方法。該方法先基于Retinex理論提取光照不變分量,再以MB-LBP特征進行AdaBoost人臉檢測。結合該方法,實現了一種基于嵌入式Linux的人臉實時檢測系統。實驗與實際使用結果表明,該人臉檢測系統具有較高的人臉檢出率,且滿足實時性要求。
關鍵詞:人臉檢測;嵌入式;ARM;Retinex;MB-LBP;AdaBoost
引用格式:黃世震,黃志勇. 基于嵌入式Linux的復雜光照人臉實時檢測研究[J].微型機與應用,2016,35(12):46-48,51.
0引言
人臉檢測是人臉識別等臉部分析的基礎,其在圖像檢索、目標定位、視頻監控以及智能人機交互等領域具有廣泛的應用前景。經過多年的發展,人臉檢測技術已經取得了很大的進展。與此同時,嵌入式平臺技術突飛猛進,不僅具備體積小、功耗低等特點,而且其運算能力也得到了很大的提高。除了實時性的要求外,光照變化對人臉檢測的影響舉足輕重。國內外研究者對光照處理方法做了大量的研究,主要可分為光照歸一化、人臉建模、光照不變量三類方法。以直方圖均衡化為代表的光照歸一化方法在一定程度上能夠減弱光照變化的影響,但是在復雜光照情況下效果不是很理想。光錐法和球諧函數法等人臉建模方法效果好,但計算量大,難以滿足嵌入式平臺的實時性要求。本文從光照不變量的角度入手,提出了一種結合Retinex理論和MB-LBP算子的AdaBoost人臉檢測算法,并在ARM開發板上實現。
1硬件平臺構建
本文采用處理器為三星Exynos 4412的ARM開發板作為實現平臺,該開發板具有主頻為1.5 GHz的Cortex-A9 CPU,Mali-400 GPU,1 GB DDR3 RAM。采用USB攝像頭作為視頻采集輸入設備,LCD觸控顯示屏作為圖形界面顯示以及觸控操作設備。整個硬件平臺架構如圖1所示。

圖1 硬件平臺框圖
在PC上的Ubuntu系統中建立交叉編譯環境,裁剪和編譯Linux內核、制作根文件系統,并將Bootloader、Linux內核、根文件系統、USB攝像頭和LCD觸控顯示屏等驅動移植到ARM板上。配置NFS,通過以太網實現PC與ARM板的通信。使用SecureCRT軟件通過串口對ARM板進行調試操作。
2軟件設計
本文的程序設計用到了開源計算機視覺庫(Open Source Computer Vision Library, OpenCV),圖形用戶界面設計采用Qt,因此需對OpenCV和QtEmbedded進行交叉編譯并移植到ARM板上。整個軟件系統框圖如圖2所示。

圖2 軟件系統框圖
由攝像頭的圖像傳感器將采集到的圖像傳輸到Exynos 4412,經過圖像灰度化、尺寸歸一化等預處理后,提取光照不變分量,再計算其MB-LBP值,通過Adaboost算法進行人臉檢測,若檢測到人臉則在顯示區域進行標記。
2.1圖像采集
本文基于V4L2[1]進行視頻圖像采集程序設計,其流程圖如圖3所示。

圖3 視頻采集流程圖
2.2關鍵算法分析
2.2.1光照不變分量的提取
LAND E H等人[2]在輻照度模型的基礎上提出了Retinex理論。物體的顏色不受非均勻性光照的影響,而是取決于物體對不同波長光線的反射能力。圖像中的固有屬性為其反射分量,圖像中的干擾部分為光照分量,可通過去除光照分量保留反射分量,實現光照不變分量的提取。
輻照度模型可用如下公式表示:
I(x,y)=R(x,y)L(x,y)
(1)
式中,I(x,y)為采集到的光照圖像,R(x,y)和L(x,y)分別表示圖像在(x,y)處的反射系數和光照分量。
輻照度模型中,R(x,y)由物體的固有屬性決定,與光照無關,因此Retinex理論的重點在于如何獲得R(x,y)。
將灰度化的采集圖像變換到對數域,通過低通濾波器分離出光照分量,最后用上述獲得的對數域圖像減去分離出的光照分量獲得光照不變分量。
對公式(1)進行對數變換得到公式(2):
I′(x,y)=R′(x,y)+L′(x,y)
(2)
式中,I′(x,y)=logI(x,y),表示對數域的采集圖像;R′(x,y)=logR(x,y),表示對數域的光照不變分量;L′(x,y)=logL(x,y),表示對數域的光照分量。
這里選用的低通濾波器為極大值濾波器,以保證提取的光照不變分量能有足夠的LBP紋理特征供后續人臉檢測使用。該濾波器提取圖像上(2n+1)×(2n+1)窗口的灰度值,并且將最大的灰度值替換掉當前窗口中心像素點的灰度值,通過該窗口遍歷整幅圖像求得每個像素點的灰度值。其公式如下:

(3)
其中I(x,y)為像素點(x,y)的灰度值,I(i,j)為像素點(i,j)的(2n+1)×(2n+1)鄰域內的灰度值。
本文提取光照不變分量的算法流程如圖4所示。

圖4提取光照不變分量的算法流程示意圖
2.2.2人臉檢測
目前廣泛使用的人臉檢測方法是VIOLA P和JONES M J[3-4]提出的以Haar-like特征和積分圖方法進行人臉檢測的Haar分類器,該方法是基于FREUND Y和SCHAPIRE R E[5]提出的AdaBoost算法。AdaBoost是一種通過迭代的方法將同一訓練集訓練的不同弱分類器提升形成強分類器的算法。
OJALA T等人[6-7]提出的局部二值模式(Local Binary Pattern, LBP)是一種圖像局部紋理特征描述算子。原始的LBP定義為:對于每幅圖像上的像素點在其周圍3×3窗口內提取像素值,將周圍8鄰域的灰度值與窗口中心點的灰度值進行比較,若周圍像素點的灰度值大于中心點,則該像素點標記為1,否則為0。用公式表示為:
(4)

(5)
式中:(xc,yc)為窗口中心點坐標;ic為中心點的灰度值;ip為相鄰像素的灰度值。
如圖5所示,周圍8鄰域內的像素灰度值經比較可生成8位二進制數00111101,轉換成十進制數為61,該值即為中心像素點的LBP值,可用來反映該區域的紋理信息[8]。

圖5 原始LBP編碼過程
Liao Shengcai等人[9]在原始LBP的基礎上提出了MB-LBP (Multi-scale Block Local Binary Patterns)。與原始LBP進行單一像素間比較不同的是MB-LBP采用了子區域塊的平均像素值進行比較,較好地對不同尺度的紋理信息進行描述,且具有更好的魯棒性。
以9×9 MB-LBP為例,如圖6所示,將一幅圖像的每個子區域等分為9塊,計算這9塊的平均灰度值,按照原始LBP的編碼方式將鄰域的平均灰度值與中心子區域的平均灰度值進行比較,得到的編碼即為中心子區域的特征值。

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

圖7 人臉檢測訓練與測試基本流程
3測試與分析
為了驗證本文提出的方法的效果,從CMU和MIT-CBCL數據庫中選取了625個未參加過訓練的人臉樣本(包括不同復雜光照條件下的人臉)作為測試樣本集。測試實驗結果如表1所示。

表1 人臉檢測測試結果對比
通過實驗,可得知本文訓練的人臉分類器中,MB-LBP分類器和IIF+MB-LBP分類器的檢測速度相比其他兩個速度更快。在不同復雜光照條件下,MB-LBP人臉分類器的檢測率比Haar-like人臉分類器有所提高,但提高并不多,查找漏檢的樣本發現MB-LBP分類器相比Haar-like分類器能夠多檢測出一些光照變化的樣本,但對于光照變化劇烈的樣本仍然無法有效檢測出。而采用提取光照不變分量的IIF+Haar-like分類器和IIF+MB-LBP分類器均能夠有效檢測出這些光照變化劇烈的樣本,且兩者的檢出率相近。綜合檢出率與檢測速度,在ARM設備上采用IIF+MB-LBP人臉分類器進行人臉檢測,不僅滿足實時性要求,而且能夠有效應對不同復雜光照條件下的檢測需求。
圖8為最終在ARM平臺上實現的人臉實時檢測系統,圖9為該系統在復雜光照條件下的人臉檢測效果。

圖8 ARM平臺人臉檢測系統實物圖

圖9 復雜光照條件下人臉檢測效果
4結論
本文提出了適用于嵌入式設備的復雜光照人臉實時檢測的方法,通過基于Retinex理論提取光照不變分量,再以MB-LBP特征訓練AdaBoost分類器,用該分類器進行人臉檢測。實驗驗證,該方法能夠提高復雜光照情況下的人臉檢出率,且具備較快的檢測速度。最后,在ARM Cortex-A9平臺上實現了攝像頭人臉實時檢測,經測試與實際使用,整個人臉檢測系統效果良好,為后續研究人臉識別以及其他應用奠定了基礎。
參考文獻
[1] 徐家,陳奇. 基于V4L2的視頻設備驅動開發[J]. 計算機工程與設計,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.
[3] 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.
[5] FREUND Y, SCHAPIRE R E. A decision-theoretic generalization of on-line learning and an application to boosting [J]. Computer and System Sciences, 1997, 55(1):119-139.
[6] OJALA T, PIETIK?INEN M, HARWOOD D. A comparative study of texture measures with classification based on featured distributions[J]. Pattern Recognition, 1996, 29(1):51-59.
[7] OJALA T, PIETIKAINEN M, MAENPAA T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002, 24(7):971-987.
[8] 賀永剛. 基于局部二值模式的紋理表達研究[D]. 武漢:華中科技大學,2012.
[9] Liao Shengcai, Zhu Xiangxin, Lei Zhen,et al. Learning multiscale block local binary patterns for face recognition[C]. Proceedings of the 2007 International Conference on Aduances in Biometrics, Berlin: Springer-Verlag, 2007:828-837.
中圖分類號:TP391.4
文獻標識碼:A
DOI:10.19358/j.issn.1674- 7720.2016.12.015
(收稿日期:2016-01-26)
作者簡介:
黃世震(1968-),男,博士,高級工程師,主要研究方向:集成電路設計、嵌入式系統。
黃志勇(1990-),男,碩士研究生,主要研究方向:嵌入式系統、人工智能。
Research on real-time face detection of complex illumination based on embedded Linux
Huang Shizhen1,2,Huang Zhiyong1,2
(1.College of Physics and Information Engineering, Fuzhou University, Fuzhou 350116, China;2.Fujian Key Laboratory of Microelectronics and Integrated Circuits, Fuzhou 350002, China)
Abstract:In order to meet the demand of the embedded device in the face detection under complex illumination, a face detection method based on the illumination invariant features is proposed. The method is based on the Retinex theory to extract the illumination invariant component, and then AdaBoost face detection based on Multi-scale Block Local Binary Patterns (MB-LBP) features is executed. According to this method, a real-time face detection system based on embedded Linux is realized. Experimental and practical using results show that the design of the face detection system has a high rate of face detection, and meets the real-time requirements.
Key words:face detection; embedded; ARM; Retinex; MB-LBP; AdaBoost