本發(fā)明涉及紅外艦船識別技術領域,尤其涉及一種基于cnn深度學習的近岸紅外艦船識別方法。
背景技術:
深度學習是機器學習研究中的一個新領域,其動機在于建立模擬人腦進行分析和學習的神經網絡,并模擬人腦的機制來解釋數據。其本質是一種多層神經網絡的學習結構,通過組合轉化低層數據特征形成更加抽象的高層的數據特征,以發(fā)現數據的分布式特征表示的一種方法。近年來深度學習在人工智能的各領域都取得突破性進展,尤其在圖像識別、語音識別領域打破了傳統機器學習方法保持的記錄。另外在自然語言理解的各項任務中也取得了非常可喜的成果。
cnn(convolutionalneuralnetworks)是一種有監(jiān)督的深層神經網絡模型,被認為是第一個真正多層結構的深度學習網絡,最初是由學者lecun于1998年提出,其本質是一個多層感知機,目前已被成功應用于目標檢測、分割、識別以及圖像的各個領域,尤其是在人臉識別領域取得了突破性進展。
近年來,cnn在深度學習領域展現出了強大威力,在機器學習的各個領域都取得了可喜的成績,尤其在圖像識別領域取得了突破性進展,其識別準確率遠遠超越了傳統的識別方法。cnn之所以在圖像識別領域取得巨大成功,主要歸咎于其強大的數據表征能力,通過cnn不但可以提取輸入圖像的低層次特征,也可以提取圖像的高層次抽象特征,而這些高層次特征通常具有較強的魯棒性。
紅外目標識別在軍事領域有重要的研究價值,國內外學者提出了很多種識別方法,這些方法通常是先提取目標的特征,然后再根據目標先驗知識構造相應的決策模型,通過計算待識別目標和目標模型的特征匹配度來完成對目標的識別。常用的統計特征如灰度均值、方差、對比度和紋理等;常見的形狀特征如長寬比、占空比、緊湊度、輪廓形狀和不變矩等。但在實際中,目標的這些特征通常會受環(huán)境和目標的平移、旋轉、尺度、成像視角變化的影響,導致目標特征模型的失效,從而做出錯誤的判定。因此,如何利用cnn深層神經網絡進行紅外艦船目標的準確識別成為該領域的一個新的研究方向。
技術實現要素:
為解決上述問題,本發(fā)明提出了一種基于cnn深度學習的近岸紅外艦船識別方法,充分利用cnn網絡的優(yōu)勢,實現艦船目標的準確識別。
本發(fā)明采用的技術方案如下:
一種基于cnn深度學習的近岸紅外艦船識別方法,包括以下步驟:
步驟1、設置cnn深層神經網絡模型的網絡結構參數;該cnn網絡模型包括輸入層、卷積層和下采樣層的組合層兩層、全連接層兩層及輸出層;
步驟2、選取訓練樣本數據,根據設置的網絡結構參數進行cnn訓練;
步驟3、將測試圖像輸入訓練后的cnn網絡,若測試成功率達98%以上,導出lenet-weights文件,存儲網絡結構參數;
步驟4、識別時根據紅外分割與跟蹤程序,將跟蹤窗口中的目標轉化為向量,輸入cnn網絡中并進行預測,輸出的score值即為目標預測類型。
優(yōu)選的,步驟1中卷積層的卷積核窗大小為5×5,核窗跨度為1個像素。
步驟1的具體過程如下:圖像在輸入之前先歸一化為32×32大小,c1層卷積層采用6個核窗大小為5×5的卷積核濾波器,得到6個分辨率為28×28的特征圖,再對c1層進行2×2下采樣,在s2層下采樣層得到6個分辨率為14×14的特征圖;c3層卷積層采用16個核窗大小為5×5的卷積核濾波器,得到16個分辨率為10×10的特征圖,再對c3層進行2×2下采樣,在s4層下采樣層得到16個分辨率為5×5的特征圖;然后經過兩個全連接層,最后一層輸出層是softmax回歸分類器,得到4維的輸出向量。
步驟2中cnn訓練方法為:
給定樣本(x_i,y_i)_(i=1…n),x_i為樣本數據,y_i為期望輸出;
第一階段,向前傳播階段:
1)從樣本集中取一個樣本(x_i,y_i),將x_i輸入cnn網絡;
2)計算相應的實際輸出o_i;
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層;
第二階段,向后傳播階段:
1)計算實際輸出o_i與相應的理想輸出y_i的差;
2)按極小化誤差的方法反向傳播調整權矩陣;
重復上述過程,直到誤差小于預先指定的閾值或達到預先設定的迭代次數為止。
cnn是一種多層的監(jiān)督學習神經網絡,隱含層的卷積層和下采樣層是實現cnn網絡特征提取功能的核心模塊,該網絡模型通過采用梯度下降法最小化損失函數對網絡中的權重參數逐層反向調節(jié),通過頻繁的迭代訓練提高網絡的精度。cnn的低隱層是由卷積層和下采樣層交替組成,高層是全連接層對應傳統多層感知器的隱含層和邏輯回歸分類器。第一個全連接層的輸入是由卷積層和下采樣層進行特征提取得到的特征圖像。最后一層輸出層是一個分類器,可以采用邏輯回歸、softmax回歸甚至是支持向量機對輸入圖像進行分類。
定義損失函數為:
其中,xi為訓練樣本圖像數據,yi為樣本類別符號,t是矩陣的轉置符號,n為樣本個數,f(xi)為最后一層的輸出向量,λ為大于0的常數,l為cnn網絡層數,wk為各層神經元連接權值矩陣。
將識別的目標限定為四類,即:帆船、貨船、客船和拖船,其類別符號分別用1、2、3、4表示,則yi是1、2、3、4中的其中一個。
對于所定義的損失函數,為提高訓練速度,我們采用隨機梯度迭代算法使其最小化,直到損失函數的梯度小于某個預先指定的閾值或達到預先指定的迭代次數為止。訓練好的網絡結構參數經測試合格后,以文件的形式存儲到計算機硬盤中,以便在線跟蹤識別時加載網絡模型。
本發(fā)明采用cnn網絡進行特征提取,將其用于近岸紅外艦船目標識別,相比傳統艦船識別方法,識別速度快,識別精度更高,為近岸艦船的準確識別提供了有效保障。
附圖說明
圖1是本發(fā)明方法流程示意圖;
圖2是cnn網絡結構示意圖;
圖3是實施例cnn訓練樣本圖;
圖4是實施例cnn測試樣本圖;
圖5是識別結果截圖一;
圖6是識別結果截圖二;
圖7是識別結果截圖三;
圖8是識別結果截圖四;
圖9是識別結果截圖五;
圖10是識別結果截圖六;
圖中,1、輸入層,2、卷積層,3、下采樣層,4、卷積層,5、下采樣層,6、全連接層,7、全連接層,8、輸出層。
具體實施方式
下面結合附圖對本發(fā)明的具體實施方式進行詳細說明。
一種基于cnn深度學習的近岸紅外艦船識別方法,如圖1所示,包括以下步驟:
首先,設置cnn深層神經網絡模型的網絡結構參數。
如圖2所示,cnn網絡模型包括輸入層1、卷積層和下采樣層的組合層兩層、全連接層兩層及輸出層8,共有八層。卷積層卷積核窗大小為5×5,核窗跨度(stride)為1個像素。c1層卷積層2采用6個核窗大小為5×5的卷積核濾波器,得到6個分辨率為28×28的特征圖,再對c1層進行2×2下采樣,在s2層下采樣層3得到6個分辨率為14×14的特征圖;c3層卷積層4采用16個核窗大小為5×5的卷積核濾波器,得到16個分辨率為10×10的特征圖,再對c3層進行2×2下采樣,在s4層下采樣層5得到16個分辨率為5×5的特征圖;然后經過兩個全連接層6、7,最后一層輸出層8是softmax回歸分類器,得到4維的輸出向量。
然后,選取訓練樣本數據,根據設置的網絡結構參數進行cnn訓練。
對采集的紅外視頻圖像截圖,獲取訓練樣本。對于標定的訓練數據集
cnn的訓練過程與傳統神經網絡類似,也是參照了反向傳播算法。
具體的cnn訓練方法為:
給定樣本(x_i,y_i)_(i=1…n),x_i為樣本數據,y_i為期望輸出;
第一階段,向前傳播階段:
1)從樣本集中取一個樣本(x_i,y_i),將x_i輸入cnn網絡;
2)計算相應的實際輸出o_i;
在此階段,信息從輸入層經過逐級的變換,傳送到輸出層;這個過程也是網絡在完成訓練后正常運行時執(zhí)行的過程。在此過程中,網絡執(zhí)行以下計算(實際上就是輸入與每層的權值矩陣相點乘,得到最后的輸出結果):
o_i=f_n(…f_2(f_1(x_iw_1+b_1)w_2+b_2)…〖)w〗_n+b_n)(5-1)。
第二階段,向后傳播階段:
1)計算實際輸出o_i與相應的理想輸出y_i的差;
2)按極小化誤差的方法反向傳播調整權矩陣;
重復上述過程,直到誤差小于預先指定的閾值或達到預先設定的迭代次數為止。
定義損失函數為:
其中,xi為訓練樣本圖像數據,yi為樣本類別符號,t是矩陣的轉置符號,n為樣本個數,f(xi)為最后一層的輸出向量,λ為大于0的常數,l為cnn網絡層數,wk為各層神經元連接權值矩陣。為提高訓練速度,采用隨機梯度迭代算法使損失函數最小化,直到其梯度小于某個預先指定的閾值或達到預先指定的迭代次數為止。
然后,將測試圖像樣本輸入訓練后的cnn網絡,若測試成功率達98%以上,導出lenet-weights文件,將訓練好的網絡結構參數存儲到計算機硬盤中,以便在線跟蹤識別時加載網絡模型。
最后,識別時根據紅外分割與跟蹤程序,將跟蹤窗口中的目標轉化為向量,輸入cnn網絡中并進行預測,輸出的score值即為目標預測類型。
下面舉例說明本發(fā)明的具體應用過程:
為驗證該識別方法的有效性,我們從現有的視頻中提取了帆船、貨船、客船和拖船的樣本數據420個,其中350個樣本用來訓練cnn模型,訓練樣本數據如圖3所示(訓練數據的提取也可以在跟蹤過程中提取樣本數據)。在樣本數據中,帆船和拖船的表觀變化較??;貨船的樣本來自三段不同的視頻數據,從圖4(b)-(d)中可以看出來自不同視頻的貨船樣本的表觀變化較大??痛瑯颖疽彩莵碜詢啥我曨l,這兩段視頻中客船的表觀變化也較大。在實驗中,測試樣本數據70個,類別如圖3所示。
對所示的測試樣本,我們在所開發(fā)的軟件中進行了在線跟蹤識別測試,跟蹤識別結果如圖5-10所示,可以看出圖5-9中的帆船、客船、貨船、拖船都能正確識別,只有圖10識別錯誤,這是因為該貨船裝滿貨物,紅外成像寬度較小,同時海岸背景干擾較為嚴重,跟蹤出現了較大的偏差,因此出現了識別錯誤。