任健,楊帆,張奕凡,王智捷,廖磊
(四川師范大學物理與電子工程學院,四川成都,610101)
深度學習技術的出現革新了目標檢測的模式,并提升目標檢測的精度和魯棒性。深度神經網絡提取多層尺度的特征,基于深度學習的目標檢測模型,相比于傳統方法,學習的特征更豐富,特征表達能力更強[1,2]。現代的目標檢測器可以大致的分為單階段[3,4,5,6]和兩階段[7,8,9,10]。兩階段檢測方法首先生成一系列區域提案,隨后對區域提案進行分類和回歸[11]。另一方面,單階段方法通過圖像上的常規采樣網格將默認錨框直接回歸和分類到框中,單階段主要在單尺度特征上進行不同尺寸目標的分類與定位,在精度以及速度等方面均有優勢[12]。
深度學習方法已應用于計算機視覺各個領域,如車牌識別,人臉檢測,遙感圖像目標檢測,自然場景文本檢測,醫學圖像檢測等等。目前沒有專門應用于人臉口罩檢測算法,深度學習的快速發展為解決計算機視覺等相關的問題提供全新的方案。
本文的主要貢獻如下:(1)構建了一個人臉口罩檢測的數據集,可用于人臉口罩佩戴的識別檢測等研究工作;(2)將目標檢測應用于口罩佩戴檢測,提出一種基于SSD 方法的口罩佩戴檢測方法,在SSD[4]目標檢測算法基礎上,將基準網絡替換為表征能力更強的殘差網絡ResNet,解決隨著網絡層數加深出現的性能退化問題[13],同時引入低層與高層的多尺度特征融合策略實現對自然場景中人臉口罩的實時檢測。
SSD 模型主要由一個基礎網絡塊和多尺度的特征塊級聯而成。位于前端的基礎網絡塊一般選用深度卷積神經網絡提取原始圖片特征在多尺度下提取位于后端的級聯多尺度特征檢測網絡前端網絡產生的特征[15],使特征圖中每個單元輸入圖像的感受野更廣闊,更適合檢測尺寸較小的目標[4]。SSD 檢測目標時,生成多個不同尺度的預測框,并通過預測框的類別和偏移量實現目標檢測,如圖1 所示:各個尺度相互獨立,不考慮不同尺度特中層間映射關系,層與層之間關聯性較弱,導致特征細節信息利用不充分。

圖1 SSD 框架
SSD 采用多尺度的方法獲得多個不同尺寸特征圖[35],大小分別為(38,38),(19,19),(10,10),(5,5),(3,3),(1,1)。考慮模型檢測采用m 層特征圖,第k 個特征圖的默認框比例計算公式如下:


在SSD 算法中,目標損失函數的設計思想與MultiBox類似[14],并將其擴展為可處理多個類別的目標函數。網絡訓練的損失函數包括置信度損失和定位損失,即

基礎網絡對輸入的圖片數據進行特征提取,并將特征送入后續網絡進行訓練。SSD 算法采用VGG-16 作為基礎網絡,具有加深神經網絡層數提升模型效果,且對其它數據集泛化能力較強,由于隨著網絡層數加深,精度出現不升反降現象,并引入跳躍連接機制降低提取特征的冗余度,解決層數增加出現的性能退化問題[13],ResNet 允許網絡更深,全連接密集層代替全局平均池操作,模型的尺寸更小,表征能力更強。選取conv2_x,con3_x,conv4_x,conv5_x,conv_7_x,conv8_x,conv9_x 特征提取層。圖2 為經過網絡替換后的網絡結構圖:

圖2 SSD(with ResNet)框架
3.2.1 反卷積操作
通過卷積操作提取圖片中的特征,低層的卷積層提取圖片邊緣、線條、角等特征,高層的卷積從低層的卷積層中學到更復雜的特征[12]。反卷積對特征圖上采樣,將低維局部特征映射為高維向量,學習更多上文信息。SSD 網絡結構中低層的特征圖中具有豐富的邊緣信息,高層的特征圖具有較多的語義特征。設步長s,輸入特征大小i,濾波器大小k,擴充值p,有:

本次實驗中設計i=3,s=1,k=3,p=0。將conv4_3 映射至conv7 層,設該映射層為conv7f,同理,將conv7 映射至con8_2 層,設該映射層為conv8_2f。融合反卷積操作提取層如圖3 所示:

圖3 融合反卷積操作提取層
3.2.2 空洞卷積操作
在圖像分割領域中,池化操作減少圖像尺寸增大感受野,上采樣操作實現擴大尺寸,在池化和上采樣圖像尺寸變化過程中損失部分信息,設計空洞卷積在不丟失信息的情況下增大卷積層感受野,改善對小目標的表達。本文中設計卷積核3×3,擴張dilation 為2 的空洞卷積,感受野計算公式為:


圖4 融合反卷積操作提取層
3.2.3 網絡結構
SSD 檢測目標時,生成多個不同尺度的預測框,不考慮不同尺度特征層間映射關系,層與層之間關聯性較弱。本文優化SSD 目標檢測算法的網絡結構,選擇表征能力更強的基礎網絡ResNet-50。特征層融合機制將多個特征層的信息融合,空洞卷積操作將低層與高層的特征圖融合,明顯提高分類網絡的感受野范圍,促使模型學習更多的全局信息;反卷積操作將高層的特征圖和低層的特征圖融合,提高低層特征層檢測小目標的能力,增強模型的語義表征能力。該連接方式使改進后的網絡可在同一特征層上將目標的不同尺度考慮在內,增強模型的泛化能力。
以conv7 為例,conv7 從SSD 中繼承而來,通過conv4_3反卷積操作映射生成conv7f,通過conv8_2 空洞卷積操作映射生成conv7d,改進SSD 的網絡結構如圖5 所示。

圖5 改進SSD 網絡結構
本實驗的數據集基于香港中文大學Yang Shuo 等制作的人臉數據WIDER FACE[16],并從網絡爬取,實地采集和算法合成7106 張關于佩戴口罩與未佩戴口罩的自然場景人臉口罩數據集。數據通過準確的人工標注,標注類別分為佩戴與未佩戴,所有圖片均為彩色。數據集樣例圖6。

圖6 數據集
本文的實驗環境如表1 所示,并設置訓練階段的重要參數,如表2 所示。

表1 實驗平臺

表2 訓練參數
在訓練過程中,模型的損失和精度變化是重要的兩個變量,模型經過35000 次迭代,loss 最終下降至0.2 附近,模型的精度上升至97.7%附近。此外,在測試數據集對模型性能進行評估,如圖7 所示,最終right 標簽的單類AP 為92.89%,no 標簽的單類AP 為88.41%

圖7 right P-R 和no P-R
算法改進前后的實驗結果如表3 和圖8 所示,本文算法通過改進在人臉檢測和口罩佩戴檢測方面相比SSD 均有提高,綜合測試由原SSD 的82.37%提升至90.65%。本文算法取得較好的檢測效果,對于優化后訓練包含小尺寸目標時本文算法的檢測效果相比SSD 提升較大,對于部分受到遮擋的目標,本文算法相比優于SSD 檢測能力。

表3 方法改進前后對比

圖8 精度對比圖
本文通過對基礎網絡的替換,以及多尺度特征融合方法實現對SSD 算法的改進,實驗通過在本文建立的7106 張圖片數據集訓練以及評估,結果顯示該方法可以有效檢測自然場景人臉口罩,平均精度達90.65%,證實了本文算法框架的合理性。