孫收余, 吳鳳嬌, 羅子江, 倪照風(fēng), 馬原東, 候紅濤, 劉寬, 趙凱, 徐斌
(1.貴州財(cái)經(jīng)大學(xué)信息學(xué)院, 貴陽 550025; 2. 北京盛開智聯(lián)科技有限公司, 北京 101300)
近年來,人臉屬性估計(jì)在計(jì)算機(jī)視覺、模式識(shí)別中引起廣泛關(guān)注,在人臉識(shí)別、表情識(shí)別、圖像生成等領(lǐng)域具有重要應(yīng)用[1]。隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,大量高精度的人臉屬性估計(jì)算法百花齊放。Liu等[2]設(shè)計(jì)LNets+ANets進(jìn)行特征提取,使用支持向量機(jī)(support vector machine, SVM)分類器進(jìn)行屬性估計(jì),該類方法忽略屬性之間的關(guān)聯(lián)性;Zhang等[3]提出了PANDA,利用網(wǎng)絡(luò)深層特征進(jìn)行屬性估計(jì),該方法平等對(duì)待每個(gè)屬性,兼顧屬性內(nèi)部關(guān)聯(lián)性,在假定人臉未被遮擋的理想條件下取得不錯(cuò)的估計(jì)效果;然而,實(shí)際應(yīng)用環(huán)境復(fù)雜多變,Mahbub等[4]為提高屬性估計(jì)算法在復(fù)雜環(huán)境中的魯棒性,把人臉局部區(qū)域與其屬性進(jìn)行一一對(duì)應(yīng),設(shè)計(jì)出NAS算法,NAS算法在人臉有遮擋的條件下依然能有效地進(jìn)行人臉屬性估計(jì)。Mao等[5]提出了DMM-CNN方法,針對(duì)困難屬性和簡單屬性采用多種不同的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類估計(jì),此類高精度的人臉屬性分類算法需以巨大的算力和模型量為代價(jià),嚴(yán)重阻礙算法的應(yīng)用場景;孔英會(huì)等[6]針對(duì)情感化的智能家居應(yīng)用這一需求,提出了一種基于深度學(xué)習(xí)模型的移動(dòng)端屬性識(shí)別方法,此方法雖然模型大小為0.25 MB,但在CPU為麒麟960的華為P10手機(jī)上推理速度僅8 fps,不能有效地進(jìn)行實(shí)時(shí)屬性估計(jì)。
為進(jìn)一步提高算法在計(jì)算資源受限的移動(dòng)設(shè)備、嵌入式設(shè)備上的推理速度,借鑒文獻(xiàn)[6]在表情屬性識(shí)別中主干網(wǎng)絡(luò)輕量化的思想,根據(jù)MobileFaceNet網(wǎng)絡(luò)[7]和人臉屬性估計(jì)任務(wù)特點(diǎn)進(jìn)行分析,結(jié)合跨階段融合網(wǎng)絡(luò) (cross stage partial network,CSPNet)[8]、空間金字塔網(wǎng)絡(luò) (spatial pyramid pooling network,SPPNet)[9]設(shè)計(jì)適合于嵌入式設(shè)備硬件的人臉屬性估計(jì)共享特征提取網(wǎng)絡(luò),采用剪枝、知識(shí)蒸餾等方法對(duì)網(wǎng)絡(luò)模型進(jìn)行量化;在不同的屬性估計(jì)任務(wù)中引入不同的學(xué)習(xí)策略,通過動(dòng)態(tài)類別抑制損失函數(shù)(adaptive class suppression loss,ACSL)[10]進(jìn)行損失度量,均衡樣本數(shù)據(jù)、加快模型收斂。
基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法主要包括:①創(chuàng)建人臉數(shù)據(jù)集并進(jìn)行數(shù)據(jù)預(yù)處理;②構(gòu)建輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò);③采用剪枝、知識(shí)蒸餾等方法進(jìn)行模型優(yōu)化;④采用動(dòng)態(tài)類別抑制損失函數(shù)進(jìn)行損失度量,人臉屬性估計(jì)算法模塊結(jié)構(gòu)圖如圖1所示,在數(shù)據(jù)預(yù)處理階段需進(jìn)行人臉對(duì)齊、數(shù)據(jù)增強(qiáng)等處理。人臉屬性估計(jì)算法隨著卷積神經(jīng)網(wǎng)絡(luò)深度的加深,特征表達(dá)能力增強(qiáng),屬性估計(jì)效果顯著提升,同時(shí)也造成推理速度慢、計(jì)算成本高、網(wǎng)絡(luò)模型大等問題。目前輕量級(jí)卷積網(wǎng)絡(luò)的設(shè)計(jì)原理包括:①限制網(wǎng)絡(luò)深度和通道數(shù);②使用小尺度卷積核代替大尺度卷積核;③使用深度可分離卷積,優(yōu)化卷積運(yùn)算,如MobileNet系列網(wǎng)絡(luò);④在殘差塊中融合CSPNet,實(shí)現(xiàn)特征分流,降低算力,節(jié)約網(wǎng)絡(luò)推理時(shí)間。
深度可分離卷積(depthwise separable convolution,DwConv)是MobileNetV2[11]、MobileFaceNet[7]等輕量化卷積神經(jīng)網(wǎng)絡(luò)中都使用的卷積操作,深度可分離卷積在通道上對(duì)卷積操作進(jìn)行拆分運(yùn)算,大量縮減參數(shù)量和計(jì)算量的同時(shí)并不會(huì)造成性能的顯著下降。
跨階段融合網(wǎng)絡(luò) (cross stage partial network,CSPNet)[8]是一種豐富梯度組合的特征融合方法,該模塊能有效節(jié)約算法推理時(shí)間和計(jì)算成本,CSP模塊可與多種骨干網(wǎng)絡(luò)中進(jìn)行結(jié)合,跨階段進(jìn)行特征組合,豐富特征結(jié)構(gòu),輕量化網(wǎng)絡(luò)結(jié)構(gòu)的同時(shí)依然能保持足夠的精度。CSPNet能與ResNeXt[12]、DenseNet[13]網(wǎng)絡(luò)中的殘差模塊相結(jié)合節(jié)約算力、提升精度,在ResNet-10[14]中增加CSPNet相比ResNet-10縮減16%的算力,同時(shí)top-1的精度增加1.8%。
He等[9]提出了空間金字塔網(wǎng)絡(luò) (spatial pyramid pooling network,SPPNet),SPPNet在一個(gè)特征圖上通過不同大小區(qū)域的池化產(chǎn)生固定尺寸的特征圖而不用關(guān)注輸入特征圖的尺寸大小,增加特征圖感受野。
通道注意力網(wǎng)絡(luò)(squeeze-and-excitation networks,SENet)[15]在通道上探究特征之間存在的關(guān)系,自適應(yīng)抽取感興趣的特征,屏蔽權(quán)重貢獻(xiàn)較少且?guī)缀鯖]有貢獻(xiàn)的特征,進(jìn)而形成一種極其類似人眼視覺注意力的機(jī)制,提高特征的表達(dá)能力。
輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)能有效縮減人臉屬性特征的計(jì)算量和參數(shù)量,加快算法推理速度、提高算法在嵌入式系統(tǒng)中的資源利用率,縮減響應(yīng)時(shí)間。本文的人臉屬性估計(jì)屬于多標(biāo)簽學(xué)習(xí)任務(wù),使用共享網(wǎng)絡(luò)對(duì)眼鏡、性別、年齡屬性的共同特征進(jìn)行提取,共享網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)如下。
表1為網(wǎng)絡(luò)結(jié)構(gòu)的輸入尺寸、操作類型、重復(fù)次數(shù)、通道、步長等參數(shù),所提出的人臉屬性共享網(wǎng)絡(luò)借鑒MobileFaceNet網(wǎng)絡(luò)設(shè)計(jì)思想,為保證屬性估計(jì)算法在嵌入式設(shè)備上高效運(yùn)行,僅采用MobileFaceNet網(wǎng)絡(luò)的前3個(gè)瓶頸結(jié)構(gòu)塊(bk:bottleneck)進(jìn)行設(shè)計(jì),并在每個(gè)瓶頸結(jié)構(gòu)塊中結(jié)合CSPNet、SPPNet設(shè)計(jì)跨階段融合空間金字塔瓶頸結(jié)構(gòu)(cross stage partial and spatial pyramid pooling bottleneck,CSPSPP_bk),如圖2所示。
表1 主干共享網(wǎng)絡(luò)結(jié)構(gòu)Table 1 The backbone shared network structure
Conv、C、pool、SPP、Concat分別為卷積層、通道數(shù)、池化層、圖像金字塔層、通道拼接層圖2 CSPSPPNet_bk結(jié)構(gòu)Fig.2 Structure of CSPSPPNet_bk
F(A)=Concat[A1,fDW(A2),fSPP(A3)]
(1)
式(1)中:F(A)為輸出特征;Concat為通道融合;fDW為深度可分離卷積;A1、A2、A3分別為CSPSPP_bk結(jié)構(gòu)塊中第1、2、3條支路的輸入特征;fSPP為經(jīng)過特征金字塔結(jié)構(gòu)得到的輸出特征圖。
由于SPPNet結(jié)構(gòu)中主要是池化結(jié)構(gòu),故可學(xué)習(xí)的參數(shù)幾乎為0,CSPSPP_bk結(jié)構(gòu)塊中算力主要集中于fDW(A2)、fSPP(A3),參數(shù)量僅集中在fDW(A2),相比MobileFaceNet網(wǎng)絡(luò)的瓶頸結(jié)構(gòu)特征全部參與運(yùn)算,CSPSPP_bk降低約1/2的算力、3/4的參數(shù)量。
在卷積之后增加批次歸一化層(batch normalization,BN),對(duì)特征進(jìn)行歸一化處理;避免特征損失和額外的運(yùn)算操作,網(wǎng)絡(luò)設(shè)計(jì)時(shí)均采用步長為2代替池化操作。
由于眼鏡、性別、年齡3個(gè)屬性估計(jì)的難易程度不同,故在3個(gè)屬性分支中采用不同的策略進(jìn)行估計(jì),基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。眼鏡分支中,眼鏡作為一個(gè)人臉局部屬性,僅出現(xiàn)在人臉圖片的中間區(qū)域,且邊緣特征明顯,故在眼鏡分支選擇較淺層的特征進(jìn)行屬性估計(jì),并在眼鏡分支引入SENet,由于直接引入SENet會(huì)大量增加計(jì)算量,故在眼鏡分支首先通過一個(gè)1×1的卷積對(duì)CSPSPP_bk2的特征進(jìn)行通道降維。SENet模塊在通道上對(duì)特征圖的重要性進(jìn)行加權(quán),有效屏蔽貢獻(xiàn)小或幾乎沒有貢獻(xiàn)的通道特征,SENet實(shí)現(xiàn)流程如圖4所示。
圖4中,對(duì)輸入通道為C1的特征圖B進(jìn)行全局平均池化輸出一個(gè)1×1×C1的特征,之后連接兩個(gè)1×1的卷積分別進(jìn)行升維和降維,得到通道注意力權(quán)重矩陣,將通道注意力系數(shù)矩陣的值利用Sigmoid激活函數(shù)限制到[0,1],Sigmoid表達(dá)式如式(2)所示,然后將輸入特征圖與得到的通道權(quán)重矩陣相乘
Image、SE、FC、ConvLiner、SoftmaxLoss、SoftmaxLoss-EuclideanLoss分別為輸入圖像層、通道注意力層、全連接層、在卷積層后使用線性激活函數(shù)(Conv后未標(biāo)注Liner默認(rèn)卷積之后使用非線性激活函數(shù))、Sofamax損失層、SoftmaxLoss與EuclidenanLoss的組合損失層圖3 人臉屬性估計(jì)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Lightweight attribute classification network structure diagram
Conv、Avepool、Sigmoid、Scale、C分別為卷積層、全局平均池化層、Sigmoid激活函數(shù)層、圖像縮放層、通道數(shù)圖4 通道注意力模塊建模圖Fig.4 Modeling diagram of channel attention module
得到經(jīng)過注意力激活的特征圖,其表達(dá)式如式(3)所示。
(2)
式(2)中:x為注意力系數(shù)矩陣的值;W為經(jīng)過Sigmoid函數(shù)激活后的輸出值。
(3)
經(jīng)過注意力激活后的特征圖能將非眼鏡區(qū)域的特征限制到一個(gè)較低的無響應(yīng)狀態(tài),從而提升眼鏡屬性的估計(jì)性能。
性別和年齡作為全局的人臉屬性,深層特征具備更多語義信息,選擇CSPSPP_bk3的特征進(jìn)行性別和年齡估計(jì),采用96×112大小的圖片作為輸入,更貼合人臉長寬比例的同時(shí)降低特征輸入。
在模型訓(xùn)練中采用模型蒸餾與模型剪枝進(jìn)行網(wǎng)絡(luò)優(yōu)化。年齡的準(zhǔn)確估計(jì)一直都是人臉屬性中難以攻破的研究問題,在以往的研究中通過更深的卷積網(wǎng)絡(luò)進(jìn)行年齡估計(jì),采用知識(shí)蒸餾[17]的方法進(jìn)行年齡估計(jì)優(yōu)化,平衡困難屬性與簡單屬性的估計(jì)性能。
首先采用ResNet50[14]預(yù)訓(xùn)練一個(gè)年齡估計(jì)精度較高的網(wǎng)絡(luò)作為Teacher模型,結(jié)合年齡的連續(xù)性特點(diǎn),使用該網(wǎng)絡(luò)對(duì)訓(xùn)練數(shù)據(jù)集的年齡屬性進(jìn)行標(biāo)簽軟化,相比硬標(biāo)簽,軟標(biāo)簽將年齡擬合到[0,100]之間的連續(xù)數(shù)值,體現(xiàn)不同年齡之間的內(nèi)在關(guān)聯(lián)性,所設(shè)計(jì)的基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)網(wǎng)絡(luò)作為Student模型,通過Teacher模型指導(dǎo)Student模型學(xué)習(xí),同時(shí)使用硬標(biāo)簽和軟標(biāo)簽進(jìn)行模型訓(xùn)練。對(duì)知識(shí)蒸餾后的網(wǎng)絡(luò)模型采用最小輸出裁剪網(wǎng)絡(luò)對(duì)輸出特征重建誤差的評(píng)價(jià)標(biāo)準(zhǔn)對(duì)共享層網(wǎng)絡(luò)進(jìn)行逐層剪枝,剪枝流程如圖5所示。
模型剪枝在模型訓(xùn)練中需重復(fù)迭代進(jìn)行,對(duì)網(wǎng)絡(luò)單層進(jìn)行裁剪時(shí),通過較少的迭代訓(xùn)練進(jìn)行網(wǎng)絡(luò)性能恢復(fù),剪枝結(jié)束后使用較多的迭代訓(xùn)練完成網(wǎng)絡(luò)性能的整體修復(fù)。
圖5 模型剪枝流程圖Fig.5 Model pruning flow chart
動(dòng)態(tài)類別抑制損失函數(shù)(adaptive class suppression loss,ACSL)[10]根據(jù)不同類別樣本分布對(duì)每個(gè)類別的輸出損失進(jìn)行二值加權(quán),消除大量樣本類別對(duì)少量樣本類別的學(xué)習(xí)抑制,樣本數(shù)據(jù)達(dá)到均衡,動(dòng)態(tài)類別抑制損失函數(shù)的表達(dá)式為
(4)
式(4)中:wj為權(quán)重值;pj為網(wǎng)絡(luò)的預(yù)測為第j個(gè)類別的概率值;C為類別總數(shù),wj的計(jì)算公式為
(5)
式(5)中:k為類別、ζ表示閾值、pj表示網(wǎng)絡(luò)的預(yù)測為第j個(gè)類別的概率值。當(dāng)前樣本類別為k時(shí)損失權(quán)重被設(shè)置為1,對(duì)于其他類別的權(quán)重需由一個(gè)固定閾值來決定,當(dāng)其他類別損失權(quán)重為1時(shí)表示該類別與當(dāng)前樣本類別學(xué)習(xí)存在混淆,因此需要保留對(duì)混淆性高的類別的梯度損失,加強(qiáng)判別性學(xué)習(xí),當(dāng)預(yù)測概率小于閾值時(shí)表示網(wǎng)絡(luò)對(duì)該類別與樣本類別的判斷能力強(qiáng),不需要繼續(xù)學(xué)習(xí)。
在基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)任務(wù)中必然存在樣本數(shù)據(jù)分布不均衡問題,引入ACSL損失函數(shù)重點(diǎn)均衡年齡屬性的樣本數(shù)據(jù)分布。
本次實(shí)驗(yàn)中,以準(zhǔn)確率Acc作為眼鏡、性別和年齡屬性估計(jì)的性能評(píng)價(jià)指標(biāo),Acc的計(jì)算公式為
(6)
式(6)中:N、i、Cattri、Acc分別為類別總數(shù)、所屬類別、預(yù)測類別、精度;當(dāng)Cattri=1表示屬性估計(jì)正確,Cattri=0表示估計(jì)錯(cuò)誤;眼鏡和性別使用精確的Acc進(jìn)行評(píng)估,年齡屬性使用平均準(zhǔn)確率±標(biāo)準(zhǔn)差的方法進(jìn)行評(píng)估。
3.2.1 CelebA數(shù)據(jù)集
CelebA數(shù)據(jù)集[18]:CelebA包括202 599個(gè)人臉圖像,對(duì)每個(gè)人臉的標(biāo)注包括5個(gè)關(guān)鍵點(diǎn)(雙眼、兩個(gè)嘴角、鼻尖),共10 177個(gè)身份,對(duì)40個(gè)屬性都有標(biāo)注;CelebA數(shù)據(jù)集部分示例樣本如圖6所示。
3.2.2 Adience數(shù)據(jù)集
Adience數(shù)據(jù)集[19]:Adience數(shù)據(jù)集包括26 580張816×816大小的圖片,共2 284個(gè)對(duì)象,將年齡分為8個(gè)年齡組(分組1:0~2、分組2:4~6、分組3:8~13、分組4:15~20、分組5:25~32、分組6:38~43、分組7:48~53、分組8:≥60),各年齡組數(shù)據(jù)樣本分布情況如表2所示。
圖6 CelebA數(shù)據(jù)集部分示例Fig.6 Example of CelebA dataset
表2 Adience數(shù)據(jù)集年齡數(shù)據(jù)分布Table 2 Age data distribution of the Adience dataset
3.2.3 實(shí)驗(yàn)環(huán)境配置
PC實(shí)驗(yàn)環(huán)境為Win7系統(tǒng),硬件配置:CPU:Intel(R) Core(TM) i5-4590(3.3 GHz)嵌入式端選用RK3288開發(fā)板,硬件配置:CPU:Cortex-A17 1.8 GHz。
3.3.1 方法有效性結(jié)果分析
該實(shí)驗(yàn)中,MF表示僅用MobileFaceNet網(wǎng)絡(luò)中3個(gè)瓶頸結(jié)構(gòu)作為主干網(wǎng)絡(luò)的基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)網(wǎng)絡(luò),MF_CSP、MF_CSPSSP表示在MF基礎(chǔ)上分別增加CSP模塊、CSPSPP模塊的網(wǎng)絡(luò),MF_CSPSPP+SE表示在眼鏡分支增加注意力模塊,ACSL表示采用動(dòng)態(tài)類別抑制損失函數(shù),方法MF、MF_CSP、MF_CSPSSP、MF_CSPSPP+SE都只采用Softmax損失進(jìn)行損失度量,表3為在CelebA和Audience數(shù)據(jù)集上不同技巧消融實(shí)驗(yàn)比較,在測試推理時(shí)對(duì)網(wǎng)絡(luò)中的BN和卷積進(jìn)行合并處理,優(yōu)化網(wǎng)絡(luò)推理速度。
由表3可知,MF僅采用連接單一的瓶頸結(jié)構(gòu),MF_CSP對(duì)特征劃按通道拆分為平等的兩份,僅有一半通道特征參與瓶頸結(jié)構(gòu)計(jì)算,MF_CSP的算力僅是MF的46.80%,平均精度降低1.23%,MF_CSPSSP在MF_CSP基礎(chǔ)上引入SPPNet結(jié)構(gòu),對(duì)特征劃按通道拆分為C/2、C/4、C/4,其中C/2的特征
表3 不同網(wǎng)絡(luò)在CelebA和Audience數(shù)據(jù)集上不同技巧消融實(shí)驗(yàn)比較Table 3 Comparison of ablation experiments with different techniques on CelebA and Audience datasets
不參與計(jì)算、剩下特征的一半通過瓶頸結(jié)構(gòu),一半通過SPPNet結(jié)構(gòu),最終對(duì)通道進(jìn)行合并,MF_CSPSSP相比MF_CSP算力降低10%,精度提升1.15%,其中年齡屬性精度提升1.58%,MF_CSPSPP+SE在眼鏡分支增加注意力模塊,算力提升5%,眼鏡估計(jì)精度提升1.13%;在多屬性估計(jì)任務(wù)中無法避免樣本分布不均衡問題,引入動(dòng)態(tài)類別抑制損失函數(shù)有效解決樣本分布不均衡問題,尤其是在年齡屬性中,方法MF_CSPSPP+SE+ACSL在眼鏡、性別、年齡屬性的精度分別提升0.04%、0.07%、1.85%,其中年齡精度提升最大;通過實(shí)驗(yàn)驗(yàn)證,在基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)網(wǎng)絡(luò)中增加融合SPPNet的CSP特征提取模塊、在局部屬性中增加注意力模塊、引入動(dòng)態(tài)類別抑制損失函數(shù)等方法有效節(jié)約算力、均衡樣本數(shù)據(jù)分布、提升人臉屬性估計(jì)性能。
僅對(duì)年齡屬性采用Resnet50[14]訓(xùn)練的年齡估計(jì)網(wǎng)絡(luò)對(duì)其進(jìn)行知識(shí)蒸餾,提升年齡估計(jì)性能,對(duì)人臉屬性估計(jì)網(wǎng)絡(luò)的各層模型參數(shù)通過迭代剪枝的方式進(jìn)行模型壓縮,模型優(yōu)化前后的測試結(jié)果對(duì)比如表4所示。
表4 蒸餾和剪枝優(yōu)化后的網(wǎng)絡(luò)估計(jì)精度和模型大小Table 4 The network classification accuracy and model size after distillation and pruning were optimized
表4中,在PC上測試結(jié)果表明經(jīng)過模型蒸餾和剪枝后的人臉屬性估計(jì)網(wǎng)絡(luò)速度能達(dá)到779 fps,模型量降低10%,且平均精度僅損失0.16%,速度提升約30.92%。
3.3.2 不同算法性能對(duì)比分析
在CelebA數(shù)據(jù)集上與LNet+ANet[2]、NAS[4]、DMM-CNN[5]進(jìn)行屬性估計(jì)精度、算力比較,具體結(jié)果如表5所示。本文算法對(duì)性別和眼鏡估計(jì)效果最優(yōu),其中眼鏡、性別估計(jì)精度相比DMM-CNN分別超過0.03%、0.60%,所提出的人臉屬性估計(jì)網(wǎng)絡(luò)的算力分別是LNet+ANet、NAS、DMM-CNN的0.62%、1.35%、0.39%,所提出的人臉屬性估計(jì)網(wǎng)絡(luò)在算法推理時(shí)間遠(yuǎn)小于LNet+ANet、NAS、DMM-CNN,網(wǎng)絡(luò)前傳推理速度占據(jù)絕對(duì)優(yōu)勢。
在Adience數(shù)據(jù)集上與4c2f-CNN[20]、CNN2ELM[21]、EGroupNet[22]進(jìn)行年齡估計(jì)實(shí)驗(yàn)對(duì)比分析,具體對(duì)比數(shù)據(jù)如表6所示。
本文方法的年齡估計(jì)精度超過方法4c2f-CNN,與CNN2ELM、EGroupNet相比精度相差6.28%、9.57%,的方法的平均精度的標(biāo)準(zhǔn)差僅為3.01%,相比以上3種方法,本文算法的年齡估計(jì)穩(wěn)定性最好、網(wǎng)絡(luò)算力最低,方法4c2f-CNN、CNN2-ELM、EGroupNet需要的算力開銷過大均不適合在嵌入式設(shè)備上進(jìn)行實(shí)時(shí)的屬性估計(jì),為體現(xiàn)本文算法在速度和精度上的優(yōu)勢,在PC和RK3288開發(fā)板上與嵌入式年齡估計(jì)算法[23]進(jìn)行前傳推理時(shí)間比較,測試結(jié)果如表7所示。
表5 在CelebA數(shù)據(jù)集上性別和眼鏡估計(jì)測試結(jié)果對(duì)比Table 5 Comparison of gender and eyewear classification test results on CelebA dataset
表6 在Adience數(shù)據(jù)集上年齡估計(jì)測試結(jié)果對(duì)比Table 6 Comparison of age classification test results on the Adience dataset
表7 在PC和RK3288處理器中網(wǎng)絡(luò)前傳推理時(shí)間測試Table 7 Network forward inference time test in PC and RK3288 processor
表7中DeepID和DeepID_best是文獻(xiàn)[23]中設(shè)計(jì)的面向嵌入式應(yīng)用的性別與年齡識(shí)別卷積網(wǎng)絡(luò),文獻(xiàn)[23]使用卷積網(wǎng)絡(luò)單獨(dú)對(duì)年齡和性別進(jìn)行特征提取,所提出的人臉屬性估計(jì)算法屬于多任務(wù)學(xué)習(xí)網(wǎng)絡(luò),通過共享網(wǎng)絡(luò)僅做一次特征提取就可以對(duì)眼鏡、性別、年齡3個(gè)屬性進(jìn)行估計(jì),表7中,為方便測試時(shí)間比較,對(duì)文獻(xiàn)[23]中的兩種方法的測試時(shí)間等比放大到3個(gè)屬性測試時(shí)間,所提出的基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法在PC和RK3288上的前傳推理時(shí)間分別是1.28、7.24 ms,相比4c2f-CNN、DeepID、DeepID_best推理時(shí)間最少且算力最低,在文獻(xiàn)[23]中已經(jīng)驗(yàn)證4c2f-CNN的年齡估計(jì)精度高于DeepID和DeepID_best的方法,在表6中的實(shí)驗(yàn)結(jié)果表明本文的年齡屬性估計(jì)精度優(yōu)于4c2f-CNN的年齡估計(jì)精度,故所提出的基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法在精度和速度上均優(yōu)于文獻(xiàn)[23]的方法。
在實(shí)際應(yīng)用中,性別和眼鏡作為較開放的屬性,估計(jì)性能往往要求極高,而年齡因環(huán)境因素存在巨大差異,更趨向于表象估計(jì)值,估計(jì)存在一定的誤差是不能避免的,甚至在實(shí)際的應(yīng)用中人們更希望估計(jì)的年齡相比真實(shí)年齡更年輕,所提出的基于輕量卷積網(wǎng)絡(luò)的人臉屬性估計(jì)算法對(duì)眼鏡、性別的估計(jì)具有較高的精度,難免會(huì)犧牲年齡估計(jì)的精度,折中后的人臉屬性估計(jì)算法均能滿足實(shí)際應(yīng)用需求,可在移動(dòng)、嵌入式設(shè)備上實(shí)現(xiàn)高效的人臉屬性估計(jì)。
3.3.3 實(shí)際應(yīng)用測試結(jié)果分析
為驗(yàn)證本文算法在實(shí)際應(yīng)用場景中的有效性,在Android系統(tǒng)的移動(dòng)手機(jī)和iOS系統(tǒng)的iphone 11上進(jìn)行不同性別、是否佩戴眼鏡、單人臉和雙人臉等條件下的人臉屬性估計(jì)測試,效果如圖7所示。
圖7中性別、是否佩戴眼鏡均能準(zhǔn)確估計(jì),年齡估計(jì)誤差都在3歲范圍以內(nèi),對(duì)單張人臉圖片在安卓操作系統(tǒng)和iOS操作系統(tǒng)上進(jìn)行屬性估計(jì)的平均測試速度分別為250、520 fps,對(duì)雙人臉圖片進(jìn)行屬性估計(jì)的平均測試速度仍然可以分別保持在100、260 fps,完全滿足實(shí)際應(yīng)用需求。
(1)針對(duì)人臉屬性估計(jì)算法存在模型量大、算力大、不利于算法在嵌入式設(shè)備、移動(dòng)設(shè)備上使用等問題,提出基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法,主干網(wǎng)絡(luò)借鑒MobileFaceNet網(wǎng)絡(luò)中的前3個(gè)瓶頸結(jié)構(gòu),并在瓶頸結(jié)構(gòu)中增加CSPNet和SPPNet結(jié)構(gòu),縮減網(wǎng)絡(luò)算力,針對(duì)不同屬性的難易程度,
圖7 移動(dòng)設(shè)備實(shí)際應(yīng)用效果Fig.7 Practical application effect diagram of mobile devices
在不同的屬性分支中增加不同的估計(jì)策略,采用動(dòng)態(tài)類別抑制損失函數(shù)均衡樣本數(shù)據(jù),平均性能提升0.65個(gè)百分點(diǎn);在年齡屬性中通過知識(shí)蒸餾方法對(duì)模型進(jìn)行性能優(yōu)化,使用模型剪枝方法縮減模型量,經(jīng)過優(yōu)化后的模型量僅1.8 MB。
(2)所提出的人臉屬性估計(jì)算法在測試推理時(shí)將網(wǎng)絡(luò)中的卷積與BN進(jìn)行合并,優(yōu)化推理速度。在CelebA數(shù)據(jù)集和Adience數(shù)據(jù)集上分別驗(yàn)證了方法的有效性,眼鏡和性別屬性的平均精度分為99.72%、98.89%,年齡標(biāo)準(zhǔn)差為3.01%的年齡精度為60.21%,在PC和RK3288開發(fā)板上的推理速度分別是779 fps、138 fps,在Android操作系統(tǒng)和Ios操作系統(tǒng)的移動(dòng)手機(jī)上對(duì)單人臉和雙人臉的平均測試速度分別為250 fps、520 fps。整體性能優(yōu)于現(xiàn)有的其他嵌入式人臉屬性估計(jì)算法。
(3)基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法在速度和精度上進(jìn)行權(quán)衡,眼鏡和性別作為客觀屬性,在實(shí)際應(yīng)用中的存在極高的精度需求,基于嵌入式系統(tǒng)的多任務(wù)人臉屬性估計(jì)算法需以保障眼鏡和性別估計(jì)性能的條件下對(duì)年齡估計(jì)性能進(jìn)行折中,因此本文算法在年齡屬性的估計(jì)精度略低于CNN2ELM算法和EGroupNet算法,在接下來的研究中將對(duì)年齡估計(jì)性能做進(jìn)一步優(yōu)化,減少年齡估計(jì)誤差,提高算法在不同應(yīng)用場景的魯棒性。