宋 威,謝 豆,石景文,劉文軍
(蘇州工業(yè)職業(yè)技術學院,江蘇 蘇州 215104)
在疫情防控期間需要對流動的人口進行嚴格把控,尤其要在校園、車站等人流量多的地點,對行人進行體溫檢測和口罩佩戴檢測,確保通行人員體溫正常且規(guī)范佩戴口罩能有效地控制病毒傳播。體溫檢測中測溫方式有接觸式測溫和非接觸式測溫。接觸式測溫雖然價格低廉,但測溫速度慢,難以滿足快速測溫的需求。非接觸式測溫有輻射溫度計和紅外線測溫儀等,其中紅外線測溫儀可同時測量多人體溫,其非接觸式方式降低了病毒進一步傳播的可能,在測溫速度上也有著明顯的優(yōu)勢。文獻[4-5]提出一種可用于新冠肺炎防控的紅外測溫槍,通過紅外線對人體進行無接觸測溫,達到減少人員接觸的目的。但這些檢測通常需要耗費大量的時間和人力,使用智能系統(tǒng)代替人工檢測來減輕人工負擔成為一種趨勢。
當前市面上的疫情防控系統(tǒng)功能單一且價格昂貴,大多數設備只具有單一的測溫檢測或口罩佩戴檢測功能。為了使人員排查工作更高效,設計并實現了一種口罩佩戴和體溫檢測系統(tǒng)。系統(tǒng)主要包括口罩佩戴檢測和體溫檢測兩部分。在口罩佩戴檢測部分,使用了深度學習,得益于近年來深度學習在各種生產環(huán)境中的大量應用,許多卷積神經網絡也應運而生。口罩佩戴檢測需要進行定位和分類兩個步驟,選用深度學習中的目標檢測模型構建口罩檢測模塊。目標檢測模型分為一階檢測器和二階檢測器。前者包括SSD、YOLO等,后者包括Faster RCNN、Mask RCNN等。一階檢測器與二階檢測器相比檢測的速度更快、在精確度上略低。綜合實際應用考慮,在口罩檢測這種對實時性要求較高的場景下,選用一階檢測器中的YOLOv4模型進行訓練。
科技的不斷進步促進了人工智能的興起。人工智能領域的深度學習方面,卷積神經網絡表現較為突出,特別是在對圖像的判斷方面,相比于傳統(tǒng)的機器學習,卷積神經網絡具有巨大的優(yōu)勢。受人腦啟發(fā),卷積神經網絡通過構建神經網絡層學習大量數據來獲得判斷能力?;镜木矸e神經網絡由輸入層、卷積層、池化層、全連接層、輸出層組成。
卷積神經網絡在圖像分類、檢測、分割等方面都有著成熟的應用。在本系統(tǒng)中口罩檢測模塊需要對口罩進行定位和判別,因此需要使用目標檢測類的神經網絡。YOLO是目標檢測網絡中的一階檢測器。之所以稱為一階檢測器是因為YOLO將模型進行目標檢測時的定位和分類這兩部分合二為一,同時進行,大大提高了檢測速度。YOLOv2采用多尺度的輸入圖像進行訓練,在YOLO的基礎上提升了精度。YOLO9000使用ImageNet數據集和COCO數據集聯合進行訓練,使YOLO從只能判別20個類別到可以同時判別9 000個類別。YOLOv3在YOLOv2的基礎上對神經網絡結構進行了改進,輸出3個不同尺度的卷積層進行判斷,使網絡能夠檢測不同比例大小的物體。本系統(tǒng)使用的YOLOv4在YOLOv3的基礎上進行了激活函數和數據預處理、特征提取網絡的優(yōu)化,精度得到進一步提升。
進行模型訓練之前應準備好相應的數據集。如圖1所示為數據集中的部分圖片。圖2展示了數據集的數量分布情況。淺灰色為人員佩戴口罩的圖片數量,深灰色為人員未佩戴口罩的圖片數量。口罩檢測數據集總共包含1 600張圖片。訓練集有1 200張圖片,其中600張圖片中人員已佩戴口罩,600張圖片中人員未佩戴口罩;測試集有400張圖片,其中人員已佩戴口罩的圖片有200張,人員未佩戴口罩的圖片有200張。人員未戴口罩與戴口罩的圖片數量相等,減少了模型存在類別不平衡的可能性。
圖1 訓練數據集截圖
圖2 數據集分布情況
在收集好原始的數據圖片后,需要對圖片進行標注。標注的主要意義是標明圖片中每個人臉所在的位置以及是否佩戴口罩。每張圖片都有與之所對應的JSON格式的標注文件。標注內容見表1所列。參數folder和filename分別為圖片所在的文件夾名稱、圖片的命名。path為圖片在系統(tǒng)中的完整路徑。width、height分別為圖片的寬、高,單位為像素。depth為圖片的顏色通道數,在本數據集中為3通道。name表示圖片里檢測框中的標簽名稱,在本系統(tǒng)為Mask(戴口罩)或No Mask(不戴口罩)。xmin和ymin分別表示檢測框的左上角橫縱坐標數值,xmax和ymax分別表示檢測框的右下角橫縱坐標數值,通過這四個值可以確定檢測框中物體的位置。
表1 數據集標注
進行模型訓練需要準備好訓練數據集和搭建模型結構。本文在YOLOv4模型的基礎上搭建口罩檢測的模型結構。如圖3所示,本系統(tǒng)模型主要包括四個部分:CSPDarknet53、SPP、PANet和YOLOHead。CSPDarknet53是整個模型的開頭部分,本系統(tǒng)接收的輸入尺寸為608×608像素。輸入尺寸越大,越有利于提高模型檢測效果。但輸入尺寸越大,訓練模型所需的時間越長,對設備的要求也更高。
圖3 模型的構建
在接收輸入數據后進行卷積,然后進入CSPDarknet53的核心部分Resblock_body。Resblock_body為多層卷積進行堆疊的特征提取塊,連續(xù)的堆疊能提取出更高維的特征信息。CSPDarknet53部分完成后會輸出三個不同尺寸的卷積,這三個卷積部分分別被送入PANet結構和SPP結構。將尺寸最小的卷積部分送入SPP結構中,SPP結構包含不同尺寸的池化層。將經過SPP結構的卷積和另外兩個卷積一起送入PANet結構中進行堆疊、卷積、上采樣或下采樣操作。操作輸出到YOLOHead中,尺寸分別為52×52×256、26×26×512、13×13×1 024。在YOLOHead中對三個不同的卷積層進行目標檢測和分類,并在最后輸出判斷結果。
模型訓練時采用遷移學習進行訓練。遷移學習是在其他預訓練模型的基礎上進行第二次訓練。使用遷移學習不僅可以大大縮短模型訓練的時間,還能夠提高模型的泛化能力。模型使用的預訓練模型為COCO數據集預訓練模型。COCO數據集是一個包含大量目標檢測和分割圖片的數據集,總共有81個類別,數據圖片超過33萬張。適合在遷移學習中使用,能更好地學習新的目標檢測類別。
訓練時加載預訓練模型,首先凍結模型的一部分,暫停更新這部分模型權重。凍結后訓練25輪,每輪的批數為120,訓練使用的學習率為1×10。訓練完成后,再解凍原先的部分,再次訓練25輪,每輪訓練的數量為240,訓練使用的學習率為1×10。訓練使用的激活函數為Mish函數,如式(1)所示:
其中表示輸入。在經過卷積或全連接之后使用激活函數可以使模型學習到性能更好的參數。將訓練完成的模型保存以便進行后續(xù)的優(yōu)化和評估。
圖4給出了模型經過50輪訓練的性能曲線。圖中曲線為50輪訓練中每一輪訓練后模型的損失率。橫軸為訓練的輪次Epoch,縱軸為損失值Loss。模型的Loss(損失率)從28%下降至7.7%。Loss越低,模型的誤差越小,準確性越高。
圖4 模型損失率評估
圖5展示了模型檢測到的Mask和No Mask兩類標簽下的對象數。根據這些對象數,能夠算出模型的精確度和召回率。圖中True Positive表示預測結果與實際標簽相同的數量,False Positive表示預測結果與實際標簽不同的數量。本系統(tǒng)共預測了Mask標簽下的1 035個樣本,其中預測正確的數量為758,預測錯誤的數量為277;共預測了No Mask標簽下的502個樣本,其中預測正確的有323個標簽,預測錯誤的數量為179個。
圖5 模型檢測數量評估
圖6中展示了模型Mask類和No Mask類的平均準確率(AP)和Map值。平均準確率可以彌補精確度和召回率的不足,更全面地體現模型的預測能力。AP計算公式為:
式中,為衡量模型準確的指標召回率。將模型的召回率劃分成11個區(qū)間,每個區(qū)間包含多個準確率,并且將同一區(qū)間的準確率用集合~表示,接著取出每一份中最大的準確率;最后將得到的11個區(qū)間數值求和從而得到AP。本模型中Mask類別的平均準確率為67.77%,No Mask的平均準確率為93.73%。通過平均準確率可以根據類別數求出模型的Map值。Map值的公式為:
式中:AP為平均準確率;為模型的類別數,在本模型中為2。如圖6所示,模型的Map值為80.75%,優(yōu)于大部分目標檢測模型。
圖6 模型準確率評估
本系統(tǒng)的體溫檢測模塊采用紅外測溫槍進行體溫檢測。系統(tǒng)集成流程如圖7所示,包含口罩檢測和測溫兩方面功能。攝像頭實現人臉數據采集和處理,從魯棒性考慮增加活體檢測功能。人臉識別完成后分別集成口罩佩戴和溫度檢測兩個功能模塊,最后通過裝置的屏幕和語音提醒提升系統(tǒng)的可交互性。
圖7 系統(tǒng)集成流程
本系統(tǒng)中將口罩檢測和體溫檢測相結合部署在終端應用中。采用Python中的PyQt5框架進行搭建。如圖8所示,當運行本系統(tǒng)時,攝像頭與測溫槍同時啟動收集信息并傳入電腦進行檢測。檢測完成后的結果將顯示在屏幕中,并對是否允許通過給出提示。圖8(a)中通行人員未佩戴口罩,雖然體溫正常但不允許通過,并在屏幕中給予不允許通過的原因。圖8(b)中通行人員正確佩戴口罩且體溫正常后才能允許通行。
圖8 系統(tǒng)實現展示
針對疫情人員流動防控的實際需求,提出了一種口罩佩戴和體溫檢測系統(tǒng)的設計與實現。首先介紹了卷積神經網絡、目標檢測網絡YOLO;接著給出了口罩檢測算法的詳細設計,包括數據集、數據集標注、模型構建、模型訓練和模型評估;最后,對各功能模塊進行集成和實現。系統(tǒng)能有效快捷地檢測是否佩戴口罩和人體體溫,較好地滿足了實際的應用需求。