劉相云,龔志輝,金 飛,楊 光,范煒康
(信息工程大學,河南 鄭州 450001)
衛星影像拍攝質量的大幅提高使得利用遙感影像進行目標識別成為可能。飛機是現代社會中必不可少的工具,利用遙感影像進行飛機目標識別無論是在民航上的飛機飛行情況監督,還是軍事上的掌握敵機部署情況都有廣泛的應用前景。因此,飛機目標的檢測識別一直是備受關注的研究課題,也有不少有效的檢測識別算法被提出。
目前,飛機目標識別算法主要可分為4類:①模板匹配[1]算法,該算法是傳統飛機目標識別中常用的算法;②基于不變矩[2-6]的算法,可以提取多種不變矩,完成對飛機目標的識別;③基于顯著圖的算法[7-9],即使用顯著圖去除復雜背景[10]進行識別;④基于機器學習[5]和神經網絡[11]的算法,已經將深度學習[12]運用到飛機目標識別中。上述4類方法從不同角度對飛機目標識別進行了研究,取得了一定的效果,但是也存在一些問題。如模板匹配算法過程過于簡單,精度不高;基于不變矩的算法在一定程度上提高了識別精度,但是提高程度有限;基于顯著圖的算法容易造成誤檢及漏檢;機器學習算法中淺層的算法如SVM(support vector machine)等還需要改進,深度學習算法則存在訓練時間過長的問題。針對這些問題,本文提出了一種視覺顯著圖和多種特征融合的基于深度置信網絡的飛機目標識別算法。算法在粗定位階段提取影像的視覺顯著圖,定位顯著目標的位置;在精確識別階段提取顯著目標的顏色、紋理、形狀等多種特征,然后使用深度置信網絡進行飛機目標的識別,不僅克服了單一特征的局限性,同時也避免了深度網絡從像素級直接進行訓練速度緩慢的現象。
本文算法主要由兩部分組成:一是目標的粗定位,二是目標的精確識別,其流程如圖1所示。
具體步驟為:①使用HC算法處理影像,提取影像的顯著目標;②使用Ostu算法對顯著圖進行二值化,通過標記連通區域來定位候選目標;③提取候選目標及樣本庫影像的顏色、紋理、形狀特征,形成多維特征向量,并對特征向量進行歸一化;④使用訓練集對DBN進行訓練,并使用訓練過程中得到的權重及偏置對測試集進行測試,最后用訓練好的DBN網絡識別粗定位階段標記的候選目標,判斷是否為飛機目標。
粗定位主要運用直方圖對比度(HC)算法,該算法由文獻[13]于2011年提出,效率較高且效果良好,主要目的是將影像中的顯著目標檢測出來。HC算法根據圖像的色彩統計特征來確定圖像的顯著性,即圖像中某像素與其他像素的顏色對比度即為這個像素的顯著值。如圖像中的某像素Ik,其顯著值可表示為

(1)
式中,I為圖像,把圖像中像素排成一列;Ik和Ii為第k和第i個像素;D(IK,Ii)為像素Ik和像素Ii在CIELab彩色空間上的顏色歐氏距離。將相同顏色的像素分為一組,即可以獲取顏色不同的像素的顯著值為

(2)
式(2)表示第k個像素的顏色為圖像中第i個顏色ci。圖像里總的顏色數目為n;fj為顏色ci在圖像I中出現的次數。
由于一幅圖像所包含的顏色數量很龐大,HC算法通過量化RGB空間中各個通道的顏色來減少顏色數量,從而減少計算量。在量化過程中,相近的顏色可能被量化為不同的值,HC算法通過平滑每種顏色的顯著值來降低這種情況引起的誤差,即使用與每種顏色最相近的m種顏色顯著值的加權平均來代替其顯著值,平滑公式為

