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