張帆,欒佳星,崔東林,徐志超
1.中國礦業(yè)大學(北京)機電與信息工程學院,北京 100083;2.中國礦業(yè)大學(北京)智慧礦山與機器人研究院,北京 100083
智能化開采是礦井安全、高效集約化生產(chǎn)的發(fā)展趨勢,為最終實現(xiàn)煤炭精準開采的少人(無人)、智能感知和災害智能監(jiān)控預警與防治提供技術(shù)支撐[1]。因此,研究井下作業(yè)人員、機車設備和機器人等移動目標的準確檢測與實時跟蹤識別,對保障礦井智能安全開采和提高煤礦災害智能預警具有重要意義[2-7]?,F(xiàn)有礦井人員和井下機車等移動目標檢測識別方法主要采用靜態(tài)的射頻識別技術(shù),該技術(shù)無法實現(xiàn)對移動目標的多維信息檢測與跟蹤識別,尤其是在井下霧塵、低照度環(huán)境中難以實現(xiàn)對礦井移動目標進行實時跟蹤與準確識別[4-5]。
目前,傳統(tǒng)的基于機器學習的目標檢測方法是通過梯度直方圖(HOG)和尺度不變特征轉(zhuǎn)換(SIFT)等方法對檢測目標進行特征提取,然后使用支持向量機(SVM)、AdaBoost等分類器對提取的特征進行分類[4-10],但這種方法通過人工獲取特征,過度依賴目標提取特征和網(wǎng)絡檢測模型,增加了識別過程的復雜度,且泛化能力較差[11]。近年來,針對深度學習的理論研究已引起國內(nèi)外眾多學者關(guān)注,深度卷積神經(jīng)網(wǎng)絡(DCNN)被認為是一種適合目標檢測和分類任務的重要深度學習方法,在視頻圖像識別、自然語言處理、運動目標檢測與識別等各種應用中取得了巨大突破[12-15]。Girshick等[15]提出了基于區(qū)域卷積神經(jīng)網(wǎng)絡(R-CNN)的目標檢測方法,避免了手工提取特征,但該方法采用選擇性搜索[16],對目標圖片進行區(qū)域候選框縮放和卷積網(wǎng)絡特征提取,導致模型特征變形和檢測速度很慢。He等[17]提出了改進的R-CNN目標檢測方法,引入了空間金字塔池化,解決了候選區(qū)域的尺度映射問題,提高了模型的檢測速度和準確率;Girshick[18]提出了Fast R-CNN模型,采用了MultiBox的多任務損失函數(shù),通過目標定位和目標分類兩個任務共有的損失函數(shù)來訓練網(wǎng)絡,提高了檢測精度。但以上算法在提取區(qū)域候選框時都采用選擇性搜索方法,運算耗時長,收斂速度緩慢,易陷入局部極小等問題,難以滿足目標檢測的實時性要求。文獻[19]提出了Faster R-CNN模型,用區(qū)域建議RPN網(wǎng)絡取代選擇性搜索方法,解決了候選區(qū)域生成過程時間開銷過大的問題,在一定程度上加快了網(wǎng)絡的訓練速度和測試速度,取得了較高的準確率和檢測速度,但依然無法滿足實時性要求。文獻[20]提出了YOLO檢測網(wǎng)絡,極大地提高了模型的檢測速度,但其每個網(wǎng)格只預測一個物體,對于尺度變化較大的物體泛化能力較差,且容易造成漏檢,識別精度較低。上述網(wǎng)絡模型和目標檢測方法在提高目標檢測的均值平均精度(mAP)方面取得了良好的效果,但在實時性檢測效果方面還與實際需求存在一定差距。
近年來,眾多人工智能科學研究者發(fā)現(xiàn),單鏡頭多盒檢測器(SSD)具有快速定位和聚焦興趣目標的能力[21-22]。SSD多尺度特征圖深度學習模型結(jié)合了YOLO檢測網(wǎng)絡的回歸思想和Faster R-CNN檢測網(wǎng)絡的錨框機制,同時兼顧準確性和實時性,在多層特征圖上生成不同尺度的區(qū)域候選框,從而實現(xiàn)對不同形狀、不同尺寸物體的精準和快速檢測。因此,將SSD深度學習能力引入DCNN 模型,無疑將提升目標識別的效率,為實現(xiàn)礦井移動目標實時性檢測與識別提供借鑒。
本文針對現(xiàn)有礦井移動目標檢測與識別存在的不足,提出一種基于深度卷積網(wǎng)絡SSD-LeNet的移動目標檢測與識別方法。其總體思路:① 利用視覺傳感器捕獲煤礦井下移動目標的一幀來構(gòu)建原始圖像模型輸入,制作含有數(shù)字序列位置信息的移動目標數(shù)據(jù)集;② 采用擴大局部感受野和減小卷積濾波器尺寸的方法,獲取更具顯著區(qū)分力和表達力的多尺度特征,離線訓練可以輸出與自身位置對應的目標特征類的SSD網(wǎng)絡模型;③ 利用訓練好的SSD學習模型對測試集中移動目標圖片上的數(shù)字序列位置進行檢測,并根據(jù)數(shù)字序列位置對應的矩形區(qū)域進行字符分割操作;④ 將分割后的單個字符依次放入LeNet-5網(wǎng)絡中進行識別,并將識別出的單個字符按順序合成數(shù)字序列;⑤ 根據(jù)識別出的數(shù)字序列快速檢索出移動目標的身份信息;⑥ 通過仿真實驗驗證了本文方法的有效性。
網(wǎng)絡的結(jié)構(gòu)直接影響目標特征的學習訓練效率和逼近能力。為了提高對井下移動目標的多尺度特征深度學習能力,更好地實現(xiàn)對目標的智能檢測與精準識別效果,本文選用單鏡頭多盒檢測器(SSD)多尺度深度學習網(wǎng)絡,SSD模型結(jié)構(gòu)由主體網(wǎng)絡層和擴展層構(gòu)成,其模型結(jié)構(gòu)如圖1所示。主體網(wǎng)絡層采用VGG16網(wǎng)絡的前5層作為基礎(chǔ)網(wǎng)絡結(jié)構(gòu),主要用于卷積特征提取、抽取圖片特征;擴展層是空間尺寸逐漸減小的卷積層,主要用于多層特征融合、提取不同尺度下的候選框。另外,還有多任務學習和非極大值抑制(NMS),用于對提取到的默認框特征融合進行深度學習,以及通過局部最大搜索去除冗余,旨在快速獲取目標對象。
圖1 SSD模型結(jié)構(gòu)Fig.1 SSD model structure
為使 SSD 模型模仿人類視覺感知系統(tǒng),能夠在目標圖像中快速搜索到目標位置對象,因此需要在目標定位階段添加視覺識別特征。SSD模型通過選取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2六個不同尺度特征圖,在其每一個特征面上生成一系列候選框,然后再將候選框與目標真實的標注框按照匹配策略進行匹配,最后通過NMS策略處理每個真實框附近的冗余框,過濾多余的非文本信息,從而根據(jù)定位的目標檢測框位置偏移量得到最終的檢測結(jié)果。
(1)
目標函數(shù)由候選框的分類損失與定位損失構(gòu)成,總的損失函數(shù)為
(2)
式中,x為輸入樣本;c為目標類別;l為候選框;g為真實框;N為匹配候選框的數(shù)目;λ為正則項權(quán)值,使用交叉熵驗證的方式獲得;Lloc和Lconf分別為檢測目標的回歸任務損失函數(shù)和類別任務損失函數(shù)。
目標候選框的位置偏移量損失函數(shù)Lloc為
(3)
(4)
式中,x為數(shù)字圖片的三維矩陣;cx、cy為補償后的候選框的中心坐標;w、h為候選框的寬和高。
檢測目標的類別任務損失函數(shù)Lconf定義為
(5)
根據(jù)以上目標函數(shù)擬合本文所提方法的訓練過程,網(wǎng)絡模型得以收斂。此時,SSD模型具有了檢測新圖片中數(shù)字序列標識符準確位置的功能。
本文通過SSD檢測網(wǎng)絡,獲取移動目標和數(shù)字標簽的位置信息。根據(jù)數(shù)字標簽的坐標信息,利用openCV將數(shù)字標簽從原始圖像中截取出來,對截取的數(shù)字標簽進行灰度化和二值化處理,并對數(shù)字序列位置對應的矩形區(qū)域進行字符分割操作,將分割后的單個字符作為輸入,進一步利用LeNet-5字符識別網(wǎng)絡對其進行字符識別,將識別出的單個字符按順序合成數(shù)字序列,輸出與移動目標位置對應的數(shù)字序列信息,從而實現(xiàn)對目標的精準識別。LeNet-5字符識別網(wǎng)絡的預訓練包括前向傳播和反向傳播兩個階段。其基本思想:首先從MNIST數(shù)據(jù)集中選取一個目標樣本輸入網(wǎng)絡,通過前向傳播對輸入層傳來的特征向量依次經(jīng)過卷積計算、非線性變化、下采樣及全連接計算,輸出一個預測結(jié)果;然后對前向傳播獲得的預測值向量與輸入的特征向量進行比較,計算二者的誤差,再通過反向傳播將該誤差值反傳回網(wǎng)絡中;最后采用梯度下降方法優(yōu)化網(wǎng)絡訓練,迭代調(diào)整網(wǎng)絡的權(quán)值,達到最佳逼近性能,使預測值與真實值之間的累計誤差最小。
(1) 前向傳播階段。傳播過程中將當前卷積層的輸入加權(quán)與當前層的偏置求和,對目標圖像的每層輸入特征的運算為
(6)
(2) 反向傳播階段。對m個樣本的數(shù)據(jù)集,假設樣本為(x,y),根據(jù)網(wǎng)絡前向傳播階段輸出的每個類別的預測值期望,定義網(wǎng)絡的整體目標函數(shù)為
(7)
由式(7)可知,通過迭代訓練最小化損失函數(shù)降低網(wǎng)絡分類誤差,使輸出預測值期望無限接近于實際值。
定義損失函數(shù)L(zi)為
L(zi)=-logσ(zi)
(8)
式中,σ(zi)為預測輸入zi屬于每一個類別的概率。
基于SSD-LeNet網(wǎng)絡的礦井移動目標檢測與識別總體流程如圖2所示。SSD-LeNet算法由模型訓練、目標位置檢測和目標類別識別三部分組成。
圖2 礦井移動目標檢測與識別總體流程Fig.2 Process of mine moving target detection and tracking identification
步驟1:初始化。采用ImageNet預訓練模型VGG16網(wǎng)絡初始化SSD網(wǎng)絡的主體網(wǎng)絡層,采用均值為0、方差為0.01的高斯分布初始化SSD網(wǎng)絡的擴展層。
步驟2:候選區(qū)域提取。在SSD網(wǎng)絡模型中輸入移動目標訓練樣本,SSD檢測器分別從Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2六個不同尺度的特征圖上提取一系列候選框,并依據(jù)匹配策略選取其中部分候選框作為正負樣本。
步驟3:誤差計算。根據(jù)式(2)計算步驟2中的正負樣本及數(shù)據(jù)集標注信息(包括數(shù)字序列的類別和位置坐標)的誤差損失值。
步驟4:權(quán)值更新。利用基于梯度下降的深度學習反向傳播算法更新SSD網(wǎng)絡模型的權(quán)值。
步驟5:迭代收斂。遍歷整個移動目標訓練集,重復執(zhí)行步驟2至步驟4,迭代并計算SSD模型在移動目標驗證集上的誤差值,直到該誤差值達到最小。
步驟1:將一張測試集圖片輸入到SSD模型中,SSD檢測器自動提取目標圖片特征。
步驟 2:根據(jù)步驟1中提取的目標圖片特征,SSD檢測器選取Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2和Conv11_2六個不同尺度的特征圖,從其中提取出得分最高的一系列預測框。
步驟 3:SSD檢測器采用非極大值抑制策略,從步驟2的一系列預測框中去除冗余的檢測框,獲得最后的目標預測框。
步驟 4:通過SSD檢測器獲取目標預測框的位置偏移量,確定目標預測框中的位置坐標。
步驟1:從MNIST數(shù)據(jù)集中選取一個樣本輸入LeNet-5網(wǎng)絡,利用式(6)對樣本的特征向量進行卷積計算、非線性變化、下采樣及全連接計算,輸出一個預測結(jié)果。
步驟3:重復執(zhí)行步驟1至步驟2,迭代更新網(wǎng)絡的權(quán)值,最小化損失函數(shù),當網(wǎng)絡輸出的誤差收斂到預先設定的訓練閾值時即停止訓練。
步驟4:根據(jù)目標檢測框中的位置坐標使用openCV對新圖片進行截取,對截取的區(qū)域進行灰度化和二值化處理,并使用像素投影進行字符分割。
步驟5:將分割后的目標特征進行識別,并將識別出的特征字符合并成數(shù)字序列,對候選目標進行識別,輸出測試圖像的特征類別。
步驟6:從目標身份標識數(shù)據(jù)庫中檢索和確認目標身份信息。
上述算法的學習訓練以及目標識別過程如圖3所示。
圖3 SSD-LeNet算法流程示意圖Fig.3 Sketch map of SSD-LeNet Algorithm process
為了驗證本文所提出方法的有效性,對本文方法與其他幾種流行的深度學習算法進行仿真實驗對比。仿真實驗采用阿里云GPU云服務器平臺,GPU型號是NVIDIA P100,云服務器的處理器型號為Intel Xeon E5-2682v4,處理器主頻2.5 GHz,本地盤存儲大小440 GB,內(nèi)存30 GB 、4vCPU,網(wǎng)絡帶寬為3 Gbps。網(wǎng)絡模型的訓練使用亞馬遜深度學習框架mxnet,基于SSD_300 VGG網(wǎng)絡和多GPU并行訓練,編程語言采用python3.5以及計算機視覺庫openCV實現(xiàn)完成。
本實驗所用數(shù)據(jù)集包括目標檢測數(shù)據(jù)集和數(shù)字識別數(shù)據(jù)集。使用具有反向傳播的隨機梯度下降網(wǎng)絡優(yōu)化算法訓練數(shù)據(jù),學習率為0.001,訓練使用的批量為16,分類損失和回歸損失的平衡參數(shù)為10。
實驗中目標檢測數(shù)據(jù)集采用手工制作。首先,采集像素為300×300的井下目標照片1 280張,經(jīng)過圖像去噪隨機添加數(shù)字標簽、標注其位置坐標,得到該數(shù)字標簽的標注信息;然后使用深度學習框架mxnet,按9∶1的比例將1 280張圖片分成訓練驗證集和測試集,作為訓練和測試使用的原始數(shù)據(jù);而數(shù)字識別則采用MINIST數(shù)據(jù)集,由0~9之間的灰度手寫數(shù)字組成數(shù)據(jù)集,包含 70 000張圖片,從完成去噪的數(shù)據(jù)集樣本中隨機選取60 000個樣本構(gòu)成訓練集,10 000張用于測試集。在訓練時將數(shù)字圖片變成像素為28×28的標準圖片作為輸入進行測試,網(wǎng)絡的輸出設定為10個通道,即輸出目標圖像屬于10個類別的概率。
3.3.1 模型訓練準確率測試
礦井移動目標邊界框回歸誤差與訓練樣本批量的關(guān)系如圖4所示,橫軸是訓練樣本,縱軸是檢測目標的邊界框回歸誤差。由圖4可知,隨著訓練樣本批量的增加,邊界框回歸誤差的總體趨勢越來越小,使預測框能越來越準確地框選出輸入圖片中的數(shù)字標簽。礦井移動目標類別預測的準確率和訓練樣本批量的關(guān)系如圖5所示。由圖5中可知,隨著訓練樣本批量的增加,類別預測準確率的總體趨勢是逐漸上升的,最終模型對數(shù)字標簽區(qū)域的類別識別準確率可達99%以上。
圖4 邊界框回歸誤差變化曲線Fig.4 Regression of regression error of bounding box
圖5 類別預測準確率變化曲線Fig.5 Change of class prediction accuracy
3.3.2 檢測準確率及識別實時性比較
為了進一步驗證本文方法對井下不同大小、不同特征尺度目標的檢測效果,與目前流行的Fast R-CNN、Faster R-CNN、YOLO等方法進行實驗比較,選取井下作業(yè)人員和電機車等移動目標作為實驗對象,分別添加不同大小的數(shù)字標簽。同時,考慮井下實際環(huán)境中噪聲的影響,模擬實驗時在訓練集的圖片中分別添加高斯噪聲和椒鹽噪聲,并經(jīng)過300輪測試。上述幾種方法的檢測準確度和實時性對比結(jié)果見表1。
表1 幾種方法在不同噪聲條件下的檢測準確率和實時性比較Tab.1 Comparison of real-time and precision of the algorithm in different image noise
由表1可見,本文所采用SSD模型的檢測方法與Fast R-CNN、Faster R-CNN、YOLO等網(wǎng)絡模型識別方法相比,對井下車輛和人員的檢測準確度有較大差異,大目標的檢測效果優(yōu)于小目標,平均檢測準確率最高可達94.0%以上。實驗結(jié)果表明,SSD模型通過增加對主體網(wǎng)絡層conv4_3的特征圖的檢測,使目標檢測的準確率提高3%~5%。這是因為SSD模型利用基礎(chǔ)網(wǎng)絡特征圖分辨率高、目標原圖信息完整,通過增加輸入圖像尺寸提高了對小目標檢測效果。在不同噪聲條件下,采用的SSD模型對不同目標檢測的實時性影響不大,在實驗數(shù)據(jù)集上對圖片的檢測速度為32幀/s,可達到實時性效果,抗噪能力更好。因此,本文采用的方法在目標檢測與識別的準確率和實時性,均優(yōu)于其他幾種深度學習模型。
3.3.3 測試實驗
采用本文算法對某礦井泵房的巡檢人員、出入井口人員等移動目標檢測與識別進行實驗。為體現(xiàn)視頻幀測試樣本隨時空變化的視覺效果,對含有移動目標的視頻序列進行快速逐幀檢測,以25幀間隔提取一個視頻幀,將所有提取出的視頻幀組合成一個移動目標測試集,利用SSD檢測網(wǎng)絡對其進行測試,測試結(jié)果如圖6至圖8所示,圖中測試樣本下方的標注值為檢測移動目標的置信度得分,該值越大,表明算法對目標檢測的準確率越高。
圖6 場景一的移動目標檢測效果及置信度Fig.6 Example diagram of moving target detection effect and confidence
圖7 場景二的移動目標檢測效果及置信度Fig.7 Example diagram of moving target detection effect and confidence
圖8 場景三的移動目標檢測效果及置信度Fig.8 Example diagram of moving target detection effect and confidence
由圖6至圖8可知,當移動目標在不同時刻出現(xiàn)位姿變化、目標遮擋時,本文算法依然能準確、實時地檢測識別到不同場景中的移動目標;當移動目標距視頻圖像采集設備較近時,本文算法不僅能檢測到移動目標,還能對其攜帶的數(shù)字標簽進行準確識別。實驗表明,本文方法對不同測試場景下的人員目標及其攜帶數(shù)字標簽的置信度得分較高,置信度最高達到0.999,能夠?qū)δ繕司珳蕶z測與精確識別。對視覺傳感器遠距離拍攝到的小目標,檢測到人員目標與數(shù)字標簽置信度分別達到0.751、0.574,說明對小目標檢測具有較強適應性。因此,本文方法對礦井移動目標檢測與識別,具有較強的學習訓練能力,在目標檢測準確性和實時性方面性能顯著。
(1) 提出了一種基于深度卷積神經(jīng)網(wǎng)絡SSD-LeNet模型的礦井移動目標檢測與識別方法,實現(xiàn)對礦井移動目標的檢測與識別。
(2) 與其他方法相比,本文方法采用基于SSD模型的礦井移動目標檢測與識別方法,克服了煤礦低照度環(huán)境下識別準確率下降的不足,對井下霧塵環(huán)境目標識別具有較強的魯棒性。在目標檢測的精準度和識別的實時性方面,性能優(yōu)勢比較明顯,檢測準確率在94%以上,檢測速度達32幀/s以上。
(3) 與Fast R-CNN、Faster R-CNN、YOLO等相比,本文方法能夠在較短的訓練時間條件下達到98%以上的識別率,目標檢測速度快,識別精度高,對提高礦井目標實時性檢測與精準識別具有較好效果,對礦井小目標檢測與識別具有較強適應性和魯棒性,對礦井環(huán)境低分辨率目標圖像具有較強的抗噪性。