李澤琛,李恒超,胡文帥,楊金玉,華澤璽
(西南交通大學信息科學與技術學院,四川 成都 611756)
隨著機器視覺領域的快速發展,包括圖像分類、目標檢測、圖像降噪等在內的圖像智能解譯任務都成為重要的研究方向,其中,又以目標檢測最為基礎.人臉檢測作為目標檢測任務的一個分支,雖然在20 世紀60 年代就被提出并進行大量研究,但直到2000 年實現了里程碑式的突破,人臉檢測任務的性能才達到可以實際應用的程度.到目前為止,人臉檢測技術早已融入人們的日常生活中,如移動支付、門禁通行、視頻追蹤等應用都以人臉目標被成功檢測識別為前提.而如今受疫情影響,各區域行人都需要佩戴口罩出行,這使人臉檢測變得更為困難.因此,如何在特定情形下,針對佩戴口罩的人群實現準確、快速的人臉目標檢測成為了當下一個重要的研究課題.
人臉檢測算法分為基于傳統方法的檢測算法和基于深度學習的檢測算法.基于傳統方法的檢測算法往往需要提取手工設計的特征,從而將其用于人臉目標檢測,如Viola 等[1]提出的Ada boost 算法,通過積分圖快速計算矩形特征,并用Ada Boost 方法得到具有較小誤差的分類器;Lienhart 等[2]提出了基于Haar 特征的人臉檢測方法,可以識別傾斜人臉;胡麗喬等[3]對方向梯度直方圖(histogram of oriented gradient,HOG)特征進行擴展,得到了識別率和魯棒性更好的人臉檢測器.但這些傳統方法依賴于手工提取的特征,受外界因素干擾嚴重且無法鑒別密集人臉,同時考慮到疫情影響下存在口罩遮擋情況,這些方法對復雜場景中人臉檢測性能可能會進一步降低.
不同于傳統檢測方法,基于深度學習的方法無需手工設計特征表示,組合低層特征形成語義性和分辨能力更強的高層特征的方式,已被廣泛應用于人臉檢測和識別[4-6].常見的基于深度學習的檢測算法有“單階段”和“兩階段”兩種策略,SSD(single shot mutilbox)[7]檢測算法等一系列單階段模型僅需送入網絡一次,便可預測出所有檢測框,因此可以獲取更高的檢測速度.在此基礎上,文獻[8]引入MobileNet網絡,能使模型擁有更快的收斂速度.然而,單階段模型在快速檢測的同時會損失一定的檢測精度.對于兩階段模型,在檢測過程中需不斷進行檢測和分類,以時間成本換取更精準的定位.如Girshick 等[9]提出的R-CNN(region-based convolutional neural network)模型就是目標檢測任務中兩階段模型的重要參考框架,已被許多方法所借鑒.該網絡通過聯合選擇搜索(selective search,SS)方法和卷積神經網絡,對原始輸入圖像提取多個候選區域,最后通過分類與回歸網絡實現輸入圖像中目標的檢測和分類.在此基礎上,Girshick 等[10]引入空間金字塔池化網絡(spatial pyramid pooling networks,SPP-Net)對RCNN 進行改進,提出Fast R-CNN 模型,通過將輸入圖像的特征提取次數減少為一次,從而加快檢測速度.經過R-CNN 和Fast R-CNN 網絡的沉淀,Faster R-CNN 網絡[11]于2015 年被提出,相較于R-CNN 和Fast R-CNN 網絡,Faster R-CNN 網絡使用區域建議網絡(region proposal network,RPN)代替傳統的滑動窗或SS 方法構建目標候選區域,并通過端到端的網絡設計,在檢測精度和檢測速度上均有明顯提升.然而,上述目標檢測框架目前仍存在許多問題有待解決,如其主干網絡對特征的提取易受背景噪聲干擾、深層卷積操作易丟失空間細節信息、未考慮目標的多尺度屬性等.
近年來,研究人員提出了一種新穎的Res2Net模塊[12],可以在減少參數的同時獲取輸入圖像的多尺度信息.自注意力機制理論被首次引入深度學習[13],基于注意力機制的深度網絡模型已在目標檢測、重識別等計算機視覺領域得到廣泛應用[14?15].為此,本文引入Res2Net 模塊,聯合注意力機制,提出了基于空間-通道注意力結構改進的Res2Net(spatialchannel attention Res2Net,SCA-Res2Net)模塊,在自適應建模目標多尺度信息的同時,抑制背景干擾并保留更多空間結構信息.進一步,為學習目標的深度和全局信息,并在一定程度上克服過擬合問題,結合加權SPP-Net(weighted SPP-Net,WSPP-Net)思想[16],本文提出了一種多尺度注意力學習的Faster R-CNN(multi-scale attention-driven Faster R-CNN,MSAF RCNN)口罩人臉檢測模型,實現疫情環境下公共場所中口罩人臉目標的智能檢測.
原始Faster R-CNN 網絡是目標檢測任務中的重要框架之一,包含以下4 個部分:
1)主干網絡:用于提取輸入圖像特征表示同時為RPN 網絡提供有效的輸入特征.常用的特征提取網絡有ResNet50[17]、MobileNet[18]、VGG16[19]等.
2)RPN 網絡:接收主干網絡提取的特征表示,并構建檢測目標候選區域.
3)感興趣區域(region of interest,ROI)池化層:將候選區域映射至特征圖,并將其池化為統一尺度,用于后續的檢測與分類.
4)分類與回歸:對特征區域各目標類別進行分類,并利用邊界框回歸修正目標框得到精確的位置偏移量.
盡管Faster R-CNN 網絡已被廣泛應用于許多計算機視覺目標檢測應用中,但仍存在以下幾方面問題:1)Faster R-CNN 網絡容易受到圖像整體顏色、紋理、背景等干擾,常造成誤檢、漏檢等情況;2)堆疊多層卷積和池化層的方式會很大程度丟失原始圖像的空間結構信息;3)未充分考慮輸入圖像的多尺度信息.
針對Faster R-CNN 網絡存在的問題,本文提出了MSAF R-CNN 口罩人臉檢測算法.其中,為有效提取和融合目標的多尺度特征,提出SCA-Res2Net模塊,實現主干網絡深、淺層特征有效融合,同時構建目標的多尺度候選區域.進一步,為充分學習目標的深度和全局信息,并減輕過擬合,在模型頂端引入WSPP-Net,采用由粗到細的方式進行特征尺度劃分,實現多尺度口罩人臉檢測.
多尺度學習在卷積神經網絡相關的研究中越來越廣泛,近期的許多研究也表明引入多尺度思想可以自適應地刻畫目標的尺度特性,增強模型的魯棒性.傳統的深度學習中多尺度思想實現方式大多考慮使用不同尺度的卷積核或反復進行高分辨率的卷積以提升網絡的自適應能力[20],但會導致過多的參數和冗雜的結構.因此,為捕捉更細粒度的全局和局部特征與感受野的變化,得到更簡潔清晰的結構.文獻[12]在傳統的ResNet 結構基礎上,提出Res2Net模塊,通過將輸入特征劃分為分不同組別,并在殘差塊內實現分層連接,提升了模型結構的可選擇性和多尺度特征提取的有效性.
如圖1 所示為Res2Net 模塊的內部結構示意圖,該模塊采用更小尺寸的 3×3卷積核組進行替換,用小尺寸的卷積核捕捉細粒度更高的特征;同時,對輸入特征圖進行分組,以殘差的形式將各組連接.

