陳科山,薛旭,賈博然,宋鵬亮,梅育青
(北京交通大學 機械與電子控制工程學院,北京 100044)
洞庫類目標通常在地理測繪、道橋建設、交通運輸、軍事等領域中出現(xiàn), 屬于重點識別與檢測對象, 如隧道、山洞、坑道等.目標的智能識別技術是智能控制、智慧交通、自動駕駛、機器視覺等理論與技術的重要的組成部分之一.針對洞庫類目標展開深入的研究具有重要的理論意義和特殊的軍事價值.
目標識別是圖像學的重點研究方向,早期為基于人工設計識別特征的方法.該方法需要對識別對象建立特定識別模型,不僅設計難度大,魯棒性也普遍較低.近年來,目標識別的主要方法已發(fā)展為基于深度學習(deep learning)的方法.目前,已經(jīng)出現(xiàn)了大量優(yōu)秀的深度卷積網(wǎng)絡如GoogleNet、RCNN、Faster RCNN等[1-2].單純基于CNN的目標識別需要大量的訓練數(shù)據(jù)和更先進的硬件系統(tǒng).針對這一問題, Li等[3]提出了數(shù)據(jù)需求量少、運算量低的小樣本學習.為解決該方法不能有效利用新數(shù)據(jù)的問題,出現(xiàn)了持續(xù)學習和元學習.
結合深度學習的元學習(meta learning, ML)是深度學習領域中的前沿理論,Munkhdalai等[4]將上一個數(shù)據(jù)的訓練標記結果指導下一個數(shù)據(jù)訓練,達到少量數(shù)據(jù)獲得良好標記預測能力的效果.Andrychowicz等[5]通過訓練專門的梯度控制網(wǎng)絡,控制并預測訓練中的梯度下降過程.Finn等[6]提出了一種基于多任務并行處理,合成不同任務訓練梯度的模型,實現(xiàn)在少量訓練數(shù)據(jù)基礎上的梯度快速精準下降.Mishra等[7]直接利用每次訓練的歷史數(shù)據(jù)參與到下一次訓練,實驗效果較為理想.Sung等[8]通過構造評價模型控制并預測訓練的損失.
持續(xù)學習(lifelong learning)是指模型可持續(xù)運行,并利用新、舊數(shù)據(jù)同步訓練新的網(wǎng)絡模型.Li等[9]從知識提取方面降低了舊知識的遺忘概率.Kirkpatrick等[10]提高了災難性遺忘的抵抗能力.Triki[11]和Aljundi等[12]訓練專門的編碼器或門網(wǎng)絡指導訓練過程.
目前針對洞庫類目標識別的相關研究較少,且基于圖像的方法較少.張輝等[13]基于霍夫直線檢測對洞庫類目標識別做出了相關研究,識別洞庫類目標兩側的直線結構,但在較復雜背景條件下的識別效果較差;Slavova等[14]基于多種傳感器方法在地面勘探領域中做出了相關研究并取得了良好的效果,但該方法適用范圍較?。籏asprak等[15]基于機載激光雷達進行野外洞穴探測,使用成本較高.
本文結合具體情況并研究大量文獻,提出一種結合元學習和深度卷積網(wǎng)絡的元-卷積網(wǎng)絡,并融合持續(xù)學習理論的洞庫類目標識別方法.
本節(jié)將元學習理論融入CNN中,提出并設計了元-卷積網(wǎng)絡MCNN.相比傳統(tǒng)的CNN,MCNN可以將上一次訓練的結果作為下一次訓練的指導,從而減少CNN對數(shù)據(jù)量的要求,解決基于小樣本洞庫類目標數(shù)據(jù)的識別問題.典型的CNN由卷積層、池化層、全連接層和分類器組成.其中卷積層和池化層交替排列提取圖像特征,并連接全連接層和分類器.
卷積層將上一層的輸出特征圖作為輸入特征圖,利用該層的卷積核對輸入特征圖做卷積提取操作.洞庫類目標識別是一種二分類識別,本文采用PRelu[16]作為卷積層激活函數(shù).PRelu是一種適用于二分類且不易丟失信息的激活函數(shù),公式為
(1)
式中:i為同一卷積層的不同通道;x為輸入的特征圖或其卷積結果;ai為偏置系數(shù)該激活函數(shù),在文獻[16]中有詳細表述.
池化層將輸入的特征圖進行進一步處理并提取主要特征,起到降低計算復雜度、提高主要特征利用率的作用.全連接層連接所有處理得到的特征并送入分類器進行分類,得出輸入圖像的標簽(label).本文采用Ren等[17]提出的Faster RCNN網(wǎng)絡作為元-卷積網(wǎng)絡的深度卷積網(wǎng)絡部分.同時結合元學習利用舊知識指導新知識的思想,建立如圖1所示的元-卷積網(wǎng)絡MCNN.
MCNN將小樣本訓練數(shù)據(jù)逐次輸入至Faster RCNN中進行特征提取,并輸出特征的初步分類結果;然后利用已學習到的結果指導預測下一個輸入的分類過程;以此循環(huán),直到將所有小樣本數(shù)據(jù)遍歷訓練得出最終的深度洞庫模型.在洞庫類目標識別問題中,僅存在“洞庫”和“背景”兩種Label,分類結果即為目標識別結果.
深度卷積網(wǎng)絡利用損失函數(shù)(loss function)度量圖像分類的準確度,并對產(chǎn)生較大Loss的分類結果進行修正.單幅圖像xt的損失函數(shù)由擬合值與真值的偏差γt確定
L=L(γt).
(2)
此時,xt的正確分類概率,即未經(jīng)指導預測的正確分類概率可表示為
xt~P(yt|xt),
(3)
式中yt為圖像xt的初步分類結果.若引入前t次的分類結果對其進行指導,經(jīng)指導后xt的損失函數(shù)為
(4)
此時xt的正確分類概率為
(5)
圖2中各個橢圓代表使某圖像正確分類的最小誤差范圍.xt未經(jīng)指導的分類結果會收斂于使xt分類誤差最小的方向,即箭頭1,顯然對前t次分類不利;經(jīng)過指導的分類結果會收斂于所有結果都可以接受的方向,即箭頭2.文獻[10]中采用選擇性減小權重的方法來削弱持續(xù)學習中的災難性遺忘,本文將此思想擴展至元學習范疇,并用于指導單任務、二分類、小樣本模型的訓練.
MCNN基于小樣本訓練得到深度洞庫模型.但在測試環(huán)節(jié)中,大量有用數(shù)據(jù)被遺棄;同時,模型對一些視頻數(shù)據(jù)僅能做出部分識別,不能做出連續(xù)識別.若將正確識別的洞庫類目標數(shù)據(jù)加入至深度洞庫模型,則可有效提高模型的識別能力.
本節(jié)結合持續(xù)學習理論,提出并設計基于MCNN洞庫模型的持續(xù)學習系統(tǒng)MCNN-LLS和洞庫類目標的專家審核模型,有效利用新數(shù)據(jù)并持續(xù)提高識別效果.
如圖3,測試數(shù)據(jù)集r通過MCNN深度洞庫模型得出指導預測分類結果.該結果通過專家審核模型去除誤分類結果,將正確結果儲存至任務子空間中,并相對正在進行的識別過程異步后臺掛起.在任務子空間中,對儲存的結果進行連續(xù)性判別,在連續(xù)結果結束輸入之后同潛在任務、舊模型共同訓練新的MCNN深度洞庫模型,用于下一組數(shù)據(jù)的識別,達到持續(xù)學習的效果.
MCNN-LLS通過專家審核模型去除誤識別結果,降低其對小樣本模型的影響;同時,利用任務子空間異步掛起連續(xù)的識別結果,降低內存使用率,提高算法執(zhí)行效率;潛在任務包含有未加入訓練集的訓練數(shù)據(jù),防止新數(shù)據(jù)過少產(chǎn)生MCNN對新數(shù)據(jù)不敏感的現(xiàn)象.
若專家審核模型同樣基于MCNN生成,則專家審核模型和MCNN深度洞庫模型對數(shù)據(jù)的計算結果收斂方向一致,不能達到審核判別的效果.而基于其他種類CNN的專家模型需要龐大的數(shù)據(jù)量,因此本文采用人工專家審核模型.
洞庫類目標具有明顯的形狀、灰度等特征,人工專家審核模型可以提供可靠的審核判別結果.但基于人工特征的目標識別方法難以對全圖進行目標的抓取,導致識別準確度很低.MCNN會將識別結果用矩形框(boundingbox,BBox)框選,若僅對識別結果進行審核則會顯著提高審核準確率,因此可基于BBox中的內容設計人工專家審核模型.
專家審核模型的重點步驟為圖像自適應二值化,本節(jié)詳細介紹該步驟并對其他步驟做簡略介紹.模型審核流程如圖4所示.
洞庫類目標灰度與環(huán)境灰度差異較大,且具有明顯的類橢圓形狀特征.因此可將BBox中的內容基于灰度特征做二值化處理凸顯形狀特征,對形狀特征進行審核判別.如圖5,定義滑動窗口在BBox中逐像素滑動,圖中滑動窗口正處于洞庫邊緣.
(7)
Gatos等[18]對基于滑動矩形窗的自適應閾值二值化算法做出了經(jīng)典表述,如式(8)
T=m+A,
(8)
式中:T為圖像二值化自適應閾值;m為窗口平均灰度;A為窗口自適應灰度調整值.為使洞庫類目標進一步凸顯,取輔助函數(shù)h(x),灰度梯度差值函數(shù)f
(9)
(10)
改寫式(8)為
T=mh(-f)+g5h(f)+A,
(11)
式中g5為區(qū)域W5中的平均灰度.當滑動窗口位于暗區(qū)域邊緣時,則會獲得更加嚴格的閾值生成方式,產(chǎn)生邊緣信息更為明顯的洞庫類目標二值化圖像.
依據(jù)式(11)生成BBox中圖像的二值化結果后,可利用洞庫類目標特有的橢圓形狀特征對其進行判別.通過MCNN模型正確識別后的BBox中一定僅包含有洞庫類目標和少量背景,其二值化圖像具有明顯的洞庫類目標特征,相反錯誤識別后的二值化圖像包含信息紛雜.因此提取二值化圖像中所有區(qū)域的邊緣,并計算其外接橢圓方程,將外接橢圓方程作與原有邊緣相比較,可以剔除明顯不具有橢圓特征的圖像.關于邊緣提取、判斷等的研究很多,本文采用Canny算子[19]和模板匹配[20]的思想進行該步操作,利用Canny算子求取圖像邊緣信息,再經(jīng)過模板匹配尋找圖像中是否存在目標特征,從而判斷圖像中是否有洞庫類目標.
本文實驗數(shù)據(jù)分為訓練集與測試集兩部分,訓練集和測試集.訓練集選取具有代表性的100張圖像,并通過旋轉、仿射、顏色、模糊等變換對訓練集進行擴容,保證訓練出的模型對圖像變換、采集條件不同、圖像具有多種噪聲等多種情況的適應能力,提高訓練過程的誤差的收斂速度和模型的精度.測試集包含有10段視頻,其中包含質量不同的正樣本和負樣本.數(shù)據(jù)來源為網(wǎng)絡、實景拍攝、大型地景模型等,如圖6所示.所有實驗基于CPU i7 7700HQ,GPU GTX1060完成,實驗程序基于Windows系統(tǒng)下的Matlab 2017b軟件編寫,學習速率為0.001.
本文設計了3組對比實驗.第1組實驗驗證不同容量的小樣本訓練集對MCNN訓練效果的影響;第2組實驗驗證測試數(shù)據(jù)數(shù)量對本文算法識別效果的影響;第3組實驗將本文算法、Faster RCNN、文獻[7]和文獻[13]的方法做對比實驗.
第1組實驗在訓練集容量分別為10,50和100的基礎上驗證MCNN的訓練效果,實驗結果如圖7所示.圖7中MCNN在第2個訓練周期(epochs)即可保持穩(wěn)定的訓練準確率,該實驗結果表明,當訓練集容量達到50時訓練準確率趨近于理想,MCNN具有所需樣本容量小、訓練準確率高的特點.
第2組實驗在第1組實驗的基礎上驗證MCNN-LLS的識別能力和持續(xù)學習能力,如圖8所示,需要指出的是,測試過程是逐幀進行的.圖8表明具有持續(xù)學習能力的MCNN-LLS可以在識別過程中不斷學習新數(shù)據(jù),逐步接近0.95的識別準確率;而不具有持續(xù)學習能力的MCNN識別準確率在0.85左右波動.
第3組實驗選取本文方法MCNN-LLS,F(xiàn)aster RCNN(深度卷積網(wǎng)絡法)、元學習的方法(見文獻[7])、人工設計識別特征的方法(見文獻[13])在測試集上進行對比實驗.實驗結果如圖9所示.
該結果表明,本文方法MCNN-LLS與人工設計識別特征的方法相比,具有更高的識別準確率;與Faster RCNN的方法相比,識別準確率高,而且魯棒性好;與元學習的方法相比,識別準確率更高,而且具有較好的持續(xù)學習新數(shù)據(jù)的能力.
基于洞庫類目標樣本少、數(shù)據(jù)相似度高等特點,提出結合元學習和深度卷積網(wǎng)絡的元-卷積網(wǎng)絡,并融合持續(xù)學習理論的洞庫類目標識別方法MCNN-LLS,該方法具有以下特點:
① 在深度卷積網(wǎng)絡基礎上引入元學習理論,提出并設計了元-卷積網(wǎng)絡MCNN,實現(xiàn)了基于小樣本的洞庫類目標識別,降低網(wǎng)絡訓練的數(shù)據(jù)量和計算量;
② 在MCNN基礎上融合持續(xù)學習理論,提出并設計了基于MCNN洞庫模型的持續(xù)學習系統(tǒng)MCNN-LLS,實現(xiàn)了模型的持續(xù)學習,識別效果可隨識別過程逐步提高;
③ 設計MCNN-LLS中的洞庫類目標專家審核模型,剔除誤識別結果,降低誤識別數(shù)據(jù)對小樣本數(shù)據(jù)的干擾,提高MCNN-LLS的識別效果;
④ 實驗結果表明,本文方法識別準確率高,高于普通深度卷積網(wǎng)絡法、人工設計識別特征法和元學習法,并具有對新數(shù)據(jù)的持續(xù)學習的能力,有效提高了模型的識別能力.