賈小碩,曾上游,潘 兵,周 悅
(廣西師范大學電子工程學院,廣西 桂林 541004)
人臉圖像檢測是計算機視覺領域中最熱門的課題,而成熟的人臉檢測技術產生了不菲的經濟效益,同時也具有非常重要的學術價值。傳統的人臉檢測算法有:基于Haar特征與Ada-Boost算法相結合的級聯算法、基于尺度不變特征變換、局部二值模式LBP(Local Binary Pattern)以及方向梯度直方圖HOG(Histogram of Oriented Gradient)描述子等,但這些算法在具體實現時都出現了計算量過大、實時性差、對噪聲敏感等問題。
隨著卷積神經網絡CNN(Convolutional Neural Network)的提出以及廣泛應用,CNN在人臉檢測技術上也有很大的突破,例如:MTCNN(Multi-Task Convolutional Neural Network)[1]、Fast R-CNN[2]、Faster R-CNN[3]、YOLOv3[4]和SSD300[5]等人臉檢測網絡。這些人臉檢測網絡利用CNN的非線性,從全圖上學習特征以獲取人臉在圖像中的具體位置,再進行分類和定位。
基于CNN或傳統算法設計的檢測算法適合在一般場景下進行全面性的檢測,但在復雜背景下,存在目標人臉檢測效率低和無法對目標人臉進行準確定位等問題,導致對單目標難以進行獨立的圖像處理操作和快速單目標分析的難題。針對以上問題,本文在MTCNN的基礎上設計了MT-Siam網絡,它主要引用SiameseNet[6]并設計輕量化的Siam相似度判定因子。Siam因子是在SiameseNet下設計的網絡,具有和SiameseNet一樣的特點,可以做圖像對之間的相似度判定。為了驗證Siam因子的準確性,將Siam因子、Squeeze Net[7]和MobileNets[8]在CACD2000[9]和VGG-Face2[10]數據集上進行對比;為了驗證MTCNN的可操作性,將MTCNN、SSD300和YOLOv3進行對比驗證,并與Siam相結合設計了MT-Siam模型,使用100幅任意選取的圖像驗證本文算法的高效性和魯棒性。

Figure 1 Structure of MTCNN圖1 MTCNN結構圖
MTCNN由3個卷積神經網絡P-Net(Proposal Network)、R-Net(Refine Network)和O-Net(Output Network)分布式組合而成,如圖1所示。
P-Net:對輸入的圖像Image進行金字塔化處理后再輸入到P-Net網絡中用來生成人臉的候選邊框,并利用非極大化抑制算法NMS(Non-Maximum Suppression)校準邊框,以去除多余的邊框,再進行分類和定位。
R-Net:將P-Net得出的候選框對應到原圖Image上進行截取,并將截取的圖像作為R-Net的輸入。該部分是全卷積網絡層,主要對P-Net得出的圖像進行更加細節化的微處理,以過濾重復且不符合要求的候選框,再利用NMS做候選框合并處理。
O-Net:O-Net網絡和R-Net網絡的處理方法一致。將上一層的輸出候選框的人臉區域作為O-Net的輸入,最終得到人臉候選邊框以及人臉的相應特征點位置。
在以CNN為基礎的檢測網絡中,YOLOv3和SSD300最具有代表性。YOLOv3是對全圖的特征進行預測并確定某個位置,SSD300則是通過學習某個位置的特征來確定此位置。此2種網絡與MTCNN相比,MTCNN對圖像預處理后再進行全圖特征學習,然后不斷篩選進而預測所有目標的位置。
表1是在AMD Athlon(tm) II X4 640 Processor x4平臺上,分別使用MTCNN、YOLOv3和SSD300對FDDB數據集進行檢測的結果對比[11]。

Table 1 Detection results of different network
從表1可以看出,MTCNN在速度上略低于YOLOv3和SSD300,但模型大小和準確率都優于YOLOv3和SSD300。從移動端算法設計和檢測的高效性上來看,MTCNN更適合作為本文的基礎檢測網絡。
在SiameseNet網絡結構基礎上設計圖像相似的判定因子Siam。具體的Siam因子結構圖如圖2所示。

Figure 2 Structure diagram of the Siam factor圖2 Siam因子結構圖
其中,B-box是Siam因子的預備圖像集,即原圖像中P-Net、R-Net、O-Net獲得的所有人臉圖像。x1是目標人臉的模板圖像,用以篩選B-box里符合要求的人臉圖像。利用Siam因子分別在MTCNN 3個節點處快速地篩選出符合要求的目標人臉方框位置,進一步減少每一次傳輸的候選框數量,從而減小算法的運算量,以實現高效獲取目標人臉的目的。
Siam因子卷積層的具體參數如表2所示。

