王欣然,田啟川,張 東
1.北京建筑大學 電氣與信息工程學院,北京 100044 2.建筑大數(shù)據(jù)智能處理方法研究北京市重點實驗室,北京 100044
自2019年12月以來,一場突如其來的新冠病毒傳播疫情在我國乃至全球大范圍蔓延并爆發(fā)。根據(jù)世衛(wèi)組織最新統(tǒng)計數(shù)據(jù)顯示,截至北京時間2021年10月19日,全球累計新冠肺炎確診病例已達240 260 449例,死亡病例4 890 424例。目前,全球疫情形勢依舊十分嚴峻,印度、越南等國家疫情的二次爆發(fā),不斷變異的病毒變種的出現(xiàn),為各國的防疫工作帶來了新的挑戰(zhàn)。呼吸道飛沫是新冠病毒的主要傳播途徑[1],因此正確佩戴口罩可以有效阻擋病毒的侵襲。全球各國政府都制定了政策,鼓勵或要求民眾在難以保持社交距離的地方佩戴口罩。但是,仍然有一部分人因為戴口罩麻煩、佩戴時間長不舒服等原因不戴或者不規(guī)范佩戴口罩,極大增加了病毒傳播的風險。
為了監(jiān)管人員在人群密集的公共場所(如機場、車站等)中佩戴口罩,工作人員甚至專門被指派進行是否佩戴口罩的檢查。然而這種人工監(jiān)督的方式不但會消耗大量的人力資源,還極易出現(xiàn)誤檢、漏檢等情況,不能實時準確地監(jiān)控。利用監(jiān)控攝像頭等設備采集圖像,再結合深度學習方法可以實現(xiàn)人臉口罩佩戴與否的自動檢測,對當前的疫情防控具有重要的應用價值和現(xiàn)實意義。
人員佩戴口罩后,人臉最重要的口鼻區(qū)域被這些形狀、顏色各異的口罩大面積遮擋,部分五官特征被隱藏,可提取的關鍵特征點大大減少。特征信息的缺失以及隨之出現(xiàn)的噪聲混疊等問題使得原本的人臉檢測網絡性能急速下降,無法準確檢測出佩戴口罩的人臉目標,因此需要探尋新的方法解決口罩佩戴檢測問題。隨著深度學習在計算機視覺領域的飛速發(fā)展,利用深度網絡可以捕獲更多層次、復雜豐富的高級特征,達到更好的特征提取效果,因此受到了許多研究人員的青睞。在目標檢測領域,深度學習發(fā)揮出了強大的作用,現(xiàn)有基于深度學習的目標檢測模型無論在檢測準確率亦或檢測速度方面都有了質的提升。
近兩年,為了更好地進行疫情防控工作,涌現(xiàn)出了大量口罩佩戴檢測[2]的研究成果??傮w來看,這些檢測算法根據(jù)應用場景和目的的不同主要分為兩大類:一類是在卡口、門禁等位置進行檢測,人員距離采集設備近,通過攝像頭獲取的圖像質量較高,一張圖像中只含有一個人臉目標。這種應用場景被稱為主動場景,對檢測精度有一定的要求,通常采取特征提取+圖像分類[3]的思路,基于深度神經網絡模型來實現(xiàn)。另一類則是應用于人流量大、人群密集的公眾場合中。這種應用場景被稱為被動場景,背景更加復雜,受到的干擾因素較多,檢測范圍廣、難度大,一張圖像中包含多種尺度的口罩人臉目標且大部分為小尺度。為解決這類場景下的行人實時口罩佩戴檢測,研究人員借助了一些優(yōu)秀的通用目標檢測模型,在其基礎上為適應多尺度口罩人臉目標檢測提出了對應的改進方法,取得了一定的進展。
本文梳理了現(xiàn)階段國內外有關人臉口罩佩戴檢測算法的研究工作和成果,依據(jù)其應用的不同模型結構歸類了相關算法,重點介紹和分析了各類算法的適用場景、優(yōu)缺點及改進優(yōu)化策略。由于大部分研究都使用了深度學習方法,從網絡結構的設計、多尺度目標檢測的處理和訓練技巧等方面對其進行了總結和歸納。然后,匯總了相關數(shù)據(jù)集,對比展現(xiàn)了各算法檢測性能,以期為后續(xù)的研究提供一些參考。最后,對現(xiàn)有研究中依然存在的問題和未來的發(fā)展方向進行了討論和展望。
口罩佩戴檢測主要是利用圖像分析與處理技術對人臉目標進行口罩佩戴與否的檢測和分類,檢測的主要步驟包括圖像預處理、特征提取和目標分類。根據(jù)應用場景和需求的不同劃分為兩種研究思路:(1)主動場景下的口罩佩戴檢測流程如圖1所示,對于僅包含單一人臉目標的圖像,利用深度卷積神經網絡進行特征提取,再設計分類器對目標進行佩戴口罩和未佩戴口罩的分類。(2)被動復雜場景下的檢測流程如圖2所示,檢測算法需要定位圖像中所有出現(xiàn)的人臉目標并同時對其進行口罩佩戴與否的分類。
圖1 主動場景口罩佩戴檢測流程圖Fig.1 Flowchart of mask wearing detection in active scenario
圖2 被動場景口罩佩戴檢測流程圖Fig.2 Flowchart of mask wearing detection in passive scenario
卷積神經網絡(convolutional neural networks,CNN)是深度學習構建的基礎,主要由多個卷積層及其包含的卷積核、池化層、全連接層等組成。CNN的出現(xiàn)使得計算機視覺多個領域都得到了突破性的發(fā)展,研究人員利用CNN解決了許多一直以來難以克服的技術難關。
2012年,Krizhevsky等人[4]提出:多隱藏層神經網絡具有更好的特征學習能力。這是第一次有研究者明確具體提出了深度神經網絡(deep neural networks,DNN)的概念。作者設計的首個DNN網絡AlexNet在當年的ImageNet識別競賽(LSVRC)中大放異彩,以打破了歷史記錄的成績取得了當時最好的分類結果,由此證明了深層網絡的有效性,揭開了深度學習的序幕。自此之后,深度學習發(fā)展迅速,出現(xiàn)了一代又一代優(yōu)秀的DNN網絡模型,對于圖像特征提取、分類與識別、目標檢測等領域的快速發(fā)展起到了至關重要的作用。經典的DNN網絡發(fā)展歷程如圖3所示。接下來具體介紹在口罩佩戴檢測中應用的幾種代表性經典網絡——VGGNet[5]、Inception系列網絡、殘差網絡(residual network,ResNet)[6]等。
圖3 深度神經網絡的發(fā)展歷程Fig.3 Development history of deep neural networks
VGGNet是2014年由牛津大學提出的深層網絡模型,通過不斷加深卷積層的層數(shù)探索其網絡性能,以3×3卷積層和2×2最大池化層為基礎組件進行堆疊,構建了六種層深不同的結構。VGGNet在圖像的特征提取以及分類識別上都表現(xiàn)出了優(yōu)異的性能,證明增加卷積網絡的深度以及使用小卷積核能夠有效提升模型性能,減少錯誤率。目前,VGG-16、VGG-19等網絡模型仍然被大量應用。
隨著研究人員一味地不斷增加網絡深度,DNN存在的一些弊端,例如參數(shù)量過多、模型體量過大等問題逐漸顯現(xiàn),網絡訓練愈發(fā)難以收斂,甚至出現(xiàn)了梯度爆炸的情況。2014年Google公司提出Inception模塊結構,如圖4所示,同時發(fā)表了首個基于該模塊的DNN模型——GoogleNet[7]。Inception模塊通過封裝不同卷積核的3個卷積層和1個最大池化層,利用模塊化體系一定程度上緩解了這些問題。GoogleNet是Inception系列的第一個版本,其采用平均池化取代了全連接層,提高了模型的準確率。
圖4 Inception模塊結構圖Fig.4 Structure of Inception module
隨后,Inception系列后續(xù)又發(fā)展出v2、v3、v4三個版本:Inception-v2[8]引入批量歸一化(batch normalization)和級聯(lián)結構,進一步減少了參數(shù)量,增強了網絡的非線性表達能力。Inception-v3[9]利用RMSProp優(yōu)化算法和標簽平滑技術[10],降低了模型錯誤率。而Inception-v4[11]結合最新殘差網絡的思想進行網絡更新,獲得了最佳性能。
ResNet則是DNN網絡發(fā)展的一個重要里程碑,開創(chuàng)性提出的深度殘差框架從根本上解決了網絡層數(shù)深帶來的一系列問題,ResNet系列網絡最深層級高達152層。這種殘差結構的思想極大地推動了深層網絡的發(fā)展,被廣泛用于各類深度學習算法中,大幅提升了算法的準確率和效率。一般網絡與殘差網絡結構對比如圖5所示,殘差網絡引入一個shortcut分支,將期待的輸出變?yōu)镠(x)=F(x)+x,從而減小擬合F(x)的難度。ResNet也有不同的層數(shù)版本,ResNet-50最常被應用。
圖5 一般網絡與殘差網絡對比圖Fig.5 Comparison of normal network and residual network
DNN模型在與計算機視覺相關的模式識別任務中展現(xiàn)出了優(yōu)越的空間特征提取能力,因此得到了廣泛的應用。與傳統(tǒng)的手工特征提取相比,應用DNN對戴口罩的人臉目標提取出更深層次的高級別特征,最終能實現(xiàn)更高精確度的檢測。因此,研究人員不約而同地選擇DNN模型完成提取特征,由此得到了一系列基于DNN模型的口罩佩戴檢測算法。
這類算法主要解決主動場景下人臉佩戴口罩與否的檢測。根據(jù)算法設計的不同,分類器類型又分為兩種實現(xiàn)策略。值得注意的是,DNN訓練依賴從大量數(shù)據(jù)樣本中學習圖像特征,但當前口罩人臉圖像數(shù)據(jù)集的數(shù)量不足以完全支撐深度學習的訓練。而現(xiàn)階段也幾乎不存在大規(guī)模精確標注的相關數(shù)據(jù)集。為了克服樣本不足的難題,研究人員引入了遷移學習技術,將預先在ImageNet等大型數(shù)據(jù)集上訓練好的DNN模型“遷移”到新的口罩佩戴檢測領域中,通過共享模型參數(shù)降低對口罩人臉圖像數(shù)據(jù)量的需求,同時還提高了訓練的效率。事實證明,在口罩佩戴檢測中使用遷移學習是十分有效的方法。
2.2.1 DNN結合機器學習分類算法
近些年以來,利用機器學習方法解決分類問題成為了主流研究手段之一。主動場景下的口罩佩戴檢測實質上是一種有監(jiān)督分類問題,可以利用DNN提取圖像特征,再結合機器學習分類算法完成。
Oumina等[12]首先提出了這種方法,他們選擇VGG-19、Xception[13]、MobileNet-v2[14]三種DNN模型,結合支持向量機[15]和K最近鄰分類[16]兩種分類器分別組合實驗,所有的組合準確率均超過94%,有效證明了方法的可行性。經過對比,MobileNet-v2+支持向量機的組合表現(xiàn)性能最佳。Loey等[17]則選擇了另一種DNN模型ResNet-50,分類器選用決策樹、支持向量機和集成學習[18],在混合了人臉佩戴真實口罩和模擬口罩的數(shù)據(jù)集上進行實驗,同樣在使用支持向量機做分類器的模型中獲得了最高檢測準確率。
這類方法在特征提取和目標分類中分別使用不同模型構建了兩階段口罩佩戴檢測網絡,檢測準確率良好,但是建模耗時較長,工序繁雜,計算量大,推理速度慢,訓練數(shù)據(jù)較少時機器學習方法容易產生過擬合,對于一些復雜情況例如用手蒙面的類型不能快速反應,易發(fā)生誤識別。因此,有研究人員選擇直接優(yōu)化DNN模型的方法,端到端一步到位完成檢測。
2.2.2 端到端DNN模型
劉國明等[19]直接基于ResNet-34實現(xiàn)了佩戴口罩與否的檢測,主要研究了模型具體應用過程中的訓練技巧,探索了解決口罩佩戴檢測有效的預處理方法、最優(yōu)學習率和批數(shù)據(jù)量大小,改善了對小尺度目標和戴口罩側臉人臉目標漏檢的不足。Gathani等[20]則基于ResNet-50模型,同時借鑒候選區(qū)域生成網絡提高了檢測性能。劉啟剛等[21]利用GoogleNet搭建針對實時場景的單階段口罩檢測模型,采用1×1+3×3卷積層結構改進骨干網絡來簡化模型,設計了包含候選區(qū)域篩選與目標分類兩個任務的多目標優(yōu)化函數(shù),極大提升了檢測效率。Chowdary等[22]選擇優(yōu)化Inception-v3,刪除最后一層,增加平均池化層[23]和ReLU函數(shù)減小特征提取誤差,加入Dropout層[24]防止過擬合現(xiàn)象,最后通過softmax函數(shù)來完成口罩佩戴檢測任務。金映谷等[25]則基于MobileNet-v2提出了一種適用于便攜移動端設備的口罩佩戴識別算法。為探索不同DNN模型的口罩檢測應用效果,Alawi等[26]分別對MobileNet-v2和DenseNet網絡進行了實驗,準確率均高達98.5%。
上述這些算法模型都取得了不錯的檢測效果,證明了端到端DNN模型在口罩佩戴檢測任務中的有效性。比起結合機器學習的兩階段網絡,這類單階段模型在達到較高識別精度的同時具有更快的檢測速度。
然而,基于DNN模型的口罩佩戴檢測不能準確顯示人臉位置,僅能完成單個目標是否佩戴口罩的判別。DNN模型層數(shù)多,體量大,從現(xiàn)實防疫需求的角度考慮,應用可行性較差,運行會占用大量內存,訓練時間較長,在計算資源有限的情況下難以部署。實際上,隨著疫情形勢愈加嚴峻,僅完成主動場景下的檢測已然無法滿足需要,在難以保持距離的人群密集場所病毒傳播的風險更大,通過智能檢測手段及時發(fā)現(xiàn)未佩戴口罩的行人,對其進行監(jiān)督和提醒才能做到最有效的防疫。
目標檢測,通常是指在一幅圖像中找到所有感興趣的目標,并利用矩形邊界框來確定其位置和大小[27],同時輸出物體類別。目標檢測是圖像識別中最重要的基礎任務之一,在自動駕駛[28]、目標跟蹤[29]、視頻監(jiān)控[30]、遙感圖像分析[31]中都發(fā)揮了關鍵的作用。目標檢測也經歷了由傳統(tǒng)方法到基于深度學習的檢測方法[32]的演變過程。傳統(tǒng)目標檢測算法基于手工特征提取,泛化性能差,魯棒性不高,檢測的精度和速度均不甚理想,遠遠達不到實際工業(yè)應用的要求。2014年Girshick等人[33]最早提出了首個使用深度學習實現(xiàn)目標檢測的模型——RCNN(regions with CNN features),一舉將檢測平均精度均值(mean average precision,mAP)由35.1%提升到了53.3%,獲得了極大的突破,從此開創(chuàng)了目標檢測的深度學習新時代。
近些年,基于深度學習的目標檢測模型逐步發(fā)展壯大,一系列性能優(yōu)異的算法相繼問世并得到了工業(yè)界的大規(guī)模應用,發(fā)展歷程如圖6所示。這些模型主要分為兩大類:(1)基于候選區(qū)域的二階段檢測算法;(2)基于邊框回歸的一階段檢測算法。二階段算法將檢測分為兩步進行:首先生成可能包含物體的候選區(qū)域,再對該區(qū)域做進一步分類校準得到最終結果,代表方法有RCNN系列。一階段算法則基于回歸思想,使用一階網絡直接對輸入圖像進行分類和定位,速度極快,其代表方法有YOLO(you only look once)系列、SSD(single shot multibox detector)[34]、RetinaNet[35]等。
圖6 基于深度學習的目標檢測模型發(fā)展歷程Fig.6 Development history of object detection models based on deep learning
基于目標檢測模型的口罩佩戴檢測實現(xiàn)被動場景下人臉目標定位的同時判斷是否佩戴口罩,這類應用對算法實現(xiàn)多尺度目標檢測和實時檢測的要求較高。根據(jù)應用模型的類別不同也分為兩大類:基于二階段檢測模型改進的算法檢測精度高,但檢測速度較慢,實時性較差;而基于一階段檢測模型改進的算法速度快,可以滿足實時性要求,但檢測精度稍遜色。研究人員依據(jù)場景需求的不同在通用目標檢測模型的基礎上優(yōu)化改進以適應口罩佩戴檢測,取得了豐碩的成果。
二階段檢測模型中,RCNN系列最適合用于口罩佩戴檢測。在遇到多尺度、小目標、人群擁擠等較難場景的檢測時,RCNN系列在檢測的準確率上依然具有較強的優(yōu)勢。在RCNN的基礎上,2015年Fast RCNN[36]首先通過卷積共享實現(xiàn)了端到端的檢測,隨后Faster RCNN[37]劃時代提出區(qū)域生成網絡(region proposal network,RPN)和“錨點”(Anchor)機制,取代了之前的選擇性搜索,使模型在保證高檢測精度的同時將檢測速度推向一個新的高峰,RCNN系列也終于走向了實時。Faster RCNN是該系列的集大成者,在VOC 2012數(shù)據(jù)集上實現(xiàn)了mAP值70.4%,檢測速度為17 FPS的優(yōu)越性能。直到現(xiàn)在,F(xiàn)aster RCNN仍然是主流應用的框架之一,許多新型算法都是在其基礎上進行改進實現(xiàn)的。
口罩佩戴檢測也不例外,一些研究人員為了追求檢測的準確性首選Faster RCNN作為基礎架構建立檢測模型。Shylaja等[38]利用遷移學習思想,在該模型訓練中載入預訓練權重,對普通背景和復雜背景兩種口罩人臉數(shù)據(jù)集進行實驗,平均精度達到了98.5%。任鈺等[39]根據(jù)對比實驗結果選擇使用層數(shù)更深且運算量更小的ResNet-101替換原模型VGG特征提取網絡,檢測精度和速度比原來有明顯提升,對場景變化和目標遮擋重疊等情況的魯棒性也有所改善,但對小尺度目標檢測依然不太理想。李澤琛等[40]則主要針對小尺度目標檢測效果差的問題,在模型中加入殘差結構和注意力機制[41],形成空間-通道注意力殘差模塊,通過深度融合深淺層特征保留更多輸入特征的空間結構信息來有效抑制背景的干擾,提高了對小目標的檢測精度,降低了漏檢率。萬子倫等[42]注意到傳統(tǒng)單一的RPN網絡在處理遠距離口罩人臉小目標時會發(fā)生誤檢,于是引入多個RPN進行多任務增強,又設置五種新尺度,將Anchor數(shù)量增加至15,改進后模型對多尺度口罩人臉目標的檢測能力有了明顯提升。
目前基于二階段檢測模型的口罩佩戴檢測重點關注多尺度目標檢測能力的提高,利用多種優(yōu)化策略增強模型性能,以應對被動場景下口罩人臉目標排列無序、尺度不一甚至不同目標發(fā)生重疊遮擋的情況。由于二階段模型本身檢測精度較高,在口罩佩戴檢測應用中改進模型的mAP值均表現(xiàn)突出。但兩階段結構比較復雜,檢測步驟多,運行消耗大,又為提高性能引入優(yōu)化模塊,進一步加重了訓練的成本負擔,在速度方面表現(xiàn)不甚理想,無法實現(xiàn)實時檢測,也較難部署于便攜式或移動端設備上。針對以上問題,后續(xù)研究可嘗試利用輕量級模塊或網絡做進一步優(yōu)化,在保持高精度的前提下突破速度難關。而一階段檢測模型在速度上具有先天性優(yōu)勢,更適合于公共場所中實時監(jiān)督行人口罩佩戴情況的場景需求,其關注重點則是檢測精度的提高以及現(xiàn)實應用對低成本部署和運行的要求。
3.3.1 基于改進YOLO的口罩佩戴檢測
一階段檢測模型中應用最多的當屬Redmon等提出的YOLO系列。YOLO憑借其強大的實時檢測性能真正推動目標檢測走向了大規(guī)模落地應用。YOLO系列直到YOLOv3[43]版本才同時兼顧到檢測精度和速度兩方面性能,真正走向成熟。之后的YOLOv4[44]、YOLOv5雖然不再是一脈作者的延續(xù),但也表現(xiàn)出了不錯的性能。YOLO系列算法檢測速度極快,并且具有良好的檢測精度,適用于對實時性要求較高的被動場景下的口罩佩戴檢測。這其中,YOLOv3具備獨具特色的多尺度檢測框架,可以有效捕捉復雜背景下不同尺度的口罩人臉目標。YOLOv4采用一系列優(yōu)化和訓練技巧提升檢測性能,降低了模型的應用成本。而YOLOv5則更加靈活小巧,易于部署,且保持了較高檢測精度的同時,進一步加快了模型的推理速度,耗時更短,達成了目前該系列速度和性能的最佳平衡。YOLOv5共包含4個版本,即YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,依次增加網絡結構的深度和寬度,速度相對降低,但精度提升,以滿足不同實際應用的需求。綜上,YOLO模型能夠實現(xiàn)高速度與高精度并存的多尺度檢測,在現(xiàn)實場景的實時應用上更具優(yōu)勢。但YOLO模型即便對類別數(shù)較多的檢測任務都具有很好的通用泛化性,對于口罩佩戴檢測任務只需檢測兩類目標,更需要做出針對性的優(yōu)化調整。
基于改進YOLOv3的口罩佩戴檢測進一步加強了模型對小尺度目標的捕捉。王藝皓等[45]在原有模型框架上加入跨階段局部網絡[46]、空間金字塔池化[47],增強對淺層特征的提取,又利用特征融合策略實現(xiàn)特征復用,通過綜合局部和全局兩方面語義信息提升了小目標檢測精度。曾成等[48]通過將3×3類金字塔結構擴建為4×4,對淺層特征提取部分增加一個新的預測分支,使模型對小目標的檢測精度升高了7.2個百分點。張路達等[49]受此啟發(fā),增加4倍下采樣和104×104尺度特征圖,結合自上而下與自下而上的路徑增強策略達到了更好的效果。孫世丹等[50]預先使用加權核K-Means聚類算法重新選取更適合小目標檢測的Anchor Box,而后又通過將4倍下采樣得到的特征圖進行上采樣與上層特征信息相融合的操作,整體提高了小目標檢測準確率。曹城碩等[51]嵌入注意力機制模塊SENet[52],增加重要特征通道的加權比重,抑制無關干擾,明顯改善了對小目標的檢測性能。而程可欣等[53]從改進損失函數(shù)的角度優(yōu)化模型,選擇GIoU[54]計算邊界框回歸損失,該方法使小目標漏檢率明顯降低。
基于YOLOv4的口罩佩戴檢測比較容易受到復雜光照的干擾而導致效果不佳。管軍霖等[55]建立了一種新型圖像高低頻成分融合法,應用數(shù)總變分模型分別獲取高頻和低頻成分,采用最小二乘法來估計光照陰影的最佳重建系數(shù),利用這種光線正則化方法重構均勻光照下的人臉圖像,以消除光照不均勻影響。而冉鵬飛[56]則選擇改進模型框架,在YOLOv4主干網絡中嵌入卷積注意力模塊,重點關注復雜光照下圖像的特征表達,獲取更多空間細節(jié)信息,實現(xiàn)了無論在光照偏強還是偏弱的條件下均表現(xiàn)良好的檢測效果。
基于YOLOv5的實時口罩佩戴檢測也具有很大的研究空間。談世磊等[57]將歸一化處理后的圖像送入YOLOv5中進行訓練,取得了優(yōu)異的檢測性能,證明了方法的可行性和實用性。肖博健等[58]則通過K-Means聚類算法重設初始候選框參數(shù)、利用可變形卷積修正特征圖、優(yōu)化特征函數(shù)等多方面對模型進行改進,穩(wěn)定提升了模型的準確率和召回率。
總體看來,YOLO模型改進后實現(xiàn)了快速高效的口罩佩戴檢測,且對光照、遮擋、小尺度等難題都有了一定程度上的改善,檢測效果良好,目前已成為被動場景下口罩佩戴檢測實現(xiàn)的主要方式。但改進后模型仍存在參數(shù)量大、結構冗余的問題,依舊難以部署,甚至由于優(yōu)化策略反而加重了模型的復雜化??紤]到實際應用需求的硬件部署和訓練成本問題,改進YOLO模型的輕量化研究也是不可或缺的一部分。
3.3.2 基于YOLO的輕量化口罩佩戴檢測
研究人員在YOLOv4框架基礎上進行口罩佩戴檢測的輕量化研究。葉子勛等[59]將骨干特征提取網絡替換為MobileNet-v3[60],再利用自注意力機制和SiLU激活函數(shù)優(yōu)化檢測性能。改進后模型參數(shù)量驟減,占用內存從244 MB減小到44 MB,運算量也減為之前的1/8,檢測速度提升了近一倍。羅禹杰等[61]同樣應用了MobileNet,又采用自適應空間特征融合方式[62]增強性能。丁培等[63]引入輕量級骨干網絡Light-CSPDarkNet,又利用輕量級特征增強模塊和多尺度注意力機制,使算法精度提高了3.55%,檢測速度由35 FPS增加至75 FPS,可以滿足實際應用的需求。
另有研究人員則直接選用了YOLOv4-tiny進行口罩佩戴檢測。YOLOv4-tiny是該系列的一個輕量化框架,架構簡單,經常被用于嵌入式平臺中進行快速目標檢測。但YOLOv4-tiny的特征提取能力相對較弱,為了提升檢測精度,王兵等[64]加入Max Moudle結構,分別用大中小不同尺度的窗口對卷積特征進行最大池化,同時保留上層特征進行特征通道融合。改進后模型提取的特征圖能夠更好地表達輸入圖像的邊緣信息和主要特征,從而取得了不錯的效果。朱杰等[65]引入空間金字塔池化增強網絡感受野,又結合路徑聚合網絡提升特征表達,并在訓練時利用標簽平滑技巧防止數(shù)據(jù)過擬合,對口罩目標的檢測精度達到了94.7%,實時檢測速度提升至76.8 FPS。葉茂等[66]改進殘差結構簡化模型以達成實時檢測,增加多尺度輸出結構,增強低層特征層表達,降低小目標漏檢率,采用多層級交叉融合結構提高特征利用率,改進算法模型只要5.8 MB且mAP值提高了5.3%,CPU下處理時間加快了13 s,能夠滿足計算資源有限的條件下應用的實時要求。
彭成等[67]基于YOLOv5模型設計了成本更低的GhostBottleneckCSP和ShuffleConv模塊,優(yōu)化后模型的參數(shù)量和計算量分別減少為原模型的34.24%和33.54%,使其更加容易部署在資源有限的嵌入式或移動端設備上,大幅提高了運行速度。
整體來看,改進YOLO模型實現(xiàn)輕量化口罩佩戴檢測實現(xiàn)了不錯的效果,同時也是未來人臉口罩佩戴檢測技術最大的發(fā)展趨勢。但輕量化改進勢必會造成精度的損失,現(xiàn)階段多數(shù)算法彌補檢測精度的策略良莠不齊,在不同數(shù)據(jù)集上的實驗效果無法統(tǒng)一。輕量化改進是該領域一大重要研究熱點,將成為理論走向現(xiàn)實場景應用最重要的關鍵性環(huán)節(jié)。
3.3.3 其他模型在口罩佩戴檢測中的應用
除了大量使用YOLO作為基礎框架解決口罩佩戴檢測問題之外,一階段檢測模型中SSD和RetinaNet也常被應用。SSD結合了Faster RCNN的區(qū)域生成和YOLO的回歸思想,通過增加深度卷積層提高檢測精度,利用多層次特征圖實現(xiàn)了多尺度目標檢測。而RetinaNet則是提出Focal Loss損失函數(shù),用以改善一階段檢測模型因正負樣本類別不均衡導致的檢測精度不理想的窘況,效果顯著,其在COCO數(shù)據(jù)集上的平均檢測精度甚至超過了Faster RCNN。同時,RetinaNet利用特征金字塔[68]完成多尺度目標預測。綜上,SSD和RetinaNet具有一階段檢測模型的快速檢測性能和良好的檢測精度,具備多尺度檢測能力,可以被應用于口罩佩戴檢測任務。
研究人員基于SSD模型進行改進,完成口罩佩戴檢測。李雨陽等[69]引入特征融合和協(xié)調注意力機制,結合Focal Loss損失函數(shù)調節(jié)正負樣本權重,改進后算法精度提高了5.62%。阮士峰[70]引入多重閾值修正并增加特征融合層,結合數(shù)據(jù)集增廣方法,有效提高了對口罩人臉的檢測性能。Nagrath等[71]則首先使用SSD檢測口罩人臉,然后結合MobileNet-v2進行分類,也得到了不錯的效果。毛曉波等[72]則將特征提取網絡直接替換為MobileNet-v3,選用計算量較小的H-Swish激活函數(shù)、輕量級注意力機制等優(yōu)化策略加快了檢測速度,提高了精度,在嵌入式設備Jetson Nano上進行了應用實驗,雖實際效果不佳,但前后對比實驗證明了改進方法的有效性。
鄧黃瀟[73]應用RetinaNet進行口罩佩戴檢測實驗,結果證明其對于小像素級目標表現(xiàn)性能較為突出。2019年Deng等[74]將RetinaNet應用于人臉檢測,提出了單階段人臉檢測器RetinaFace,實現(xiàn)了多任務訓練。而口罩佩戴檢測也可以看作是一種特殊的人臉檢測任務。牛作東等[75]在RetinaFace模型中加入注意力機制模塊增強口罩人臉的特征表達,又設計了多任務聯(lián)合損失提高訓練效率。改進算法在自然場景下對口罩人臉的檢測性能良好?;谝陨涎芯浚墨I[76]專門提出了一種高精度、高效率的專用人臉口罩檢測器RetinaFaceMask,雖然性能還有待提高,但是為后續(xù)研究提供了一個很好的研究思路。
綜上所述,基于一階段檢測模型的口罩佩戴檢測在檢測速度、實時性能上略勝一籌,但檢測精度相對較低,易受背景干擾。被動場景復雜多變,通過一系列優(yōu)化改進策略可以有效提升算法的檢測精度和魯棒性。該類算法可以實現(xiàn)人臉目標定位和佩戴口罩檢測并行多任務目的。目前,基于改進YOLO的模型最受研究人員青睞,是當前研究最多的主流方向,發(fā)展較為成熟,但后續(xù)還應順應趨勢,加強對模型輕量化壓縮和降低部署應用成本的研究。而其他各類一階段檢測模型目前成果偏少,相對研究不充分,且從總體應用效果來看略顯不足,還有待進一步探索。
數(shù)據(jù)集是深度學習訓練的基礎,對于模型性能的提升和量化評估具有重大影響。但目前專門用于口罩佩戴檢測的相關數(shù)據(jù)集較少,一些大型遮擋人臉數(shù)據(jù)集,例如WiderFace[77]和MAFA[78],包含有佩戴口罩的人臉圖像樣本被研究人員關注到,他們從中對數(shù)據(jù)二次篩選,再重新清洗標注形成自己的實驗數(shù)據(jù)集。而后才逐漸出現(xiàn)了一些質量良好的口罩佩戴檢測專用數(shù)據(jù)集,常被應用的數(shù)據(jù)集主要有RMFD(real-world masked face dataset)[79]、AIZOO、MaskedFace-Net[80],詳細介紹如表1所示。
表1 常用口罩佩戴檢測數(shù)據(jù)集Table 1 Common datasets of face mask wearing detection
基于深度學習的口罩佩戴檢測已經成為當前計算機視覺領域備受矚目的熱點話題,具有廣闊的研究應用前景[83]。上文分別對各檢測算法的改進策略、適用場景、優(yōu)勢和局限性進行了詳細介紹。為展現(xiàn)各類方法在口罩佩戴檢測任務中的最優(yōu)性能,對上述性能表現(xiàn)優(yōu)異的算法從關鍵改進結構、實驗數(shù)據(jù)集和具體性能表現(xiàn)等角度進行全面對比總結[84],如表2、表3所示,表4為各方法綜合定性分析結果。衡量這些檢測算法常用的性能評價指標包括準確率(Accuracy)、精確率(Precision)、召回率(Recall)、mAP、FPS。準確率指正確預測的結果占全部樣本的比重,精確率指預測正樣本中實際正樣本的比重,召回率指預測正確的正樣本占實際正樣本的比重,定義為:
表2 基于深度神經網絡的口罩佩戴檢測算法性能對比Table 2 Performance comparison of face mask wearing detection algorithms based on deep neural networks
表3 基于目標檢測模型的口罩佩戴檢測算法性能對比Table 3 Performance comparison of face mask wearing detection algorithms based on object detection models
表4 口罩佩戴檢測算法性能定性對比Table 4 Qualitative comparison of mask wearing detection algorithm performance
其中,TP指正樣本被正確預測為正樣本;TN指負樣本被正確預測為負樣本;FP指負樣本被錯誤預測為正樣本;FN指正樣本被錯誤預測為負樣本。
平均準確率(average precision,AP)、平均準確率均值(mAP)常用于評價目標檢測精度。定義為:
其中,P、R為精確率和召回率,P()R表示映射函數(shù)關系,n表示類別數(shù),i為某個單一類別。mAP為全部類別AP的均值,在口罩佩戴檢測中包含佩戴口罩和未佩戴口罩兩種類別,mAP反映整體檢測效果。
FPS指每秒傳輸檢測圖像的幀數(shù),常用于評價目標檢測網絡的檢測速度。
表3(續(xù))
由上述分析可得,基于DNN模型的檢測算法總體檢測準確率均較高,檢測精度良好,但速度方面表現(xiàn)不佳甚至無參考數(shù)據(jù),證明此類算法檢測速度慢,不能適用于實時性要求較高的場景?;谀繕藱z測模型的算法中,YOLO改進算法在檢測精度和速度兩方面都明顯優(yōu)于其他模型,其中YOLOv4、YOLOv5的改進模型在精度和速度之間達成了很好的平衡,YOLOv3改進模型雖精度略勝,但速度稍遜。另外,最值得關注的當屬YOLO輕量化改進模型,性能表現(xiàn)突出,進一步驗證了輕量化模型研究的可行性和必要性。
從表中還可以看出,大部分算法的數(shù)據(jù)集都來源于遮擋人臉數(shù)據(jù)集的二次篩選,有些甚至直接利用網絡爬蟲收集。原因在于目前依舊缺乏具有代表性、質量良好的真實場景下大型口罩人臉基準數(shù)據(jù)集。這也是目前口罩佩戴檢測存在的最大問題。但從數(shù)據(jù)表現(xiàn)總體來看,基于成熟的深度網絡模型可以基本完成口罩佩戴檢測任務,研究人員提出相應的改進算法也能有效增強對多尺度目標的檢測能力,抑制復雜背景干擾,未來還需在更完整的數(shù)據(jù)集上探索更優(yōu)的性能。
本文圍繞國內外現(xiàn)有的口罩佩戴檢測算法研究進行了分類總結,主要是主動場景下基于深度神經網絡模型和被動場景下基于目標檢測模型進行檢測兩大類方法??傮w來看,這些算法都是在成熟模型的基礎上改進實現(xiàn)的,并采用了多種優(yōu)化策略以提升對口罩人臉圖像的處理能力。這些新型改進算法在精度和速度上都有了長足的進步,在面對小尺度、復雜光照、遮擋等較難問題時也有所改善,基本完成了檢測任務。但在具體應用過程中依然存在著一些問題,未來還有很大的發(fā)展空間,對此提出以下幾點研究趨勢展望:
(1)口罩不規(guī)范佩戴情況識別。目前口罩佩戴檢測只解決了口罩佩戴與否的檢測問題,但是在實際生活中經常出現(xiàn)行人不規(guī)范佩戴口罩的情況。例如,口罩只遮蓋了嘴巴、掛到下巴上等,無疑使防護措施失效,加重了疫情傳播的風險。因此,未來利用智能算法實現(xiàn)口罩不規(guī)范佩戴情況的識別也顯得尤為重要,值得深入研究。
(2)研究更輕型、易部署的算法。口罩佩戴檢測作為防疫利器,僅在理論實驗中實現(xiàn)是遠遠不夠的,更需要在現(xiàn)實場所中得到實際應用。這就需要模型更加輕量化,應用成本更低,且受硬件設備約束,這些模型大多都會被應用于嵌入式、移動式設備中[85]。如何從理論研究走向落地應用也是亟待解決的關鍵問題。
(3)弱監(jiān)督口罩佩戴檢測模型。從現(xiàn)有研究來看,口罩人臉相關數(shù)據(jù)集仍然稀缺,而DNN網絡和目標檢測模型的應用一般都基于監(jiān)督學習,需要大量的標注數(shù)據(jù)。樣本的缺少和大量繁雜的數(shù)據(jù)標注工作也是目前制約口罩佩戴檢測發(fā)展的原因。因此,利用弱監(jiān)督學習方法,在標注樣本較少的情況下設計口罩佩戴檢測模型可以成為未來研究的方向之一。
(4)口罩人臉識別??谡终趽跸氯四樧R別的實現(xiàn)在檢測算法逐步發(fā)展完善的基礎上可以進一步研究[86]。疫情常態(tài)化發(fā)展形勢下,人工智能技術如何在疫情防控中繼續(xù)發(fā)揮作用,也是未來應繼續(xù)重點關注的話題。