国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于神經(jīng)網(wǎng)絡(luò)的移動(dòng)端人臉特征點(diǎn)檢測(cè)

2018-10-17 01:27陳科宇賈玉祥
計(jì)算機(jī)時(shí)代 2018年8期
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò)

陳科宇 賈玉祥

摘 要: 將人臉特征點(diǎn)檢測(cè)技術(shù)融合到移動(dòng)端,通過攝像頭獲取圖像信息并實(shí)時(shí)地檢測(cè)人臉特征點(diǎn)是一個(gè)很有前景的研究課題。本文使用ARM開發(fā)板作為技術(shù)實(shí)現(xiàn)平臺(tái),通過USB攝像頭收集圖像信息,使用基于多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法結(jié)合基于回歸樹的人臉對(duì)齊算法進(jìn)行人臉特征點(diǎn)檢測(cè)。實(shí)驗(yàn)表明,該方法切實(shí)可行,人臉特征點(diǎn)檢測(cè)更準(zhǔn)確、高效,移動(dòng)端平臺(tái)使得人臉檢測(cè)程序更加實(shí)用方便。

關(guān)鍵詞: 人臉特征點(diǎn)檢測(cè); 神經(jīng)網(wǎng)絡(luò); ARM平臺(tái); USB攝像頭

中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2018)08-05-04

Facial feature point detection on mobile terminal based on neural network

Chen Keyu, Jia Yuxiang

(School of Information Engineering, Zhengzhou University, Zhengzhou, Henan 450001, China)

Abstract: It is a promising research topic to integrate facial feature point detection technology into mobile terminal, obtain information by camera and detect facial feature point in real time. This paper uses the ARM development board as the technology platform, combining a face detection algorithm based on multi-task cascaded neural network with the face alignment algorithm based on regression tree, and collects image information via USB camera to detect facial feature point. The experiments show that the proposed algorithm is feasible, making the facial feature point detection more accurate and efficient, and the mobile terminal platform makes the face detection procedure more practical and convenient.

Key words: facial feature point detection; neural network; ARM platform; USB camera

0 引言

近年來(lái),在人工智能與深度學(xué)習(xí)領(lǐng)域中,人臉識(shí)別成為了一個(gè)研究熱點(diǎn),準(zhǔn)確地識(shí)別人臉的基礎(chǔ)是正確地獲取合適的人臉特征,其基本特征有:眼睛、鼻子、嘴巴等,對(duì)基本特征進(jìn)行定位是人臉識(shí)別中必不可少的步驟。

人臉識(shí)別大致分為三種方法。第一種是在特征空間中,根據(jù)圖片信息在變換域空間中不同的能量分布進(jìn)行識(shí)別,代表算法有奇異值分解、因子分析、獨(dú)立成分分析等降維算法。第二種是通過判斷人臉幾何信息特征的相似程度進(jìn)行人臉檢測(cè)。第三種是基于多層神經(jīng)網(wǎng)絡(luò),在圖片信息空間投射到的子空間中進(jìn)行識(shí)別,雖然該方法與第一種方法類似,但針對(duì)不同的需要,可以根據(jù)其降維、分維、非正交等特性來(lái)構(gòu)造不同的網(wǎng)絡(luò)結(jié)構(gòu)。本文提出使用基于多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法[1]結(jié)合基于回歸樹的人臉對(duì)齊算法[2]在移動(dòng)設(shè)備中實(shí)時(shí)地進(jìn)行人臉特征點(diǎn)檢測(cè)。

1 人臉檢測(cè)與人臉對(duì)齊算法

人臉識(shí)別大致分為四個(gè)步驟,按先后順序?yàn)槿四槞z測(cè)、人臉對(duì)齊、人臉校驗(yàn)、人臉識(shí)別。人臉檢測(cè)就是在圖片信息中尋找人臉的位置,而人臉對(duì)齊則在尋找到的人臉位置中自動(dòng)找到具有標(biāo)志性的特征位置并最終定位其準(zhǔn)確的形狀。

