?

基于殘差結構的SSD口罩檢測

2022-01-09 05:19董艷花張樹美趙俊莉
計算機技術與發展 2021年12期
關鍵詞:殘差特征提取人臉

董艷花,張樹美,趙俊莉

(青島大學,山東 青島 266071)

0 引 言

2019年12月以來[1],全球爆發了新型冠狀病毒肺炎(COVID-19)疫情,由于該病毒可以通過接觸或者空氣中的飛沫、氣溶膠等載體進行傳播,具有極強的傳染性,所以在國家衛生健康委員會發布的《新型冠狀病毒感染肺炎預防指南》的強調下,人們外出時需通過正確佩戴口罩、勤洗手等措施進行有效防護,從而降低被病毒傳染的機率[2]。而且專家們預估此病毒在短時間內不會消亡,也許會長期伴隨人類生存,在有效的疫苗批量生產之前,尤其在如今出現“環境傳人”的情況下,為了進一步防范病毒傳播,佩戴口罩外出公共場所是每個人應盡的義務,需要個人自覺遵守,也需要一些設備進行強有力的監督和管理人們是否佩戴口罩,所以目前對有口罩遮擋的人臉進行口罩檢測的研究迫在眉睫。

近年來隨著深度學習和神經網絡的快速發展,雖然還沒有專門針對口罩檢測的算法,但基于深度學習的目標檢測方法在醫學影像檢測、遙感圖像檢測、車輛檢測及文本檢測等領域都有著廣泛應用[3-10]。目前基于深度學習的目標檢測方法主要包含兩類。其中Two-stage是先由算法生成一系列作為樣本的候選框,再通過卷積神經網絡進行樣本分類。例如,Girshick等人[11]為了解決特征提取重復計算的問題,提出一種基于快速區域的卷積神經網絡(fast region-based convolutional network,Fast R-CNN)方法,巧妙地將目標識別與定位放在同一個CNN中構成Multi-task模型,相比于R-CNN,Fast R-CNN不僅提高了訓練和測試速度,同時提高了檢測精度。隨后針對基于深度學習的目標檢測框架能不能把潛在候選區域的提取納入CNN框架內這一問題,Ren等人[12]提出Region Proposal Network,將潛在的候選區域提取納入CNN框架內,與檢測網絡共享整張圖片的卷積特征,節約計算成本,且解決Fast R-CNN算法生成正負樣本候選框速度慢的問題,同時避免候選框提取過多導致算法準確率下降的問題。雖然Two-stage目標檢測算法有較高的檢測率,但其檢測速度卻很低,所以目前針對另一類目標檢測算法One-stage的研究得到廣泛關注,該類算法直接將目標邊框定位的問題轉化為回歸問題處理,不需要生成候選框階段,比較經典的算法有Redmon等人[13]提出的YOLO(you only look once)目標檢測算法,可以一次性預測多個回歸框位置和類別,極大地簡化了目標檢測的流程,將檢測速度提升到了58.5幀的實時檢測水平。但由于丟棄了候選區域生成這一步驟,導致檢測精度不是很高,為了兼顧檢測精度和速度,Liu等人[14]提出了基于全卷積的單一網絡SSD(single shot multibox detector)的目標檢測算法,用不同尺度和長寬比進行抽樣,并利用CNN提取不同尺度的特征圖后直接進行類別判定和位置回歸,減少了訓練參數,提高了檢測速度并解決多尺度檢測問題,使得SSD成為目前目標檢測的常用方法。但SSD對小目標的檢測效率很低,主要由于SSD前幾層的特征圖較大,語義信息卻不夠,后面層的語義信息足夠,卻因經過太多的池化層,造成后面的特征圖太小,而人臉檢測屬于密集小目標檢測,需要足夠大的特征圖來提供更加精細的人臉特征,并進行更加密集的采樣,同時需要足夠的語義信息來與背景區分開,才能實現高效的人臉檢測。針對該問題,楊少鵬等人[15]提出一種基于特征圖融合的小尺寸人臉檢測方法,通過合理選擇不同的待檢測特征圖,檢測不同大小的人臉,然后將較深的特征圖和較淺的特征圖進行融合,合理地引入上下文信息,從而提高小尺寸人臉的檢測精度。

通過上述對目標檢測相關算法的研究,發現SSD網絡在目標檢測精度和速度上都優于Faster R-CNN和YOLO。因此,文中利用SSD進行人臉佩戴口罩的檢測。但SSD網絡較低的特征層需要同時學習局部信息和高層信息,這種雙重任務會增加訓練學習的難度,降低檢測精度。所以為學習高層的有效特征,文中利用殘差網絡“跳線”的特征對SSD進行改進,提出了一種基于深度殘差的SSD網絡,將局部信息和高層信息兩種學習任務加以區分,對整張人臉圖像進行特征學習,實現快速精準的口罩檢測。