圖1 Res2Net 模塊Fig.1 Res2Net module
首先,為降低計算復雜度,輸入特征經過一個1×1 的卷積層得到X∈RH×W×C,其中:H、W和C分別為卷積核的高、寬和通道數.然后,沿著通道維度將其分成s組,每組特征子集記為xi∈RH×W×C/s,i=2,3,···,s,第i組對應卷積層記為Fi,其輸出記為fi.除了第1 組外,其余所有xi分別通過1個3×3的卷積層,且當i>2 時,融 合xi與fi?1并通過1層3×3的卷積層,得到第i個分組的輸出.其次,融合各組輸出并通過一個1×1 的卷積層.上述過程定義如式(1),最后,將輸入特征與式(1)輸出融合得到Res2Net模塊的輸出特征.

因此,通過Res2Net 模塊內殘差結構,整個結構可以有效提取全局和局部特征,并在計算載荷相近的情況下,以更細粒度表示多尺度特征,并提升每個網絡層的感受野.
但Res2Net 模塊仍存在一些問題:1)如果輸入特征圖包含大量冗余信息,進行塊內殘差連接后,特征的有效性依然無法滿足期望,可能會導致局部過擬合,在更多無效目標上投入更大的權重;2)在經過塊內殘差連接后,雖然得到了更深層、更有判別力的特征,但也會造成輸入特征圖的空間信息出現更大程度的丟失.
為解決上述問題,引入通道注意力模塊(sequeze and excitation network block,SE block)[21]和空間注意力模塊(spatial attention block,SA block)[22],提出的SCA-Res2Net 模塊如圖2 所示.在第2 個 1×1的卷積層后增加2 個SE block 和1 個SA block,并將輸入特征于第1 個SE block 后級聯,從空間和通道維度增強有效的多尺度判別信息,抑制背景干擾信息,并通過殘差結構減輕輸入特征空間信息的丟失.

