999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android平臺實時人臉檢測和性別識別的研究與實現(xiàn)

2014-09-18 07:12:46陸亨立陸小峰李瑩嬌
電視技術(shù) 2014年13期
關(guān)鍵詞:嵌入式檢測方法

余 彧,陸亨立,陸小峰,李瑩嬌

(上海大學(xué)通信與信息工程學(xué)院,上海 200072)

Android平臺中實時人臉檢測和性別識別問題是模式識別領(lǐng)域和嵌入式視覺領(lǐng)域交叉的一個研究問題,既需要通過圖像采集設(shè)備和嵌入式處理平臺模仿人眼和人大腦的辨別功能,智能地定位人臉所在位置并分割出相應(yīng)的臉部區(qū)域圖像,為實際性別的判定識別提供實時可靠的數(shù)據(jù),同時又需要對分割出的人臉圖像提取特征并利用模式分類器進行性別識別。在嵌入式平臺中實現(xiàn)人臉檢測以及性別識別的兩個主要關(guān)鍵點是實時性和有效性,即檢測和識別的速率和準確率。

早在20世紀70年代已經(jīng)有科研人員研究人臉檢測問題。人臉檢測方法涉及到許多模式識別的經(jīng)典算法,如人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)、主成分量分析法(Principal Component Analysis,PCA)、支持向量機(Support Vector Machines,SVM)以及 AdaBoost快速人臉檢測算法等[1]。不同的人臉檢測方法都存在著一定的聯(lián)系,而隨著研究不斷地深入,人們開始意識到將多種檢測方法結(jié)合起來能夠達到更理想的檢測效果。最近幾年,研究人員主要側(cè)重于結(jié)合多種檢測方法進行人臉檢測而不是只針對某一種方法進行改進。

對于性別識別問題的研究始于20世紀80年代,但是真正受到關(guān)注是在21世紀初,最主要的研究目標是要得到一個性別識別分類器。十多年來性別識別問題得到越來越多來自計算機視覺、模式識別、人工智能等領(lǐng)域的研究人員的關(guān)注,特別是在近幾年,更是成為一個熱門研究課題。目前,性別識別的分類方法多數(shù)都來源于人臉識別相關(guān)的分類方法。人臉識別技術(shù)在經(jīng)過幾十年的研究和發(fā)展后,已經(jīng)涌現(xiàn)了大量經(jīng)典的分類方法[2],其中一些方法如人工神經(jīng)元網(wǎng)絡(luò)(ANN)、支持向量機(SVM)、Fisher-Face法等經(jīng)過研究和實驗證明同樣也適用于性別識別問題。

在嵌入式平臺中進行人臉檢測相關(guān)研究的較多,研究成果較為豐富[3],涉及到各類嵌入式平臺,包括了基于ARM或X86構(gòu)架的Android或嵌入式Linux開發(fā)平臺、DSP平臺以及FPGA平臺等。不論是檢測速度還是檢測率,都取得了比較滿意的結(jié)果。而對于在嵌入式平臺中進行性別識別的研究成果則少的可憐,在國內(nèi)幾乎是空白,究其主要原因應(yīng)該是受到嵌入式處理設(shè)備的約束和限制,在嵌入式平臺中進行大量復(fù)雜的模式識別分類很難滿足實時性的剛性需求。但隨著多核時代的來臨,嵌入式處理器的性能不斷提高,同時伴隨著存儲設(shè)備等其他硬件設(shè)備水平的提升,之前留下的空白應(yīng)該會得到很好的填補。

1 嵌入式快速人臉檢測與性別識別

本文主要研究Android平臺中的實時人臉檢測和性別識別,其實現(xiàn)方法如圖1所示,主要包括3大部分:人臉檢測、臉部圖像處理、性別識別。

圖1 Android平臺中的實時人臉檢測和性別識別實現(xiàn)流程圖

1)人臉檢測