人臉檢測(cè)算法很早就比較成熟了,Viola-Jones(簡(jiǎn)稱VJ)算法是非常經(jīng)典的人臉檢測(cè)算法,因其高效快速的檢測(cè)效率,至今仍然被廣泛使用。VJ算法[9]使用haar特征與Adaboost算法對(duì)分類器進(jìn)行訓(xùn)練以建立級(jí)聯(lián)分類器,并提出了積分圖,能夠?qū)aar特征進(jìn)行更快速的運(yùn)算,在實(shí)時(shí)中表現(xiàn)出色,但大量研究表明,該算法在現(xiàn)實(shí)世界中檢測(cè)效率會(huì)顯著降低。在各種計(jì)算機(jī)視覺任務(wù)中,例如人臉識(shí)別、面部分類等,卷積神經(jīng)網(wǎng)絡(luò)表現(xiàn)出顯著優(yōu)勢(shì),結(jié)合多任務(wù)級(jí)聯(lián)的思想,在人臉檢測(cè)中將會(huì)取得更加優(yōu)秀的效果。

人臉對(duì)齊算法有兩種,分別為模板擬合的方法與基于回歸的方法,常用的較為傳統(tǒng)的算法有基于點(diǎn)分布模型的主動(dòng)形狀模型算法ASM,在主動(dòng)形狀模型的基礎(chǔ)上進(jìn)一步處理紋理以將紋理和形狀融合為外觀模型的主動(dòng)外觀模型算法AAM,以及結(jié)合了主動(dòng)形狀模型與主動(dòng)外觀模型優(yōu)點(diǎn)的約束局部模型算法CLM。比較流行的人臉對(duì)齊算法有對(duì)牛頓法進(jìn)行改進(jìn)的算法SDM、基于回歸的算法ESR、調(diào)試參數(shù)比較困難的算法LBF以及基于回歸樹的算法等。

2 算法的設(shè)計(jì)與實(shí)現(xiàn)

本節(jié)介紹軟硬件開發(fā)平臺(tái)的選擇、算法的設(shè)計(jì)原理以及算法的實(shí)現(xiàn)與移植。

2.1 開發(fā)平臺(tái)

經(jīng)過考量,硬件方面最終選擇使用HiKey960開發(fā)板。它是華為目前發(fā)布的性能最高的移動(dòng)SoC平臺(tái),開發(fā)板本身適配AOSP硬件開源系統(tǒng),可以基于安卓系統(tǒng)進(jìn)行目標(biāo)實(shí)用性很強(qiáng)的APP應(yīng)用開發(fā)。

軟件方面選擇了安卓8.0系統(tǒng),原因是其在流暢且穩(wěn)定的基礎(chǔ)上加強(qiáng)了人工智能方面的性能,更利于人臉識(shí)別程序的運(yùn)行,可以提高效率。更重要的一點(diǎn)是安卓系統(tǒng)是完全開源的,具有很好的開放性,開發(fā)所需的資料也非常充足。

2.2 算法的設(shè)計(jì)

對(duì)人臉檢測(cè)算法的選擇,本文使用了基于多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的算法[1]。該算法結(jié)合有效的人臉檢測(cè)與人臉對(duì)齊兩種任務(wù)之間內(nèi)在的聯(lián)系,使用多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)框架進(jìn)行整合。

算法一開始將圖片調(diào)整比例大小并構(gòu)造出圖像金字塔[1,4,5],以對(duì)不同比例的人臉進(jìn)行檢測(cè)。算法本身使用了由粗到精的三階級(jí)聯(lián)子網(wǎng)絡(luò)框架,第一個(gè)子網(wǎng)絡(luò)簡(jiǎn)稱提案網(wǎng)絡(luò),是全卷積,即:沒有全連接層的卷積神經(jīng)網(wǎng)絡(luò),其特點(diǎn)是可以輸入不同大小的圖片,可進(jìn)行端到端的訓(xùn)練并更好地學(xué)習(xí)上下文信息,是非常適合輸出為圖像的一種神經(jīng)網(wǎng)絡(luò)框架。提案網(wǎng)絡(luò)的主要作用是生成候選框,在訓(xùn)練的過程中網(wǎng)絡(luò)有三條支路,分別用來(lái)進(jìn)行人臉分類、對(duì)人臉框進(jìn)行回歸以及人臉關(guān)鍵點(diǎn)的定位,而在測(cè)試中只輸出了候選框及其四個(gè)坐標(biāo)信息的分?jǐn)?shù),該網(wǎng)絡(luò)使用邊界框回歸以校正候選框,并使用非極大值抑制的方法對(duì)候選框的重疊進(jìn)行合并。第二個(gè)子網(wǎng)絡(luò)簡(jiǎn)稱提取網(wǎng)絡(luò),其輸入為提案網(wǎng)絡(luò)獲取的候選框,由于該網(wǎng)絡(luò)添加了一個(gè)全連接層,所以會(huì)起到更好的抑制作用,照比提案網(wǎng)絡(luò)會(huì)獲取更加精確的候選框信息。第三個(gè)網(wǎng)絡(luò)簡(jiǎn)稱為輸出網(wǎng)絡(luò),該網(wǎng)絡(luò)類似于提取網(wǎng)絡(luò),其調(diào)整了輸入大小并增加了對(duì)地標(biāo)位置的回歸和一層卷積層,在更進(jìn)一步地對(duì)候選框篩選的基礎(chǔ)上,還會(huì)輸出五個(gè)人臉特征點(diǎn)位置信息。該算法與[3]比較,在獲取良好的人臉檢測(cè)效果的情況下,運(yùn)行時(shí)間也比較短。