圖2 SCA-Res2Net 模塊Fig.2 Structure of SCA-Res2Net module
當學習到局部和全局深度特征后,結合注意力機制,模型可以直接捕捉面部判別信息,完成識別任務.但實際中,由于頭部的移動,原始圖像中的人臉尺度發生變化,可能會產生面部模糊使檢測難度增加.
WSPP-Net 的核心思想是通過將特征按尺度劃分為由粗糙到細致的不同組別,最后由局部特征聚合確定輸出特征.可以將WSPP-Net 嵌入多種模型中[23-25],對抗尺度變換帶來的檢測困難,且能在一定程度上緩解過擬合問題,在幾乎不對模型整體產生影響的情況下增強復雜模型的性能.本文通過在WSPP-Net 模塊前端設置2 個DW(depthwise separable)卷積結構,并將池化后的特征級聯,提高整個模型的多尺度學習能力,進而獲取目標的判決特征,見圖3.

圖3 WSPP-Net 模塊Fig.3 Structure of WSPP-Net
因此,為了從粗粒度到細粒度擴充分類特征信息量,MSAF R-CNN 模型頂端引入WSPP-Net 模塊,經過不同尺度的最大池化層學習目標的全局信息,并通過FC 層聚合多尺度信息,最終利用分類與回歸網絡得到人臉檢測結果.
基于2.1 和2.2 節,將SCA-Res2Net 模塊引入到主干網絡和RPN 網絡,聯合WSPP-Net 模塊,挖掘圖像深、淺層特征的空間、多尺度等屬性,提出MSAF R-CNN 口罩人臉目標檢測模型,如圖4 所示.