1 基于殘差結構的SSD口罩檢測

傳統SSD是一種以VGGNet為基礎網絡的端到端的目標檢測神經網絡,其借鑒了Faster-RCNN的多尺度滑框和YOLO網格離散化的思想,在不同層的特征圖上進行不同尺度目標的預測,在PASCALVOC數據集上達到了與Faster RCNN一致的檢測精度(77.2%);比YOLO的檢測精度高13.8%;又通過神經網絡的各層特征之間的上下層的連接關系,對圖片僅進行一次前向傳播提取特征,就可以快速準確地檢測多個不同尺度的目標,達到YOLO的檢測速度,其網絡結構如圖1所示。

圖1 SSD網絡結構

通過圖1可以發現,SSD將VGG16的最后兩層全連接改成3×3和1×1的卷積層進行特征提取,即Conv6層和Conv7層。在檢測時使用Conv4_3,Conv7,Conv8_2,Conv9_2,Conv10_2,Conv11_2這些大小不同的特征層同時進行Softmax分類和位置回歸,并對這6個特征圖設置不同的尺度或者不同的長寬比進行預測,預測的邊界框都是以先驗框為基準,在一定程度上減少了訓練難度。但SSD在低層特征提取時需要維護低層局部信息,又要學習高層次的抽象信息,將會引發SSD雙重任務學習問題,進而增加該網絡模型的訓練學習難度,導致其檢測識別口罩的精度出現退化。而He等人[16]提出的深度殘差網絡,通過“跳線”的方式解決了淺層網絡無法提高網絡的識別精度及網絡加深時出現梯度消失或爆炸等問題。該網絡一般由一系列殘差塊組成,殘差塊包含直接映射部分和殘差部分。假設一般的卷積神經網絡將輸入的x學習到的特征記為H(x),而殘差網絡希望學習的殘差為F(x)=H(x)-x,所以原始的學習特征是H(x)=F(x)+x。該網絡通過在2個或3個卷積層之間添加“跳線”的方式實現F(x)+x,這樣可以學習到相鄰層網絡的殘差,并將低層特征映射到疊加層與高層特征相加作為輸出,這樣就避免了在層層映射過程中,由于權重過小導致梯度消失的現象,形成的雙分支或三分支結構可以有效提升網絡訓練速度,其結構如圖2所示。

圖2 殘差塊結構

SSD利用多尺度的思想提高了檢測精度和速度,成為目前最常用的目標檢測網絡,但該網絡同時存在雙重任務學習導致檢測精度退化的問題。所以該文受殘差網絡的啟發,對SSD進行改進,提出一種基于殘差結構的SSD網絡(residual single shot multibox detector,ReSSD),實現人臉口罩檢測。其網絡結構如圖3所示。ReSSD整個網絡包含特征提取及檢測網絡、殘差塊、分類定位層和非最大值抑制(NMS)四部分。

圖3 ReSSD口罩檢測網絡

因為經典SSD使用VGGNet多層卷積層來檢測目標會導致圖像分辨率顯著降低,但無法準確檢測到圖像中的小目標,所以ReSSD網絡先以4個3×3的卷積做串聯進行特征提取,防止圖像分辨率下降,并在前三個卷積層后分別添加2×2且strid=2的最大池化層進行下采樣,實現人臉口罩圖像降維、冗余信息的去除,然后輸出一個特征圖,用來檢測圖像中的小目標,再通過增加5個3×3的卷積做特征提取,分別輸出5個特征圖。由于6個不同尺度的特征圖包含不同的語義特征和位置敏感性,所以ReSSD網絡利用6層不同大小的特征圖做口罩檢測,保證了主干網絡能充分提取特征的能力,然后在6個特征圖進行分類定位前添加殘差塊,使特征提取網絡和分類定位層進行分離,進而使得進入分類定位層的卷積特征更加抽象,能有效避免網絡退化現象,解決深層網絡訓練時梯度消失或梯度爆炸的問題,并維護了特征提取網絡的穩定性,促使ReSSD網絡的檢測精度得到一定的提升。其殘差單元結構如圖4所示。

圖4 殘差單元結構

為了防止分類定位層的梯度直接倒流回特征提取網絡,圖4的殘差單元結構中每個卷積層后都添加了一個BN層和ReLU非線性激活函數,并利用兩個1×1的卷積用來改變卷積特征圖的通道數。和3個連續的3×3的卷積相比,該結構可以節省網絡參數,減少計算量,提高ReSSD人臉口罩的檢測速度。