在人臉對(duì)齊算法的選擇中,本文使用了基于回歸樹的算法[2,11],該算法通過建立級(jí)聯(lián)回歸樹將人臉真實(shí)形狀還原,整體流程如圖1所示。

其中每個(gè)回歸樹的每一個(gè)葉子節(jié)點(diǎn)都存儲(chǔ)一個(gè)殘差,當(dāng)算法執(zhí)行到葉子節(jié)點(diǎn)時(shí)會(huì)將殘差與輸入量相加以起到回歸的作用,最終通過疊加所有殘差以獲取人臉對(duì)齊的位置信息。

算法使用了GBDT(Gradient Boosting Decision Tree) 梯度提升決策樹,與隨機(jī)森林類似,都是許多棵決策樹聯(lián)合在一起的,不同點(diǎn)是每棵GBDT樹之間都不是并行的而是串行的,即一棵樹的構(gòu)造是建立在其他樹之上的[6,7,8,10]?;貧w器級(jí)聯(lián)回歸樹的流程如圖2所示。

GBDT的建立以將人臉的初始形狀回歸為真實(shí)形狀為目標(biāo),使用像素差作為特征,對(duì)于每一幅圖片在合格的特征池中隨機(jī)挑選兩個(gè)點(diǎn),計(jì)算圖片在該兩點(diǎn)處的像素差值,并將差值與隨機(jī)生成的分裂閾值相比較,如果像素差小于該閾值則向左分裂,否則向右分裂,重復(fù)執(zhí)行直到葉子節(jié)點(diǎn)。對(duì)落入葉子節(jié)點(diǎn)所有圖片的差值作平均,即可獲取該葉子節(jié)點(diǎn)所對(duì)應(yīng)的殘差值,在構(gòu)造下一棵樹之前,需要對(duì)圖像進(jìn)行更新,以初始形狀與殘差的和來(lái)表示圖像,使得其更接近真實(shí)形狀。最終當(dāng)可以用當(dāng)前形狀表示真實(shí)形狀時(shí),即成功建立了一棵GBDT樹,如圖3所示為回歸樹的建立過程。

該算法具有良好的實(shí)時(shí)性,但是依賴于光照,即在明亮且均衡的光照下可以獲得相對(duì)更好的檢測(cè)效果。

2.3 算法的移植與實(shí)現(xiàn)

算法的移植分為三個(gè)步驟,依次為USB攝像頭視頻輸入驅(qū)動(dòng)的編寫、人臉檢測(cè)算法的實(shí)現(xiàn)并編譯成動(dòng)態(tài)鏈接庫(kù)以及對(duì)人臉對(duì)齊算法的實(shí)現(xiàn)。最終實(shí)現(xiàn)對(duì)人臉特征點(diǎn)的檢測(cè)并在安卓平臺(tái)運(yùn)行。

2.3.1 USB攝像頭的視頻輸入驅(qū)動(dòng)

由于在開發(fā)板Hikey960中并沒有配備MIPI接口的攝像頭而是外置了USB接口,所以我們選擇使用USB攝像頭來(lái)作為視頻輸入設(shè)備,為此需要編寫驅(qū)動(dòng)來(lái)對(duì)設(shè)備進(jìn)行調(diào)用。

