李青云,李 燕,2,盧崢松,林思偉
(1.南京信息工程大學自動化學院,南京 210044;2.無錫學院物聯(lián)網學院,無錫 214105)
隨著深度學習技術的發(fā)展,計算機視覺技術已經逐漸應用到社會生產生活的各個領域。在電力生產、建筑業(yè)等行業(yè)中,未佩戴安全帽是造成安全事故發(fā)生的重要原因之一。根據《中華人民共和國住房和城鄉(xiāng)建設部安全事故通報》,2014~2018 年間,高空物體打擊事故從2014年的63起,逐漸上升至2018年的112起。本文通過提出一種輕量化超參數(shù)卷積神經網絡,能對施工人員的安全帽是否佩戴進行檢測,減少安全事故的發(fā)生。傳統(tǒng)基于機器學習的安全帽檢測算法需要人工提取目標特征。如尺度不變特征變換匹配法(Scale-Invariant Feature Trans?form,SIFT)、方向梯度直方圖(Histogram Of Oriented Gradient,HOG)特征、可變性的組件模型(Deformable Parts Model,DPM)、加速穩(wěn)健 特 征(Speeded Up Robust Features,SURF)等。現(xiàn)在基于目標檢測的安全帽檢測算法具有更大的優(yōu)勢。主要分為以SPP-Net(Spatial Pyra?mid Pooling Network)、Fast RCNN(Faster Re?gions with CNN)等為代表的二階段網絡和以SSD(Single Shot MultiBox Detectpr)、YOLO(You Only Look One)為代表的單階段網絡。二階段網絡通過區(qū)域提取和分類兩個階段來實現(xiàn)對目標的檢測,具有較好的檢測性能,但存在計算量過大而導致檢測速率慢的缺點。單階段網絡直接對目標的高級特征進行識別,避免了復雜的特征提取與檢索,很大程度上提升了檢測速率,但由于單階段網絡對各級網絡的特征單獨進行預測,底層特征缺少語義與全局信息,容易造成小目標漏檢的情況發(fā)生。
基于計算機視覺的安全帽檢測任務,Long等提出了一種利用單鏡頭多箱探測器(SSD)和安全帽精密檢測模塊對安全帽佩戴情況進行精確檢測的方法。在該方法中,特征映射的權值更新不僅依賴于SSD 網絡的檢測結果,還依賴于安全帽精確檢測模塊。安全帽精確檢測模塊對安全帽的大致位置進行特征提取,再將特征輸入到分類器和回歸器中,與正確標注進行比較,并更新權重,可獲得良好的檢測性能。李華等提出了一種基于改進Faster RCNN的安全帽佩戴檢測方法。該方法采用Fo?cal loss替代原本的損失函數(shù),解決了數(shù)據集中類別不平衡的問題。引入ROI Pooling 使安全帽預測區(qū)域更加匹配。改進后的Faster R-CNN網絡的平均精度有所提高,更加適應業(yè)務需求。Liu等于2017年提出一種模擬人類視覺系統(tǒng)中感受野(Population Recrptive Field,PRF)結構的RFBNet。 其 中 感 受 野 模 塊(Recrptive Field Block,RFB)借鑒了多分支卷積模塊的思想。采用不同大小的卷積核與不同擴張率的空洞卷積來得到最終的感受野排列,可以提取更為精細的目標特征。
在RFBNet 中,由于骨干網絡和輸入圖片尺寸的不同,可以將RFBNet分為以MobileNet為骨干網絡的RFB-MobileNet 和以VGG為骨干網絡的RFBNet-300 和RFBNet-512 兩個版本。本文在RFB-MobileNet檢測算法的基礎上,提出了DO-RFB-MobileNet 算法。首先,在骨干網絡中融合多頻譜通道注意力模塊FcaNet,使模型網絡更專注于安全帽和人臉特征的學習,獲得更多的細節(jié)信息以提高模型的檢測精度。其次將模型中RFB 模塊和FcaNet 模塊中的常規(guī)卷積替換為深度超參數(shù)化卷積DO-Conv。在不增加計算復雜性的情況下,提升模型的檢測性能。實驗結果表明,本文的模型網絡DORFB-MobileNet 在具有較高的檢測精度的同時,還具有較快的檢測速度。
特征提取是目標檢測網絡中十分重要的環(huán)節(jié),在目標檢測任務中,網絡模型為了提高淺層特征的表示能力,更有效地進行特征提取,不斷加深主干網絡的深度和復雜程度,雖然檢測精度有所提高,但是加大了網絡的計算復雜度,降低了網絡的檢測速度?,F(xiàn)階段對于目標檢測任務在實際中的應用,如自動駕駛、人臉識別等,都要求網絡具有實時性,這就要求模型網絡在具備實時性的前提下,有較高的檢測精度。
MobileNet 是一種輕量型的卷積神經網絡,與傳統(tǒng)卷積神經網絡相比,主要區(qū)別在于該網絡使用了由深度卷積與逐點卷積構成的深度可分離卷積。深度卷積的每一個卷積核對應一個通道,且一個通道只與一個卷積核進行卷積,得到的特征圖數(shù)和輸入的通道數(shù)一致。逐點卷積運算會將上一步的特征圖在深度方向上進行加權組合,生成新的特征圖,得到的特征圖數(shù)和卷積核數(shù)一致。在較為復雜的網路模型中,將其骨干網絡替換為MobileNet 網絡,可以大大降低模型的復雜程度,在保持模型擁有較高的檢測精度的同時,具備實時檢測的效果,便于模型在實際場景中的應用。
本文所使用的網絡框架為RFB-MobileNet。該網絡在RFBNet 網絡框架的基礎上,使用輕量卷積網絡MobileNet 代替原有的骨干網絡VGG16,并去掉MobileNet 網絡中的最大平均池化 層、 全 連 接 層 和Softmax 層。 在RFBMobileNet 中,骨干網絡總共有27 個卷積層,其中包括1 個標準卷積層、13 個深度卷積層和13個逐點卷積層。新添加的三個深度可分離卷積中有3 個深度卷積層和3 個逐點卷積層,還有RFB-s 模塊和RFB 模塊。將骨干網絡中的第12、13 個深度卷積層、RFB 模塊、新添加的第14、15、16 個深度卷積層共6 層特征圖作為錨點框的提取層,其中第12 個深度卷積層要與RFB-s模塊相連接。其結構圖如圖1所示。
圖1 RFB-MobileNet算法結構圖
注意力機制是增強卷積神經網絡性能的一種重要方式。SE-Net 首次提出了通道注意力機制,有效地建立了特征之間的空間相關性,并提升了卷積神經網絡的性能。隨后,基于SENet 模型,具有多頻譜通道信息的注意力模塊FcaNet 被提出。由于使用全局平均池化(GAP)沒辦法捕獲豐富的輸入信息,得到的特征信息缺乏多樣性。而FcaNet 使用有限制的多個頻率分量代替只有最低頻的GAP,通過集成更多頻率分量,不同的信息被提取從而形成一個多譜描述,可以得到多樣性的特征信息。
FcaNet 注意力模塊通過學習獲取不同特征通道對應的權值,再根據權值的大小提升有用特征的表達能力的同時抑制無用特征的表達能力。首先輸入被沿著通道劃分為個部分[,,…,X],對于每個部分-',計算其2D-DCT頻率成分并作為通道注意力的預處理結果。此時有公式(1):
其中:,是頻率分量的2D 索引,Freq是-'維的向量。
將上述頻域成分通過concat 進行組合,整體的預處理向量為公式(2):
此時就是通過計算得到的多頻譜向量,該多頻譜向量的通道注意力可以寫成公式(3),其操作示意圖如圖2所示。
圖2 FcaNet操作示意圖
在深度超參數(shù)化卷積層(DO-Conv)操作中,對于網絡的輸入特征,首先使用權重∈ 進行Depthwise 卷積,對輸出結果 進 行 權 重 為∈R 的 傳 統(tǒng) 卷 積,且D≥×。其中C為輸入的Feature Map 的通道數(shù),×為卷積核作用的窗口尺寸,C為這個卷積的輸出Feature Map 通道數(shù),且D個卷積核作用于窗口×,可輸出D個特征。上述運算可表示為=( ),*,其操作示意圖如圖3所示。
圖3中○代表進行Depthwise 卷積操作,且本文中的Depthwise 卷積操作不改變輸入特征的維度;*代表傳統(tǒng)卷積操作。
圖3 深度超參數(shù)化卷積層操作示意
計算過程可表示為*(○),即:對輸入特征進行Depthwise 卷積操作,即=○,得到中間變量。對中間變量進行傳統(tǒng)卷積操作,即=*,得到最終結果。
針對施工環(huán)境的復雜性,為了平衡檢測速度和檢測精度之間的需求。本文選擇在骨干網為MobileNet 的RFB-MobileNet 上進行改進。首先,將基于DCT 頻率域的通道注意力模塊FcaNet 添加到骨干網絡中,提升卷積神經網絡對于安全帽特征和人臉特征的學習能力。其次將RFB 模塊和FcaNet 中的常規(guī)卷積用DO-Conv代替,在不增加計算量的同時,進一步加強RFB 模塊對于模型檢測性能,建立一種輕量化的可實時檢測安全帽的高精度神經網絡。
FcaNet 注意力模塊通過學習獲取不同特征通道對應的權值,再根據權值的大小提升有用特征的表達能力的同時抑制無用特征的表達能力。首先輸入被沿著通道劃分為塊,并讓每一塊分配不同的頻段。然后通過自動學習確定不同維度特征的權值,最后將學習得到的特征逐通道加權到先前的特征上,實現(xiàn)對原始特征的重新標定。本文將FcaNet 網絡添加到MobileNet的第三個逐點卷積和第五個逐點卷積,融合之后的骨干網絡如表1所示。
表1 融合骨干網絡表
在目標檢測網絡中,RFB-MobileNet 沒有使用檢測效果好、但計算量大的主干網絡,而是使用了輕量型的主干網絡MobileNet 結合RFB 模塊,提取了高判別性的特征。再將RFB 模塊中的常規(guī)卷積層替換為深度超參數(shù)化卷積層。RFB 模塊融合深度超參數(shù)化卷積前后示意圖如圖4 所示,改進前、后的RFB 模塊分別對應圖4(a)和圖4(b)。
圖4 RFB模塊融合深度超參數(shù)化卷積前后示意圖
使用改進后的RFB 模塊替換掉網絡中的RFB 模塊,將FcaNet 中的常規(guī)卷積替換成深度超參數(shù)化卷積。改進后的FcaNet 稱之為DOFcaNet。最終算法網絡結構圖如圖5所示。
圖5 DF-RFB-MobileNet算法網絡結構圖
損失函數(shù)是目標檢測算法的關鍵部分,本文算法的損失函數(shù)由置信度損失函數(shù)和位置損失函數(shù)兩部分組成。置信度損失函數(shù)為(,)、位置損失函數(shù)為(,,)。函數(shù)表達式為公式(4):其中,為輸入樣本,為置信度,為預測框,為真實框,為匹配到默認框的數(shù)量,為置信度損失,為位置損失,為分類和回歸的權重系數(shù)。
在服務器上搭建進行訓練所需的環(huán)境,服務器硬件配置為CPU(intel i5 10400F)、GPU(GTX1650)、主板(微星B460M)、內存(Cor?sair 16G)、 硬 盤(2TB)。 軟 件 配 置 為ubuntu18.04 操作系統(tǒng)、CUDA10.2、Pytorch1.7.1等。實驗數(shù)據集采用開源的安全帽SCUTHEAD 數(shù) 據 庫(https://github.com/njvisionpower/Safety-Helmet-Wearing-Dataset)。該數(shù)據集下共有7024 張圖片,其中5458 張圖片作為訓練集,606張作為驗證集,960張作為測試集。
本文中的實驗均設置輸入圖片大小為320*320、batch_size 為4、優(yōu)化器為SGD。在訓練過程中,學習率調整策略采用1cycle 策略,初始學習率為0.000001,在5 個epoches 內逐漸上升至0.004。此后分別設置三個學習率衰退節(jié)點(150epoches,200epoches,250epoches),在每個節(jié)點,學習率的衰退值gamma為0.1。經過280個epoches充分訓練后,得到了相對應的訓練模型。
如圖6所示,左邊為原算法對不同圖片的檢測結果,右邊為本文算法對應的檢測結果。從檢測結果來看,原算法的漏檢率較高,且對于小目標和遮擋目標的檢測效果較差。本文算法漏檢率較低,在人臉目標和安全帽目標的精度上均有明顯提升。實驗結果與預期符合。
圖6 算法改進前后結果對比圖
表2展示了RFB-MobileNet 算法和本文算法(DO-RFB-MobileNet)的對比結果,當使用DO-RFB-MobileNet 算 法 時, Hat 的為0.7972,相比于改進之前提高5.13%;Person 的為0.6881,相比于改進之前提高9.02%;為0.7427,相比于改進前提高7.08%。
表2 本文算法和原算法mAP對比
表3展示了以MobileNet 為主干網絡的消融實驗。實驗一為原版RFB-MobileNet,網絡的為67.19%;實驗二為加入DO-RFB 模塊后的改進網絡,為71.78%。實驗二相比于實驗一,提升了4.59%,說明將RFB 模塊中的常規(guī)卷積替換為DO-Conv 卷積,有利于網絡性能的提升。實驗三為加入DO-FcaNet 模塊后的改進網絡,為0.7358。實驗三相比于實驗一,提升6.39%,說明在骨干網絡中加入DO-FcaNet 模塊,加強對圖像中安全帽和人臉的特征學習,有利于網絡性能的提升。實驗四為將DO-RFB 模塊和DO-FcaNet 模塊都加入模塊后的最終改進網絡,為0.7427。
表3 消融實驗
實驗四相比于實驗一,提升了7.08%。相比于實驗二,提升了2.49%。相比于實驗三提升了0.69%??傻贸鼋Y論,本文中各個模塊的改進均有效。
圖7展示了在使用同樣的訓練策略下的消融實驗檢測結果對比圖,可以看出實驗四(本文算法)相對于其它三組實驗,檢測效果上有較大提升,前三組實驗中存在漏檢情況,而實驗四不僅無漏檢情況,且在檢測識別率上也有顯著提高。本文消融實驗檢測結果與消融實驗表結果互相印證。故得出結論,本文改進有效。
圖7 消融實驗檢測結果對比圖
本文針對工業(yè)生產作業(yè)環(huán)境下的安全帽佩戴檢測問題,構建DO-FcaNet 模塊來增強網絡對于安全帽特征和人臉特征的學習,采用DORFB 模塊在不增加網絡計算量的前提下,提高網絡的收斂速率和網絡性能,從而建立輕量化高精度的安全帽佩戴檢測網絡DO-RFBMobileNet。通過實驗證明,該網絡在常規(guī)施工場景下,能有效地實現(xiàn)安全帽佩戴識別,檢測精度較高,可實現(xiàn)實時檢測,符合業(yè)務需求。