針對嵌入式平臺的處理能力相對比較一般的特點,在人臉檢測之前須對從攝像頭設(shè)備獲取的輸入視頻圖像進行預(yù)處理,從而最大程度地降低計算量。預(yù)處理過程包括了灰度處理、圖像等比例壓縮以及直方圖均衡。灰度處理把三通道的彩色輸入圖像轉(zhuǎn)化為單通道的灰度圖像,圖像等比例壓縮能夠降低輸入圖像的分辨率,從而減少了人臉檢測算法的計算量并有效提高檢測速率。而直方圖均衡則能夠提高圖像的對比度和亮度,從而增強人臉檢測的可靠性。本文采用Adaboost快速人臉檢測算法進行人臉檢測,Adaboost算法是首個能夠達到實時的人臉檢測算法,被廣泛運用于嵌入式設(shè)備中進行人臉檢測。

2)臉部圖像處理

由于性別識別的結(jié)果好壞易受到光照變化、臉部表情、臉部朝向改變等影響,因此在人臉檢測和性別識別之前加入臉部圖像處理是極其重要的。本文所采用的臉部圖像處理包括以下幾個步驟:首先是人眼檢測,利用Adaboost算法以及人眼分類器可以較容易地在臉部圖像中標定人眼位置。其次是臉部圖像的幾何變換和剪裁,根據(jù)所檢測到的人眼位置,通過圖像旋轉(zhuǎn)、剪裁、縮放等手段,使得臉部圖像中人眼是對齊的且不包含背景、額頭、耳朵和下巴,并將處理后的臉部圖像縮放到70×70固定大小。再次是分離直方圖均衡,這個過程能夠使得每一個臉部圖像都具有相同的對比度以及亮度。最后是圖像平滑,圖像平滑能夠有效地減少圖像的噪聲。

3)性別識別

性別識別的過程包括離線學(xué)習(xí)和在線識別兩個部分。本文采用FisherFace方法進行性別識別以及性別分類器的訓(xùn)練,F(xiàn)isherFace方法會將高維圖像降低到低維空間,因此能夠大大地降低分類開銷,相比于其他的性別識別方法最適合在嵌入式平臺中運用。

2 AdaBoost快速人臉檢測算法原理及實現(xiàn)方法

AdaBoost人臉檢測算法是由P.Viola等人提出的[4],它是一種迭代算法,其核心思想是:從人臉圖像中抽取大量的簡單特征,有些特征具有一定的人臉和非人臉區(qū)分能力。隨后通過訓(xùn)練從眾多特征中選出分類能力較強的特征作為弱分類器,并最終將這些弱分類器進行有效的組合從而構(gòu)成強分類器[5]。

基于AdaBoost算法的人臉檢測流程如圖2所示,分為離線訓(xùn)練和在線檢測兩個部分。離線訓(xùn)練過程對大量的人臉和非人臉樣本圖像進行訓(xùn)練,對每個樣本提取特征,并通過Adaboost算法最終生成強分類器,在線檢測過程中,運用離線過程生成的人臉分類器對輸入圖像進行分類檢測,從而得到人臉圖像結(jié)果。

圖2 基于AdaBoost算法的人臉檢測流程圖

本文利用 JNI(Java Native Interface)接口、Android NDK(Native Development Kit)以及OpenCV AdaBoost算法API來實現(xiàn)Android平臺中的人臉檢測。封裝了兩個主要的native方法,分別是JNIEXPORT void JNICALL Java_com_example_gender_MainActivity_LoadFaceCascade(JNIEnv*env,jobject obj,jstring filename)用于加載離線訓(xùn)練好的人臉分類器,以及JNIEXPORT void JNICALL Java_com_example_gender_MainActivity_Detect(JNIEnv* env,jobject obj)用于在線實時人臉檢測。利用NDK對native方法進行編譯并生成共享庫文件libfacedetect.so,在java源代碼中對動態(tài)庫進行調(diào)用。

