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

?

基于輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)算法

2021-07-26 11:56:28朱靈靈陳福才
計(jì)算機(jī)工程 2021年7期
關(guān)鍵詞:人臉特征提取卷積

朱靈靈,高 超,陳福才

(1.鄭州大學(xué)中原網(wǎng)絡(luò)安全研究院,鄭州450000;2.中國(guó)人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué),鄭州450000)

0 概述

人臉檢測(cè)算法是計(jì)算機(jī)視覺(jué)信息處理的經(jīng)典問(wèn)題,經(jīng)過(guò)多年的研究已經(jīng)比較成熟,但隨著移動(dòng)設(shè)備的快速普及,人臉檢測(cè)算法需要應(yīng)用在手持設(shè)備、車(chē)載設(shè)備等移動(dòng)終端上。然而,這些終端設(shè)備在計(jì)算能力、存儲(chǔ)能力等方面相對(duì)服務(wù)器和個(gè)人計(jì)算機(jī)設(shè)備局限性很強(qiáng)。為使基于深度網(wǎng)絡(luò)的人臉檢測(cè)算法能夠較好地運(yùn)行在移動(dòng)終端設(shè)備上,基于輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)的算法得到人們?cè)絹?lái)越多的關(guān)注。

國(guó)內(nèi)外學(xué)者已經(jīng)對(duì)人臉檢測(cè)算法進(jìn)行了深入研究,提出了諸多經(jīng)典方法。文獻(xiàn)[1]提出用于人臉檢測(cè)任務(wù)的多任務(wù)神經(jīng)網(wǎng)絡(luò)模型,其主要采用3 個(gè)級(jí)聯(lián)網(wǎng)絡(luò),運(yùn)用候選框加分類(lèi)器的思想進(jìn)行快速高效的人臉檢測(cè);文獻(xiàn)[2]提出的Faster RCNN 將特征抽取、候選框提取、邊界框回歸、分類(lèi)整合在一個(gè)網(wǎng)絡(luò)中,使得綜合性能有較大提高;文獻(xiàn)[3]提出的SSD是一種基于單步候選區(qū)回歸的目標(biāo)檢測(cè)算法。

在2012年舉行的ImageNet 大賽中,文獻(xiàn)[4]將卷積神經(jīng)網(wǎng)絡(luò)AlexNet 應(yīng)用在圖像分類(lèi)中并取得冠軍,之后,基于深度學(xué)習(xí)的檢測(cè)方法得到快速發(fā)展;文獻(xiàn)[5]提出的GoogLeNet 網(wǎng)絡(luò)通過(guò)增大網(wǎng)絡(luò)規(guī)模,包括深度和寬度,提高網(wǎng)絡(luò)性能;2014年,文獻(xiàn)[6]提出的VGG 主要采用小尺寸的卷積核,被廣泛應(yīng)用于視覺(jué)領(lǐng)域的各類(lèi)任務(wù)中;文獻(xiàn)[7]提出的ResNet 網(wǎng)絡(luò)將網(wǎng)絡(luò)的層數(shù)推廣到了前所未有的規(guī)模。這些卷積網(wǎng)絡(luò)主要是通過(guò)加深網(wǎng)絡(luò)層數(shù)提高模型準(zhǔn)確率,但增加了網(wǎng)絡(luò)的整體復(fù)雜度,使得網(wǎng)絡(luò)難以?xún)?yōu)化,容易過(guò)擬合。同時(shí),現(xiàn)有的多數(shù)深度學(xué)習(xí)模型常會(huì)有較大的參數(shù)量,可以達(dá)到數(shù)百甚至上千兆,而移動(dòng)端的計(jì)算能力、存儲(chǔ)資源較弱,很難將較大的深度學(xué)習(xí)模型部署在移動(dòng)端上。因此,研究一種輕量級(jí)人臉檢測(cè)技術(shù)具有很好的工程應(yīng)用價(jià)值和研究意義。2016年,文獻(xiàn)[8]提出Inception V3,該方法將1 個(gè)二維卷積拆分為2 個(gè)相對(duì)較小的卷積,如將7×7 卷積拆分成1×7和7×1 卷積,從而可以降低參數(shù)量;同年,文獻(xiàn)[9]提出的SqueezeNet 是采用1×1 卷積核代替3×3 卷積核,有效減少了輸出特征圖的通道數(shù)。文獻(xiàn)[10]提出輕量級(jí)卷積網(wǎng)絡(luò)MobileNet,在盡量保證檢測(cè)精度相當(dāng)?shù)幕A(chǔ)上,減少該網(wǎng)絡(luò)的參數(shù)量和計(jì)算量。

傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)在采樣過(guò)程中由于采用方塊型的卷積核,其幾何變換建模的能力受到限制,模型的檢測(cè)性能受到影響。本文將文獻(xiàn)[11]中可變形卷積層應(yīng)用到卷積神經(jīng)網(wǎng)絡(luò)中,提出一種基于輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)人臉檢測(cè)算法Lightweight-SSH。采用MobileNet 輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)進(jìn)行特征提取,并通過(guò)改進(jìn)后的單點(diǎn)無(wú)頭人臉檢測(cè)器(Single Stage Headless Face Detector,SSH)[12]對(duì)樣本數(shù)據(jù)中的人臉進(jìn)行檢測(cè)。

1 相關(guān)工作

基于深度學(xué)習(xí)的人臉檢測(cè)算法主要由卷積神經(jīng)網(wǎng)絡(luò)特征提取器和目標(biāo)檢測(cè)器2 個(gè)部分組成,如圖1所示。卷積神經(jīng)網(wǎng)絡(luò)特征提取器對(duì)加載后的數(shù)據(jù)集進(jìn)行特征提取,得到特征圖后采用目標(biāo)檢測(cè)器對(duì)其進(jìn)行分類(lèi)和回歸[13]。本文主要從上述2 個(gè)方面對(duì)SSH 檢測(cè)算法進(jìn)行分析并改進(jìn):1)采用MobileNet 輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)代替VGG-16 網(wǎng)絡(luò)來(lái)提取特征,有效降低模型復(fù)雜度;2)在SSH 檢測(cè)算法的檢測(cè)模塊部分加入可變形卷積的方法,有效提升模型對(duì)提取到的特征的處理能力,提高模型檢測(cè)準(zhǔn)確率。

圖1 人臉檢測(cè)算法系統(tǒng)結(jié)構(gòu)Fig.1 System structure of face detection algorithm

1.1 SSH 人臉檢測(cè)算法

檢測(cè)小尺寸人臉仍然是一項(xiàng)具有挑戰(zhàn)性的任務(wù),在通常情況下檢測(cè)性能較好的人臉檢測(cè)器常常速度較慢,參數(shù)量較大。文獻(xiàn)[11]等提出的SSH 檢測(cè)器是單階段檢測(cè),與兩階段最大的不同是直接同時(shí)進(jìn)行分類(lèi)和anchor 的回歸;SSH 骨干網(wǎng)絡(luò)采用的是去掉3 個(gè)全連接層的VGG-16 網(wǎng)絡(luò),這些屬性使SSH 快速且輕量級(jí)。但需要注意的是,SSH 網(wǎng)絡(luò)的檢測(cè)速度較快是相對(duì)的,且依賴(lài)于GPU,VGG-16 網(wǎng)絡(luò)含有的參數(shù)量太大。另外,與其他常用的檢測(cè)算法不同的是,SSH 網(wǎng)絡(luò)不是依靠輸入圖像金字塔來(lái)檢測(cè)具有不同尺寸人臉的圖像,而是在不同特征層上進(jìn)行檢測(cè)來(lái)保持尺度的不變。SSH 的目的是設(shè)計(jì)一個(gè)減少推理時(shí)間、占用內(nèi)存低和尺度不變性的網(wǎng)絡(luò)結(jié)構(gòu),并可以有效地合并上下文,增加感受野,同時(shí)對(duì)卷積層提取的信息進(jìn)行分類(lèi)定位。

1.2 MobileNet 輕量級(jí)網(wǎng)絡(luò)

MobileNet 的核心是使用一種深度可分離卷積作為其基本單元來(lái)代替原來(lái)的標(biāo)準(zhǔn)卷積,經(jīng)過(guò)這樣的操作可以達(dá)到近似傳統(tǒng)卷積的效果,同時(shí)可以顯著降低網(wǎng)絡(luò)的參數(shù)量和計(jì)算量,減少卷積核的冗余表達(dá)。在MobileNet 的網(wǎng)絡(luò)結(jié)構(gòu)中,所有層后都加上BN 和非線性激活函數(shù)ReLU,除最后的連接層沒(méi)有非線性激活函數(shù),其直接將結(jié)果傳送到softmax 層中進(jìn)行分類(lèi)。