圖4 MSAF R-CNN 模型Fig.4 MSAF R-CNN model
首先,采用DW 卷積結構對主干網絡進行輕量化,減少模型參數.然后,考慮到淺層特征中包含更多細節信息,因此將DW6 與主干網絡最后一層輸出融合,并通過改進的SCA-Res2Net 模塊,在有效融合深、淺層特征的同時,挖掘目標多尺度屬性,并充分考慮輸入圖像的空間-通道信息,提升局部信息判別力.其次,將SCA-Res2Net 模塊引入RPN 網絡,構建更完備的多尺度候選區域.此外,借鑒文獻[26]中思想,計算感興趣區域掩膜mask,濾除背景干擾,增強目標顯著性.最后,通過在網絡頂端引入WSPP-Net 模塊,學習目標的全局特性,減輕過擬合現象,提升復雜模型的檢測性能.
實驗環境配置如下:Intel i7-10700K 處理器,內存16 GB,Nvidia GeForce RTX 2080s 顯卡,Windows 10 操作系統.所有程序均基于TensorFlow 框架設計,并通過Python 編程語言實現.
本節實驗使用2 組開源口罩人臉目標檢測數據集,并統一將2 組數據集轉換成VOC 2007 數據集格式.
第1 組AIZOO 數據集(https://github.com/AIZOOTech/FaceMaskDetection)是目前廣泛使用的開源口罩人臉數據集之一,圖像由WIDER[27]和MAFA[28]數據集中選取并統一標注.此外,AIZOO公司也針對該數據集開源了基于Faster R-CNN 和RetinaNet[29]等多種常見模型的源程序.由于部分圖像格式問題,實驗中對AIZOO 數據集進行挑選,保留包括人臉圖像共7959 張,其中,訓練集包含6120 張人臉數據(3114 張無遮擋和3006 張有遮擋),測試集包含1839 張人臉數據(780 張無遮擋和1059 張有遮擋).第2 組人臉數據集是Kaggle 官網公布的FMDD(face mask detection dataset)數據集(https://www.kaggle.com/wobotintelligence/face-mask-detectiondataset),包含3383 張人臉圖像.實驗中只選取20 個類別中的“face_no_mask”類和“face_with_mask”類用于性能驗證.訓練集包含2706 張人臉圖像(778 張無遮擋和1928 張有遮擋),測試集包含677 張人臉圖像(537 張無遮擋和140 張有遮擋).AIZOO 和FMDD 數據集的部分圖像分別如圖5(a)和圖5(b)所示.此外,為了便于后續分析,將無口罩遮擋的類別命名為“Face”,而將有口罩遮擋的類別命名為“Mask”.

圖5 數據集部分圖像Fig.5 Partial images of datasets
不同于常規目標的檢測,本實驗主要檢測對象為人臉.考慮到AIZOO 訓練集中較小人臉偏多,在訓練AIZOO 數據集時將目標候選框(anchor)的縮放比由{8,16,32}調整為{2,4,8,16}.而對于FMDD數據集,由于該數據集中人臉目標相對較大,該數據集下的anchor 的縮放比仍設置為{8,16,32}.此外,考慮到實際人臉結構的特點,實驗中取消了2∶1 的縱橫比,因此,將anchor 的縱橫比由{1∶2,1∶1,2∶1}調整為{1∶2,1∶1}.
疫情防控影響深遠,對人臉漏檢或誤檢都有導致疫情傳播的風險.因此,本文選用平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)作為人臉檢測算法的評價指標,AP和mAP 計算分別如式(1)、(2).

式中:N為總類別數;Pi為第i類的查準率;P(R)為由查準率(P)和召回率(R)構成的曲線,其計算如式(4).

式中:TP、FP和FN分別為正類被識別為正類、負類被識別為正類和未識別的正類被標記為負類的數目.
MSAF R-CNN 模型包含3 組重要參數:SCARes2Net 模塊中分組數與壓縮比和WSPP-Net 模塊多尺度窗口大小.
3.4.1 分數組
SCA-Res2Net 模塊中分組數過小會使特征的提取欠完備,過大會使模型網絡過深.本實驗將分組數分別設置為{2,4,6,8,10}共5 種情況.在其余實驗設置不變的條件下進行對比實驗,結果如表1 所示.表中黑體數據表示最優結果,后文同.
根據表1,對于AIZOO 和FMDD 數據集,當分組數由2 增加到10 時,所提出模型的檢測準確度mAP 值均呈現先上升后降低的趨勢.盡管在FMDD數據集中,當分組數為8 時Mask 類能獲得更高的準確度,但過深的網絡層數在一定程度上會導致過擬合問題,進而影響整個模型的檢測性能.因此,對于這兩個數據集,固定分組數為4 能使得所提出MSAF R-CNN 模型同時兼顧網絡深度和檢測性能.

表1 不同分組數實驗結果Tab.1 Experimental results under different numbers of groups %
3.4.2 壓縮比
SE block 可以從特征通道維度自適應改善SCARes2Net 模塊多尺度特征學習能力,同時在局部感受野上,將空間信息和通道信息有效融合.因此,恰當的壓縮比設置可以使模型獲得更好的檢測性能.實驗中,壓縮比取值范圍設置為{10,12,14,16,18},不同壓縮比的實驗結果如表2 所示.

表2 不同壓縮比實驗結果Tab.2 Experimental results under different compression ratios %
由表2 可見,對于AIZOO 和FMDD 兩個數據集,隨著壓縮比的增加,整個模型的準確度mAP 值呈現先上升后降低的趨勢.因此,對于這兩個數據集,MSAF R-CNN 模型中壓縮比的取值均為16.
3.4.3 多尺度窗口大小
為有效捕捉人臉的全局信息,在模型頂端引入WSPP-Net,并采用FC 層聚合多尺度信息,提升復雜模型的性能.WSPP-Net 不同窗口大小的選取會影響分類與回歸部分的學習能力.實驗中,將窗口大小分別設置為{15,31,62,124}、{25,51,102,204}、{35,71,142,284}、{45,91,182,364}并按順序簡記為S1~S4.不同窗口大小實驗結果如表3 所示.

