邢春雨,鄭平
(1.安徽理工大學 計算機科學與工程學院,安徽 淮南 232001;2.安徽理工大學 電氣與信息工程學院,安徽 淮南 232001)
新冠疫情當前,佩戴口罩作為一種物理層面的隔絕措施,對阻止新型冠狀病毒傳播具有一定防護作用。而部分民眾防疫意識淡薄,常在公眾場合不佩戴口罩。現在公眾場合識別未佩戴口罩人員基本上依賴于人工來完成,但環境復雜、場景多變、人流量大等諸多原因,需要花費許多時間成本以及人工成本,且有一定可能誤判漏判。基于深度學習的目標檢測,能夠快速在圖像和視頻中提取到有價值的信息,在諸多領域中都展現出非常好的效果,得到了廣泛應用。本文區別于傳統的目標檢測算法,引入centernet 和注意力機制,并進行改進,旨在提高檢測精度,從而更效監督人們佩戴口罩情況,提高公眾口罩佩戴率。
目標檢測領域發展至今已有二十余載,從早期的傳統方法到如今的深度學習方法,精度越來越高的同時速度也越來越快,這得益于深度學習等相關技術的不斷發展。不同于圖像分類任務,目標檢測不僅要解決分類問題,還要解決定位問題。目標檢測的發展可以分為傳統目標檢測和基于深度學習的目標檢測兩個時期。
傳統目標檢測算法主要有以下缺點:(1)準確率不高(2)運算速度有待提高(3)正確識別的結果可能不止一個。
主要介紹基于深度學習中的Anchor free目標檢測算法。基于Anchor 的目標檢測通常轉換成對候選區域進行分類以及回歸,由于Anchor 太多導致計算復雜,及其所帶來的大量超參數都會影響模型性能。近年的Anchor free 技術則摒棄Anchor,通過確定關鍵點的方式來完成檢測,大大減少了網絡超參數的數量。
(1)CornerNet是Anchor free 技術路線的開創之作,此網絡模型是一種新的檢測方法,由原來的對目標邊界框的檢測轉化為對邊框的左上角和右上角即關鍵點的檢測,而無須設計Anchor box 作為先驗框。
(2)CenterNet 與CornerNet 檢測算法不同,CenterNet的結構十分簡單,它摒棄了左上角和右下角兩關鍵點的思路,而是直接檢測目標的中心點,其他特征如大小,3D 位置,方向,甚至姿態可以使用中心點位置的圖像特征進行回歸,是真正意義上的Anchor free。該網絡還提出了兩個模塊:級聯角池化模塊和中心池化模塊,進一步豐富了左上角和右下角收集的信息。
(3)FSAF 網絡提出了一種FSAF 模塊用于訓練特征金字塔中的Anchor free 分支,最佳匹配的特征都可以被每一個對象選擇。在該模塊中,Anchor box 的大小不再在特征預測中起決定作用,實現了模型自動化學習選擇特征。
(4)FCOS 網絡實現了無須錨點,并且提出了Center ness 即中心度的理念。該算法通過去除Anchor,所以能夠減少不必要的復雜運算,總訓練的內存還可以大大地減少。性能:FCOS 的性能優于現有的一階段檢測器,并且FCOS還可以替代作二階段檢測器Faster RCNN 中的RPN,并且很大程度上都要優于RPN。經分析其性能對比如表1所示。