SSH 算法采用VGG-16 網(wǎng)絡(luò)對(duì)樣本進(jìn)行特征提取,即包含16 個(gè)卷積層和全連接層。采用VGG-16簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)量較大,在ImageNet 數(shù)據(jù)集上,共包含了1.38 億個(gè)參數(shù),導(dǎo)致模型特征參數(shù)量太大,影響檢測(cè)速度。針對(duì)這一現(xiàn)象,本文采用MobileNet 神經(jīng)網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)進(jìn)行特征提取,有效降低模型復(fù)雜度。

1.3 可變形卷積層

可變形卷積與可變形部件模型[14](Deformable Part Model,DPM)不同,傳統(tǒng)卷積層采用規(guī)則形狀的卷積核,一般采用方塊形的卷積核對(duì)樣本進(jìn)行采樣,若采用二維網(wǎng)格圖表示,則如圖2(a)所示,幾何變換能力受到限制。而可變形卷積針對(duì)這一限制,在原有卷積核上加入一個(gè)偏移的向量,如圖2(b)~圖2(d)所示,該偏移量是通過(guò)網(wǎng)絡(luò)結(jié)構(gòu)的一個(gè)平行標(biāo)準(zhǔn)卷積單元計(jì)算得到,進(jìn)而可以通過(guò)梯度反向傳播進(jìn)行端到端的學(xué)習(xí)[14]。加上偏移量的學(xué)習(xí)后,可以根據(jù)當(dāng)前需要檢測(cè)的圖像內(nèi)容進(jìn)行動(dòng)態(tài)調(diào)整卷積核的大小和位置,其直觀效果就是不同位置的卷積核采樣點(diǎn)位置會(huì)根據(jù)圖像內(nèi)容發(fā)生變化從而適應(yīng)不同物體的形狀、大小等幾何形變。增強(qiáng)模型對(duì)于非剛性物體變換的建模能力,并提高對(duì)物體的檢測(cè)效果。

圖2 卷積核采樣點(diǎn)的位置分布Fig.2 Location distribution of convolution kernel sampling points

圖3所示為可變形卷積網(wǎng)絡(luò)結(jié)構(gòu)。偏移量通過(guò)一個(gè)卷積層學(xué)習(xí)得到,該卷積層的卷積核與普通卷積核一樣,輸出的偏移尺寸和輸入的特征圖尺寸一致。偏置區(qū)域是變形卷積外加的待訓(xùn)練參數(shù),大小和輸入層圖片一致,卷積窗口在偏置區(qū)域上滑動(dòng)呈現(xiàn)卷積像素偏移的效果。傳統(tǒng)卷積網(wǎng)絡(luò)少了圖3中虛線框的部分。

圖3 可變形卷積網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Structure of deformable convolutional network

2 Lightweight-SSH 人臉檢測(cè)算法

人臉檢測(cè)算法SSH 最大的特色就是尺度不相關(guān)性。MTCNN[1]網(wǎng)絡(luò)在預(yù)測(cè)時(shí),主要是通過(guò)多次輸入不同尺寸大小的圖片并對(duì)其進(jìn)行預(yù)測(cè)再通過(guò)非極大值抑制(NMS);而SSH 只需要1 遍傳播就可以完成預(yù)測(cè)。SSH 的實(shí)現(xiàn)途徑主要就是對(duì)VGG 不同的卷積輸出層做了3 個(gè)分支(M1,M2,M3),每個(gè)分支都是用類(lèi)似的流程預(yù)測(cè)檢測(cè)和分類(lèi)結(jié)果。SSH 的速度較快、占用內(nèi)存低的特性是相對(duì)的,并不能很好地應(yīng)用在移動(dòng)端上。本文主要從2 個(gè)方面對(duì)SSH 進(jìn)行改進(jìn)并設(shè)計(jì)Lightweight-SSH 網(wǎng)絡(luò)結(jié)構(gòu),該模型結(jié)構(gòu)如圖4所示。

圖4 Lightweight-SSH 模型結(jié)構(gòu)Fig.4 Structure of Lightweight-SSH model

2.1 MobileNet 網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)

傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)雖然有良好的特征提取能力,但是模型復(fù)雜度較高、計(jì)算量較大,無(wú)法很好地適用于硬件性能有限的設(shè)備[13]。SSH 算法采用VGG-16 對(duì)樣本數(shù)據(jù)進(jìn)行特征提取,但VGG-16 的參數(shù)量較大,影響檢測(cè)速度。在ImageNet 數(shù)據(jù)集上,VGG-16 包含1.38 億個(gè)參數(shù),1.0MobileNet-224 包含4.2×106個(gè)參數(shù),而兩者準(zhǔn)確率相當(dāng)。采用MobileNet輕量級(jí)網(wǎng)絡(luò)替代VGG-16 來(lái)對(duì)樣本數(shù)據(jù)進(jìn)行特征提取,可以在保證檢測(cè)精度相當(dāng)?shù)耐瑫r(shí)顯著降低模型的計(jì)算復(fù)雜度。

2.1.1 深度可分離卷積與通道縮減

MobileNet 的核心是使用深度可分離卷積作為其基本單元來(lái)代替原來(lái)的標(biāo)準(zhǔn)卷積[15-16]。圖5所示為標(biāo)準(zhǔn)卷積、深度卷積和1×1 逐點(diǎn)卷積示例,使用深度卷積核與逐點(diǎn)卷積核代替標(biāo)準(zhǔn)卷積核,可以達(dá)到與標(biāo)準(zhǔn)卷積相同的卷積效果。假定輸入特征圖F大小是DF×DF×M,而輸出特征圖G大小是DF×DF×N,假定輸入、輸出特征圖的寬高相同皆為DF,M、N分別表示輸入、輸出的通道數(shù)。設(shè)定DK×DK為卷積層中卷積核K的大?。?7]。

圖5 標(biāo)準(zhǔn)卷積與深度可分離卷積Fig.5 Standard convolution and depth separate convolution

對(duì)于標(biāo)準(zhǔn)卷積而言,假設(shè)卷積核的步長(zhǎng)為1,其卷積過(guò)程如式(1)所示,經(jīng)過(guò)相應(yīng)計(jì)算可以得到輸出特征圖:

計(jì)算量為:DK×DK×M×N×DF×DF。

對(duì)于深度可分離卷積而言,深度卷積操作如式(2)所示:

其中:K的尺寸為DK×DK×M,計(jì)算量為DK×DK×M×DF×DF;1×1 的逐點(diǎn)卷積的計(jì)算量大小為M×N×DF×DF??偟挠?jì)算量為兩者相加,即DK×DK×M×DF×DF+M×N×DF×DF。

通過(guò)式(3)可以得到將標(biāo)準(zhǔn)卷積操作分解為2 個(gè)步驟后減少的計(jì)算量,即兩者計(jì)算總量的比值:

MobileNet 主要使用尺寸大小為3×3 的深度可分離卷積,即DK=3,通過(guò)式(3)的結(jié)果可以看出,采用該操作可以將計(jì)算量減少8~9 倍,提高了計(jì)算的效率。

引入寬度因子α可以控制模型大小,縮減通道,降低模型參數(shù)量,如式(4)所示:

令α=0.25,引入寬度因子α后,計(jì)算量約降為原來(lái)的1/16。

2.1.2 多級(jí)特征融合

在卷積神經(jīng)網(wǎng)絡(luò)提取圖像特征的過(guò)程中,網(wǎng)絡(luò)層數(shù)越深,特征圖包含的語(yǔ)義信息越多,更有利于檢測(cè)大尺寸人臉;網(wǎng)絡(luò)層數(shù)越低,特征圖包含的空間信息越多,更有利于檢測(cè)小尺寸人臉。Lightweight-SSH是以MobileNet 作為特征提取的骨干網(wǎng)絡(luò),為更好地檢測(cè)不同尺寸的人臉,利用SSH 算法的尺度不變性,即通過(guò)不同的檢測(cè)層對(duì)不同尺寸的人臉進(jìn)行分類(lèi)和預(yù)測(cè)檢測(cè),在該網(wǎng)絡(luò)的不同卷積輸出層做3 個(gè)分支(M1、M2、M3),分別對(duì)小、中、大尺寸的人臉進(jìn)行檢測(cè)。如圖4所示,首先采用自底向上的線路選取Conv3、Conv4、Conv5 3 個(gè)層的特征圖作為檢測(cè)層,記為C1、C2、C3,然后使用自頂向下和橫向連接分別計(jì)算3 個(gè)層的輸出。自底向上即為網(wǎng)絡(luò)的前向過(guò)程,在此過(guò)程中,經(jīng)過(guò)特定卷積層后特征圖的大小會(huì)改變,而經(jīng)過(guò)其他一些層時(shí)不會(huì)改變,將同等特征圖大小的層歸為一個(gè)階段,每次抽取每個(gè)階段的最后一層輸出。自頂向下的過(guò)程進(jìn)行上采樣從而使其結(jié)果和自底向上生成的特征圖大小相同,而橫向連接則是將兩者進(jìn)行融合,采用1×1 卷積層輸入進(jìn)行降維,從而可以降低本模型的大小。為消除上采樣的混疊效應(yīng),在融合之后通過(guò)3×3 的卷積核對(duì)上一步的融合結(jié)果進(jìn)行卷積。將計(jì)算得到的輸出特征圖分別送入檢測(cè)模塊M1、M2、M3。