為提高ReSSD網絡的訓練速度和檢測效率,文中優化了經典的SSD位置誤差和置信度誤差損失函數,利用交叉熵損失函數解決戴口罩和未戴口罩的二分類問題,并利用smooth L1 loss損失函數解決口罩位置的回歸問題,然后將分類和位置回歸做加權計算,并將損失平衡權值參數λ設為0.2,實現人臉佩戴口罩特征和人臉未戴口罩特征的定位和分類??偟膿p失函數表示為:

(1)

最后ReSSD網絡經過定位和分類層后,同一張人臉口罩圖片或人臉圖片會產生大量存在重疊的預測邊框,每個預測框都有一個置信度得分,通過引入非極大值抑制并設定預測框和標注框的交疊率(intersection-over-union,IoU)閾值為0.5進行匹配,可以準確定位到檢測目標的位置,具體流程如下:(1)將每個預測框按照置信度得分從大到小排序,選中置信度最高的預測框;(2)遍歷其余的預測框,如果和當前置信度最高的預測框的IoU小于設定的閾值,便將其從預測框列表中刪除;(3)從未處理的框中繼續選擇一個得分置信度最高的預測框,重復操作上述過程,直到沒有滿足條件的預測框為止。NMS該流程實現在眾多預測框中去除多余框,從而找到人臉口罩的最佳位置。非最大抑制示例圖如圖5所示,對輸出的3個預測框進行排序{0.758,0.786,0.931},以0.931作為檢測到的人臉口罩框,計算其余的框與該框的IoU,從而排除0.758和0.786兩個預測框,得到右圖最終的口罩檢測結果。

圖5 非極大值抑制示例圖

2 實驗結果與分析

2.1 實驗數據集

由于今年全球新型冠狀病毒肆無忌憚地傳播,人們出行必須佩戴口罩進行防護,為以后國內外人員研究人臉口罩提供便利,武漢大學國家多媒體軟件工程技術研究中心經網絡爬取,整理清洗和標注處理等過程,制作了真實口罩人臉識別數據集RMFD。該數據集包含525人的5千張口罩人臉和9萬張不戴口罩人臉,分別存放在各自名字的文件夾下。文中采用RMFD,選擇其中120人對應的戴口罩和不戴口罩圖片,其中不戴口罩的圖片相對充足,但圖像尺寸不統一或姿態多樣性不利于實驗的模型訓練,且戴口罩的數據相對較少,所以需要對這120人的人臉數據進行批量數據增強,通過水平翻轉、隨機裁剪、多尺度及顏色渲染等方式,最后分別得到每人300張無口罩遮擋圖片和300張戴口罩圖片用于實驗,從而提高人臉口罩識別的精度和泛化能力。選擇數據集的80%做訓練集,剩余20%做測試集,數據增強示例圖如圖6所示。

圖6 數據增強

文中所有算法均在Windows10 64位操作系統下基于Tensorflow深度學習框架用Python語言編寫,另外使用CUDA10.0版本的GPU加速器,在訓練模型時均采用隨機梯度下降(stochastic gradient descent,SGD)優化模型。

2.2 實驗結果分析

(1)ReSSD口罩檢測結果分析。

文中使用目標檢測中的平均精度AP(average precision)、平均精度均值mAP(mean average precision)及每秒運行幀率FPS(frame per second)來客觀評價ReSSD對口罩檢測的效果。其中mAP是目標檢測中最常見的評價指標,mAP的值是由準確率和召回率(precision-recall,p-r)的相關曲線來決定的,p-r曲線包圍的面積兼顧了p和r兩方面因素,能全面客觀地評價某類檢測器的精度表現。該指標就是多類別檢測下對AP取平均值,上述指標公式為:

(2)

(3)

(4)

其中,tp是正確檢測到的目標數量,fp是錯誤檢測到的目標數量,fn是漏檢的目標數量。文中根據正確檢測正樣本的檢測率和被錯誤檢測到的正樣本數量的關系繪制出了ROC曲線圖,用來表示ReSSD和SSD分別對口罩檢測的性能,如圖7所示,其中橫坐標由被錯誤檢測的正樣本數量表示,縱坐標由正確檢測正樣本的檢測率表示。

圖7 ROC曲線

由圖7可知,被錯誤檢測的正樣本數量低于100時,ReSSD和SSD對口罩的檢測效率不相上下,而樣本數在100~500之間時,ReSSD和SSD口罩檢測率都持續增長,但ReSSD均明顯優于SSD,當樣本數達到500時,ReSSD和SSD的口罩檢測率趨于平穩,但ReSSD檢測率達到0.9以上,而SSD檢測率在0.8附近。綜上所述,ReSSD對口罩的檢測性能相比于SSD對口罩檢測的性能更優。