表3 WSPP-Net 不同多尺度窗口大小實驗結果Tab.3 Experimental results under different window sizes in WSPP-Net %
對于兩個不同的人臉數據集,當多尺度窗口大小為S2 時,所提出模型的mAP 值均達到最優.繼續增大池化核的尺寸會使特征的局部表征模糊化,造成特征信息丟失,進而導致整個模型檢測性能下降.
基于上述分析,對于這兩個不同的人臉數據集,當SCA-Res2Net 模塊分組數設置為4、壓縮比為16 且WSPP-Net 模塊多尺度窗口大小為{25,51,102,204}時,所提出MSAF R-CNN 模型均能獲得最優檢測性能.實驗結果證明了所提出模型具有較好的準確度和魯棒性,同時也說明了模型能有效適應于不同的人臉數據集.
為突出所提出MSAF R-CNN 的有效性,實驗中選擇基于MobileNet 網絡的SSD 檢測算法(模型1)、基于RetinaNet 的目標檢測模型(模型2)、基于MobileNet 網絡的Faster R-CNN 模型(模型3)和基于VGG16 網絡的Faster R-CNN 模型(模型4)作為對比模型,并進行實驗和對比分析.實驗結果如表4所示.

表4 不同檢測方法的性能Tab.4 Performance of different methods %
對于AIZOO 數據集,相比于其他4 種模型,MSAF R-CNN 不僅在mAP 值上分別提升了7.62%、0.22%、0.53%和0.26%,而且在口罩遮擋人臉的情況下,依然能獲得12.22%、0.53%、0.66%和0.38%的提升.而對于FMDD 數據集,MSAF R-CNN 在mAP 值上分別提升了6.71%、0.48%、1.5%和1.11%.實驗結果驗證了本文引入多尺度特征融合和注意力機制思想進行聯合學習的有效性,同時也驗證了相比于傳統深度學習檢測方法,所提出MSAF R-CNN模型具有更好的檢測性能.
為進一步驗證MSAF R-CNN 模型中各個模塊的有效性,本文將去除感興趣區域掩膜mask 后的模型記為模型5,去除SCA-Res2Net 模塊的模型記為模型6,去除WSPP-Net 模塊后的模型記為模型7 消融實驗,結果如表5 所示.

表5 消融實驗結果Tab.5 Ablation experimental results of feature removal and fusion %
具體地,對比模型5 和MSAF R-CNN 模型,在引入Mask 后,2 個數據集的mAP 值分別提升了0.11%和1.16%,證明了感興趣區域掩膜可以濾除RPN 網絡中特征的干擾信息,提高整個模型的檢測準確度.相比于模型6,通過引入所改進的SCARes2Net 模塊,MSAF R-CNN 模型在2 個數據集上的準確度mAP 值分別提升了0.38%和0.68%,說明了引入深淺層特征融合與細粒度的多尺度特征學習對人臉目標檢測的有效性.此外,對比模型7 和MSAF R-CNN 模型,在移除WSPP-Net 模塊后,整個模型無法有效提取目標的深度和全局信息,進而影響最終的檢測結果.上述實驗結果證明了MSAF R-CNN 模型中引入的融合深淺層特征、SCA-Res2Net模塊和WSPP-Net 模塊對口罩人臉檢測的重要性和有效性.
針對在佩戴口罩等遮擋條件下人臉目標檢測困難的問題,本文提出了MSAF R-CNN 口罩人臉檢測模型.首先,在原始Faster R-CNN 模型中引入Res2Net模塊提取目標細粒度的多尺度特征.然后,結合通道和空間注意力機制構建SCA-Res2Net 模塊,自適應定位全局和局部有用多尺度特征.最后,在網絡頂端嵌入WSPP-Net 子模塊,從粗粒度到細粒度擴充分類特征信息量.在AIZOO 和FMDD 兩個人臉數據集上的實驗結果表明:相比現有深度學習方法,MSAF R-CNN 模型能實現更好的口罩人臉檢測性能,對后續的疫情防控工作有較好的應用前景.