柳碧輝 趙樂源 劉 洋
(1.海軍航空大學(xué) 煙臺 264001)(2.中國人民解放軍71901部隊 聊城 252000)
目標(biāo)識別是在圖像處理領(lǐng)域、計算機視覺領(lǐng)域中的比較火爆的研究方向,現(xiàn)已有廣泛的用途:智能交通網(wǎng)覆蓋的區(qū)域中[1],可以準(zhǔn)確識別出各類車輛及其牌照,監(jiān)控違法違規(guī)停放車輛、占用車道等情況;航空航天中[1],利用目標(biāo)識別技術(shù),使用遙感手段偵測地面或海面目標(biāo),精確獲取數(shù)據(jù);軍事領(lǐng)域[2],可以幫助作戰(zhàn)人員快速識別敵對目標(biāo)并判斷威脅程度、實現(xiàn)精準(zhǔn)打擊,從而提高打贏對手的幾率。傳統(tǒng)主流的目標(biāo)識別算法基本上可以歸為四類[1]:基于全局特征的目標(biāo)識別、基于區(qū)域特征的目標(biāo)識別、基于模板匹配的目標(biāo)識別、基于幀差的目標(biāo)識別。這些主流算法都基于特定理論,在復(fù)雜多變的環(huán)境下魯棒性較差,對于海量數(shù)據(jù)的視頻或圖片信息的處理能力較差、人工參與多、正確識別率低、計算能力有限、工程泛化性差[3]?;谏疃葘W(xué)習(xí)的三維目標(biāo)識別逐漸引起了人們的興趣,將深度學(xué)習(xí)技術(shù)應(yīng)用到目標(biāo)識別中可獲得良好的識別性能,深度學(xué)習(xí)技術(shù)[4]由于其優(yōu)越的分類、識別能力,已經(jīng)在機器人[5]、圖像識別[6~7]、自然語言處理等領(lǐng)域獲得了突破性進展[3]。
現(xiàn)階段,國內(nèi)艦船紅外特征的相關(guān)研究已取得較大進展,謝主生[7]利用梯度圖像均值同時結(jié)合不變矩對紅外艦船目標(biāo)進行識別。劉松濤等[8]利用聚類分割與區(qū)域增長技術(shù)先得到準(zhǔn)目標(biāo)區(qū)域,再利用模糊綜合識別技術(shù)識別艦船目標(biāo),并且在DSP中實現(xiàn)對艦船目標(biāo)進行實時識別。黃文韻等[9]利用直方圖統(tǒng)計確定自適應(yīng)閾值對艦船船體進行分割,結(jié)合海天線去除偽目標(biāo),設(shè)計出一種綜合分類器識別紅外艦船目標(biāo)。但這些算法存在著識別率低,易受環(huán)境影響等問題。為了解決以上問題,采用基于深度學(xué)習(xí)的目標(biāo)識別算法,主要有R-CNN[10]、Fast R-CNN[11]、Faster R-CNN[12]、R-FCN[13]、YOLO[14]和SSD[15]。SSD算法相比于其他算法可以保證目標(biāo)識別的實時性和較高的檢測準(zhǔn)確率。特別基于深度學(xué)習(xí)算法對船舶紅外圖像獲取特征、監(jiān)測紅外海洋深度學(xué)習(xí)算法和目標(biāo)。具有重要的指導(dǎo)意義[16]。
由圖像處理技術(shù)可知,RGB顏色模型適用于硬件顯示,而且可見光圖像噪聲大、目標(biāo)邊緣模糊、目標(biāo)識別率較低,為了提高要提取的艦船目標(biāo)區(qū)域的清晰度、改善圖像質(zhì)量,需要對其進行處理。因此,本文選取更適用于人類視覺特點的HSV 顏色模型,根據(jù)船體不同區(qū)域的圖像特征進行顯色,可以對艦船目標(biāo)進行全天候、實時的目標(biāo)識別。結(jié)合深度學(xué)習(xí)方法的優(yōu)點,并將其不同信息應(yīng)用于監(jiān)測結(jié)果的表現(xiàn)方面發(fā)揮著重要作用。促使機器學(xué)習(xí)實現(xiàn)眾多的應(yīng)用,并拓展了人工智能的領(lǐng)域范圍[3]。
原始SSD 算法是基于前饋CNN 網(wǎng)絡(luò),把網(wǎng)絡(luò)計算量封裝在一個端到端的單通道中,提升了運行速度。原始SSD 模型分為以下三部分:骨干網(wǎng)絡(luò)、原始包圍框生成部分和卷積層部分,其中骨干網(wǎng)絡(luò)又包含有基礎(chǔ)網(wǎng)絡(luò)和附加特征提取層,卷積層部分包括目標(biāo)類別預(yù)測和位置預(yù)測,如圖1 所示。網(wǎng)絡(luò)前半部分為基礎(chǔ)網(wǎng)絡(luò),主要用來對圖像進行分類;網(wǎng)絡(luò)后半部分為卷積層,卷積層尺寸逐層減少,主要用于多尺度下目標(biāo)特征的提取和檢測。
圖1 SSD網(wǎng)絡(luò)結(jié)構(gòu)
算法的主要流程如下:首先輸入原始圖像,在卷積神經(jīng)網(wǎng)絡(luò)層提取明顯特征并生成特征圖;然后隨機抽取6 層的特征圖,對特征圖上的每個點生成默認(rèn)框;將生成的所有默認(rèn)框都集合起來,提取其特征對目標(biāo)的種類和位置進行判斷;最后通過非極大值抑制的算法輸出與真實框最匹配的判斷結(jié)果。
訓(xùn)練SSD 是需要將真實信息分配給特定輸出。一旦這個分配被確定,損失函數(shù)和反向傳播被應(yīng)用到結(jié)束。訓(xùn)練還涉及選擇一組默認(rèn)框和尺度進行檢測以及數(shù)據(jù)增強策略??傮w目標(biāo)損失函數(shù)是位置損失(loc)和置信度損失(conf)的加權(quán)和:
式中,N 是匹配的默認(rèn)框的數(shù)量。如果N=0,將損失設(shè)置為0。Lconf是位置的損失量,Lloc是置信度的損失量,α表示兩者的權(quán)重,x表示輸入圖像,c為目標(biāo)類別,l為預(yù)測框,g為真實標(biāo)簽框。
SSD 使用低層特征圖來提高語義分割質(zhì)量,來對小目標(biāo)進行檢測;利用高層特征圖來匯集全局信息,對大目標(biāo)進行檢測。在經(jīng)歷過匹配步驟之后,正面和負(fù)面訓(xùn)練例子之間出現(xiàn)了顯著的不平衡。因此,使用每個默認(rèn)框的最高置信度損失對它們進行排序,選擇排在最前面的例子,以便負(fù)面和正面之間的比率最多為3∶1,這樣可以優(yōu)化我們訓(xùn)練,而且保證了訓(xùn)練的穩(wěn)定性。
本文提出的算法框架主要包含兩部分:1)將輸入圖像處理為HSV 顏色模型,利用飽和度分量可有效地去除背景造成的各類噪聲,成功突顯艦船區(qū)域;2)利用基于主動輪廓模型方法先大體識別出艦船目標(biāo)的所在的位置區(qū)域,再與SSD算法對目標(biāo)圖像進行目標(biāo)識別相結(jié)合,目標(biāo)是創(chuàng)建候選框,使用非極大值抑制方法過濾出候選框,最終完成識別船舶的目的。以圖2 的形式顯示所提出的SSD 類型的船舶的識別過程[17~18]。
圖2 本文算法流程圖
HSV(色調(diào)、飽和度、數(shù)值)是人們從調(diào)色板所用的彩色系統(tǒng)之一。該顏色系統(tǒng)比一般RGB 系統(tǒng)更接近于人們利用自己的經(jīng)驗和對彩色的感知[20]來進行色彩判斷。在繪畫術(shù)語里,色調(diào)、飽和度和數(shù)值又被命名為色澤、明暗和調(diào)色,其顏色空間模型如圖3所示。
圖3 HSV顏色空間模型
在HSV 顏色空間模型中,H、S和V 三個分量是相互獨立的,便于顏色的量化處理。色澤是用彩色六邊形的角度來描述的,一般使用紅色軸為0°軸。沿錐體的軸來進行測量,得到的數(shù)值就是測量值。當(dāng)V=0 時,軸的末端為黑色,顯示為黑色;當(dāng)V=1時,軸的末端為白色,顯示為白色,從而這些軸代表了所有灰度級。飽和度(顏色的純凈度)是指色彩到V軸的距離。
HSV 彩色系統(tǒng)基于柱坐標(biāo)系。設(shè)(r,g,b)分別是一個顏色的紅、綠和藍坐標(biāo),它們的值是在0~1之間的實數(shù)。設(shè)max 等價于r,g,b 中的最大者;設(shè)min 等于這些值中的最小者。要找到在HSV 空間中的h、s、v 的值,這里的h∈[0,360)是角度的色相角,s∈[0,1]是飽和度,v 是數(shù)值,將RGB 轉(zhuǎn)換為HSV的公式如下:
20 世紀(jì)80 年代后期,Kass 等突破了傳統(tǒng)的圖像分割視覺研究,提出Snake 主動輪廓模型,利用能量最小化模型,設(shè)計能量函數(shù),找到目標(biāo)圖像邊緣,從而精確定位目標(biāo)。此方法開創(chuàng)了基于形變模型的圖像處理的先河[20],被廣泛應(yīng)用于計算機視覺領(lǐng)域,比如運動跟蹤、三維重建等[21]。
Snake是一條閉合的參數(shù)曲線ν(s)=(x(s),y(s)),參數(shù)s?[0,1],通過能量最小化將可變形模型與圖像進行匹配。從任何一個起點開始,Snake 是會根據(jù)起點的開始選擇符合最近的顯著輪廓進行變形。其它的能量泛函表示為
式(5)中,Eint表示內(nèi)部能量,常用曲線弧長和曲率來描述,用來保證曲線的光滑度和規(guī)則性;Eimage表示圖像能量,通常被定義為:圖像梯度的降函數(shù),被用作曲線檢測器來改變結(jié)果。從而引導(dǎo)Snake 移動至期望的特征圖像,比如圖像邊緣;Econ表示約束能量,可以指定一些求解約束條件。Eimage和Econ組成了對外部能量的描述,只要從一個合適的輪廓開始,Snake 就能利用變分法使能量收斂到最小。相關(guān)的研究和改進都是圍繞這個統(tǒng)一的能量框架而展開的[22]。
為了減少關(guān)鍵點,基于方框分類點的區(qū)域采用非極大值抑制(non maximum suppression,NMS)[24]。非極大值抑制在很多計算機視覺任務(wù)中都有廣泛應(yīng)用,如:邊緣檢測、目標(biāo)識別等。步驟如下:
1)按升序排列所有框的得分,選擇得分值最高的框及其對應(yīng)的框。
2)檢測其余的框,如果和當(dāng)前最高分框的重疊部分值(IoU)大于一定閾值,則移除這個框;
3)在其余未搜索過的框中,選擇得分最高的,并重復(fù)該過程。經(jīng)試驗,將本文中NMS的IoU 閾值固定為0.5。如圖4所示[17]。
圖4 NMS處理結(jié)果
實驗訓(xùn)練數(shù)據(jù)集中共有2095 張各類艦船圖片,具體數(shù)值如表1 所示,訓(xùn)練集樣本原圖像為406×720 像素。這些數(shù)據(jù)集與船舶目標(biāo)的不同角度、不同清晰度等特征,同時還具有不同的背景平面圖和相似的界面,擴充了數(shù)據(jù)集圖片,以驗證本文方法的有效性和準(zhǔn)確性[17~18]。
表1 訓(xùn)練數(shù)據(jù)集圖片數(shù)量
為了進行評估,實驗數(shù)據(jù)集被隨機分為70%用于訓(xùn)練和30%用于測試[17],圖5為部分訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)示例圖。
圖5 部分實驗數(shù)據(jù)集示例圖
本文選用mAP(mean Average Precision)來評估模型的檢測準(zhǔn)確度。實驗硬件環(huán)境為Intel Core i5 CPU、NVIDIA GeForce GTX 1650顯卡和8G內(nèi)存[18]。
步驟1:輸入一張RGB 的圖像,首先將原RGB圖像轉(zhuǎn)化為300×300×3 大小的HSV 圖像,其中3 代表其H、S、V這3個通道。
步驟2:設(shè)置SSD算法網(wǎng)絡(luò)中,按照一定的順序把卷積層、池化層進行組合構(gòu)成網(wǎng)絡(luò)的主要部分,把主要部分中的部分特征層組合在一起構(gòu)成額外的特征層,然后作為輸入采用滑動窗口的方式使用卷積核做卷積運算。對不同卷積層上的若干特征圖中的每個位置處預(yù)測出不同長寬比的邊界框集合,即(x、y、w、h)。bbox 中心點坐標(biāo)用(x、y)來表示,整張圖片的長寬用w和h表示。
步驟3:將(1)調(diào)整后的圖像分別輸入到原始SSD 算法和本文改進后SSD 算法,均使用IoU 閾值固定為0.5[17]。
步驟4:經(jīng)過步驟4 后得出標(biāo)識框的位置并進行分析對比[17]。利用Matlab 中自帶的evaluateDetectionPrecision函數(shù)進行評估,并計算精準(zhǔn)率-召回率[17](mAP)指標(biāo)來作為評估標(biāo)準(zhǔn)。
通過表2 可以發(fā)現(xiàn),在非極大值抑制算法的IoU閾值為0.5的條件下,利用SSD算法與主動輪廓模型相結(jié)合的近紅外的艦船圖像目標(biāo)識別算法相對于原始SSD 算法識別精度提高了11%,可以達到86.43%。同時,檢測時間縮短了一半,有效提高了目標(biāo)識別效率,基本滿足實時目標(biāo)識別要求,實驗總體結(jié)果符合預(yù)期目標(biāo)。
表2 識別精度與識別時間
測試數(shù)據(jù)集中的圖像包含漁船、郵輪、帆船、退役軍艦共7 類物體,對測試數(shù)據(jù)集中的圖像分別利用原始SSD 算法和經(jīng)本文改進后SSD 算法,進行艦船目標(biāo)識別,從中選取幾張得到的檢測結(jié)果圖進行對比,如圖6所示。
圖6 部分識別結(jié)果示例圖
本文針對復(fù)雜場景下的艦船目標(biāo)識別,提出一種基于改進SSD 與主動輪廓模型方法聯(lián)合的近紅外圖像的艦船目標(biāo)識別算法。實驗結(jié)果顯示,利用本文算法對復(fù)雜海面場景下,水面艦船目標(biāo)識別效果,明顯高于基于原始SSD 艦船目標(biāo)識別算法,檢測精度達到86.43%,識別時間縮短為4.1s,滿足了在實際場景中對船舶目標(biāo)的驗證精度的基本要求,具備了在復(fù)雜海洋環(huán)境下實踐創(chuàng)新性。下面將進一步改善其模型,加強各層之間的特征共享,提高模型的泛化性,進一步提高算法的性能。