通過獲取通用串行總線攝像頭視頻輸入驅(qū)動(dòng)相關(guān)資料,選擇使用開源庫(kù)來(lái)驅(qū)動(dòng)設(shè)備。首先獲取libusb庫(kù),它是一套以簡(jiǎn)單的方式訪問USB設(shè)備的應(yīng)用程序編程接口且無(wú)需特殊權(quán)限。然后獲取libuvc庫(kù),它是在libusb庫(kù)之上建立的,可以對(duì)USB視頻設(shè)備進(jìn)行調(diào)用,同時(shí)支持對(duì)設(shè)備進(jìn)行細(xì)粒度的控制,可以獲取視頻流。最后,獲取安卓圖片壓縮庫(kù)libjpeg-turbo以對(duì)視頻流信息進(jìn)行處理,該庫(kù)是圖像編解碼器,可使用單指令多數(shù)據(jù)流對(duì)JPEG圖像進(jìn)行編碼與解碼。最終使用Native Development Kit(NDK)將這些開源庫(kù)編譯為動(dòng)態(tài)鏈接庫(kù),經(jīng)測(cè)試,可以成功訪問目標(biāo)設(shè)備、獲取視頻輸入流,并正確地處理以獲取圖像信息。具體流程如圖4所示。

2.3.2 人臉檢測(cè)算法移植

人臉檢測(cè)算法[1]源代碼是使用Matlab結(jié)合卷積神經(jīng)網(wǎng)絡(luò)框架caffe所編寫的。移植工作分為兩部分,第一部分是將算法使用計(jì)算機(jī)視覺庫(kù)OpenCV、卷積神經(jīng)網(wǎng)絡(luò)框架caffe和編程語(yǔ)言C++實(shí)現(xiàn)并且可以成功地檢測(cè)出人臉與五個(gè)特征點(diǎn)的位置信息,本文結(jié)合以上開源庫(kù)成功實(shí)現(xiàn)人臉檢測(cè)算法,經(jīng)測(cè)試表明,實(shí)現(xiàn)的人臉檢測(cè)算法精確度和速度與原論文[1]基本一致。第二部分是使用NDK將實(shí)現(xiàn)的人臉檢測(cè)程序結(jié)合卷積神經(jīng)網(wǎng)絡(luò)框編譯成安卓所使用動(dòng)態(tài)鏈接庫(kù)?;静襟E為首先使用命令將源代碼編譯生成.class文件和頭文件,創(chuàng)建對(duì)應(yīng)的源文件并添加人臉檢測(cè)代碼,編寫配置文件Android.mk與Application.mk以引入標(biāo)準(zhǔn)模板庫(kù),包括頭文件目錄與靜態(tài)庫(kù)目錄,最后使用NDK指令將其編譯為動(dòng)態(tài)鏈接庫(kù)。

最終結(jié)合安卓項(xiàng)目,調(diào)用相應(yīng)的動(dòng)態(tài)鏈接庫(kù),使用人臉檢測(cè)算法,對(duì)USB視頻輸入設(shè)備獲取的圖像信息進(jìn)行處理,經(jīng)測(cè)試可以正確、快速地檢測(cè)出人臉以及五個(gè)人臉特征點(diǎn)的位置信息。

2.3.3 人臉對(duì)齊算法移植

結(jié)合上文對(duì)人臉檢測(cè)算法的移植,將獲取的人臉圖像傳送給人臉對(duì)齊算法以進(jìn)行人臉特征點(diǎn)檢測(cè)。具體過程如圖5所示。

首先獲取Dlib庫(kù),它是一個(gè)包含機(jī)器學(xué)習(xí)算法的開源庫(kù),以在多平臺(tái)運(yùn)行人臉識(shí)別程序?yàn)槟康?,并且?duì)人臉特征點(diǎn)檢測(cè)算法[2]進(jìn)行了實(shí)現(xiàn)。對(duì)該庫(kù)的移植總共分為四個(gè)步驟。

第一步編寫代碼以實(shí)現(xiàn)對(duì)圖像和文件的操作,例如將位圖文件轉(zhuǎn)換為矩陣、圖像格式轉(zhuǎn)換、文件的創(chuàng)建刪除加載等,并布置到項(xiàng)目中進(jìn)行調(diào)用。

第二步將上文實(shí)現(xiàn)人臉檢測(cè)算法運(yùn)算后所獲取的人臉圖像信息傳給算法以實(shí)現(xiàn)人臉對(duì)齊功能,結(jié)合計(jì)算機(jī)視覺庫(kù)使用NDK命令將其編譯成動(dòng)態(tài)鏈接庫(kù)。

第三步實(shí)現(xiàn)對(duì)動(dòng)態(tài)鏈接庫(kù)調(diào)用、加載訓(xùn)練好的模型等函數(shù),并且在主工程中實(shí)現(xiàn)對(duì)這些函數(shù)進(jìn)行調(diào)用。