(3)
經過HC算法提取顯著目標后,能夠濾除背景圖像,突出圖中飛機等候選目標,只需再把顯著圖轉化為二值圖像,就能夠通過二值化圖像定位顯著目標。本文使用Ostu算法對顯著圖進行二值化,隨后,用外接矩形將連通區域標記出來,完成目標的粗定位。
在粗定位完成之后,還會存在一些干擾目標,如房屋建筑等,需要進行精確識別剔除干擾目標。本文采用了提取目標顏色、形狀、紋理[14]等多種特征,最后與深度置信網絡結合進行分類識別的方法。
進行飛機目標識別時,先提取飛機目標的特征,單一特征很難具有足夠辨識度,本文采用提取多種特征的方式,主要提取了目標的顏色、紋理、形狀這3種類型的特征,包括9個顏色矩、6個Tamura特征、8個灰度共生矩陣、7個Hu不變矩、36個邊緣方向直方圖,組成多維的特征向量并進行歸一化,提高識別準確性。
深度學習通過組合底層特征形成更抽象的高層表示或特征,從而發現數據分布的特征表示[15]。深度置信網絡(deep belief networks,DBN)是由限制波爾茲曼機擴展而來的一種深度架構的推廣,由Geoffrey Hinton在2006年提出,是包含多個隱層(隱層數大于2)的概率生成模型,可以對非線性數據進行有效訓練。
深度置信網絡由多層限制波爾茲曼機(restricted boltzmann machine,RBM)組成,RBM是一個由可視層(記為v)和隱含層(記為h)組成的深度學習算法,RBM中的可視層與隱含層兩層的層內節點之間是條件相互獨立,沒有關聯的。因此,可視層和隱含層的全概率分布滿足下式
p(h|v)=p(h1v)=…=p(hnv)
(4)
式中,v為可視層狀態向量;h為隱含層狀態向量。求解最小化損失函數之后,就能得到可視層和隱含層之間的權值W。RBM的訓練過程實際上是求出一個最能產生訓練樣本的概率分布。也即要求在一個分布里,訓練樣本的概率最大,由于這個分布的決定性因素在于權值W,因此訓練RBM的目標就是尋找最佳的權值。圖2即為RBM模型。深度置信網絡的結構與RBM相同,都是通過權重層W把層與層之間聯系起來,層內節點相互獨立。深度置信網絡結構如圖3所示。
DBN的訓練過程主要分為兩步:一是分別單獨無監督地訓練每一層RBM網絡,確保特征向量映射到不同的特征空間時,都盡可能多地保留特征信息;二是在DBN的最后一層設置BP網絡,接收RBM的輸出特征向量作為它的輸入特征向量,有監督地訓練實體關系分類器。本文算法的DBN采用4個RBM組成的結構,其結構為:66-100-100-100-2。在第4層中加入sigmoid函數,作為最終結果的輸出層。
本文試驗環境為Windows 10系統下的Matlab 2014a,電腦硬件配置為Inter(R)Core(TM)i5-6300HQ CPU @2.30 GHz,8 GB內存,465 GB硬盤,試驗數據來源于Google Earth,共1400幅飛機影像和700幅背景影像作為樣本集,其中1200幅飛機影像及600幅背景影像作為訓練樣本,200幅飛機影像和100幅背景影像作為測試樣本,訓練樣本不參與測試,樣本集影像統一縮放為64×64像素,另外選取75幅機場影像用來識別。樣本影像如圖4所示。
試驗各步驟結果如圖5所示,從圖5(b)可以看出,提取顯著圖后,原始影像中無意義的背景被去除,突出了顯著目標;經過Ostu閾值分割得到圖5(c)二值化影像,顯著目標視覺效果明顯,但是還存在不少噪音,需要進行去噪,去除連通區域面積較小的目標;為了避免飛機目標的部分機身被當作噪音去除,在去噪之前先進行形態學膨脹,結果如圖5(d)所示;隨后去除面積較大的干擾目標,得到圖5(e)的結果,此時圖中僅剩飛機目標及少量干擾目標,標記連通區域,得到圖5(f)的結果;再在原圖中進行標記,即可得到圖5(g)的粗定位結果;粗定位完成后經過DBN分類,得到圖5(h)最終識別結果。
DBN網絡的層數很大程度上影響著網絡對數據的擬合精度,為了驗證最佳隱含層層數,對層數為1、2、3、4這4種情況分別進行試驗,網絡分類精度見表1。

表1 不同深度DBN網絡分類正確率比較
從表1可以看出,本文選用的3層隱含層的結構分類正確率最高,達到94.33%,當層數增加到4時,分類正確率反而下滑,這是由于網絡深度增加更容易陷入局部最優點,使分類正確率不高。
為了驗證組合特征與單一特征對網絡分類效果的影響,用測試樣本分別測試了單一特征和組合特征下DBN網絡的分類正確率,結果見表2。從表2可以看出,單一特征中使用邊緣方向直方圖分類正確率最高,為84.67%,而使用本文算法的組合特征對網絡進行訓練,正確率達到94.33%,顯然高于單一特征算法。

表2 單一特征與本文算法DBN網絡分類正確率比較 (%)
為了評價飛機目標識別效果,本文選用檢測率(DR)和虛警率(FA)[16]作為評價指標。飛機的檢測率是指算法所檢測出的飛機目標數量占所有飛機目標的比重,可以定義為
(5)
式中,DR為飛機檢測率;mi為檢測出的第i幅影像中的飛機目標數量;Ni為第i幅影像中飛機目標的總數;n為試驗影像的總數。虛警率反映被判定為飛機的樣本中背景所占的比率。定義為
(6)
式中,FA為虛警率;FP為把非目標判斷為目標的數量;TP為正確識別的目標數量。用來識別的75幅影像中,含有飛機259架,檢測出255架,誤檢4架,檢測率為98.46%,虛警率為5.20%。本文算法與其他算法的對比結果見表3。

表3 不同識別算法性能對比 (%)
從表3可以看出,本文的HC算法與深度置信網絡結合進行飛機識別的檢測率明顯高于BP神經網絡算法及SVM算法,虛警率也較低。圖6所示為在不同機場不同分辨率的飛機目標的識別結果。
本文提出了一種由粗到精的顯著圖和多特征結合的基于DBN的飛機目標識別算法。首先利用HC算法和Ostu算法對目標進行粗定位并標記候選目標,然后提取候選目標的多種特征進行融合,最后使用深度置信網絡進行分類識別。試驗結果表明,本文算法的檢測率為98.46%,虛警率為5.20%,能克服復雜背景的干擾。飛機識別的精度很大程度上取決于樣本庫的完善程度,下一步將繼續完善樣本數據庫以提高分類識別精度。