2.2 Lightweight-SSH 算法檢測(cè)

在Lightweight-SSH 算法中主要采用檢測(cè)模塊(M1、M2、M3)對(duì)特征提取部分得到的特征圖進(jìn)行處理,檢測(cè)模塊結(jié)構(gòu)如圖6所示,2 個(gè)1×1 卷積核分別對(duì)應(yīng)輸出分類(lèi)和回歸結(jié)果,該模塊中包含1 個(gè)簡(jiǎn)單的上下文模塊來(lái)增加感受野的有效性。

圖6 檢測(cè)模塊結(jié)構(gòu)Fig.6 Structure of detection module

在卷積神經(jīng)網(wǎng)絡(luò)中,感受野是指卷積神經(jīng)網(wǎng)絡(luò)中每一層輸出特征圖上的單個(gè)像素點(diǎn)所對(duì)應(yīng)的輸入圖像的映射區(qū)域大?。?8]。而SSH 檢測(cè)算法中的上下文模塊主要用來(lái)增大感受野,提高準(zhǔn)確率,即通過(guò)使用串聯(lián)的卷積層代替較大尺寸的卷積層從而增加卷積層的感受野同時(shí)可以減少參數(shù)量,并將2 個(gè)3×3 卷積層和3 個(gè)3×3 卷積層并聯(lián)的結(jié)構(gòu)作為檢測(cè)模塊的目標(biāo)尺寸。在此基礎(chǔ)上,將原來(lái)SSH 結(jié)構(gòu)的上下文模塊中的3×3 卷積層替換為可變形卷積層,即可以針對(duì)不同形狀的物體采用不同的幾何形狀進(jìn)行采樣,提高了對(duì)不規(guī)則物體的形變建模能力。

可變形卷積核相較于傳統(tǒng)卷積核,其主要是引入一個(gè)偏移量{Δpn|n=1,2,…,N},其中,N=|R|。每一個(gè)位置p0的輸出結(jié)果為:

其中:pn表示在卷積窗口中任意一個(gè)像素點(diǎn);w(pn)表示像素點(diǎn)pn的權(quán)重;x表示輸入層像素點(diǎn)的集合;Δpn表示像素點(diǎn)pn的偏移量。

具體的上下文模塊結(jié)構(gòu)如圖7所示,DCN 表示可變形卷積層。采用傳統(tǒng)卷積層的模型主要是由數(shù)據(jù)本身所具有的多樣性來(lái)提高對(duì)物體幾何形變的適應(yīng)能力,即該模型不能很好地適應(yīng)目標(biāo)物體的形變,從而不能較好地對(duì)樣本進(jìn)行采樣。而可變形卷積層通過(guò)一個(gè)平行的標(biāo)準(zhǔn)卷積單元計(jì)算得到偏移量后,可以根據(jù)當(dāng)前需要檢測(cè)的目標(biāo)物體進(jìn)行動(dòng)態(tài)調(diào)整卷積核的大小和位置,其直觀效果即卷積核采樣點(diǎn)位置會(huì)根據(jù)目標(biāo)物體發(fā)生自適應(yīng)變化,從而適應(yīng)不同物體的形狀、大小等變化。

圖7 改進(jìn)的上下文模塊結(jié)構(gòu)Fig.7 Improved context module structure

通過(guò)對(duì)SSH 檢測(cè)算法進(jìn)行改進(jìn),本文提出的Lightweight-SSH 檢測(cè)模型在檢測(cè)速度、檢測(cè)精度、模型大小等性能上都有所提升,從而可以更好地應(yīng)用在人臉檢測(cè)的移動(dòng)端設(shè)備。

2.3 檢測(cè)模型目標(biāo)函數(shù)