表1 Cornernet 和Centernet 和FCOS 性能對比
目標檢測需要對物體的位置做出精確識別,目前常用物體檢測器都比較低效,因其不僅需要詳細的檢測出每個潛在的物體所在區域還要對檢測出的區域進行分類,然后在進行需要另外的后處理操作。 而centernet,作為一個anchor free 模型,通過對關鍵點進行預測來找到中心點而將目標對象bounding box 的中心點進行建模,然后再將所有其他對象屬性進行回歸。
Centernet 通過將待檢測的目標輸入到特征提取網絡中,以高斯核的方式將中心點分布在feature map 上并生成熱力圖,利用每個峰值點周圍的圖像特征回歸得到目標的寬和高,訓練過程中采用監督學習的方式。
其核心思想如圖1所示,通過直接預測中心點和物體尺寸,把檢測問題轉換為關鍵點問題,去除anchor,每個位置僅有一個正樣本,不再使用NMS;對于物體尺寸,直接預測目標框大小。分別提取左上角和右下角特征,預測左上角和右下角的位置,將左上角和右下角組成候選框。通常embeddings 在相同目標對象的角點中具有很高的相似度,而在不同目標對象中的角點中有著相當大的距離。

圖1 Cneternet 核心思想
與anchor 系列模型的區別:
(1)anchor free 模型一般通過目標的中心點建模,基于anchor 的模型通過預先設置的anchor 建模。基于anchor的模型需要設置有關anchor 的許多超參數。每個位置的樣本數不同:anchor free 模型輸出特征圖上的一個位置只設置一個樣本,而基于anchor 的檢測模型會設置多個樣本(同一個位置設置多個不同形狀anchor)。正樣本的確定方式不同:anchor free 模型正樣本通過位置確定,基于anchor 的檢測模型正樣本通過IOU 來確定。
(2)centernet 的輸出分辨率大,下采樣率只有4(output_stride=4),其他檢測模型普遍為8 ~16。使其對小目標的召回效果比較好。centernet 不需要nms,只需要找到heatmap 的峰值就好。
(3)同一個類別的兩個物體的中心點相同,模型只能給出一個物體檢測框,原因是因為輸出特征圖同一個位置只設置一個樣本,可以用類似fpn 的結構來解決這個問題。
與圖2類比,centernet 與cornernet 采用相似的關鍵點檢測思路,都是要heatmap 思想和focal loss 進行訓練,但是centernet 不需要對關鍵點進行分組操作。

圖2 cornernet 瞄框
下文圖3,圖4,圖5為預測不同任務中的不同屬性。

圖3 object size

圖4 depth

圖5 key point heatmap
(1)檢測任務中直接預測目標框的大小。
(2)centernet 算法目標框的中心點產生監督信息并使用損失函數計算loss。
當centernet 用于普通的目標檢測時,其head 分為三個部分:heatmap、reg、wh,對應三個損失的計算。公式如下:
heatmap (即熱力圖,在目標檢測的圖像處理中,采用二維高斯核來表示關鍵點。)
heatmap 的峰值的位置就是目標的中心點。將模型heatmap 的輸出進行通過3×3 的卷積核進行最大池化處理,保留局部最大值,然后選擇每個類別的topk(100)個像素點,再通過每個類的topk 中(topk x C)選出所有類的topk。接著通過topk 個像素點的位置找到該點對應目標的wh 和offset,最后解析出目標框。
目標是輸入:

輸出:




(2)首先使用一個 Gaussian kernel 將所有的keypoint繪制到heatmap 上。當同一個類別的Gaussian 有重疊的時候選擇element-wise maximum。


和是focal loss 的超參數,代表圖片中keypoint 的個數。一般設置=2,=4。
(3)REG(是超參數一般是指在總loss 的比例,及正則化的權重,w 需要正則化的參數)由于輸出步長的會導致離散誤差的產生,所以需要計算每個keypoint 的local offset(局部偏移)O^∈RRW×RH×2。比如一個點在原圖的位置是(5,7),由于輸出步長為4,所以點映射到輸出特征圖上的位置應該為(1.25,1.75),但是因為要取整,所以點在特征圖上的位置就變成了(1,1),0.25 和0.75就變成了局部偏移量。
(4)(=,其中是矩陣,是矩陣,是矩陣)


