李現(xiàn)國, 李斌, 劉宗鵬, 馮欣欣, 劉曉, 宋金水, 張磊
(1.天津工業(yè)大學(xué) 電子與信息工程學(xué)院, 天津 300387; 2.天津市光電檢測技術(shù)與系統(tǒng)重點實驗室, 天津 300387; 3.山東新巨龍能源有限責(zé)任公司, 山東 菏澤 274918)
煤礦安全是安全生產(chǎn)的重中之重。我國發(fā)生煤礦安全事故的因素一方面是自然地質(zhì)條件、產(chǎn)業(yè)結(jié)構(gòu)及現(xiàn)有開采條件,另一方面是從業(yè)人員素質(zhì)低下及監(jiān)管措施不到位[1-2]。后者屬于人為可控因素,可通過井下視頻監(jiān)控系統(tǒng)及行人檢測方法對井下人員位置和行為進(jìn)行檢測與識別,從而提高井下監(jiān)管效率,及時發(fā)現(xiàn)安全隱患[3-4]。
行人檢測方法可分為基于特征提取和基于深度學(xué)習(xí)兩類。其中基于特征提取的行人檢測方法采用人工設(shè)計特征提取器,通過提取HOG特征[5]、Haar特征[6]、LBP特征[7]、積分通道特征[8]等訓(xùn)練分類器,進(jìn)而實現(xiàn)行人檢測。該方法需根據(jù)不同應(yīng)用場景設(shè)計特定的特征提取器,難以適應(yīng)復(fù)雜場景,泛化能力差。近年來,隨著深度學(xué)習(xí)理論的快速發(fā)展,基于深度學(xué)習(xí)的行人檢測方法取得了很大進(jìn)步[9-12],在檢測精度、速度方面較基于特征提取的行人檢測方法有很大提高。研究表明,利用深度學(xué)習(xí)自動獲取的特征可以更好地描述待檢測目標(biāo)的特性,避免了復(fù)雜的特征提取和數(shù)據(jù)建模過程,具有更高的應(yīng)用價值。但現(xiàn)有基于深度學(xué)習(xí)的行人檢測方法存在計算量大、檢測效率嚴(yán)重依賴硬件性能等問題,因此,本文在SSD(Single Shot MultiBox Detector)網(wǎng)絡(luò)[13]基礎(chǔ)上對其進(jìn)行改進(jìn),設(shè)計了輕量級卷積神經(jīng)網(wǎng)絡(luò)作為SSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)及基于ResNet網(wǎng)絡(luò)[14]的輔助網(wǎng)絡(luò),并在嵌入式平臺Jetson TX2上部署應(yīng)用基于改進(jìn)SSD網(wǎng)絡(luò)的井下視頻行人檢測方法,獲得了較好的準(zhǔn)確性和實時性。
SSD是一種單階段端到端目標(biāo)檢測算法,是目前主要的檢測框架之一[15]。SSD借鑒Faster R-CNN的anchors機(jī)制[14]和YOLO回歸思想[16],采用小尺寸的卷積核和多尺度特征預(yù)測方式,極大提高了檢測速度和目標(biāo)檢測精度。
SSD網(wǎng)絡(luò)主要由基礎(chǔ)網(wǎng)絡(luò)和輔助網(wǎng)絡(luò)組成,如圖1所示[13]?;A(chǔ)網(wǎng)絡(luò)由VGG16網(wǎng)絡(luò)[17]的卷積部分組成,主要用于對輸入圖像進(jìn)行特征提取。輔助網(wǎng)絡(luò)由基礎(chǔ)網(wǎng)絡(luò)上附加的卷積層組成,在尺度上逐步減小,可以進(jìn)行多尺度預(yù)測。針對基礎(chǔ)網(wǎng)絡(luò)附加的每個卷積層,通過1組卷積核產(chǎn)生1組固定數(shù)量的預(yù)測集。對于一個m×n×p(m,n為尺寸,p為通道數(shù))的特征層,利用一個3×3×p的卷積核對其進(jìn)行預(yù)測,在特征層的mn個位置處產(chǎn)生一系列預(yù)測信息,包含類別信息和位置信息。
圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 SSD network structure
SSD網(wǎng)絡(luò)在特征層的每個位置處預(yù)測k個邊界框,同時預(yù)測每個類別出現(xiàn)在該位置的得分和預(yù)測位置相對于邊界框的偏移量,從而在每個特征層的每個位置處分別預(yù)測ck(c為類別數(shù))個得分和4k個位置偏移量。對于尺寸為m×n的特征層,共預(yù)測產(chǎn)生(c+4)kmn個輸出量。通過非極大值抑制產(chǎn)生最終的預(yù)測邊界框,并得到分類結(jié)果及位置信息。
SSD網(wǎng)絡(luò)采用VGG網(wǎng)絡(luò)作為基礎(chǔ)網(wǎng)絡(luò),但VGG網(wǎng)絡(luò)參數(shù)多,計算過程復(fù)雜,不適合在內(nèi)存資源和計算能力有限的嵌入式平臺上運行,也不符合井下視頻行人實時檢測的實際需求。本文在DenseNet網(wǎng)絡(luò)基礎(chǔ)上,設(shè)計了一種輕量級卷積神經(jīng)網(wǎng)絡(luò)作為SSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò),同時針對井下環(huán)境干擾大、采集圖像質(zhì)量差的特點,設(shè)計了一種基于ResNet網(wǎng)絡(luò)的輔助網(wǎng)絡(luò),極大增強(qiáng)了特征表征能力,提高了井下視頻行人檢測的準(zhǔn)確性。
改進(jìn)SSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)由1個主干塊、4個密集塊和4個過渡層組成,其結(jié)構(gòu)參數(shù)見表1。該網(wǎng)絡(luò)通過特征復(fù)用和旁路設(shè)置,大幅減少了網(wǎng)絡(luò)參數(shù),同時在一定程度上緩解了梯度消失問題,加快了網(wǎng)絡(luò)收斂速度,提高了特征利用效率。
在文獻(xiàn)[18]研究基礎(chǔ)上,將原始DenseNet網(wǎng)絡(luò)的第1個7×7卷積層替換為3個級聯(lián)的3×3卷積層,在保證相同感受野的情況下加深了網(wǎng)絡(luò)深度,減少了網(wǎng)絡(luò)參數(shù)。在網(wǎng)絡(luò)輸入階段,引入文獻(xiàn)[19]提出的主干塊結(jié)構(gòu)并進(jìn)行改進(jìn),以減少輸入圖像信息丟失并充分利用輸入圖像的原始信息。主干塊結(jié)構(gòu)如圖2所示。
表1 基礎(chǔ)網(wǎng)絡(luò)部分結(jié)構(gòu)參數(shù)Table 1 Part structural parameters of basic network
圖2 主干塊結(jié)構(gòu)Fig.2 Stem block structure
根據(jù)文獻(xiàn)[18,20]研究結(jié)果,采用雙路密集塊結(jié)構(gòu),分別用不同大小的卷積核同時獲取來自不同大小感受野的信息,同時將同一密集塊中前后2個卷積層直接相連,以獲得不同尺度的特征圖及隱性深度監(jiān)督的特性。雙路密集塊結(jié)構(gòu)如圖3所示。
圖3 雙路密集塊結(jié)構(gòu)Fig.3 Double-way dense block structure
按照DenseNet網(wǎng)絡(luò)連接模式設(shè)計基礎(chǔ)網(wǎng)絡(luò)的其他部分,同時在基礎(chǔ)網(wǎng)絡(luò)各卷積層中采用更窄的結(jié)構(gòu),即合理減少每個卷積層中卷積核數(shù)量,使參與訓(xùn)練的權(quán)重參數(shù)進(jìn)一步減少,降低了網(wǎng)絡(luò)復(fù)雜度,提高了網(wǎng)絡(luò)收斂性能,使得改進(jìn)SSD網(wǎng)絡(luò)滿足內(nèi)存和計算能力的嚴(yán)格要求。
文獻(xiàn)[21]提出目標(biāo)檢測網(wǎng)絡(luò)在分類和回歸階段采用殘差網(wǎng)絡(luò)結(jié)構(gòu)可提取更深維度的特征,提高特征利用效率,有效提升網(wǎng)絡(luò)的準(zhǔn)確性。本文基于ResNet網(wǎng)絡(luò),在SSD網(wǎng)絡(luò)的輔助網(wǎng)絡(luò)中引入殘差模塊,即對于每個特征層在進(jìn)行預(yù)測前構(gòu)建一個殘差模塊,如圖4所示。
圖4 殘差模塊結(jié)構(gòu)Fig.4 Residual block structure
引入殘差模塊后SSD網(wǎng)絡(luò)對特征層的變化更加敏感,能夠在加深網(wǎng)絡(luò)深度的同時,保證有效提取特征,因此能夠使用1×1卷積核預(yù)測類別得分和位置偏移量,以更少的網(wǎng)絡(luò)參數(shù)和更低的計算成本獲得與使用3×3卷積核的網(wǎng)絡(luò)基本相同的預(yù)測精度。改進(jìn)的輔助網(wǎng)絡(luò)結(jié)構(gòu)如圖5中虛線框內(nèi)所示。
圖5 改進(jìn)的輔助網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Improved auxiliary network structure
網(wǎng)絡(luò)目標(biāo)損失函數(shù)是定位損失函數(shù)和置信度損失函數(shù)的加權(quán)和。定位損失函數(shù)和置信度損失函數(shù)在訓(xùn)練過程中對網(wǎng)絡(luò)結(jié)構(gòu)的準(zhǔn)確度進(jìn)行判定,并更新網(wǎng)絡(luò)參數(shù)。目標(biāo)損失函數(shù)為
(1)
式中:x為預(yù)測邊界框與真實邊界框的匹配度:c為標(biāo)注類別;l為預(yù)測邊界框坐標(biāo);g為真實邊界框坐標(biāo);n為匹配的默認(rèn)邊界框數(shù)量,n=0時將損失設(shè)為0;Lconf(x,c)為置信度損失函數(shù);Lloc(x,l,g)為定位損失函數(shù);α為置信度損失函數(shù)和定位損失函數(shù)的權(quán)重。
定位損失函數(shù)為
(2)
置信度損失函數(shù)為
(3)
分別采用SSD網(wǎng)絡(luò)和改進(jìn)SSD網(wǎng)絡(luò)進(jìn)行井下行人檢測實驗,驗證2種網(wǎng)絡(luò)的檢測性能。網(wǎng)絡(luò)訓(xùn)練平臺:CPU為Intel(R) Xeon(R) CPU E5-2678 v3;內(nèi)存為64 GB DDR4;GPU為Nvidia Geforce GTX1080Ti;操作系統(tǒng)為64位Ubuntu16.04 LTS;實驗框架為Caffe開源框架。網(wǎng)絡(luò)測試平臺為低功耗嵌入式平臺Jetson TX2。
網(wǎng)絡(luò)訓(xùn)練分為預(yù)訓(xùn)練和微調(diào)2個階段。預(yù)訓(xùn)練階段采用ImageNet數(shù)據(jù)集的數(shù)據(jù)初始化網(wǎng)絡(luò)。微調(diào)階段需要從大量樣本中學(xué)習(xí)行人特征。若樣本集不具備代表性,則很難選擇出好的特征。因此首先將VOC數(shù)據(jù)集中的行人圖像和井下行人檢測數(shù)據(jù)集(來自某煤礦井下監(jiān)控視頻,按照VOC2007數(shù)據(jù)集標(biāo)準(zhǔn)制作,采用LabelImg軟件標(biāo)注,每張圖像中行人為1~20人,且包含各種尺度)中的行人圖像混合,作為第一輪訓(xùn)練集,進(jìn)行4萬次訓(xùn)練迭代,粗調(diào)網(wǎng)絡(luò),使網(wǎng)絡(luò)充分學(xué)習(xí)行人所具備的特征。然后僅采用井下行人檢測數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò),進(jìn)行2萬次訓(xùn)練迭代,精調(diào)網(wǎng)絡(luò),使網(wǎng)絡(luò)充分適應(yīng)井下環(huán)境中行人特征,并利用井下行人檢測的測試集測試網(wǎng)絡(luò)。整個訓(xùn)練過程中采用SGD(Stochastic Gradient Descent,隨機(jī)梯度下降)反向傳播優(yōu)化網(wǎng)絡(luò)。學(xué)習(xí)率為0.005,動量為0.9,權(quán)重衰減參數(shù)為0.000 5,每2萬次迭代衰減1次學(xué)習(xí)率,衰減因子為0.1,共進(jìn)行6萬次迭代。
在Jetson TX2平臺運行2種網(wǎng)絡(luò)對井下視頻中行人進(jìn)行檢測,結(jié)果表明,因井下圖像質(zhì)量較差,大小為95 MB 的SSD網(wǎng)絡(luò)檢測準(zhǔn)確率為89.5%,23.7 MB的改進(jìn)SSD網(wǎng)絡(luò)檢測準(zhǔn)確率為87.9%,與SSD網(wǎng)絡(luò)相差不大,但改進(jìn)SSD網(wǎng)絡(luò)運算速度達(dá)48幀/s,約為SSD網(wǎng)絡(luò)的4.4倍,滿足井下視頻行人實時檢測需求。
針對井下行人檢測數(shù)據(jù)集的部分檢測結(jié)果如圖6所示。可看出針對井下行人低密度場景,改進(jìn)SSD網(wǎng)絡(luò)可有效定位并檢測出行人,準(zhǔn)確率近100%,檢測效果與SSD網(wǎng)絡(luò)一致;但當(dāng)井下行人密集且出現(xiàn)嚴(yán)重遮擋時,改進(jìn)SSD網(wǎng)絡(luò)因采用輕量級卷積神經(jīng)網(wǎng)絡(luò),特征提取能力有限,存在部分行人漏檢現(xiàn)象。
(a) 原始圖像
(b) SSD網(wǎng)絡(luò)檢測結(jié)果
(c) 改進(jìn)SSD網(wǎng)絡(luò)檢測結(jié)果
分別基于DenseNet網(wǎng)絡(luò)和ResNet網(wǎng)絡(luò)改進(jìn)SSD網(wǎng)絡(luò)的基礎(chǔ)網(wǎng)絡(luò)和輔助網(wǎng)絡(luò),并提出了一種基于改進(jìn)SSD網(wǎng)絡(luò)的井下視頻行人檢測方法。將改進(jìn)SSD網(wǎng)絡(luò)在低功耗嵌入式平臺Jetson TX2上部署應(yīng)用,結(jié)果表明其針對井下行人檢測數(shù)據(jù)集的檢測準(zhǔn)確率為87.9%,與SSD網(wǎng)絡(luò)基本相同,但運算速度達(dá)48幀/s,約為SSD網(wǎng)絡(luò)的4.4倍,滿足井下視頻行人實時檢測需求。該方法部署在低功耗嵌入式平臺,可用于井下特定場所(如帶式輸送機(jī)機(jī)頭和機(jī)尾等)的人員入侵檢測,可現(xiàn)場實時報警,無需將視頻圖像傳輸?shù)竭h(yuǎn)端服務(wù)器,也可用于巡檢機(jī)器人進(jìn)行沿線行人檢測。但該方法對于密集或遮擋嚴(yán)重的行人檢測效果有待提高。下一步將重點研究井下遮擋或密集行人的檢測及進(jìn)一步提高實時性的問題。