對(duì)于任何訓(xùn)練的錨點(diǎn)框i,通過(guò)訓(xùn)練最小化多任務(wù)損失函數(shù),其包含分類(lèi)任務(wù)和邊框回歸任務(wù),如式(6)所示:

人臉?lè)诸?lèi)的損失函數(shù)Lcls是二分類(lèi)的softmax 損失,具體表示如式(7)所示:

人臉框的回歸損失函數(shù)Lbox采用L1損失函數(shù),如式(8)所示:

其中:

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

3.1 實(shí)驗(yàn)數(shù)據(jù)集

本文采用Wider Face[19]數(shù)據(jù)集對(duì)人臉檢測(cè)定位任務(wù)和人臉?lè)诸?lèi)任務(wù)進(jìn)行訓(xùn)練,該數(shù)據(jù)集共有32 203 張人臉圖片,并標(biāo)記393 703 個(gè)具有高度變化性的人臉,其中包含遮擋、化妝、角度、不同尺度、姿勢(shì)等情況下變化的圖片,如圖8所示。在本文實(shí)驗(yàn)中,將該數(shù)據(jù)集的人臉圖片隨機(jī)劃分,40%的數(shù)據(jù)作為訓(xùn)練集,10%的數(shù)據(jù)作為驗(yàn)證集,50%的數(shù)據(jù)作為測(cè)試集,分別包含約12 881、3 220、16 102 張人臉圖片。同時(shí),訓(xùn)練集、驗(yàn)證集、測(cè)試集標(biāo)注的人臉數(shù)量分別約為84 600、18 500、290 600 個(gè)。

圖8 Wider Face 中不同尺寸、姿勢(shì)、遮擋、化妝等情況下變換的示例Fig.8 Examples of transformtions in Wider Face different Scale,Pose,Occlusion,Makeup,etc.

3.2 評(píng)價(jià)指標(biāo)

本文實(shí)驗(yàn)結(jié)果評(píng)價(jià)指標(biāo)采用精確率(P)與召回率(R)。

精確率是針對(duì)預(yù)測(cè)結(jié)果而言,表示被正確預(yù)測(cè)的人臉數(shù)量占樣本中所有預(yù)測(cè)為人臉的比例。精確率計(jì)算公式如下:

其中:TP 表示被正確預(yù)測(cè)的人臉數(shù)量;FP 表示被錯(cuò)誤預(yù)測(cè)為人臉的數(shù)量。

召回率是針對(duì)原本的樣本而言,表示樣本中被正確預(yù)測(cè)的人臉數(shù)量占樣本中總?cè)四様?shù)的比例。召回率計(jì)算公式如下:

其中:FN 表示人臉被錯(cuò)誤預(yù)測(cè)為背景的數(shù)量。

3.3 實(shí)驗(yàn)設(shè)置

交并比(IoU)一般指目標(biāo)預(yù)測(cè)框和真實(shí)框的交集和并集的比例。在訓(xùn)練過(guò)程中,通過(guò)設(shè)置IoU 的閾值劃分正負(fù)樣本。在訓(xùn)練時(shí),當(dāng)設(shè)置IoU 大于閾值0.5 時(shí),錨點(diǎn)框匹配到正樣本中;當(dāng)IoU 小于0.3時(shí),則匹配到負(fù)樣本中;未匹配的錨點(diǎn)框在訓(xùn)練中被忽略。錨點(diǎn)框總數(shù)約為102 300 個(gè),而由于大多數(shù)錨點(diǎn)框(約大于99%,約有101 277 個(gè))被匹配為負(fù)樣本,本文采用標(biāo)準(zhǔn)的困難樣本挖掘(OHEM)來(lái)緩解正、負(fù)訓(xùn)練樣本之間的顯著不平衡。根據(jù)損失值對(duì)負(fù)錨框進(jìn)行排序,并選擇損失最大的anchors,這樣負(fù)樣本和正樣本之間的比例至少為3∶1,最終被忽略掉的錨點(diǎn)框約為98 208 個(gè)。

對(duì)于Wider Face 數(shù)據(jù)集的測(cè)試,采用Box voting即邊框投票機(jī)制,并設(shè)置IoU 閾值為0.4。在檢測(cè)模型檢測(cè)目標(biāo)對(duì)象時(shí),每個(gè)目標(biāo)附近會(huì)產(chǎn)生多個(gè)邊界框,將這些邊界框的得分進(jìn)行排序,選中最高分及其對(duì)應(yīng)的框;遍歷其余邊界框,選取和當(dāng)前最高分邊界框的重疊面積大于設(shè)定的閾值(0.4)的邊界框;最后取這些邊界框的加權(quán)平均值作為最終預(yù)測(cè)的邊界框位置,即為預(yù)測(cè)的人臉框位置。