針對嵌入式平臺對實時性要求較高的特點。本文采用Android中的多線程技術(shù)使整個人臉檢測過程在后臺完成,避免了前臺的預(yù)覽攝像頭圖像UI出現(xiàn)卡頓的現(xiàn)象。在新建的子線程中執(zhí)行耗時比較多的人臉檢測算法,并利用Handler,Looper和MessageQueue進行線程間的通信。子線程在檢測到人臉之后通過sendMessage方法將人臉位置信息傳遞給主線程,主線程在收到數(shù)據(jù)之后實時地更新UI。

3 基于FisherFace算法的性別識別原理及實現(xiàn)方法

3.1 FisherFace算法

FisherFace方法也稱為Fisher線性判別分析(Fisher Linear Discriminant Analysis,F(xiàn)LDA),是由P.N.Belhumeur等人在1997年提出的[6]。Fisherface算法的核心思想是以樣本的可分性為目標,尋找一組線性變換使每類的類內(nèi)離散度最小,同時使類間的離散度達到最大,即選擇使樣本類間離散度和類內(nèi)離散度的比值最大的特征值。由于FisherFace算法引入了類別信息,最小化了類內(nèi)距離,因此該算法比較適合于模式識別問題[7]。

對于性別識別問題,有M=2個模式類別,即男性和女性,樣本的類內(nèi)散布矩陣Sw和Sb類間散布矩陣定義為

式中:N表示所有樣本集的總數(shù);Ni表示第i類樣本集的數(shù)量;μi表示第i類樣本的均值;xij表示第i類中第j個樣本;μ表示所有樣本的平均值。

Fisher判決準則函數(shù)定義為

Fisher判決準則函數(shù)將樣本的類間離散度和類內(nèi)離散度非常巧妙地結(jié)合在一起,取極大化目標函數(shù)J(W)的矩陣Wm作為投影方向。其物理意義是:特征樣本在Wm上投影后,類間離散度和類內(nèi)離散度之比達到最大,從而達到性別分類的目的。

本文同樣采用JNI接口、Android NDK以及OpenCV FisherFace算法來實現(xiàn)Android平臺中的性別識別。與人臉檢測相同,同樣封裝了兩個native方法,分別實現(xiàn)加載離線性別識別分類器和在線實時識別。整個性別識別過程同樣在后臺獨立的線程中完成,具體實現(xiàn)方法與人臉檢測過程類似。

3.2 性別識別分類器的訓(xùn)練

本文所選擇的人臉樣本圖像來自于多種途徑,包括知名的人臉庫(如FERET,Yale,AT&T)、自行采集的人臉樣本庫以及來自互聯(lián)網(wǎng)的各類明星照片。所有收集的人臉樣本圖像并不只局限于正面臉的圖像,也包括了不同種族、不同年齡段、不同臉部表情以及臉部旋轉(zhuǎn)在以內(nèi)的人臉圖像,從而增強了系統(tǒng)的魯棒性。

性別識別分類器的訓(xùn)練過程同樣也需要對樣本圖像進行處理,所采用的處理方法與本文第二部分介紹的臉部圖像處理方法相同。如圖3所示,對所有樣本圖像先利用Adaboost算法進行人臉檢測,隨后對臉部圖像進行進一步處理,得到根據(jù)人眼對齊的臉部灰度平滑圖像,最后運用FisherFace訓(xùn)練算法進行訓(xùn)練并將生成的性別識別分類器保存到gender.yml描述文件中。

圖3 樣本圖像處理處理示例圖

4 實驗結(jié)果與分析

4.1 實驗環(huán)境介紹