就是目標的大小,因為坐標都已經除以下采樣率了,所以計算出來的是在輸出特征圖上的大小,解析目標框后乘以下采樣率就會得到在原圖上的坐標。
在對于人臉的口罩識別中希望能盡可能地多關注口罩信息而盡可能多的忽略臉部其他信息。因此在口罩佩戴檢測中加入注意力機制CBAM 可以有效地實現這一目標。
CBAM是一個比較簡單并且有效的注意力模塊,它的核心思想是利用其中的中間特征圖。注意力的權重是可以通過中間特征圖的空間維度和通道維度進行預測,之后再與原來的特征圖相乘進行自適應性調整。
CBAM 可以分為兩個部分:通道注意力模塊和空間注意力模塊,彼此間相互獨立形成了兩部分,不僅能減少參數量,提高網絡的性能。并且可以作為現成的模塊加入到其他網絡結構中實現集成。CBAM 是一個通用模塊,它屬于一個輕量級。由此特性,所以它可以很容易即成到CNN 得的架構中。并且可以和一些基本的CNN 模型進行端到端的訓練。將CBAM 集成到用于分類和檢測的模型中,性能會有一定程度的提升。因此,CBAM 具有廣泛的應用性。CBAM可以分為兩個部分:通道注意力模塊和空間注意力模塊。
CBAM的兩個部分通道注意力模塊和空間注意力模塊。通道注意力模塊:加入通道注意力可以更好地關注通道中的特征信息,通過學習的方式來自動獲取各個特征通道信息存在的重要性。空間注意力模塊:加入空間注意力的目的是為了更好地關注位置的信息,通過建立空間層面中feature map的內在關系更好地提取特征信息,分析比較哪些區域是有用信息,哪些是不太重要的信息。所以CBAM 可以將通道信息和空間信息結的卷積模塊合起來,將網絡模型的“注意力”放在重要的信息上。
基于ResNet 網絡結構,基于殘差模塊內嵌入通道和空間注意力模塊。經過1×1 卷積,3×3 卷積和1×1 卷積后,依次加入通道注意力模塊和空間注意力模塊,如圖6所示。

圖6 ResNet 加入CBAM 后改進的模型
數據集采用公開數據集VOC_MASK,將數據分為face和face-mask 兩種類別,如圖7所示。


圖7 數據集的分類
對下圖中的專有詞匯做出簡要說明。通常情況下,GT(Ground Truth)稱為真值框,BBox(PredBBox)稱為邊界框,二邊界框是經過網絡預測所得到的。AP 指的是某一個類別全部圖像中的平均精確度,通常用P-R 曲線下的面積來計算,通常一個越好的分類器,AP 值就會越高。
Mean Average Precision(MAP)是平均精度均值,具體指的是不同召回率下的精度均值。在目標檢測中,一個模型通常會檢測很多種物體,那么每一類都能繪制一個PR 曲線,進而計算出一個AP 值,而多個類別的AP 值的平均就是MAP。MAP 是對所有的類別求平均AP 值,MAP 的大小一點在[0,1]之間,越大越好,該指標是目標檢測算法最重要的一個。一般情況下,單一目標用AP 指標,多個目標用MAP指標。其中log-average miss rate表示對數平均未命中率。Recall 表示實際為正樣本中,預測為正樣本的比例。實驗結果如圖8、圖9所示



圖8 centernet results



圖9 加入CBAM 后的結果
通過圖8,圖9可知,加入注意力機制CBAM 后,與原始的centernet 對比face 類別的召回率從62.47%到65.53%增加了3.06 個百分點,face-mask 類別的召回率從92.23%到94.21 增加了1.98 個百分點。而map 值從77.35%到79.87%增加了2.52 個百分點。
為應對當下疫情,加強公共安全防護,提高口罩檢測的效率。本文提出基于CenterNet 在多個中心點在同一位置的目標檢測 ,通過加入CBAM 注意力機制的新網絡模型,以提高口罩佩戴檢測的性能。對數據分為face 和face_mask 兩種類別,在VOC-MASK 數據集上的實驗表明,該算法目標檢測的性能與原始Centernet 算法相比具有競爭優勢。下一步將繼續改進本網絡模型,以進一步提高檢測精度。