賈小碩,曾上游,潘 兵,周 悅
(廣西師范大學(xué)電子工程學(xué)院,廣西 桂林 541004)
人臉圖像檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域中最熱門(mén)的課題,而成熟的人臉檢測(cè)技術(shù)產(chǎn)生了不菲的經(jīng)濟(jì)效益,同時(shí)也具有非常重要的學(xué)術(shù)價(jià)值。傳統(tǒng)的人臉檢測(cè)算法有:基于Haar特征與Ada-Boost算法相結(jié)合的級(jí)聯(lián)算法、基于尺度不變特征變換、局部二值模式LBP(Local Binary Pattern)以及方向梯度直方圖HOG(Histogram of Oriented Gradient)描述子等,但這些算法在具體實(shí)現(xiàn)時(shí)都出現(xiàn)了計(jì)算量過(guò)大、實(shí)時(shí)性差、對(duì)噪聲敏感等問(wèn)題。
隨著卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)的提出以及廣泛應(yīng)用,CNN在人臉檢測(cè)技術(shù)上也有很大的突破,例如:MTCNN(Multi-Task Convolutional Neural Network)[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLOv3[4]和SSD300[5]等人臉檢測(cè)網(wǎng)絡(luò)。這些人臉檢測(cè)網(wǎng)絡(luò)利用CNN的非線性,從全圖上學(xué)習(xí)特征以獲取人臉在圖像中的具體位置,再進(jìn)行分類(lèi)和定位。
基于CNN或傳統(tǒng)算法設(shè)計(jì)的檢測(cè)算法適合在一般場(chǎng)景下進(jìn)行全面性的檢測(cè),但在復(fù)雜背景下,存在目標(biāo)人臉檢測(cè)效率低和無(wú)法對(duì)目標(biāo)人臉進(jìn)行準(zhǔn)確定位等問(wèn)題,導(dǎo)致對(duì)單目標(biāo)難以進(jìn)行獨(dú)立的圖像處理操作和快速單目標(biāo)分析的難題。針對(duì)以上問(wèn)題,本文在MTCNN的基礎(chǔ)上設(shè)計(jì)了MT-Siam網(wǎng)絡(luò),它主要引用SiameseNet[6]并設(shè)計(jì)輕量化的Siam相似度判定因子。Siam因子是在SiameseNet下設(shè)計(jì)的網(wǎng)絡(luò),具有和SiameseNet一樣的特點(diǎn),可以做圖像對(duì)之間的相似度判定。為了驗(yàn)證Siam因子的準(zhǔn)確性,將Siam因子、Squeeze Net[7]和MobileNets[8]在CACD2000[9]和VGG-Face2[10]數(shù)據(jù)集上進(jìn)行對(duì)比;為了驗(yàn)證MTCNN的可操作性,將MTCNN、SSD300和YOLOv3進(jìn)行對(duì)比驗(yàn)證,并與Siam相結(jié)合設(shè)計(jì)了MT-Siam模型,使用100幅任意選取的圖像驗(yàn)證本文算法的高效性和魯棒性。
Figure 1 Structure of MTCNN圖1 MTCNN結(jié)構(gòu)圖
MTCNN由3個(gè)卷積神經(jīng)網(wǎng)絡(luò)P-Net(Proposal Network)、R-Net(Refine Network)和O-Net(Output Network)分布式組合而成,如圖1所示。
P-Net:對(duì)輸入的圖像Image進(jìn)行金字塔化處理后再輸入到P-Net網(wǎng)絡(luò)中用來(lái)生成人臉的候選邊框,并利用非極大化抑制算法NMS(Non-Maximum Suppression)校準(zhǔn)邊框,以去除多余的邊框,再進(jìn)行分類(lèi)和定位。
R-Net:將P-Net得出的候選框?qū)?yīng)到原圖Image上進(jìn)行截取,并將截取的圖像作為R-Net的輸入。該部分是全卷積網(wǎng)絡(luò)層,主要對(duì)P-Net得出的圖像進(jìn)行更加細(xì)節(jié)化的微處理,以過(guò)濾重復(fù)且不符合要求的候選框,再利用NMS做候選框合并處理。
O-Net:O-Net網(wǎng)絡(luò)和R-Net網(wǎng)絡(luò)的處理方法一致。將上一層的輸出候選框的人臉區(qū)域作為O-Net的輸入,最終得到人臉候選邊框以及人臉的相應(yīng)特征點(diǎn)位置。
在以CNN為基礎(chǔ)的檢測(cè)網(wǎng)絡(luò)中,YOLOv3和SSD300最具有代表性。YOLOv3是對(duì)全圖的特征進(jìn)行預(yù)測(cè)并確定某個(gè)位置,SSD300則是通過(guò)學(xué)習(xí)某個(gè)位置的特征來(lái)確定此位置。此2種網(wǎng)絡(luò)與MTCNN相比,MTCNN對(duì)圖像預(yù)處理后再進(jìn)行全圖特征學(xué)習(xí),然后不斷篩選進(jìn)而預(yù)測(cè)所有目標(biāo)的位置。
表1是在AMD Athlon(tm) II X4 640 Processor x4平臺(tái)上,分別使用MTCNN、YOLOv3和SSD300對(duì)FDDB數(shù)據(jù)集進(jìn)行檢測(cè)的結(jié)果對(duì)比[11]。
Table 1 Detection results of different network
從表1可以看出,MTCNN在速度上略低于YOLOv3和SSD300,但模型大小和準(zhǔn)確率都優(yōu)于YOLOv3和SSD300。從移動(dòng)端算法設(shè)計(jì)和檢測(cè)的高效性上來(lái)看,MTCNN更適合作為本文的基礎(chǔ)檢測(cè)網(wǎng)絡(luò)。
在SiameseNet網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上設(shè)計(jì)圖像相似的判定因子Siam。具體的Siam因子結(jié)構(gòu)圖如圖2所示。
Figure 2 Structure diagram of the Siam factor圖2 Siam因子結(jié)構(gòu)圖
其中,B-box是Siam因子的預(yù)備圖像集,即原圖像中P-Net、R-Net、O-Net獲得的所有人臉圖像。x1是目標(biāo)人臉的模板圖像,用以篩選B-box里符合要求的人臉圖像。利用Siam因子分別在MTCNN 3個(gè)節(jié)點(diǎn)處快速地篩選出符合要求的目標(biāo)人臉?lè)娇蛭恢?,進(jìn)一步減少每一次傳輸?shù)暮蜻x框數(shù)量,從而減小算法的運(yùn)算量,以實(shí)現(xiàn)高效獲取目標(biāo)人臉的目的。
Siam因子卷積層的具體參數(shù)如表2所示。
Table 2 The network structure of Siam factor
Siam因子不進(jìn)行補(bǔ)零操作并且將圖像預(yù)處理為225*225像素,用ReLu函數(shù)作為激勵(lì)函數(shù),以增加網(wǎng)絡(luò)的稀疏性,降低網(wǎng)絡(luò)中參數(shù)之間的冗余性和依賴性,提高參數(shù)之間的獨(dú)立性,防止過(guò)擬合的發(fā)生。
MTCNN和Siam因子相結(jié)合的MT-Siam網(wǎng)絡(luò)的測(cè)試結(jié)構(gòu)如圖3所示。pic是人臉的模板圖像,Image是待檢測(cè)的圖像。pic在Siam因子下得到高維矩陣特征值Gw(x1),其中,w是Siam的權(quán)重參數(shù),x1是輸入,Image圖像依次在圖3的1、2、3處得到候選子圖像集T,并在Siam因子下得到相應(yīng)的高維矩陣特征值集Gw(xm),xm∈T,由式(1)計(jì)算出xm在Siam因子下獲得的相似度dist。所有圖像的相似度組成相似度集合Distm。
從distm中選出小于閾值D的子圖像,即可判斷出與模板人臉圖像相似的人臉圖像位置,否則反之。D為Siam因子的最優(yōu)閾值。Siam因子按照?qǐng)D3的形式在3個(gè)節(jié)點(diǎn)處對(duì)同一幅圖像進(jìn)行時(shí)間測(cè)試,結(jié)果如表3所示。從表3和圖3得出,可利用具有相似性評(píng)判能力的Siam因子代替O-Net層的候選框篩選,以達(dá)到高效的檢測(cè)效果,結(jié)構(gòu)圖如圖4所示。
Figure 3 Test structure diagram of the MT-Siam network圖3 MT-Siam網(wǎng)絡(luò)的測(cè)試結(jié)構(gòu)圖
Table 3 Siam time test on three nodes
Figure 4 Structure diagram of MT-Siam圖4 MT-Siam的結(jié)構(gòu)圖
本文將CACD2000和VGG Face2選為相似度判定的數(shù)據(jù)集,最大的優(yōu)點(diǎn)在于此類(lèi)數(shù)據(jù)集的每個(gè)人物圖像集中都包含了多個(gè)年齡段、不同背景的多幅圖像。對(duì)2個(gè)數(shù)據(jù)集分別進(jìn)行以下操作:先從數(shù)據(jù)集中隨機(jī)選出300組人物圖像,再?gòu)拿拷M中隨機(jī)篩選40幅圖像整合成12 000對(duì)數(shù)據(jù)集作為訓(xùn)練集,其中6 000對(duì)人臉圖像作為同一人臉的正確匹配,標(biāo)注為0,剩余的6 000對(duì)人臉圖像作為非同一人臉的錯(cuò)誤匹配,標(biāo)注為1。從上面的300組人物圖像中隨機(jī)篩選10幅圖像再整合成3 000對(duì)人臉圖像作為測(cè)試集,1 500對(duì)的人臉作為同一人臉的正確匹配,標(biāo)注為0,其余的1 500對(duì)人臉圖像作為非同一人臉的非正常匹配,標(biāo)注為1。
在2個(gè)篩選后的數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試,并與以SqueezeNet和MobileNets作為基礎(chǔ)框架而搭建的Siam-Squeeze和Siam-Mobile進(jìn)行對(duì)比,結(jié)果如表4和表5所示。
Table 4 Comparison of three networks on CACD2000
Table 5 Comparison of three networks on VGG Face2
硬件環(huán)境:在TensorFlow框架上搭建的網(wǎng)絡(luò)模型;服務(wù)器配置:AMD Athlon(tm) II X4 640 Processor x4;NVIDIA GeForce GTX 1070 GPU;Ubuntu 16.04系統(tǒng)。
Figure 6 Target detection in different complex scenarios圖6 不同復(fù)雜場(chǎng)景下的目標(biāo)檢測(cè)
超參數(shù)設(shè)置:mini batch-size設(shè)為1;初始化的學(xué)習(xí)率為0.001;學(xué)習(xí)率的衰減周期為400;衰減的系數(shù)0.47;選用Adam Optimizer優(yōu)化器,周期性衰減更新學(xué)習(xí)率,以優(yōu)化網(wǎng)絡(luò)中的權(quán)重和偏置。采用五折交叉法和受試者工作特性ROC(Receiver Operating Characteristic)曲線來(lái)評(píng)價(jià)網(wǎng)絡(luò)效果,2個(gè)數(shù)據(jù)集上的ROC趨勢(shì)圖如圖5所示。
Figure 5 ROC trend of three-network圖5 3個(gè)網(wǎng)絡(luò)ROC趨勢(shì)圖
從表4、表5和圖5可以看出,在模型大小以及運(yùn)行速度上,Siam因子要優(yōu)于Siam-Squeeze和Siam-Mobile;結(jié)合準(zhǔn)確率對(duì)比可得出Siam因子更適合在檢測(cè)時(shí)做判定處理。圖5中,帶有方形、圓形、三角形節(jié)點(diǎn)的線表示在VGG Face2下的結(jié)果,其它線表示CACD2000 下的結(jié)果,網(wǎng)絡(luò)后的數(shù)字表示準(zhǔn)確率。
本文從模型大小、檢測(cè)速度以及準(zhǔn)確率上驗(yàn)證了MTCNN作為基礎(chǔ)網(wǎng)絡(luò)的優(yōu)勢(shì),并在2個(gè)數(shù)據(jù)集上驗(yàn)證了Siam因子的高效性。設(shè)定閾值D的取值為[0.50,0.58],下面利用從網(wǎng)上任意選取的100幅復(fù)雜背景圖像測(cè)試MT-Siam的高效性以及魯棒性,結(jié)果如表6和圖6所示。
MT-Siam是在MTCNN的基礎(chǔ)上和Siam因子相結(jié)合且具有高效判定目標(biāo)人臉位置能力的網(wǎng)絡(luò)。這里從運(yùn)行速度和模型大小上進(jìn)行2種網(wǎng)絡(luò)的對(duì)比。從表6可以看出,在運(yùn)行速度上,MT-Siam得到了84%的提升。綜合考慮,MT-Siam網(wǎng)絡(luò)比MTCNN更適用于在移動(dòng)端上開(kāi)發(fā)。
Table 6 Comparison of MT-Siam and MTCNN
從圖6看出MT-Siam具有良好的目標(biāo)檢測(cè)效果。以圖6中的Model pic作為MT-Siam的模板圖像pic,在5個(gè)復(fù)雜背景圖像上分別進(jìn)行測(cè)試,可以準(zhǔn)確檢測(cè)到目標(biāo)人臉具體位置。
因?yàn)閭鹘y(tǒng)檢測(cè)算法獲取了圖像中所有目標(biāo)的相關(guān)信息,其檢測(cè)效率和復(fù)雜背景下的準(zhǔn)確率都很低,本文就檢測(cè)網(wǎng)絡(luò)的效率低和任意復(fù)雜場(chǎng)景下算法準(zhǔn)確率低的問(wèn)題,設(shè)計(jì)了MT-Siam網(wǎng)絡(luò)。在VGG Face2和CACD2000 2個(gè)數(shù)據(jù)集上驗(yàn)證了本文的Siam判定因子在準(zhǔn)確率、模型大小、運(yùn)算速度上均優(yōu)于傳統(tǒng)的CNN模型;在FDDB數(shù)據(jù)集下驗(yàn)證了MTCNN作為基礎(chǔ)檢測(cè)網(wǎng)絡(luò)的優(yōu)越性,驗(yàn)證了MT-Siam在復(fù)雜場(chǎng)景下比MTCNN更能高效地獲取目標(biāo)信息,同時(shí)證明了 MT-Siam的魯棒性。