亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于深度學(xué)習(xí)的移動(dòng)端表情識(shí)別系統(tǒng)設(shè)計(jì)

        2020-10-29 07:52:42孔英會(huì)郄天叢張帥桐
        科學(xué)技術(shù)與工程 2020年25期
        關(guān)鍵詞:人臉準(zhǔn)確率卷積

        孔英會(huì), 郄天叢, 張帥桐

        (華北電力大學(xué)電子與通信工程系, 保定 071003)

        表情識(shí)別在很多場(chǎng)景有應(yīng)用需求。基于傳統(tǒng)的機(jī)器學(xué)習(xí)表情識(shí)別方法中,最重要的是表情特征的提取,選取的特征必須能夠盡可能地表征人臉面部表情,以便能夠識(shí)別出各種人臉表情。Zhang等[1]使用34個(gè)基準(zhǔn)點(diǎn)的幾何位置作為面部特征來(lái)表征面部圖像;Acevedo等[2]提出了一種在人臉上尋找關(guān)鍵點(diǎn),然后把關(guān)鍵點(diǎn)連成一個(gè)三角區(qū)域來(lái)提取特征的方法;文獻(xiàn)[3]運(yùn)用可變形組件模型(deformable part model, DPM),在CK+、Jaffe數(shù)據(jù)集上取得了較好的效果。這些特征雖然易于提取和計(jì)算,但是傳統(tǒng)表情特征的提取方法存在諸多局限,比如不同類(lèi)別的表情之間具有很大的相似度,而同一類(lèi)別的表情之間又有很大的差異性等,識(shí)別效果受到局限。

        近些年,卷積神經(jīng)網(wǎng)絡(luò)在圖像分類(lèi)和識(shí)別等領(lǐng)域取得了重大進(jìn)展,2014年Google團(tuán)隊(duì)提出的Inception網(wǎng)絡(luò),在ImageNet數(shù)據(jù)集上的Top-5準(zhǔn)確率達(dá)到了94.1%,而后續(xù)提出的極限版本Xception網(wǎng)絡(luò),在Top-5正確率更是達(dá)到了94.5%。卷積神經(jīng)網(wǎng)絡(luò)在表情識(shí)別領(lǐng)域也取得一定成果,文獻(xiàn)[4]采用了VGG-Face網(wǎng)絡(luò)進(jìn)行表情識(shí)別實(shí)驗(yàn),在CK+數(shù)據(jù)集上達(dá)到了91.3%的準(zhǔn)確率;文獻(xiàn)[5]提出了網(wǎng)中網(wǎng)殘差網(wǎng)絡(luò)模型(NIN _ResNet)對(duì)表情圖像做分類(lèi)識(shí)別研究,在fer2013和CK+數(shù)據(jù)集上取得了較好的效果;文獻(xiàn)[6]受Xception網(wǎng)絡(luò)啟發(fā)引入了深度可分離卷積模塊,設(shè)計(jì)了一個(gè)14層的卷積神經(jīng)網(wǎng)絡(luò),在fer2013數(shù)據(jù)集上達(dá)到71%的準(zhǔn)確率。雖然上述方法中的表情識(shí)別準(zhǔn)確率較高,但是網(wǎng)絡(luò)模型的參數(shù)非常多,參數(shù)量均達(dá)到了上億,這樣得到的識(shí)別模型也就非常大,給移動(dòng)端的部署帶來(lái)了巨大的挑戰(zhàn)。針對(duì)移動(dòng)端深度學(xué)習(xí)模型的研究也取得了一些研究成果,文獻(xiàn)[7]將MobileNet-V1神經(jīng)網(wǎng)絡(luò)部署在Android手機(jī)上,實(shí)現(xiàn)了垃圾分類(lèi);文獻(xiàn)[8]將改進(jìn)后的 MobileNet網(wǎng)絡(luò)與SSD(sigle shot multiBox detector)目標(biāo)識(shí)別框架相結(jié)合起來(lái)構(gòu)成一種新的識(shí)別算法,并移植到了IOS(iphone operation system)移動(dòng)端設(shè)備上,能夠?qū)Τ枪馨讣M(jìn)行目標(biāo)識(shí)別,且網(wǎng)絡(luò)在一定程度上降低了參數(shù)數(shù)量,減小了模型大??;文獻(xiàn)[9]提出了mini_Xception網(wǎng)絡(luò)架構(gòu)進(jìn)行表情分類(lèi)并取得了較高的識(shí)別率,最后一層加入了全局平均池化,減少了參數(shù)的數(shù)量,模型所需空間更小,該模型對(duì)于移動(dòng)端應(yīng)用提供了更好的支持。

        隨著信息時(shí)代的到來(lái),智能家居已經(jīng)走入了生活,并已經(jīng)有了相當(dāng)?shù)陌l(fā)展規(guī)模,近些年出現(xiàn)的有智能監(jiān)護(hù)系統(tǒng)、人臉身份驗(yàn)證系統(tǒng)、家居自動(dòng)化系統(tǒng)等。而智能家居系統(tǒng)中,情緒識(shí)別的研究也取得了一定的成果,文獻(xiàn)[10]提出了一個(gè)虛擬人類(lèi)情感模型,并將其運(yùn)用于智能家居系統(tǒng),通過(guò)識(shí)別家人表情來(lái)掌握家人滿(mǎn)意度和舒適度;文獻(xiàn)[11]將表情識(shí)別算法移植到嵌入式設(shè)備中,設(shè)計(jì)了一款老年護(hù)理機(jī)器人。但是,有關(guān)智能家居的表情識(shí)別研究依舊停留在個(gè)人電腦端,而移動(dòng)終端家居表情識(shí)別的研究幾乎是空白,在智能手機(jī)普及的今天,研究移動(dòng)終端家居表情識(shí)別,具有重要意義。

        針對(duì)情感化的智能家居應(yīng)用需求,提出了一種基于深度學(xué)習(xí)模型的移動(dòng)端表情識(shí)別方法,并進(jìn)行了系統(tǒng)設(shè)計(jì)。通過(guò)Vitamio 框架獲取遠(yuǎn)程視頻,采用輕量級(jí)模型mini_Xception進(jìn)行表情識(shí)別以適應(yīng)移動(dòng)端需求,將訓(xùn)練好的模型移植到Android手機(jī)之中,進(jìn)行了實(shí)驗(yàn)測(cè)試,結(jié)果表明設(shè)計(jì)的系統(tǒng)可實(shí)現(xiàn)實(shí)時(shí)遠(yuǎn)程表情識(shí)別,及時(shí)了解家人狀況,為智能家居應(yīng)用提供技術(shù)支持。

        1 mini_Xception網(wǎng)絡(luò)結(jié)構(gòu)

        mini_Xception網(wǎng)絡(luò)架構(gòu)是Xception網(wǎng)絡(luò)的改進(jìn)版,主要是對(duì)Xception網(wǎng)絡(luò)進(jìn)行了壓縮,使之變得更為輕量級(jí)。Xception網(wǎng)絡(luò)是Google公司在2016年提出的一種網(wǎng)絡(luò)結(jié)構(gòu),也是繼Inception后提出的對(duì)Inception V3的另一種改進(jìn),主要是采用深度可分離卷積來(lái)替換原來(lái)InceptionV3中的卷積操作。而mini_Xception網(wǎng)絡(luò)正是引入了深度可分離卷積的思想,這樣不僅提升了分類(lèi)的正確率,也增強(qiáng)了網(wǎng)絡(luò)對(duì)諸如人臉表情這類(lèi)細(xì)微特征的學(xué)習(xí)能力。

        1.1 InceptionV3網(wǎng)絡(luò)結(jié)構(gòu)

        Inception結(jié)構(gòu)由Szegedy等[12]在2014年引入,被稱(chēng)為GoogLeNet(Inception V1),之后被優(yōu)化成多種模型諸如InceptionV2、InceptionV3以及最新的Inception-ResNet。自從首次推出,Inception無(wú)論是對(duì)于ImageNet的數(shù)據(jù)集,還是Google內(nèi)部的數(shù)據(jù)集,都是表現(xiàn)最好的模型之一。有著多分支、不同卷積核大小的Inception模塊是Inception系列網(wǎng)絡(luò)的基本構(gòu)成單元。圖1所示為InceptionV3模塊。

        圖1 InceptionV3模塊Fig.1 The model of InceptionV3

        InceptionV3引入Factorization into small convolutions的思想,將一個(gè)較大的二維卷積拆成2個(gè)較小的一維卷積,比如將7×7卷積拆成1×7卷積和7×1卷積,一方面節(jié)約了大量參數(shù),加速網(wǎng)絡(luò)運(yùn)算能力并且減輕過(guò)擬合現(xiàn)象;同時(shí)增加一層非線性變換,擴(kuò)展模型的表達(dá)能力。

        1.2 深度可分離卷積

        標(biāo)準(zhǔn)卷積是卷積神經(jīng)網(wǎng)絡(luò)最基本的運(yùn)算方式,是卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),如圖2所示。假設(shè)輸出特征圖大小為DF×DF×N,輸入特征圖大小為DF×DF×M,其中DF是輸出特征圖的空間寬和高,輸出是N個(gè)通道,輸入是M個(gè)通道,卷積核尺寸為DK×DK,故標(biāo)準(zhǔn)卷積計(jì)算量大小為DF×DF×DK×DK×M×N,參數(shù)量大小為DK×DK×M×N。

        圖2 標(biāo)準(zhǔn)卷積Fig.2 Standard convolution

        深度可分離卷積由兩層組成,如圖3所示。它將標(biāo)準(zhǔn)卷積分解為一個(gè)深度卷積和一個(gè)1×1的逐點(diǎn)卷積,深度卷積與逐點(diǎn)卷積如圖3所示。先通過(guò)DK×DK×M的卷積核對(duì)之前輸入的M個(gè)特征通道卷積,但是這里DK×DK×M的每個(gè)DK×DK都只對(duì)輸入的M通道中對(duì)應(yīng)的那個(gè)進(jìn)行相應(yīng)的卷積。最后輸出是M個(gè)通道的輸出,然后接上一個(gè)點(diǎn)卷積將輸出映射為N個(gè)通道,這里卷積核大小變成了1×1。

        圖3 深度可分離卷積Fig.3 Depthwise separable convolutions

        從圖3中可以看出,深度卷積的計(jì)算量大小為DF×DF×DK×DK×M,參數(shù)量為DK×DK×M;逐點(diǎn)卷積的計(jì)算量為DF×DF×M×N,參數(shù)量大小為M×N。而深度可分離卷積計(jì)算量為深度卷積與逐點(diǎn)卷積之和,即DF×DF×DK×DK×M+DF×DF×M×N,其參數(shù)量大小也是深度卷積與逐點(diǎn)卷積之和,即DK×DK×M+M×N。進(jìn)一步可以得到深度可分離卷積計(jì)算量與標(biāo)準(zhǔn)卷積的計(jì)算量之比:

        (1)

        同時(shí),還可以得到深度可分離卷積和標(biāo)準(zhǔn)卷積參數(shù)量之比:

        (2)

        由此可以看出,深度可分離卷積操作計(jì)算量、參數(shù)量都發(fā)生了下降,將其運(yùn)用到卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,可以大大降低網(wǎng)絡(luò)的計(jì)算量和參數(shù)量,節(jié)省CPU的運(yùn)算空間。

        1.3 Xception模塊

        使用深度可分離卷積替代Inception模塊能夠改善Inception網(wǎng)絡(luò)性能,即用深度可分離卷積堆疊來(lái)構(gòu)建模型,由此得到一個(gè)完全基于深度可分離卷積的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),稱(chēng)其為Xception,意指“極致”Inception[13],結(jié)構(gòu)如圖4所示。其主要是對(duì)每個(gè)輸入通道先獨(dú)立進(jìn)行空間卷積,然后再使用1×1大小的濾波器進(jìn)行逐點(diǎn)卷積,最后將通道輸出映射到新的通道空間,將深度可分離卷積操作引入Xception網(wǎng)絡(luò)結(jié)構(gòu)中,使得參數(shù)由原來(lái)InceptionV3的23萬(wàn)降為了22萬(wàn);在ImageNet數(shù)據(jù)集測(cè)試上,Xception也比Inceptionv3的準(zhǔn)確率稍高;同時(shí),Xception引入了ResNet的殘差模塊顯著加快了Xception的收斂,并獲得了更高的正確率。

        圖4 Xception模塊Fig.4 The model of Xception

        1.4 mini_Xception架構(gòu)

        雖然Xception的參數(shù)相比于InceptionV3有了下降,但是對(duì)于移動(dòng)端應(yīng)用來(lái)說(shuō),參數(shù)量還是比較大,若在移動(dòng)端上直接采用Xception網(wǎng)絡(luò)模型,手機(jī)CPU運(yùn)算起來(lái)會(huì)比較慢,識(shí)別速度也會(huì)變慢,所以需要對(duì)Xception模型進(jìn)行簡(jiǎn)化。mini_Xception[13]是一個(gè)全卷積神經(jīng)網(wǎng)絡(luò),模型架構(gòu)如圖5所示,它包含4個(gè)深度可分離卷積模塊,在每個(gè)卷積層之后采用了批量歸一化層,批量歸一化層可以加速網(wǎng)絡(luò)訓(xùn)練和收斂,此外采用ReLU作為激活函數(shù);每個(gè)卷積層之后連接最大池化層,最后一層卷積層之后沒(méi)有采用全連接層,而是采用了全局平均池化層,這樣可以防止網(wǎng)絡(luò)出現(xiàn)過(guò)擬合并降低了參數(shù);之后再接softmax層來(lái)進(jìn)行表情分類(lèi)。

        圖5 mini_Xception網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 mini_Xception network structure

        該模型架構(gòu)不僅引入了深度可分離模塊實(shí)現(xiàn)了降低參數(shù),還對(duì)Xception網(wǎng)絡(luò)進(jìn)行壓縮,由原先的36個(gè)卷積層變成了7個(gè)卷積層,使得模型參數(shù)進(jìn)一步降低到60 000個(gè),參數(shù)量比Xception網(wǎng)絡(luò)降低了391倍。此外,該模型架構(gòu)在FER-2013表情數(shù)據(jù)集上進(jìn)行了測(cè)試,在表情識(shí)別任務(wù)中獲得了66%的準(zhǔn)確率,模型的權(quán)重可以存儲(chǔ)在855 KB的文件中。在I5-4210M CPU上表情識(shí)別耗時(shí)僅僅在0.22 ms左右,可以看出此模型在空間需求和運(yùn)行速度方面比較適合移動(dòng)端設(shè)備應(yīng)用場(chǎng)景。

        2 基于mini_Xception的移動(dòng)端表情識(shí)別系統(tǒng)設(shè)計(jì)

        設(shè)計(jì)的遠(yuǎn)程表情識(shí)別系統(tǒng)由數(shù)據(jù)采集、傳輸、識(shí)別終端三部分組成,系統(tǒng)結(jié)構(gòu)如圖6所示,其中識(shí)別終端是系統(tǒng)的核心部分,通過(guò)手機(jī)APP實(shí)現(xiàn)遠(yuǎn)程視頻獲取、人臉檢測(cè)和表情識(shí)別功能,表情識(shí)別基于深度學(xué)習(xí)方法,識(shí)別模型是mini_Xception,人臉檢測(cè)采用OpenCV自帶的局部二值模式(local binary pattern,LBP)人臉檢測(cè)器;數(shù)據(jù)采集采用??低暪酒煜碌奈炇浦悄軘z像機(jī),型號(hào)為CS-C2C-1A1WFR,分辨率為1 920×1 080,C2C這款型號(hào)的網(wǎng)絡(luò)攝像機(jī)具有體積小、輕便、高清、易安裝和易使用的優(yōu)點(diǎn);數(shù)據(jù)傳輸通過(guò)路由器和互聯(lián)網(wǎng)云端來(lái)完成,傳輸協(xié)議為RTMP協(xié)議。

        圖6 系統(tǒng)結(jié)構(gòu)圖Fig.6 System structure

        工作過(guò)程如圖7所示。主要包括模型準(zhǔn)備和移動(dòng)端遠(yuǎn)程識(shí)別兩部分:首先,將表情數(shù)據(jù)集輸入 mini_Xception 網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到.hdf5表情識(shí)別模型文件,由于Android手機(jī)不支持.hdf5模型,所以還需要將.hdf5模型文件轉(zhuǎn)換為Android手機(jī)支持的.pb模型文件,通過(guò)編寫(xiě)python程序即可完成模型的轉(zhuǎn)換,這樣生成了最終的模型文件,文件名為model.pb,此模型文件可往Android手機(jī)上進(jìn)行移植;然后從螢石云官網(wǎng)上獲取自己的螢石云攝像頭的RTMP播放鏈接,并將vitamio庫(kù)導(dǎo)入到Android手機(jī)中實(shí)現(xiàn)遠(yuǎn)程取流播放,從而實(shí)現(xiàn)調(diào)用遠(yuǎn)程攝像頭的表情識(shí)別;最終將項(xiàng)目編譯成APK,導(dǎo)入Android手機(jī)生成 APP,通過(guò)APP實(shí)現(xiàn)移動(dòng)端表情識(shí)別。

        圖7 工作流程圖Fig.7 Work flow diagrams

        在表情數(shù)據(jù)集上,傳統(tǒng)的表情有七種,分別是高興、平靜、生氣、吃驚、恐懼、厭惡和悲傷,針對(duì)家居環(huán)境完成三類(lèi)表情的識(shí)別,分別為悲傷、平靜、高興。通過(guò)對(duì)公共數(shù)據(jù)集圖片的選取,以及通過(guò) Google、Baidu、實(shí)地拍攝等方式制作了表情數(shù)據(jù)集,其中高興圖片8 989張,悲傷圖片6 077張,平靜圖片6 198張,共包含21 264張人臉圖片。其中訓(xùn)練集17 010張、驗(yàn)證集 2 155 張、測(cè)試集2 099張,數(shù)據(jù)庫(kù)中的圖片均為灰度圖片,并將所有的人臉圖像經(jīng)過(guò)眼睛定位、校準(zhǔn)、剪切,最后歸一化到64×64像素。

        2.1 基于Vitamio框架的遠(yuǎn)程監(jiān)控視頻獲取

        Vitamio是一種運(yùn)行于Android與IOS平臺(tái)上的全能多媒體開(kāi)發(fā)框架,支持RTMP傳輸協(xié)議,采用H.264視頻壓縮標(biāo)準(zhǔn),能夠流暢播放720P甚至 1 080P 高清MKV、FLV、MP4、MOV、TS、RMVB等常見(jiàn)格式的視頻,還可以在Android與IOS上跨平臺(tái)支持MMS、RTSP、RTMP、HLS(m3u8)等常見(jiàn)的多種視頻流媒體協(xié)議,包括點(diǎn)播與直播。Vitmaio在Android應(yīng)用層上通過(guò)API接口提供了視頻播放的相關(guān)類(lèi),其中videoview類(lèi)負(fù)責(zé)視頻的解碼與播放,mediacontroller類(lèi)負(fù)責(zé)視頻的控制頁(yè)面,包括開(kāi)始、暫停、進(jìn)度條等。通過(guò)VideoView類(lèi)實(shí)現(xiàn)遠(yuǎn)程視頻獲取,主要工作包括設(shè)置網(wǎng)絡(luò)URL地址、獲取RTMP視頻流并播放、設(shè)置控件監(jiān)聽(tīng),以進(jìn)一步完成表情識(shí)別。關(guān)鍵代碼如下:

        private void initData() {

        String path="rtmp://rtmp01open.ys7.com/openlive/09cd5738650a4da1b9b2932648857c63.hd"; //螢石RTMP播放鏈接

        mVideoView.setVideoPath(path);

        mVideoView.setMediaController(new MediaController(this));

        mVideoView.setOnPreparedListener(this);

        mVideoView.setOnErrorListener(this);

        mVideoView.setOnCompletionListener(this);

        }

        實(shí)現(xiàn)效果如圖8所示。

        圖8 監(jiān)控視頻播放Fig.8 Monitoring video playing

        2.2 預(yù)處理與人臉檢測(cè)

        預(yù)處理是人臉檢測(cè)之前對(duì)圖像進(jìn)行灰度化處理的過(guò)程,人臉檢測(cè)是通過(guò)一定的算法判斷一幅圖像中是不是有人臉的出現(xiàn),一旦發(fā)現(xiàn),需要將人臉區(qū)域給標(biāo)記出來(lái)。

        2.2.1 預(yù)處理

        由于移動(dòng)端平臺(tái)中央處理器(CPU)運(yùn)算能力較弱,為了保證人臉圖像中人臉大小、位置及人臉圖像質(zhì)量的一致性,需要在人臉檢測(cè)之前對(duì)攝像頭獲取的圖像進(jìn)行預(yù)處理,這樣能夠降低移動(dòng)設(shè)備的計(jì)算量。預(yù)處理過(guò)程主要是進(jìn)行圖像灰度化操作[14],主要作用把三通道的彩色圖像,轉(zhuǎn)化為單通道的灰度圖像,將彩色圖像轉(zhuǎn)換為灰度圖可以更加簡(jiǎn)單具體地表現(xiàn)出圖像中的信息,主要代碼如下:

        MatOfRect matOfRect=new MatOfRect();

        Mat mGray=new Mat();

        Mat mColor=new Mat();

        Utils.bitmapToMat(mBitmap, mColor);

        Imgproc.cvtColor(mColor,mGray,Imgproc.COLOR_RGBA2GRAY);

        2.2.2 LBP人臉檢測(cè)

        LBP(local binary pattern)是一種用來(lái)描述圖像局部紋理特征的算子,它具有計(jì)算簡(jiǎn)單、對(duì)線性光照變化不敏感及較強(qiáng)的魯棒性等特性,適用于實(shí)時(shí)人臉檢測(cè)。人臉檢測(cè)是表情識(shí)別最為關(guān)鍵一步,檢測(cè)的結(jié)果對(duì)接下來(lái)的表情識(shí)別過(guò)程具有重要意義。

        圖9 LBP編碼示意圖Fig.9 LBP encoding schematic

        OpenCV庫(kù)中提供了基于LBP特征的級(jí)聯(lián)檢測(cè)器,通過(guò)detectMultiScale方法即可完成檢測(cè)。下載好OpenCV4Android SDK之后,可以在它的sdk/etc目錄下找到lbpcascades文件夾,里面存有l(wèi)bpcascade_frontalface.xml文件,導(dǎo)入LBP檢測(cè)器代碼如下所示:

        String modelName=MyUtils.copyFile(this, "lbpcascade_frota-lface.xml", "model");

        cascadeClassifier=new CascadeClassifier(modelName);

        初始化加載之后,就可以調(diào)用detectMultiScale方法設(shè)置好的相關(guān)參數(shù)以實(shí)現(xiàn)人臉檢測(cè),代碼如下所示:

        //人臉檢測(cè)

        cascadeClassifier.detectMultiScale(mGray,matOfRect, 1.1, 5, 0

        ,new org.opencv.core.Size(100, 100)

        ,new org.opencv.core.Size(1000, 1000));

        看著老媽容光煥發(fā)地從學(xué)校回來(lái),一進(jìn)家門(mén)就用自以為很溫柔、很有愛(ài)的眼神盯著我,盡量克制高昂情緒地說(shuō):“這學(xué)期表現(xiàn)不錯(cuò),繼續(xù)保持啊!”我就知道,她又在家長(zhǎng)會(huì)上被“眾星”捧成“月亮”了。

        定義一個(gè)faces集合用于臨時(shí)存儲(chǔ)檢測(cè)到的人臉圖像,將人臉圖像保存為Mat格式,然后將人臉圖像存儲(chǔ)為bitmap類(lèi)即可完成人臉圖像臨時(shí)存儲(chǔ)?;贚BP特征的人臉檢測(cè)器實(shí)現(xiàn)的人臉檢測(cè)效果如圖10所示。

        圖10 人臉檢測(cè)效果圖Fig.10 The effect of face detection

        2.3 模型移植與移動(dòng)端表情識(shí)別

        訓(xùn)練好的模型文件為hdf5格式,還需要將.hdf5模型文件轉(zhuǎn)換為Android手機(jī)支持的.pb文件,轉(zhuǎn)換完成后的模型名稱(chēng)為model.pb。將生成的model.pb模型文件以及l(fā)abel.txt標(biāo)簽文件放到工程的asset文件夾下,即可完成模型的移植工作,導(dǎo)入模型和標(biāo)簽文件的代碼如下所示:

        private static final String MODEL_FILE="file:///android_asset/model.pb";

        private static final String LABEL_FILE="file:///android_asset/labels.txt";

        將上面人臉檢測(cè)保存的bitmap類(lèi)送入classifier表情分類(lèi)器中進(jìn)行表情識(shí)別,把識(shí)別結(jié)果以及存到results數(shù)組中,將results結(jié)果呈現(xiàn)在APP的結(jié)果區(qū)域resultsView中,結(jié)果區(qū)域顯示內(nèi)容為每個(gè)人臉的表情的類(lèi)別和置信度,主要代碼如下所示:

        final List results=classifier.recognizeImage(bitmap);

        for (final Classifier.Recognition recog: results)

        {

        item_str+=recog.getTitle()+":"+String.format("%.3f",recog.getConfidence())+" | ";

        }

        resultsView.setResults(results);

        3 系統(tǒng)實(shí)現(xiàn)及結(jié)果分析

        按照?qǐng)D6構(gòu)建實(shí)驗(yàn)系統(tǒng),實(shí)現(xiàn)終端表情識(shí)別,并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。代碼主要基于 Tensorflow 1.13、Keras 2.0深度學(xué)習(xí)框架,主要使用的編程語(yǔ)言為python 3.5與java;APK編譯環(huán)境為 Android Studio 3.0.0,移動(dòng)端測(cè)試平臺(tái)為華為P10,手機(jī)CPU型號(hào)為麒麟960,運(yùn)行內(nèi)存為4G,搭載的Android系統(tǒng)為Android 9.0;PC端GPU采用的是雙塊NVIDIA GeForce 1080 Ti,CPU為Intel i7-i7-6700k,操作系統(tǒng)為Ubuntu 16. 04、Windows 10。

        3.1 模型建立

        在訓(xùn)練之前,還需要對(duì)mini_Xception神經(jīng)網(wǎng)絡(luò)進(jìn)行調(diào)參,在尺寸的設(shè)定上,GPU對(duì)2的冪次可以發(fā)揮更佳的性能,因此設(shè)置成16、32、64、128等數(shù)值時(shí)往往要比設(shè)置為整10、整100的倍數(shù)時(shí)表現(xiàn)更優(yōu),而迭代次數(shù)(epoch)的設(shè)定也會(huì)對(duì)準(zhǔn)確率有一定的影響,由于數(shù)據(jù)集所涵蓋的圖片數(shù)量比較大,故將尺寸其設(shè)置為32,迭代次數(shù)設(shè)為1 000。主要參數(shù)設(shè)置如表1所示,訓(xùn)練的曲線圖如圖11所示。

        表1 網(wǎng)絡(luò)模型部分參數(shù)設(shè)置

        圖11 準(zhǔn)確率以及損失曲線圖Fig.11 Accuracy and loss curve

        由于設(shè)置的性能改進(jìn)值為50,也就是說(shuō)在50次迭代內(nèi)準(zhǔn)確率都沒(méi)有改善,訓(xùn)練就自動(dòng)停止,最終迭代120次。訓(xùn)練集的準(zhǔn)確率達(dá)到了0.84,驗(yàn)證集準(zhǔn)確率在0.79,模型文件名稱(chēng)為mini_XCEPTION.107-0.79.hdf5。

        3.2 不同人臉檢測(cè)器效果對(duì)比

        由于OpenCV-3.3.0庫(kù)中包含基于Haar-like和LBP兩種特征的人臉檢測(cè)器,檢測(cè)器文件分別為haarcascade_frontalface_alt2.xml(快速的Haar)及l(fā)bpcascade_frontalface.xml(快速的LBP),對(duì)這兩種特征的人臉檢測(cè)器的檢測(cè)速率進(jìn)行對(duì)比,選取1 275幀含有人臉的視頻進(jìn)行測(cè)試,表2是兩種人臉檢測(cè)算法運(yùn)行于Android 9.0平臺(tái)的性能測(cè)試結(jié)果。

        表2 人臉檢測(cè)器對(duì)比

        通過(guò)表2可以看出,基于LBP特征的檢測(cè)器的檢測(cè)速率要快,比Haar-like特征快了將近一倍,可以看出,選取的LBP人臉檢測(cè)器在實(shí)時(shí)性表現(xiàn)較好。

        3.3 不同模型表情識(shí)別結(jié)果對(duì)比

        將表情分類(lèi)模型與移動(dòng)端常用的兩種圖像分類(lèi)模型MobileNet、InceptionV3進(jìn)行對(duì)比。對(duì)于MobileNet模型,有兩個(gè)指標(biāo),分別為寬度乘數(shù)α、分辨率乘數(shù)ρ,設(shè)置這兩個(gè)參數(shù)可以調(diào)整模型大小,本文設(shè)置其寬度乘數(shù)α=0.25,分辨率乘數(shù)ρ=128和225,寬度乘數(shù)α越小,MobileNet模型就越小。

        對(duì)比結(jié)果如表3所示??梢钥闯?,本文模型僅有0.25 MB,比InceptionV3和MobileNet訓(xùn)練的模型都要??;同時(shí),本文模型的驗(yàn)證集準(zhǔn)確率達(dá)到了0.79,比MobileNet和InceptionV3兩種模型的準(zhǔn)確率要高。

        表3 模型性能對(duì)比

        將三個(gè)模型分別移植到Android手機(jī)上進(jìn)行識(shí)別速率以及CPU占用率對(duì)比測(cè)試,從表3中可以看出,mini_Xception網(wǎng)絡(luò)的識(shí)別速率達(dá)到了8 f·s-1,比InceptionV3模型和MobileNet模型實(shí)時(shí)性要好一些。mini_Xception模型CPU占用率也比InceptionV3和MobileNet低,在Android手機(jī)上運(yùn)行不會(huì)影響手機(jī)的流暢性。

        3.4 不同距離與光照條件識(shí)別測(cè)試

        首先打開(kāi)螢石云官方的APP對(duì)攝像機(jī)進(jìn)行WiFi配置,搭建測(cè)試環(huán)境的網(wǎng)絡(luò)帶寬為20 MB/s,待配置成功后,螢石云攝像機(jī)會(huì)提示W(wǎng)iFi連接成功;接下來(lái)將本工程打包成APK安裝到手機(jī)上即可運(yùn)行。

        為了綜合測(cè)試設(shè)計(jì)的移動(dòng)端遠(yuǎn)程表情識(shí)別系統(tǒng),分別對(duì)視頻采集中光照和距離條件變化進(jìn)行了實(shí)驗(yàn)。測(cè)試采用的視頻流為1 280×720格式的高清視頻,測(cè)試結(jié)果如表4、圖12、圖13所示,其中,圖12與圖13左右兩列為不同光照與距離獲取的圖像幀,從表4中可以看出高興的準(zhǔn)確率為85%,悲傷的準(zhǔn)確率為63%,平靜的準(zhǔn)確率為96%,三種表情的平均正確率為81%。

        表4 表情識(shí)別準(zhǔn)確率

        圖12 不同光照下效果Fig.12 Recognition effects under different lighting conditions

        從圖12的結(jié)果可以看出,系統(tǒng)表情識(shí)別的功能不會(huì)受光照的影響,因?yàn)槲炇茢z像機(jī)自帶夜視功能,可以看出對(duì)光照的魯棒性較強(qiáng)。從圖13可以看出,若視頻流格式為1 280×720高清格式,在離攝像機(jī)2 m以?xún)?nèi)的距離下表情識(shí)別不會(huì)受到影響,人臉距離攝像頭若超過(guò)2 m,則會(huì)受到影響;若視頻流為640×480標(biāo)清格式,人臉距離攝像頭0.3 m之內(nèi)才不會(huì)受到影響,超過(guò)0.3 m識(shí)別結(jié)果會(huì)受到影響。所以本系統(tǒng)在家庭環(huán)境下部署時(shí),選擇高清視頻格式,且盡量將攝像機(jī)選擇部署在客廳的影視墻,或者臥室床頭正對(duì)的墻壁上,在這些地方是家人出現(xiàn)較多的地方,能更大程度地捕獲到人臉圖像,進(jìn)而識(shí)別家人的表情。

        圖13 不同距離效果Fig.13 Recognition effects under different distance

        4 結(jié)論

        針對(duì)通過(guò)手機(jī)實(shí)現(xiàn)遠(yuǎn)程表情識(shí)別問(wèn)題,設(shè)計(jì)并實(shí)現(xiàn)了一種基于深度學(xué)習(xí)的移動(dòng)端遠(yuǎn)程表情識(shí)別系統(tǒng)。系統(tǒng)先導(dǎo)入Vitmaio框架實(shí)現(xiàn)遠(yuǎn)程視頻流播放,再將LBP檢測(cè)算法導(dǎo)入到Android手機(jī)之中實(shí)現(xiàn)人臉檢測(cè),最后將mini_Xception訓(xùn)練好的模型移植到Android手機(jī)之中實(shí)現(xiàn)表情識(shí)別,并在Android平臺(tái)中進(jìn)行了實(shí)驗(yàn)和測(cè)試數(shù)據(jù)對(duì)比,得出以下結(jié)論。

        (1)系統(tǒng)表情識(shí)別的準(zhǔn)確率達(dá)到81%,識(shí)別速率達(dá)到了8 f·s-1,基本滿(mǎn)足家居環(huán)境的要求。

        (2)系統(tǒng)利用 Android手機(jī)以及網(wǎng)絡(luò)攝像機(jī)實(shí)現(xiàn),成本低且便攜性高,將其運(yùn)用在家庭環(huán)境中來(lái)識(shí)別家人的表情,具有很大的實(shí)用價(jià)值。

        猜你喜歡
        人臉準(zhǔn)確率卷積
        基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
        有特點(diǎn)的人臉
        乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
        健康之家(2021年19期)2021-05-23 11:17:39
        不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
        2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        三國(guó)漫——人臉解鎖
        高速公路車(chē)牌識(shí)別標(biāo)識(shí)站準(zhǔn)確率驗(yàn)證法
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        馬面部與人臉相似度驚人
        中文字幕亚洲综合久久| 放荡人妻一区二区三区| 国产偷国产偷亚洲清高| 精品国产一区二区三区香蕉| 中文字幕一区二区区免| 伊人久久精品亚洲午夜| 中国女人做爰视频| 欧美成人小视频| 久久狠色噜噜狠狠狠狠97| 久久精品国产亚洲av蜜臀久久| 痴汉电车中文字幕在线| 大桥未久亚洲无av码在线| 国产自产精品露脸刺激91在线 | 日本精品熟妇一区二区三区 | 一区二区三区视频| 76少妇精品导航| 久久人妻av无码中文专区| av免费观看网站大全| 久久久久久亚洲av成人无码国产| 综合久久给合久久狠狠狠97色 | 绿帽人妻被插出白浆免费观看| 女同重口味一区二区在线| 亚洲乱码一区二区三区在线观看| 久久99热狠狠色精品一区| 人人做人人妻人人精| 中文字幕第一页在线无码一区二区| 国产三级精品三级在线专区2| 人妻熟妇乱又伦精品hd| 97se亚洲国产综合自在线| 亚洲精品AⅤ无码精品丝袜无码| 国产日韩精品视频一区二区三区| 日本一区二区三级在线观看| 女人扒开屁股爽桶30分钟| 2021国产精品一区二区在线 | 国产69精品一区二区三区| 亚洲精品国产综合久久| 国产精品中文久久久久久久 | 国产亚洲精品a片久久久| 草草浮力地址线路①屁屁影院| 久久久久久中文字幕有精品| 日本女u久久精品视频|