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