基于平均檢測精度、平均精度均值及運行幀率評價指標,將提出的ReSSD網絡進行實驗和評估,設置IoU為0.4,對輸入260×260圖像進行模型訓練。為對比分析,對SSD在相同數據集下也進行實驗,經迭代50 000次后的檢測效果對比如表1所示。

表1 ReSSD與SSD檢測效果對比 %

由表1可知,加入殘差結構的ReSSD的確能提升傳統SSD模型對口罩的檢測精度及速度。其中ReSSD對沒戴口罩的檢測AP比SSD提高2.7%,對戴口罩的檢測AP比SSD提高12.1%,mAP也提高了7.4%,這主要得益于深度殘差結構比普通的卷積結構具有一定的優勢。由于深度殘差結構使用“跳線”連接,使ReSSD網絡中比較靠前的特征圖能夠學習局部特征傳輸給下一層級的特征圖,也能學習高級特征用于檢測,該“跳線”方式能夠將網絡的高一級特征和低一級特征進行簡單的融合,使網絡訓練學習時不會造成梯度消失,從而使學習到的參數更加有效,促進ReSSD在口罩檢測精度上的提升。從運行幀率的對比也能發現,ReSSD比SSD提高了1.4%,表明ReSSD在網絡結構上雖比SSD復雜,但并沒有影響其檢測速度,意味著ReSSD網絡比SSD更具優越性。

為更加直觀地感受ReSSD對口罩識別的有效性,利用圖8展示了ReSSD口罩檢測識別的示例圖,其中(a)(b)(c)分別是同一人的人臉圖片、人臉口罩圖片和非口罩遮擋的人臉圖片及其檢測效果,并給出戴口罩和沒戴口罩的識別準確度??梢钥闯?,ReSSD不僅可以高效地識別人戴沒戴口罩,而且針對非口罩遮擋人臉也可以有效識別出沒戴口罩。

圖8 人臉口罩檢測識別示例圖

(2)ReSSD在自然場景下的口罩檢測實驗。

為了驗證ReSSD的泛化能力及實用性,文中在自然場景下進行口罩檢測的實驗,通過網絡爬取自然場景下的人臉圖片,將其尺寸統一裁剪為500×400,實驗結果如圖9所示。

由圖9可知,在人臉圖像存在傾斜或不同光照影響下,ReSSD對人臉是否佩戴口罩均能夠高效率地檢測出來,表明該方法不僅僅在測試數據集下可以獲得顯著的檢測效果,在自然環境下仍可以獲得有效的檢測結果,體現了ReSSD較強的泛化能力。

(a)正面人臉口罩檢測

(b)無口罩遮擋人臉檢測

(c)暗光下人臉口罩檢測圖9 自然環境下口罩檢測效果圖

3 結束語

通過改進SSD目標檢測網絡,提出一種基于殘差結構的SSD網絡用來檢測人臉口罩佩戴情況。該方法通過添加殘差塊,使特征提取網絡和分類定位層進行分離,有效地解決SSD局部信息和高層信息學習的雙重任務及深層網絡訓練時梯度消失或梯度爆炸等問題,同時維護了特征提取網絡的穩定性。實驗結果表明,殘差結構網絡在人臉戴口罩和沒戴口罩的情況下能夠有效檢測,平均檢測精度達到92.3%,運行幀率為39.2%,且非口罩物體遮擋嘴部情況下,該網絡同樣能高效地識別出該人臉未戴口罩,證明了該網絡在檢測口罩上的優越性。同時,該網絡在自然場景下進行口罩檢測也獲得了顯著效果,證明了該網絡的有效性。但是人臉圖像存在嚴重傾斜或光線遮擋時,該網絡會出現漏檢或錯檢的情況,所以未來仍需加強對網絡的性能優化,提高其檢測精度。

猜你喜歡
殘差特征提取人臉
同步定位與建圖特征提取和匹配算法研究
多級計分測驗中基于殘差統計量的被試擬合研究*
基于殘差-注意力和LSTM的心律失常心拍分類方法研究
用于處理不努力作答的標準化殘差系列方法和混合多層模型法的比較*
融合上下文的殘差門卷積實體抽取
玻璃窗上的人臉
智力考場:有趣的圖片測試
基于MED—MOMEDA的風電齒輪箱復合故障特征提取研究
基于曲率局部二值模式的深度圖像手勢特征提取
“領家系”可愛臉VS“高冷系”美人臉
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合