黃世震,黃志勇
(1. 福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116; 2. 福建省微電子集成電路重點(diǎn)實(shí)驗(yàn)室,福建 福州 350002)
?
基于嵌入式Linux的復(fù)雜光照人臉實(shí)時(shí)檢測(cè)研究
黃世震1,2,黃志勇1,2
(1. 福州大學(xué) 物理與信息工程學(xué)院,福建 福州 350116; 2. 福建省微電子集成電路重點(diǎn)實(shí)驗(yàn)室,福建 福州 350002)
摘要:為了滿足嵌入式設(shè)備在復(fù)雜光照條件下的人臉檢測(cè)需求,提出了一種基于光照不變特征的人臉檢測(cè)方法。該方法先基于Retinex理論提取光照不變分量,再以MB-LBP特征進(jìn)行AdaBoost人臉檢測(cè)。結(jié)合該方法,實(shí)現(xiàn)了一種基于嵌入式Linux的人臉實(shí)時(shí)檢測(cè)系統(tǒng)。實(shí)驗(yàn)與實(shí)際使用結(jié)果表明,該人臉檢測(cè)系統(tǒng)具有較高的人臉檢出率,且滿足實(shí)時(shí)性要求。
關(guān)鍵詞:人臉檢測(cè);嵌入式;ARM;Retinex;MB-LBP;AdaBoost
引用格式:黃世震,黃志勇. 基于嵌入式Linux的復(fù)雜光照人臉實(shí)時(shí)檢測(cè)研究[J].微型機(jī)與應(yīng)用,2016,35(12):46-48,51.
0引言
人臉檢測(cè)是人臉識(shí)別等臉部分析的基礎(chǔ),其在圖像檢索、目標(biāo)定位、視頻監(jiān)控以及智能人機(jī)交互等領(lǐng)域具有廣泛的應(yīng)用前景。經(jīng)過(guò)多年的發(fā)展,人臉檢測(cè)技術(shù)已經(jīng)取得了很大的進(jìn)展。與此同時(shí),嵌入式平臺(tái)技術(shù)突飛猛進(jìn),不僅具備體積小、功耗低等特點(diǎn),而且其運(yùn)算能力也得到了很大的提高。除了實(shí)時(shí)性的要求外,光照變化對(duì)人臉檢測(cè)的影響舉足輕重。國(guó)內(nèi)外研究者對(duì)光照處理方法做了大量的研究,主要可分為光照歸一化、人臉建模、光照不變量三類方法。以直方圖均衡化為代表的光照歸一化方法在一定程度上能夠減弱光照變化的影響,但是在復(fù)雜光照情況下效果不是很理想。光錐法和球諧函數(shù)法等人臉建模方法效果好,但計(jì)算量大,難以滿足嵌入式平臺(tái)的實(shí)時(shí)性要求。本文從光照不變量的角度入手,提出了一種結(jié)合Retinex理論和MB-LBP算子的AdaBoost人臉檢測(cè)算法,并在ARM開(kāi)發(fā)板上實(shí)現(xiàn)。
1硬件平臺(tái)構(gòu)建
本文采用處理器為三星Exynos 4412的ARM開(kāi)發(fā)板作為實(shí)現(xiàn)平臺(tái),該開(kāi)發(fā)板具有主頻為1.5 GHz的Cortex-A9 CPU,Mali-400 GPU,1 GB DDR3 RAM。采用USB攝像頭作為視頻采集輸入設(shè)備,LCD觸控顯示屏作為圖形界面顯示以及觸控操作設(shè)備。整個(gè)硬件平臺(tái)架構(gòu)如圖1所示。
圖1 硬件平臺(tái)框圖
在PC上的Ubuntu系統(tǒng)中建立交叉編譯環(huán)境,裁剪和編譯Linux內(nèi)核、制作根文件系統(tǒng),并將Bootloader、Linux內(nèi)核、根文件系統(tǒng)、USB攝像頭和LCD觸控顯示屏等驅(qū)動(dòng)移植到ARM板上。配置NFS,通過(guò)以太網(wǎng)實(shí)現(xiàn)PC與ARM板的通信。使用SecureCRT軟件通過(guò)串口對(duì)ARM板進(jìn)行調(diào)試操作。
2軟件設(shè)計(jì)
本文的程序設(shè)計(jì)用到了開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)(Open Source Computer Vision Library, OpenCV),圖形用戶界面設(shè)計(jì)采用Qt,因此需對(duì)OpenCV和QtEmbedded進(jìn)行交叉編譯并移植到ARM板上。整個(gè)軟件系統(tǒng)框圖如圖2所示。
圖2 軟件系統(tǒng)框圖
由攝像頭的圖像傳感器將采集到的圖像傳輸?shù)紼xynos 4412,經(jīng)過(guò)圖像灰度化、尺寸歸一化等預(yù)處理后,提取光照不變分量,再計(jì)算其MB-LBP值,通過(guò)Adaboost算法進(jìn)行人臉檢測(cè),若檢測(cè)到人臉則在顯示區(qū)域進(jìn)行標(biāo)記。
2.1圖像采集
本文基于V4L2[1]進(jìn)行視頻圖像采集程序設(shè)計(jì),其流程圖如圖3所示。
圖3 視頻采集流程圖
2.2關(guān)鍵算法分析
2.2.1光照不變分量的提取
LAND E H等人[2]在輻照度模型的基礎(chǔ)上提出了Retinex理論。物體的顏色不受非均勻性光照的影響,而是取決于物體對(duì)不同波長(zhǎng)光線的反射能力。圖像中的固有屬性為其反射分量,圖像中的干擾部分為光照分量,可通過(guò)去除光照分量保留反射分量,實(shí)現(xiàn)光照不變分量的提取。
輻照度模型可用如下公式表示:
I(x,y)=R(x,y)L(x,y)
(1)
式中,I(x,y)為采集到的光照?qǐng)D像,R(x,y)和L(x,y)分別表示圖像在(x,y)處的反射系數(shù)和光照分量。
輻照度模型中,R(x,y)由物體的固有屬性決定,與光照無(wú)關(guān),因此Retinex理論的重點(diǎn)在于如何獲得R(x,y)。
將灰度化的采集圖像變換到對(duì)數(shù)域,通過(guò)低通濾波器分離出光照分量,最后用上述獲得的對(duì)數(shù)域圖像減去分離出的光照分量獲得光照不變分量。
對(duì)公式(1)進(jìn)行對(duì)數(shù)變換得到公式(2):
I′(x,y)=R′(x,y)+L′(x,y)
(2)
式中,I′(x,y)=logI(x,y),表示對(duì)數(shù)域的采集圖像;R′(x,y)=logR(x,y),表示對(duì)數(shù)域的光照不變分量;L′(x,y)=logL(x,y),表示對(duì)數(shù)域的光照分量。
這里選用的低通濾波器為極大值濾波器,以保證提取的光照不變分量能有足夠的LBP紋理特征供后續(xù)人臉檢測(cè)使用。該濾波器提取圖像上(2n+1)×(2n+1)窗口的灰度值,并且將最大的灰度值替換掉當(dāng)前窗口中心像素點(diǎn)的灰度值,通過(guò)該窗口遍歷整幅圖像求得每個(gè)像素點(diǎn)的灰度值。其公式如下:
(3)
其中I(x,y)為像素點(diǎn)(x,y)的灰度值,I(i,j)為像素點(diǎn)(i,j)的(2n+1)×(2n+1)鄰域內(nèi)的灰度值。
本文提取光照不變分量的算法流程如圖4所示。
圖4提取光照不變分量的算法流程示意圖
2.2.2人臉檢測(cè)
目前廣泛使用的人臉檢測(cè)方法是VIOLA P和JONES M J[3-4]提出的以Haar-like特征和積分圖方法進(jìn)行人臉檢測(cè)的Haar分類器,該方法是基于FREUND Y和SCHAPIRE R E[5]提出的AdaBoost算法。AdaBoost是一種通過(guò)迭代的方法將同一訓(xùn)練集訓(xùn)練的不同弱分類器提升形成強(qiáng)分類器的算法。
OJALA T等人[6-7]提出的局部二值模式(Local Binary Pattern, LBP)是一種圖像局部紋理特征描述算子。原始的LBP定義為:對(duì)于每幅圖像上的像素點(diǎn)在其周?chē)?×3窗口內(nèi)提取像素值,將周?chē)?鄰域的灰度值與窗口中心點(diǎn)的灰度值進(jìn)行比較,若周?chē)袼攸c(diǎn)的灰度值大于中心點(diǎn),則該像素點(diǎn)標(biāo)記為1,否則為0。用公式表示為:
(4)
(5)
式中:(xc,yc)為窗口中心點(diǎn)坐標(biāo);ic為中心點(diǎn)的灰度值;ip為相鄰像素的灰度值。
如圖5所示,周?chē)?鄰域內(nèi)的像素灰度值經(jīng)比較可生成8位二進(jìn)制數(shù)00111101,轉(zhuǎn)換成十進(jìn)制數(shù)為61,該值即為中心像素點(diǎn)的LBP值,可用來(lái)反映該區(qū)域的紋理信息[8]。
圖5 原始LBP編碼過(guò)程
Liao Shengcai等人[9]在原始LBP的基礎(chǔ)上提出了MB-LBP (Multi-scale Block Local Binary Patterns)。與原始LBP進(jìn)行單一像素間比較不同的是MB-LBP采用了子區(qū)域塊的平均像素值進(jìn)行比較,較好地對(duì)不同尺度的紋理信息進(jìn)行描述,且具有更好的魯棒性。
以9×9 MB-LBP為例,如圖6所示,將一幅圖像的每個(gè)子區(qū)域等分為9塊,計(jì)算這9塊的平均灰度值,按照原始LBP的編碼方式將鄰域的平均灰度值與中心子區(qū)域的平均灰度值進(jìn)行比較,得到的編碼即為中心子區(qū)域的特征值。
圖6 9×9 MB-LBP算子
LBP特征是整數(shù)特征,相比Haar特征,其訓(xùn)練和檢測(cè)速度更快。用LBP特征表征人臉時(shí),對(duì)光照變化(除局部劇烈變化之外)不敏感。這一點(diǎn),在實(shí)驗(yàn)中進(jìn)行了驗(yàn)證。本文進(jìn)行的人臉檢測(cè)訓(xùn)練與測(cè)試基本流程如圖7所示。
圖7 人臉檢測(cè)訓(xùn)練與測(cè)試基本流程
3測(cè)試與分析
為了驗(yàn)證本文提出的方法的效果,從CMU和MIT-CBCL數(shù)據(jù)庫(kù)中選取了625個(gè)未參加過(guò)訓(xùn)練的人臉樣本(包括不同復(fù)雜光照條件下的人臉)作為測(cè)試樣本集。測(cè)試實(shí)驗(yàn)結(jié)果如表1所示。
表1 人臉檢測(cè)測(cè)試結(jié)果對(duì)比
通過(guò)實(shí)驗(yàn),可得知本文訓(xùn)練的人臉?lè)诸惼髦?,MB-LBP分類器和IIF+MB-LBP分類器的檢測(cè)速度相比其他兩個(gè)速度更快。在不同復(fù)雜光照條件下,MB-LBP人臉?lè)诸惼鞯臋z測(cè)率比Haar-like人臉?lè)诸惼饔兴岣?,但提高并不多,查找漏檢的樣本發(fā)現(xiàn)MB-LBP分類器相比Haar-like分類器能夠多檢測(cè)出一些光照變化的樣本,但對(duì)于光照變化劇烈的樣本仍然無(wú)法有效檢測(cè)出。而采用提取光照不變分量的IIF+Haar-like分類器和IIF+MB-LBP分類器均能夠有效檢測(cè)出這些光照變化劇烈的樣本,且兩者的檢出率相近。綜合檢出率與檢測(cè)速度,在ARM設(shè)備上采用IIF+MB-LBP人臉?lè)诸惼鬟M(jìn)行人臉檢測(cè),不僅滿足實(shí)時(shí)性要求,而且能夠有效應(yīng)對(duì)不同復(fù)雜光照條件下的檢測(cè)需求。
圖8為最終在ARM平臺(tái)上實(shí)現(xiàn)的人臉實(shí)時(shí)檢測(cè)系統(tǒng),圖9為該系統(tǒng)在復(fù)雜光照條件下的人臉檢測(cè)效果。
圖8 ARM平臺(tái)人臉檢測(cè)系統(tǒng)實(shí)物圖
圖9 復(fù)雜光照條件下人臉檢測(cè)效果
4結(jié)論
本文提出了適用于嵌入式設(shè)備的復(fù)雜光照人臉實(shí)時(shí)檢測(cè)的方法,通過(guò)基于Retinex理論提取光照不變分量,再以MB-LBP特征訓(xùn)練AdaBoost分類器,用該分類器進(jìn)行人臉檢測(cè)。實(shí)驗(yàn)驗(yàn)證,該方法能夠提高復(fù)雜光照情況下的人臉檢出率,且具備較快的檢測(cè)速度。最后,在ARM Cortex-A9平臺(tái)上實(shí)現(xiàn)了攝像頭人臉實(shí)時(shí)檢測(cè),經(jīng)測(cè)試與實(shí)際使用,整個(gè)人臉檢測(cè)系統(tǒng)效果良好,為后續(xù)研究人臉識(shí)別以及其他應(yīng)用奠定了基礎(chǔ)。
參考文獻(xiàn)
[1] 徐家,陳奇. 基于V4L2的視頻設(shè)備驅(qū)動(dòng)開(kāi)發(fā)[J]. 計(jì)算機(jī)工程與設(shè)計(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á)研究[D]. 武漢:華中科技大學(xué),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.
中圖分類號(hào):TP391.4
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.19358/j.issn.1674- 7720.2016.12.015
(收稿日期:2016-01-26)
作者簡(jiǎn)介:
黃世震(1968-),男,博士,高級(jí)工程師,主要研究方向:集成電路設(shè)計(jì)、嵌入式系統(tǒng)。
黃志勇(1990-),男,碩士研究生,主要研究方向:嵌入式系統(tǒng)、人工智能。
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