實(shí)驗(yàn)采用分段訓(xùn)練的策略,在模型訓(xùn)練過(guò)程中,按照設(shè)定的訓(xùn)練節(jié)點(diǎn)調(diào)整學(xué)習(xí)率的大小,減少模型訓(xùn)練過(guò)程中的損失。其中,初始學(xué)習(xí)率設(shè)置為0.001,在5 個(gè)輪次后上升為0.01,之后在第55 個(gè)和第68 個(gè)輪次時(shí),學(xué)習(xí)率分別除以10。學(xué)習(xí)率的設(shè)置采用了warm up 預(yù)熱學(xué)習(xí)率的方式,由于在剛開(kāi)始訓(xùn)練時(shí),模型的權(quán)重是隨機(jī)初始化的,此時(shí)若選擇一個(gè)較大的學(xué)習(xí)率,可能帶來(lái)模型的不穩(wěn)定,選擇warm up 的方式,可以使得開(kāi)始訓(xùn)練的5 個(gè)批次內(nèi)學(xué)習(xí)率較小,在預(yù)熱的小學(xué)習(xí)率下,模型可以趨于穩(wěn)定,等模型相對(duì)穩(wěn)定后可以再選擇預(yù)先設(shè)置的學(xué)習(xí)率(如0.01)進(jìn)行訓(xùn)練,使得模型收斂速度變得更快,模型效果更佳。動(dòng)量參數(shù)設(shè)置為0.9,每個(gè)訓(xùn)練批次隨機(jī)讀取32 張圖片。在訓(xùn)練過(guò)程中采用的是隨機(jī)梯度下降(SGD)算法優(yōu)化整個(gè)網(wǎng)絡(luò)模型。

預(yù)訓(xùn)練模型采用的是Gluon Model Zoo 的標(biāo)準(zhǔn)版MobileNet0.25 預(yù)訓(xùn)練模型。本文的所有實(shí)驗(yàn)都是在Ubuntu 16.04.5 LTS 系統(tǒng)下利用MXNet 框架完成的,系統(tǒng)的硬件環(huán)境為T(mén)ITAN XP 處理器。

3.4 實(shí)驗(yàn)結(jié)果

為進(jìn)一步驗(yàn)證模型的性能,將本文算法Lightweight-SSH 與近年來(lái)的主流算法SSH、多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)(Multitask Cascade Convolutional Neural Network,MTCNN)和多任務(wù)深度卷積網(wǎng)絡(luò)(Multi-Scale Deep Convolutional Neural Network,MSCNN[20])在相同的實(shí)驗(yàn)環(huán)境和相同的數(shù)據(jù)集上進(jìn)行對(duì)比,在Wider Face 人臉驗(yàn)證集的Easy、Medium、Hard 3 個(gè)子集上得到的P-R 曲線如圖9所示。其中3 個(gè)子集根據(jù)邊緣框的檢測(cè)情況劃分為簡(jiǎn)單、中等、困難3 個(gè)難度等級(jí)。

圖9 Wider Face 人臉驗(yàn)證集測(cè)試結(jié)果Fig.9 Test results of the Wider Face verification set

從圖9 可以看出,Lightweight-SSH 算法較MSCNN、MTCNN 算法在檢測(cè)精度上占有優(yōu)勢(shì);而該算法在3 個(gè)子集上與SSH 算法的性能相當(dāng),但Lightweight-SSH 算法能更好地部署在移動(dòng)端。在Hard 子集上能夠達(dá)到0.82 的檢測(cè)精度,表明該算法檢測(cè)小尺寸人臉具有良好的效果。

將Lightweight-SSH 算法與當(dāng)前常用的人臉檢測(cè)算法在Wider Face 上進(jìn)行性能比較。具體的比較結(jié)果如表1所示,其中粗體為最優(yōu)值。

表1 不同算法在Wider Face 數(shù)據(jù)集上的性能對(duì)比Table 1 Performance comparison of different algorithms on Wider Face datasets