本文使用兩個構(gòu)架截然不同的嵌入式硬件平臺進行實驗以及算法性能對比,其中一個平臺是以基于ARM Cortex-A8構(gòu)架的Samsung S5PV210為主處理芯片,主頻1 GHz,以下簡稱S5PV210平臺。另一個是以基于Intel X86構(gòu)架的 Intel Atom Z2460為主處理芯片,主頻1.60 GHz,以下簡稱Z2460平臺。在這兩個平臺中都運行Android 4.0操作系統(tǒng),使用OpenCV2.4.4庫來實現(xiàn)所有人臉檢測和性別識別算法,并使用交叉編譯環(huán)境Android NDK r8b進行編譯。

為了測試人臉檢測和性別識別算法的性能,準備了大量的測試樣本圖像以及兩段分辨率均為640×480視頻進行對比分析:1)公共測試視頻;2)自己生活中錄制的視頻。測試樣本示例以及公共視頻中的關(guān)鍵幀如圖4所示。

圖4 測試樣本示例及公共視頻中的關(guān)鍵幀

4.2 實驗數(shù)據(jù)及分析

4.2.1 基于不同特征分類器的AdaBoost人臉檢測算法性能對比

OpenCV庫中提供了兩種已經(jīng)訓(xùn)練好的AdaBoost人臉分類器,一種是基于Haar-like特征的分類器,保存于haarcascade_frontalface_alt2.xml描述文件中;另一種是基于LBP特征的分類器,保存于lbpcascade_frontalface.xml描述文件中。表1是運用了這兩種特征分類器的Ada-Boost人臉檢測算法分別運行于S5PV210平臺和Z2460平臺的性能測試結(jié)果,圖5是根據(jù)表1生成的性能對比柱狀圖。

表1 基于不同特征分類器AdaBoost算法性能對比

圖5 基于不同特征分類器AdaBoost算法性能對比

表1中檢測率=實際檢測到人臉幀數(shù)/總含人臉幀數(shù),誤檢率=誤檢到含人臉的幀數(shù)/總含人臉幀數(shù)。由表1中的測試數(shù)據(jù)以及圖5可知,基于Haar-like特征的人臉分類器可以得到相對更高的檢測率(96.35%),而基于LBP特征的人臉分類器檢測速率要快了1倍以上,且也可以得到比較高的檢測率(87.46%)。鑒于嵌入式設(shè)備對實時性的要求較高,本文選擇基于LBP特征的人臉分類器進行人臉檢測。

4.2.2 Android平臺中兩種人臉檢測方法的性能對比

從Android 4.0 Ice Cream Sandwich版本開始,官方新增了人臉檢測的API,本文利用了官方的API實現(xiàn)了一個人臉檢測性能對比程序,與采用AdaBoost算法實現(xiàn)人臉檢測的方法進行性能對比。表2是基于2種不同方法實現(xiàn)的人臉檢測性能測試結(jié)果,2種實現(xiàn)方法分別運行于S5PV210平臺和Z2460平臺,圖6是根據(jù)表2生成的性能對比柱狀圖。

表2 基于不同方法實現(xiàn)的人臉檢測性能對比

圖6 基于不同方法實現(xiàn)的人臉檢測性能對比

由表2中的測試數(shù)據(jù)以及圖6可知,運用Android系統(tǒng)自帶API實現(xiàn)的人臉檢測相比于使用OpenCV實現(xiàn)AdaBoost快速人臉檢測,檢測速率要更快一些,但其檢測率只有接近80%。

4.2.3 基于FisherFace算法的性別識別性能對比分析

表3是基于FisherFace算法的性別識別方法在S5PV210平臺和Z2460平臺運行的性能測試結(jié)果,圖7是根據(jù)表3生成的性能對比柱狀圖。圖8是對測試樣本示例及公共視頻中的關(guān)鍵幀進行性別識別的結(jié)果。由表3中的測試數(shù)據(jù)以及圖7可知,F(xiàn)isherFace算法在Z2460平臺運行時已經(jīng)能夠接近10 f/s(幀/秒)的識別速率,能夠比較好地滿足實時性的要求。而在S5PV210平臺運行時也有接近6 f/s的識別速率。在兩個平臺中運行的識別準確率均為82.64%。

