張 典,汪海濤,姜 瑛,陳 星
昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,昆明 650500
人臉識(shí)別是一種重要的身份識(shí)別方式,是計(jì)算機(jī)視覺(jué)領(lǐng)域中的重要研究方向之一。由于人臉識(shí)別被認(rèn)為是用戶(hù)體驗(yàn)最為友好的生物識(shí)別方式,使得其在設(shè)備解鎖、移動(dòng)支付、應(yīng)用認(rèn)證等移動(dòng)和嵌入式應(yīng)用中有了廣泛的應(yīng)用。近年來(lái),由于各大機(jī)構(gòu)在網(wǎng)絡(luò)上發(fā)布的大型人臉數(shù)據(jù)集,以及深度卷積網(wǎng)絡(luò)在人臉識(shí)別技術(shù)上的研究取得了巨大的成功,使得深度卷積網(wǎng)絡(luò)可以使用大量數(shù)據(jù)來(lái)學(xué)習(xí)數(shù)據(jù)中表征人臉的最佳特征。這讓基于深度卷積網(wǎng)絡(luò)的人臉識(shí)別算法實(shí)現(xiàn)了非常高的準(zhǔn)確度。
由于有先進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)和判別式訓(xùn)練方法,深度卷積網(wǎng)絡(luò)將人臉識(shí)別的性能提高到了前所未有的水平。但是目前的研究重點(diǎn)大多在于如何構(gòu)建層數(shù)更深、寬度更廣的神經(jīng)網(wǎng)絡(luò),這樣會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)龐大?,F(xiàn)有的高精度人臉識(shí)別模型都是建立在這樣的大型深度卷積網(wǎng)絡(luò)模型之上的,同時(shí)這種模型需要大量的計(jì)算資源,使得網(wǎng)絡(luò)只能在性能高的處理器上運(yùn)行,這不利于模型移植到移動(dòng)和嵌入式設(shè)備中。在實(shí)際的使用場(chǎng)景中,一些移動(dòng)和嵌入式設(shè)備中需要離線(xiàn)進(jìn)行身份驗(yàn)證,如手機(jī)解鎖、車(chē)載身份識(shí)別中,需要在有限的計(jì)算資源里實(shí)現(xiàn)精準(zhǔn)的面部驗(yàn)證,同時(shí)還需要模型精簡(jiǎn)和迅速,因此神經(jīng)網(wǎng)絡(luò)的輕量化對(duì)移動(dòng)平臺(tái)設(shè)備的使用,有很好的工業(yè)價(jià)值。
輕量化神經(jīng)網(wǎng)絡(luò)需要考慮到三個(gè)維度:參數(shù)少、速度快和精度高。通過(guò)對(duì)現(xiàn)有的SqueezeNet、Moblie-Net V1、MobileNet V2、ShuffleNet、ShuffleNet V2等高效神經(jīng)網(wǎng)絡(luò)架構(gòu)[1-5]進(jìn)行研究,根據(jù)實(shí)驗(yàn),與最先進(jìn)的大型卷積網(wǎng)絡(luò)生成的結(jié)果相比,它們只能達(dá)到非常低的準(zhǔn)確度。
本文分析了常見(jiàn)的深度神經(jīng)網(wǎng)絡(luò)用于人臉識(shí)別時(shí)的缺點(diǎn),并專(zhuān)門(mén)設(shè)計(jì)了Lightfacenet輕量級(jí)神經(jīng)網(wǎng)絡(luò)來(lái)克服這個(gè)缺點(diǎn)。這是一組非常高效的卷積神經(jīng)模型,專(zhuān)為在移動(dòng)和嵌入式設(shè)備上實(shí)現(xiàn)高精準(zhǔn)度的實(shí)時(shí)面部驗(yàn)證進(jìn)行設(shè)計(jì)。通過(guò)在現(xiàn)有的輕量級(jí)神經(jīng)網(wǎng)絡(luò)中引用了基于擠壓和激勵(lì)結(jié)構(gòu)[6-7](squeeze and excitation)的輕量級(jí)注意力模型,為網(wǎng)絡(luò)增加更多的非線(xiàn)性結(jié)構(gòu),可以使網(wǎng)絡(luò)能更好地?cái)M合通道間的復(fù)雜相關(guān)性,并使用Swish激活函數(shù)代替ReLU以提高神經(jīng)網(wǎng)絡(luò)的精度。在卷積網(wǎng)絡(luò)的結(jié)尾處使用全局深度卷積層輸出判別特征向量,使用交叉熵?fù)p失函數(shù)在MSCeleb-1M數(shù)據(jù)集上進(jìn)行訓(xùn)練,并用中心損失函數(shù)調(diào)優(yōu),使得該網(wǎng)絡(luò)的精度達(dá)到現(xiàn)有的大型卷積神經(jīng)網(wǎng)絡(luò)的水準(zhǔn)。
本文提出的神經(jīng)網(wǎng)絡(luò)Lightfacenet,其參數(shù)量小,在相同的實(shí)驗(yàn)條件下,在LFW(labeled faces in the wild)、AgeDB等公有數(shù)據(jù)集上,對(duì)Lightfacenet與MoblieNet V1、MobileNet V2、ShuffleNet、ShuffleNet V2和Resnet-50等深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)表明Lightfacenet擁有輕量級(jí)神經(jīng)網(wǎng)絡(luò)高效性的同時(shí),也有著媲美大型卷積網(wǎng)絡(luò)的精度。
本文主要研究的是基于輕量級(jí)深度卷積網(wǎng)絡(luò)的人臉識(shí)別算法。通過(guò)調(diào)整深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)使模型在速度和精度上取得平衡,這是在近幾年中積極發(fā)展研究的領(lǐng)域。例如,SqueezeNet通過(guò)使用瓶頸結(jié)構(gòu)設(shè)計(jì)了一個(gè)小巧的網(wǎng)絡(luò)(參數(shù)量為125萬(wàn)),并在ImageNet上實(shí)現(xiàn)了AlexNet(參數(shù)量為6 000萬(wàn))級(jí)別的準(zhǔn)確度,同時(shí)其網(wǎng)絡(luò)參數(shù)減少98%。MobileNet V1使用深度可分卷積模塊構(gòu)建輕量級(jí)神經(jīng)網(wǎng)絡(luò),在細(xì)粒度識(shí)別中達(dá)到了Inception V3的效果,并且大大減少了計(jì)算量和尺寸。ShuffleNet使用逐點(diǎn)群卷積和通道混洗的方式降低計(jì)算成本,實(shí)現(xiàn)了比MoblieNet V1更高的效率。MoblieNet V2中引入了倒置殘差模塊,改善了模型性能。ShuffleNet V2使用了Channel-Split模塊,使得模型的性能進(jìn)一步提高。
在這些通用的輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)中都存在著全局池化層,比如SqueezeNet、MoblieNet V1、Mobile-Net V2、ShuffleNet、ShuffleNet V2等。通過(guò)研究表明,對(duì)于人臉驗(yàn)證和識(shí)別,不包含全局池化層的卷積網(wǎng)絡(luò)比包含全局池化層的卷積網(wǎng)絡(luò)更加精確。
如圖1所示,在特征圖進(jìn)行全局池化前,可以得知人臉圖像中心區(qū)域的感受野(receptive field)比邊緣角落區(qū)域的感受野重要。在進(jìn)行全局池化后,特征圖所有的位置權(quán)重平均化,不區(qū)分位置的重要性,這樣不符合真實(shí)的情況。使用全局深度卷積替換全局池化進(jìn)行計(jì)算時(shí),對(duì)于固定的空間位置,所有通道中的全局深度卷積的權(quán)重信息可以象征不同位置的空間重要性,這樣的計(jì)算方式可以使神經(jīng)網(wǎng)絡(luò)重點(diǎn)學(xué)習(xí)圖像中重要的特征。
Fig.1 Flow chart of lightweight convolutional neural network圖1 輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)計(jì)算流程圖
本文對(duì)神經(jīng)網(wǎng)絡(luò)中卷積核的感受野進(jìn)行分析,通過(guò)級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)來(lái)檢測(cè)圖像的人臉和面部特征點(diǎn),并用面部特征點(diǎn)通過(guò)相似變換對(duì)齊矯正人臉圖像。將對(duì)齊面部圖像進(jìn)行歸一化處理后,使用以MoblieNet V2為主體結(jié)構(gòu)的輕量級(jí)網(wǎng)絡(luò)提取特征向量,在全局池化層合并特征之前,最后一層卷積層輸出的特征圖是具有7×7的矩陣特征圖。盡管在角落的特征單元與中心位置的特征單元的感受野具有相同的尺寸大小,但是它們位于輸入圖像的不同位置。如圖1所示,在中心位置的感受野特征點(diǎn)輸出結(jié)果要比角落處的感受野特征點(diǎn)輸出結(jié)果的影響大得多,其特征圖的影響力分布近似于高斯分布。特征圖在角落處的有效感受野要明顯小于中心處感受野,因此角落處的特征點(diǎn)包含的信息要少于中心位置,不同位置的特征點(diǎn)提取到的面部特征也就有了不同的重要性。同時(shí)輕量級(jí)神經(jīng)網(wǎng)絡(luò)的卷積末端并不適合直接應(yīng)用于人臉特征提取,因?yàn)樗哂懈哌_(dá)62 720維的特征尺寸,這使得網(wǎng)絡(luò)會(huì)學(xué)習(xí)到很多影響力不大的特征,因此在輕量級(jí)神經(jīng)網(wǎng)絡(luò)的末端加入全局池化層雖然效果不好,但也是一種減少特征維度,使特征更加精簡(jiǎn)的方式。對(duì)以上的問(wèn)題進(jìn)行了研究,有兩種方式解決這個(gè)問(wèn)題,一種是用全連接層代替全局池化層,但是這會(huì)為網(wǎng)絡(luò)模型增加大量的參數(shù),即使是128維,全連接層也會(huì)給網(wǎng)絡(luò)帶來(lái)將近800萬(wàn)個(gè)模型參數(shù),這顯然是不符合本文要實(shí)現(xiàn)人臉識(shí)別的神經(jīng)網(wǎng)絡(luò)輕量化的目的,因此本文選擇了另一種,使用全局深度可分卷積替換全局池化。
為了處理不同位置具有不同重要性的特征圖,本文使用了全局深度卷積替代輕量級(jí)神經(jīng)網(wǎng)絡(luò)中的全局池化層,全局深度卷積層本質(zhì)上是深度卷積層,特殊之處在于其卷積核的大小與輸入的大小相同,padding為0,stride為1,全局深度卷積如圖2所示。
Fig.2 Global depth separable convolution圖2 全局深度可分卷積
圖中,F(xiàn)是W×H×D的特征圖,K是W×H×D的深度可分卷積核,公式的計(jì)算結(jié)果如下:
當(dāng)輕量級(jí)神經(jīng)網(wǎng)絡(luò)的最后一層使用7×7×1 280的全局深度可分卷積后,會(huì)輸出1 280維的面部特征向量,其計(jì)算成本為62 720次,使用全局深度可分卷積后將網(wǎng)絡(luò)通過(guò)MS-Celeb-1M數(shù)據(jù)集以角度損失函數(shù)訓(xùn)練,在LFW和AgeDB的數(shù)據(jù)集上準(zhǔn)確度得到了明顯的提升。
在神經(jīng)網(wǎng)絡(luò)搭建的過(guò)程中采用擠壓和激勵(lì)結(jié)構(gòu)讓神經(jīng)網(wǎng)絡(luò)增加一個(gè)小型的注意力機(jī)制使之在學(xué)習(xí)的過(guò)程中自主獲取到每一個(gè)特征通道的重要程度,之后再參照這個(gè)重要程度去提升有用的特征和抑制用處不大的特征。擠壓和激勵(lì)結(jié)構(gòu)如圖3所示。
Fig.3 Squeeze and excitation structures圖3 擠壓和激勵(lì)結(jié)構(gòu)
如圖3所示,擠壓和激勵(lì)結(jié)構(gòu)包含三部分:
第一部分是擠壓函數(shù)Fsq,將特征圖的全局空間信息沿著特征通道的方向壓縮為一個(gè)通道信息,該通道擁有全局特征通道的感受野,這里通過(guò)使用全局池化層來(lái)實(shí)現(xiàn)統(tǒng)計(jì)數(shù)據(jù)。在形式上通過(guò)將空間維度H×W×D縮小為1×1×D來(lái)生成統(tǒng)計(jì)數(shù)據(jù)z∈RD ud表示第d層通道的特征圖,zd表示第d層通道統(tǒng)計(jì)的數(shù)據(jù)。
第二部分是激勵(lì)函數(shù)Fex,為了充分利用擠壓函數(shù)中聚合的信息來(lái)捕獲特征通道方面的依賴(lài)關(guān)系,這里使用了帶有Sigmoid激活的門(mén)控機(jī)制學(xué)習(xí)參數(shù)W,為特征通道生成權(quán)重s。通過(guò)兩個(gè)帶有非線(xiàn)性激活函數(shù)的全連接層的瓶頸來(lái)實(shí)現(xiàn)門(mén)控機(jī)制,第一層減低維度使用ReLU選擇性輸出結(jié)果,第二層升高維度使用Sigmoid將權(quán)重歸一化到0-1,讓結(jié)果更具非線(xiàn)性的同時(shí)也極大減少參數(shù)量和計(jì)算量。
第三部分是重組權(quán)重函數(shù)Frw,將激勵(lì)函數(shù)輸出的結(jié)果與原來(lái)的特征圖進(jìn)行通道乘積為特征圖權(quán)重加權(quán),來(lái)重新設(shè)定每個(gè)特征通道的重要程度。
擠壓和激勵(lì)結(jié)構(gòu)通過(guò)全局卷積和兩層非線(xiàn)性激活函數(shù)以及重組權(quán)重的方式,在模型搭建和推理計(jì)算方面有良好性能,不需要新設(shè)計(jì)函數(shù)和神經(jīng)網(wǎng)絡(luò)層就可以實(shí)現(xiàn)擠壓和激勵(lì)結(jié)構(gòu),這使得模型的部署容易實(shí)現(xiàn)。
本文在Lightfacenet模型中引入了一種分段式線(xiàn)性激活函數(shù)(Hard_Swish)的非線(xiàn)性激活函數(shù),當(dāng)使用Hard_Swish替代用作ReLU時(shí),對(duì)于分類(lèi)任務(wù)可以顯著提高神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性,Hard_Swish是根據(jù)Swish[8]非線(xiàn)性激活函數(shù)改進(jìn)的,Swish定義為:
Swish非線(xiàn)性激活函數(shù)可以提高網(wǎng)絡(luò)的準(zhǔn)確性,但是同時(shí)也帶來(lái)了不好的問(wèn)題,Sigmoid函數(shù)需要增加大量的計(jì)算,這對(duì)移動(dòng)與嵌入式設(shè)備計(jì)算模型非常不友好。本文將通過(guò)以下方法來(lái)處理這個(gè)問(wèn)題。
本文使用分段式線(xiàn)性函數(shù)(Hard_Sigmoid)來(lái)替代Sigmoid函數(shù):
如圖4所示,本文中替換Sigmoid的分段式線(xiàn)性激活函數(shù)(Hard_Swish)與Swish的非線(xiàn)性激活函數(shù)相比只有細(xì)微差別,其在準(zhǔn)確性上面沒(méi)有明顯的差異,新的激活函數(shù)使用了ReLU6,這樣大大提高了模型的推理速度,與直接使用ReLU激活相比速度幾乎沒(méi)有差別。從部署的角度來(lái)看,這樣的替代優(yōu)化了模型在移動(dòng)平臺(tái)上的運(yùn)行效率,同時(shí)還消除了Swish中Sigmoid函數(shù)在計(jì)算數(shù)值的精度損失,在保持速度與ReLU相當(dāng)?shù)那闆r下,提高網(wǎng)絡(luò)的準(zhǔn)確性。
經(jīng)過(guò)多次卷積后,網(wǎng)絡(luò)應(yīng)用非線(xiàn)性函數(shù)的成本會(huì)降低很多,因?yàn)樵诿看尉矸e后,每一層的特征圖大小通常會(huì)減半,在更深層使用Hard_Swish函數(shù)更有利于輕量化網(wǎng)絡(luò)的實(shí)現(xiàn)。因此本文僅在網(wǎng)絡(luò)的后半部分使用Hard_Swish函數(shù)來(lái)提高模型的推薦速度。
本章詳細(xì)描述了Lightfacenet輕量級(jí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如表1所示。
Table 1 Lightfacenet lightweight neural network structure表1 Lightfacenet輕量級(jí)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
Fig.4 Contrast of nonlinear activation function圖4 非線(xiàn)性激活函數(shù)對(duì)比
該網(wǎng)絡(luò)包含10個(gè)block(模塊),擴(kuò)張為輸入模型的特征通道數(shù)倍數(shù),重復(fù)為重復(fù)模塊的次數(shù),SE為是否使用擠壓和激勵(lì)結(jié)構(gòu),NL為激活函數(shù)的類(lèi)型。
Bottleneck為瓶頸結(jié)構(gòu)[9],在網(wǎng)絡(luò)中使用瓶頸結(jié)構(gòu),可以在保證精度不減的情況下大大減少網(wǎng)絡(luò)的參數(shù)量。其結(jié)構(gòu)如表2所示。
在實(shí)驗(yàn)中主要使用MS-Celeb-1M[10]數(shù)據(jù)集作為輕量級(jí)深度網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)集。MS-Celeb-1M包含1 000多萬(wàn)張圖,10萬(wàn)個(gè)類(lèi)別,平均每個(gè)類(lèi)別有100張圖片,這是目前類(lèi)別(ID)數(shù)量最大的數(shù)據(jù)集。使用這個(gè)數(shù)據(jù)集可以極大地避免由于訓(xùn)練不充分而導(dǎo)致模型性能低下的情況,使得深度神經(jīng)網(wǎng)絡(luò)更理想地發(fā)揮擬合模型的優(yōu)勢(shì)?,F(xiàn)有的大規(guī)模人臉數(shù)據(jù)集如表3所示。
Table 2 Bottleneck structure表2 瓶頸結(jié)構(gòu)
Table 3 Face data set table表3 人臉數(shù)據(jù)集表
在MS-Celeb-1M數(shù)據(jù)集中每個(gè)類(lèi)別的圖片有幾十到幾百?gòu)?,由于圖片的品質(zhì)不同,圖像信息完整性不一,使數(shù)據(jù)包含了很多噪音信息。不針對(duì)數(shù)據(jù)集做預(yù)處理就直接進(jìn)行模型訓(xùn)練,會(huì)導(dǎo)致網(wǎng)絡(luò)學(xué)習(xí)到錯(cuò)誤或異常的數(shù)據(jù),不能準(zhǔn)確地對(duì)人臉特征進(jìn)行辨別。再者因?yàn)閳D像的人臉姿態(tài)各異,位置和角度不同,如果沒(méi)有對(duì)圖片進(jìn)行姿態(tài)矯正,就會(huì)給網(wǎng)絡(luò)學(xué)習(xí)與收斂提高難度。因此在訓(xùn)練網(wǎng)絡(luò)前對(duì)數(shù)據(jù)做預(yù)處理是非常有必要的。
實(shí)驗(yàn)中針對(duì)數(shù)據(jù)集中人臉位置和姿態(tài)角度不同、人臉信息是否完整的問(wèn)題,將圖像輸入到級(jí)聯(lián)人臉檢測(cè)神經(jīng)網(wǎng)絡(luò)[11]中來(lái)判斷圖像是否具有完整的面部信息,如果信息完整就獲取圖像中的人臉區(qū)域和面部關(guān)鍵點(diǎn)信息,利用面部的關(guān)鍵點(diǎn)和仿射變換函數(shù)對(duì)人臉區(qū)域進(jìn)行姿態(tài)矯正后截取出人臉區(qū)域圖像[12-15],再將圖像統(tǒng)一調(diào)整為112×112像素作為人臉識(shí)別的訓(xùn)練樣本。
為了驗(yàn)證本文提出的基于輕量級(jí)深度卷積網(wǎng)絡(luò)的實(shí)時(shí)人臉識(shí)別算法,使用神經(jīng)網(wǎng)絡(luò)框架Mxnet實(shí)現(xiàn)算法,在網(wǎng)絡(luò)的訓(xùn)練階段從網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)量、運(yùn)行速度、識(shí)別率幾方面進(jìn)行對(duì)比實(shí)驗(yàn)。網(wǎng)絡(luò)主要使用Resnet50[16]、MobileNet V1、MobileNet V2、ShuffleNet、ShuffleNetV2和本文Lightfacenet輕量級(jí)神經(jīng)網(wǎng)絡(luò)。在測(cè)試集上本文使用LFW[17]、AgeDB等數(shù)據(jù)集進(jìn)行測(cè)試。
實(shí)驗(yàn)將數(shù)據(jù)集的訓(xùn)練樣本按9∶1劃分,生成實(shí)驗(yàn)的訓(xùn)練集和測(cè)試集,采用arcface損失函數(shù)并用隨機(jī)梯度下降法進(jìn)行訓(xùn)練[18-19],批處理大小設(shè)置為256,學(xué)習(xí)率為0.1,在12 000次、14 000次將學(xué)習(xí)率下降到原來(lái)的10%。實(shí)驗(yàn)結(jié)果對(duì)比如表4所示。
Table 4 Effectiveness contrast table of neural network model表4 神經(jīng)網(wǎng)絡(luò)模型效果對(duì)比表
從表4中可以看出,本文中使用了深度可分卷積的網(wǎng)絡(luò)模型大小要遠(yuǎn)遠(yuǎn)小于使用傳統(tǒng)卷積的Resnet50網(wǎng)絡(luò)模型,表中沒(méi)有提到Resnet50迭代了15 000次相比較于本文的網(wǎng)絡(luò)模型迭代了15 000次在訓(xùn)練時(shí)間上要快一些。本文網(wǎng)絡(luò)在實(shí)現(xiàn)的代碼中使用了大量的內(nèi)存和指針的跳轉(zhuǎn),使得Resnet50會(huì)比本文網(wǎng)絡(luò)更快完成訓(xùn)練。不過(guò)評(píng)價(jià)一個(gè)網(wǎng)絡(luò)模型的優(yōu)良,網(wǎng)絡(luò)模型的推理速度、識(shí)別的準(zhǔn)確率才是重要指標(biāo)??梢钥闯鯨ightfacenet網(wǎng)絡(luò)模型與MobileNet V1、MobileNet V2、ShuffleNet、ShuffleNet V2這樣的輕量網(wǎng)絡(luò)比較,本文的Lightfacenet網(wǎng)絡(luò)因?yàn)樵诓捎昧巳稚疃瓤煞志矸e結(jié)構(gòu)和瓶頸結(jié)構(gòu)的情況下其在參數(shù)量保持較少的情況下有更好的準(zhǔn)確率,在性能增益的同時(shí)保證模型參數(shù)不增加,從而更高效地使用模型參數(shù)。Lightfacenet_A表示沒(méi)有使用擠壓與激勵(lì)結(jié)構(gòu)的網(wǎng)絡(luò),可以看出沒(méi)有使用這個(gè)結(jié)構(gòu)的網(wǎng)絡(luò)模型相比使用結(jié)構(gòu)的Lightfacenet模型參數(shù)量稍微減少了一些,但效果還是挺明顯的,網(wǎng)絡(luò)推理的準(zhǔn)確率有所下降。Lightfacenet_B表示沒(méi)有使用Hard_Swish非線(xiàn)性激活函數(shù)的網(wǎng)絡(luò),與使用了Hard_Swish非線(xiàn)性激活函數(shù)的網(wǎng)絡(luò)相比,Lightfacenet_B使用ReLU函數(shù),其神經(jīng)網(wǎng)絡(luò)的準(zhǔn)確性有所下降。因此可以看出Lightfacenet網(wǎng)絡(luò)在人臉識(shí)別的準(zhǔn)確率上基本達(dá)到了Resnet50的效果,與Lightfacenet_A和Lightfacenet_B相比也有明顯的提升。使用了Hard_Swish非線(xiàn)性激活函數(shù)的Lightfacenet,其參數(shù)量只有1 100 000。與輕量級(jí)網(wǎng)絡(luò)模型對(duì)比中Lightfacenet網(wǎng)絡(luò)也非常具有優(yōu)勢(shì),在參數(shù)量較少的情況下,達(dá)到了很好的識(shí)別效果,這對(duì)于后期在移動(dòng)設(shè)備上移植算法打下了基礎(chǔ)。
針對(duì)移動(dòng)端的算法移植,使用神經(jīng)網(wǎng)絡(luò)前向計(jì)算框架NCNN將神經(jīng)網(wǎng)絡(luò)模型轉(zhuǎn)化為移動(dòng)端模型,并在Android系統(tǒng)平臺(tái)上搭建運(yùn)行算法的平臺(tái)。表5是模型在搭載了高通625處理器的移動(dòng)端Android平臺(tái)上的運(yùn)行速度對(duì)比表。
從表5中可以看出,Lightfacenet網(wǎng)絡(luò)模型系列的推理運(yùn)行的最少時(shí)間處于主流的網(wǎng)絡(luò)模型的第一梯隊(duì),其推理運(yùn)行的最長(zhǎng)時(shí)間也要少于網(wǎng)絡(luò)模型,因此從平均時(shí)間來(lái)看Lightfacenet網(wǎng)絡(luò)模型與現(xiàn)在主流的神經(jīng)網(wǎng)絡(luò)模型在運(yùn)行推理的速度上具有明顯的優(yōu)勢(shì),通過(guò)增加擠壓與激勵(lì)結(jié)構(gòu)和Hard_Swish結(jié)構(gòu)換來(lái)更好的識(shí)別準(zhǔn)確率是有益的。同時(shí)Lightfacenet的網(wǎng)絡(luò)參數(shù)量較少,在移動(dòng)平臺(tái)上只需要很少的存儲(chǔ)空間就可以運(yùn)行,大大減少了模型在嵌入式平臺(tái)的移植難度,也因?yàn)樗俣鹊膬?yōu)勢(shì),讓模型在移動(dòng)嵌入式平臺(tái)上可以達(dá)到實(shí)時(shí)運(yùn)行使用的水平。
Table 5 Comparison table of operating speed of neural network model on mobile platform表5 神經(jīng)網(wǎng)絡(luò)模型在移動(dòng)平臺(tái)上的運(yùn)行速度對(duì)比表 ms
本文從實(shí)用角度出發(fā),提出一種基于輕量級(jí)深度卷積網(wǎng)絡(luò)的實(shí)時(shí)人臉識(shí)別算法Lightfacenet。本文的實(shí)驗(yàn)表明,因?yàn)長(zhǎng)ightfacenet網(wǎng)絡(luò)的結(jié)構(gòu)采用了深度分離卷積單元、擠壓和激勵(lì)結(jié)構(gòu)以及修改后的非線(xiàn)性激活函數(shù),這些模塊在深度學(xué)習(xí)框架中缺少原生代碼支持,使模型在訓(xùn)練的速度上比傳統(tǒng)的殘差網(wǎng)絡(luò)慢一些,接下來(lái)進(jìn)一步優(yōu)化代碼結(jié)構(gòu),相信網(wǎng)絡(luò)會(huì)有更好的訓(xùn)練速度。除此之外,Lightfacenet網(wǎng)絡(luò)模型是一個(gè)成功的模型,它可以保持與大型卷積網(wǎng)絡(luò)Resnet50模型基本相同的識(shí)別精度,并且在計(jì)算速度方面比Resnet50提高很多。在與現(xiàn)有的高效輕量級(jí)神經(jīng)網(wǎng)絡(luò)模型相比時(shí)也具有速度優(yōu)勢(shì),網(wǎng)絡(luò)具有非常高的效率,可以在搭載高通625處理器的移動(dòng)設(shè)備上僅僅占用少量的存儲(chǔ)空間,進(jìn)行快速的推理計(jì)算來(lái)達(dá)到實(shí)時(shí)人臉驗(yàn)證的效果。