從表1 可以看出,相比MSCNN、MTCNN 人臉檢測(cè)算法,Lightweight-SSH 人臉檢測(cè)算法在檢測(cè)精度、浮點(diǎn)運(yùn)算數(shù)、模型大小、檢測(cè)時(shí)間各個(gè)性能中都有大幅優(yōu)化,占有明顯優(yōu)勢(shì)。同時(shí),將SSH 算法中的骨架網(wǎng)絡(luò)VGG16 網(wǎng)絡(luò)替換為MobileNet 網(wǎng)絡(luò)后,檢測(cè)精度稍有差距,但浮點(diǎn)運(yùn)算數(shù)約降為原來(lái)算法的1/15,大大減小了模型大小,并提高了單幅圖片檢測(cè)速度。Lightweight-SSH 算法在MobileNet-SSH 算法基礎(chǔ)上模型大小雖稍有增加,但提高了檢測(cè)精度,且滿足移動(dòng)設(shè)備的條件。

通過(guò)上述比較實(shí)驗(yàn)結(jié)果可知,采用MobileNet 輕量級(jí)卷積網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò)來(lái)提取特征,有效降低了模型參數(shù)量和計(jì)算量,減小了模型大小;將卷積神經(jīng)網(wǎng)絡(luò)中的相應(yīng)傳統(tǒng)卷積層替換為可變形卷積層,有效地提高了人臉檢測(cè)的準(zhǔn)確率,表明了Lightweight-SSH 算法的有效性。

3.5 檢測(cè)效果

圖10所示為本文算法與MSCNN、MTCNN 人臉檢測(cè)算法的檢測(cè)結(jié)果對(duì)比,矩形框表示檢測(cè)出的人臉位置。由圖10(a)、圖10(b)、圖10(c)可見(jiàn),在檢測(cè)密集的小人臉的情況下,Lightweight-SSH 算法在檢測(cè)小尺寸人臉上有較好的優(yōu)勢(shì)。

圖10 不同算法的檢測(cè)結(jié)果對(duì)比Fig.10 Comparison of different algorithms detection results

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

針對(duì)移動(dòng)端計(jì)算能力及存儲(chǔ)資源受限的問(wèn)題,本文提出一種基于輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)的改進(jìn)人臉檢測(cè)算法Lightweight-SSH,并從2 個(gè)方面對(duì)現(xiàn)有的人臉檢測(cè)算法SSH 進(jìn)行改進(jìn)。使用MobileNet 輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)代替VGG-16 作為基礎(chǔ)網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)進(jìn)行特征提取,降低了模型的參數(shù)量和計(jì)算量,減少了內(nèi)存占用性能。通過(guò)在SSH 網(wǎng)絡(luò)的檢測(cè)模塊中引入可變形卷積層,即可對(duì)不同形狀的物體采用不同的幾何形狀進(jìn)行采樣,提升了卷積神經(jīng)網(wǎng)絡(luò)的形變建模能力,從而提高非約束環(huán)境下的人臉檢測(cè)性能。實(shí)驗(yàn)結(jié)果表明,本文算法在保證準(zhǔn)確性的前提下,能夠提高模型處理速度,降低模型復(fù)雜程度,有效提升基于移動(dòng)端的人臉檢測(cè)算法性能。下一步將針對(duì)移動(dòng)端的人臉檢測(cè)率低于PC 端的問(wèn)題,在保證模型檢測(cè)的時(shí)間性能基礎(chǔ)上優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),從而更好地進(jìn)行人臉檢測(cè)。

猜你喜歡
人臉特征提取卷積
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
有特點(diǎn)的人臉
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
三國(guó)漫——人臉解鎖
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
Bagging RCSP腦電特征提取算法
馬面部與人臉相似度驚人
基于MED和循環(huán)域解調(diào)的多故障特征提取
長(zhǎng)得象人臉的十種動(dòng)物
奇聞怪事(2014年5期)2014-05-13 21:43:01
射阳县| 长春市| 鹤峰县| 富平县| 玛曲县| 廊坊市| 革吉县| 天长市| 泽州县| 浦城县| 江达县| 静安区| 渝北区| 扎赉特旗| 永胜县| 根河市| 涟水县| 安阳市| 贺州市| 明星| 康保县| 武邑县| 阿拉善右旗| 习水县| 景谷| 留坝县| 独山县| 余干县| 侯马市| 威信县| 唐河县| 项城市| 康保县| 郸城县| 凯里市| 云林县| 临邑县| 民权县| 金寨县| 新安县| 枣庄市|