Table 2 The network structure of Siam factor
Siam因子不進行補零操作并且將圖像預處理為225*225像素,用ReLu函數作為激勵函數,以增加網絡的稀疏性,降低網絡中參數之間的冗余性和依賴性,提高參數之間的獨立性,防止過擬合的發生。
MTCNN和Siam因子相結合的MT-Siam網絡的測試結構如圖3所示。pic是人臉的模板圖像,Image是待檢測的圖像。pic在Siam因子下得到高維矩陣特征值Gw(x1),其中,w是Siam的權重參數,x1是輸入,Image圖像依次在圖3的1、2、3處得到候選子圖像集T,并在Siam因子下得到相應的高維矩陣特征值集Gw(xm),xm∈T,由式(1)計算出xm在Siam因子下獲得的相似度dist。所有圖像的相似度組成相似度集合Distm。
從distm中選出小于閾值D的子圖像,即可判斷出與模板人臉圖像相似的人臉圖像位置,否則反之。D為Siam因子的最優閾值。Siam因子按照圖3的形式在3個節點處對同一幅圖像進行時間測試,結果如表3所示。從表3和圖3得出,可利用具有相似性評判能力的Siam因子代替O-Net層的候選框篩選,以達到高效的檢測效果,結構圖如圖4所示。

Figure 3 Test structure diagram of the MT-Siam network圖3 MT-Siam網絡的測試結構圖

Table 3 Siam time test on three nodes

Figure 4 Structure diagram of MT-Siam圖4 MT-Siam的結構圖
本文將CACD2000和VGG Face2選為相似度判定的數據集,最大的優點在于此類數據集的每個人物圖像集中都包含了多個年齡段、不同背景的多幅圖像。對2個數據集分別進行以下操作:先從數據集中隨機選出300組人物圖像,再從每組中隨機篩選40幅圖像整合成12 000對數據集作為訓練集,其中6 000對人臉圖像作為同一人臉的正確匹配,標注為0,剩余的6 000對人臉圖像作為非同一人臉的錯誤匹配,標注為1。從上面的300組人物圖像中隨機篩選10幅圖像再整合成3 000對人臉圖像作為測試集,1 500對的人臉作為同一人臉的正確匹配,標注為0,其余的1 500對人臉圖像作為非同一人臉的非正常匹配,標注為1。
在2個篩選后的數據集上進行訓練和測試,并與以SqueezeNet和MobileNets作為基礎框架而搭建的Siam-Squeeze和Siam-Mobile進行對比,結果如表4和表5所示。

Table 4 Comparison of three networks on CACD2000

Table 5 Comparison of three networks on VGG Face2
硬件環境:在TensorFlow框架上搭建的網絡模型;服務器配置:AMD Athlon(tm) II X4 640 Processor x4;NVIDIA GeForce GTX 1070 GPU;Ubuntu 16.04系統。

Figure 6 Target detection in different complex scenarios圖6 不同復雜場景下的目標檢測
超參數設置:mini batch-size設為1;初始化的學習率為0.001;學習率的衰減周期為400;衰減的系數0.47;選用Adam Optimizer優化器,周期性衰減更新學習率,以優化網絡中的權重和偏置。采用五折交叉法和受試者工作特性ROC(Receiver Operating Characteristic)曲線來評價網絡效果,2個數據集上的ROC趨勢圖如圖5所示。

Figure 5 ROC trend of three-network圖5 3個網絡ROC趨勢圖
從表4、表5和圖5可以看出,在模型大小以及運行速度上,Siam因子要優于Siam-Squeeze和Siam-Mobile;結合準確率對比可得出Siam因子更適合在檢測時做判定處理。圖5中,帶有方形、圓形、三角形節點的線表示在VGG Face2下的結果,其它線表示CACD2000 下的結果,網絡后的數字表示準確率。
本文從模型大小、檢測速度以及準確率上驗證了MTCNN作為基礎網絡的優勢,并在2個數據集上驗證了Siam因子的高效性。設定閾值D的取值為[0.50,0.58],下面利用從網上任意選取的100幅復雜背景圖像測試MT-Siam的高效性以及魯棒性,結果如表6和圖6所示。
MT-Siam是在MTCNN的基礎上和Siam因子相結合且具有高效判定目標人臉位置能力的網絡。這里從運行速度和模型大小上進行2種網絡的對比。從表6可以看出,在運行速度上,MT-Siam得到了84%的提升。綜合考慮,MT-Siam網絡比MTCNN更適用于在移動端上開發。

Table 6 Comparison of MT-Siam and MTCNN
從圖6看出MT-Siam具有良好的目標檢測效果。以圖6中的Model pic作為MT-Siam的模板圖像pic,在5個復雜背景圖像上分別進行測試,可以準確檢測到目標人臉具體位置。
因為傳統檢測算法獲取了圖像中所有目標的相關信息,其檢測效率和復雜背景下的準確率都很低,本文就檢測網絡的效率低和任意復雜場景下算法準確率低的問題,設計了MT-Siam網絡。在VGG Face2和CACD2000 2個數據集上驗證了本文的Siam判定因子在準確率、模型大小、運算速度上均優于傳統的CNN模型;在FDDB數據集下驗證了MTCNN作為基礎檢測網絡的優越性,驗證了MT-Siam在復雜場景下比MTCNN更能高效地獲取目標信息,同時證明了 MT-Siam的魯棒性。