最后改寫build.gradle、setting.gradle等配置文件,使用gradlew命令集實(shí)現(xiàn)對(duì)整體項(xiàng)目的構(gòu)建,生成安卓安裝包并使用adb命令集將其安裝到開發(fā)板中,經(jīng)測(cè)試,可以快速、準(zhǔn)確地獲取人臉和68個(gè)人臉特征點(diǎn)的位置信息,并將檢測(cè)結(jié)果展示到顯示器中。

3 實(shí)驗(yàn)結(jié)果與分析

本文使用基于多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法結(jié)合基于回歸樹的人臉對(duì)齊算法進(jìn)行人臉特征點(diǎn)檢測(cè),成功在Hikey960開發(fā)板(安卓系統(tǒng)8.0)中運(yùn)行,并通過對(duì)USB視頻輸入設(shè)備獲取圖像信息,獲得了較高的檢測(cè)速度與效率。圖6為檢測(cè)效果圖,可見人臉特征點(diǎn)檢測(cè)數(shù)目基本維持在68個(gè)左右。

4 結(jié)束語(yǔ)

本文將基于神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法結(jié)合人臉對(duì)齊算法實(shí)現(xiàn)了對(duì)人臉特征點(diǎn)的檢測(cè),并通過手機(jī)攝像頭或者USB攝像頭獲取視頻圖像信息。初步實(shí)驗(yàn)顯示,與經(jīng)典的人臉特征點(diǎn)檢測(cè)程序相比,本文方法運(yùn)行速度更快、檢測(cè)效率更高。

參考文獻(xiàn)(References):

[1] Zhang K, Zhang Z, Li Z, et al. Joint Face Detection and

Alignment Using Multitask Cascaded Convolutional Networks[J]. IEEE Signal Processing Letters,2016.23(10):1499-1503

[2] Kazemi V, Sullivan J. One millisecond face alignment with

an ensemble of regression trees[C]// Computer Vision and Pattern Recognition(CVPR),IEEE,2014:1867-1874

[3] Li H, Lin Z, Shen X, et al. A convolutional neural network

cascade for face detection[C]// Computer Vision and Pattern Recognition (CVPR), IEEE,2015:5325-5334

[4] A. Krizhevsky, I. Sutskever, G. E. Hinton, Imagenet

classification with deep convolutional neural networks[C]//Advances in neural information processing systems (NIPS),2012:1097-1105

[5] X. Zhu, D. Ramanan, Face detection, pose estimation, and

landmark localization in the wild[C]//Computer Vision and Pattern Recognition(CVPR), IEEE,2012:2879-2886

[6] P.N.Belhumeur, J.P.Hespanha, and D.J.Kriegman. Eigen

faces vs. Fisherfaces:recognition using class specific linear projection [J].IEEE transactions on pattern analysis and machine intelligence,1997.19(7):711-720

[7] D.Chen, X.Cao,F(xiàn).Wen, and J.Sun. Blessing of

dimensionality:High-dimensional feature and its efficient compression for face verification[C]//Computer Vision and Pattern Recognition (CVPR), IEEE,2013:3025-3032

[8] Taigman Y, Yang M, Ranzato MA, et al. Deepface:

Closing the gap to human-level performance in face verification[C]//Computer Vision and Pattern Recognition (CVPR), IEEE,2014:1701-1708

[9] Huang G B, Lee H, Learned-Miller E. Learning

hierarchical representations for face verification with convolutional deep belief networks[C]//Computer Vision and Pattern Recognition (CVPR), IEEE,2012: 2518-2525

[10] Wen D,Han H, Jain A K. Face spoof detection with

image distortion analysis[J].IEEE Transactions on Information Forensics and Security,2015.10(4):746-761

[11] Schroff F, Kalenichenko D, Philbin J.FaceNet: a

unified embedding for face recognition and clustering[C]//Computer Vision and Pattern Recognition (CVPR), IEEE,2015:815-823

猜你喜歡
神經(jīng)網(wǎng)絡(luò)
基于遞歸模糊神經(jīng)網(wǎng)絡(luò)的風(fēng)電平滑控制策略
BP神經(jīng)網(wǎng)絡(luò)在路標(biāo)識(shí)別上的應(yīng)用研究
神經(jīng)網(wǎng)絡(luò)抑制無(wú)線通信干擾探究
基于Alexnet神經(jīng)網(wǎng)絡(luò)的物體識(shí)別研究
基于BP神經(jīng)網(wǎng)絡(luò)的旋轉(zhuǎn)血泵生理控制
基于神經(jīng)網(wǎng)絡(luò)MRAS的速度辨識(shí)仿真研究
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
基于神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制的逆變電源