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