表3 基于FisherFace算法的性別識別性能對比

圖7 基于FisherFace算法的性別識別性能對比

5 總結(jié)

本文提出并實現(xiàn)一種Android系統(tǒng)下實時人臉檢測和性別識別的方法,并分別在基于ARM和X86構(gòu)架的兩個嵌入式平臺中進行了大量實驗和測試數(shù)據(jù)對比,實驗數(shù)據(jù)證明了本文的方法在實時性和準確性方面都取得了比較理想的結(jié)果。隨著技術(shù)的進一步發(fā)展,嵌入式平臺處理器性能增強及核數(shù)增加是一種必然趨勢,人臉檢測和性別識別技術(shù)應(yīng)該能夠更完美地在這些嵌入式平臺上實現(xiàn)。

:

[1]趙麗紅,劉紀紅.人臉檢測方法綜述[J].計算機應(yīng)用研究,2004,21(9):1-4.

[2]閆娟,程武山,孫鑫.人臉識別的技術(shù)研究與發(fā)展概況[J].電視技術(shù),2006,30(12):81-84.

猜你喜歡
嵌入式檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
小波變換在PCB缺陷檢測中的應(yīng)用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 亚洲综合狠狠| 久久久久无码精品国产免费| 无码不卡的中文字幕视频| 经典三级久久| 国产欧美精品午夜在线播放| 无码一区18禁| 国产高潮视频在线观看| 四虎永久免费在线| 欧美成a人片在线观看| 国产日韩精品欧美一区喷| 亚洲欧美一区二区三区麻豆| 国产电话自拍伊人| 午夜少妇精品视频小电影| 真人高潮娇喘嗯啊在线观看 | 99在线视频免费观看| 91在线精品麻豆欧美在线| 国产精品久久久精品三级| 国产精品高清国产三级囯产AV| 日韩黄色在线| 国产高清在线精品一区二区三区| 91网在线| 精品国产欧美精品v| 久久综合国产乱子免费| 亚洲欧美成人影院| 五月婷婷丁香色| 88av在线| 久久semm亚洲国产| 日本免费福利视频| 欧美日韩国产在线人成app| 国产激爽大片高清在线观看| 亚洲毛片在线看| 亚洲成年人片| 国产欧美日韩精品综合在线| 精品一区国产精品| 狠狠做深爱婷婷久久一区| 亚洲国产精品一区二区高清无码久久| 午夜国产在线观看| 啪啪啪亚洲无码| 2020极品精品国产| 极品性荡少妇一区二区色欲| 狼友av永久网站免费观看| www亚洲天堂| 亚洲精品无码成人片在线观看| 亚洲成人黄色在线| 亚洲区视频在线观看| 国产一二视频| 老司机精品久久| 呦女亚洲一区精品| 国产免费福利网站| 免费激情网站| 98超碰在线观看| 免费国产福利| 2021最新国产精品网站| 69视频国产| 拍国产真实乱人偷精品| 国内精品视频区在线2021| 国产精品一线天| 久久青草免费91观看| 精品国产欧美精品v| 亚洲无线视频| 国产99久久亚洲综合精品西瓜tv| 波多野结衣AV无码久久一区| 久久综合成人| 久久先锋资源| 99久久精品久久久久久婷婷| 欧美自拍另类欧美综合图区| 亚洲精品片911| 国产99欧美精品久久精品久久| 欧美日本二区| 亚洲天堂视频在线播放| 国内精品自在自线视频香蕉| 成人在线综合| 欧美一级高清片欧美国产欧美| 国产成熟女人性满足视频| 国产亚洲精品精品精品| 国产网站免费看| 一级毛片视频免费| 在线国产你懂的| 天堂久久久久久中文字幕| 54pao国产成人免费视频| 中文字幕第1页在线播| 亚洲aaa视频|