曹天蕊
(太原城市職業(yè)技術(shù)學(xué)院,山西 太原 030024)
近年來,我國海上安全趨勢日益復(fù)雜,軍事爭端特別是南海爭端愈演愈烈,建立海洋實時監(jiān)控系統(tǒng)迫在眉睫。當(dāng)他國艦船冒犯我國領(lǐng)海的時候,通過實時監(jiān)控系統(tǒng)就可以及時有效地發(fā)現(xiàn)目標(biāo),并能夠迅速準確地進行跟蹤定位,進而為防守或進攻提供良好的軍事數(shù)據(jù)。
目前,對于海洋的實時監(jiān)控多采用無人機技術(shù),例如在海面上進行搜救工作時,對目標(biāo)人員或船只的跟蹤識別,在海戰(zhàn)中對敵軍船只的跟蹤和識別[1]。無人機在海洋這種特殊環(huán)境下,體現(xiàn)出了靈活、機動、便捷等特點。但是,無人機飛行過程機身晃動對跟蹤目標(biāo)干擾因素很大,隨著對海洋目標(biāo)監(jiān)測要求的不斷提高,對無人機目標(biāo)識別和檢測跟蹤的要求也在不斷提高。
無人機目標(biāo)跟蹤過程主要有圖形處理、攝像穩(wěn)定跟蹤、飛行控制技術(shù)等。其中,圖像處理技術(shù)中目標(biāo)邊緣檢測技術(shù)直接影響無人機跟蹤目標(biāo)的準確度[2]。目前常用的圖像處理跟蹤方法有邊緣跟蹤、相關(guān)跟蹤、形狀中心跟蹤和復(fù)合跟蹤等,每一種各有所長。根據(jù)海上目標(biāo)晃動大、天氣對無人機性能的影響以及海水反光造成的圖像模糊等因素,在圖像處理跟蹤目標(biāo)時采用邊緣跟蹤比其他方法更有效[3]。
圖像邊緣檢測算子在圖像研究領(lǐng)域已經(jīng)很有成效,所為人熟知的算法如:Sobel、Prewitt、Log、Canny等已被廣泛應(yīng)用各個領(lǐng)域[3]。這些算法有個共同的特點那就是算法本身的實質(zhì)是閾值的選擇與確定[4]。閾值的選取是圖像邊緣檢測技術(shù)一個最為關(guān)鍵的突破點,如何選好閾值需要有更好的算法的支撐。本文提出的基于蟻群算法的圖像邊緣檢測算法能夠很好地完成自動選取最佳閾值,并在仿真實驗中對海洋無人機拍攝的照片中的移動目標(biāo)進行了邊緣檢測,效果良好,能夠為海洋無人機監(jiān)測技術(shù)的發(fā)展提供技術(shù)支持。
蟻群算法是一種仿生學(xué)算法,根據(jù)螞蟻群體找食物這種行為提出的。螞蟻進行群體尋找食物時,它們交流主要使用自身分泌的一種生物信息素。螞蟻在路口選擇道路時,就會對路徑上的信息素進行檢測,他會優(yōu)先選擇信息素多的路徑進行行走,這樣就形成了一個最優(yōu)路徑。在算法中,人工螞蟻與真實螞蟻有三個共同點分別是:1) 任務(wù)是一致的,也就是說群體目標(biāo)一致;2) 群體間信息交流方式一致,也就是說信息流是一致的;3) 路徑選擇的方式一致,也就是說路徑上信息素使用方式一致[5]。
使用蟻群算法最經(jīng)典的案例就是旅行商(Traveling Salesman Problem,TSP)問題。TSP的簡單形象描述是:給定城市多個,有一個旅行商要從某一個城市一次且僅有一次出發(fā)后再回到原城市,要求找到一條最短路徑[5]。
(1)
其中,蟻群中螞蟻數(shù)量為m;城市為i和j,直接距離表示為dij;t時刻在兩個城市直接信息素函數(shù)μij,與距離dij成反比。在t時刻位于城市i的螞蟻數(shù)量表示為bi(t);兩個城市連線上殘留的信息素值表示為τij;α為信息素的強度因子,表示螞蟻對信息素敏感程度;β為能見度因子,表示螞蟻本身能見度對路徑選擇中的重要性。
螞蟻群體從i城市到j(luò)城市過程中,會釋放信息素,其在路徑上的多少稱之為信息素軌跡值。螞蟻根據(jù)信息素軌跡值的函數(shù)來計算概率p,根據(jù)p值的大小來選擇下一步要走的路徑,但螞蟻行走過程中不會進行重復(fù)走過的城市[6]。
我們將無人機拍攝的灰度圖像看作灰度矩陣。在矩陣中每個像素點都有不同的灰度信息來表示圖像信息?;谙伻核惴ǖ臒o人機目標(biāo)檢測算法,就是看作螞蟻沿著圖像目標(biāo)邊緣的像素點矩陣進行爬行,并在爬行時在圖像邊緣處留下信息素。將螞蟻在圖像中留下的訪問信息用矩陣的形式表現(xiàn)出來,然后通過信息素的多少來找到螞蟻群幫助確定的最優(yōu)路徑。
根據(jù)海上無人機拍攝的圖像特性,利用基于蟻群算法的無人機目標(biāo)檢測算法進行目標(biāo)邊緣檢測的流程圖,如圖1所示。輸入圖像進行信息素等參數(shù)初始值的設(shè)定,在圖像中隨機選定人工螞蟻的位置;然后根據(jù)狀態(tài)概率選擇螞蟻移動的步數(shù),進行目標(biāo)邊緣搜索;多只螞蟻留下信息素后要進行局部更新,一次迭代后要進行信息素全局更新;再然后要判斷迭代次數(shù)是否為最大值,如果為最大值邊緣檢測結(jié)束輸出結(jié)果,如果還不是最大值要繼續(xù)根據(jù)狀態(tài)概率選擇螞蟻移動步數(shù)進行邊緣檢測。
整個邊緣檢測過程中,每個人工螞蟻每走一步有8個方向的選擇,但它們每走一個像素點都是有必要條件的。每個人工螞蟻將自己走過的像素點信息保存到一個自帶的存儲空間里,這樣可以有效避免重復(fù)訪問。
圖1 基于蟻群算法的無人機目標(biāo)檢測算法流程圖
流程圖中定義的所有人工螞蟻完成一定迭代后要進行信息素全局更新,主要以邊緣檢測過程中的至少被訪問過一次的像素點為單位。只有這樣才能使人工螞蟻在訪問像素點時重視一些灰度值變化微小的細節(jié)邊緣,同時可以避免人工螞蟻在一些明顯變化的邊緣處浪費太多精力,從而提高人工螞蟻在尋找最優(yōu)路線時的效率和效果。
本文選用了海上無人機拍攝的彩色船只圖像,首先將彩色圖像進行灰度處理,然后利用基于蟻群算法的邊緣檢測算法對圖像中的船只進行邊緣檢測,根據(jù)檢測結(jié)果進行船只圖像提取。
其中圖2(a)圖為無人機拍攝的原圖像,(b)圖為進行灰度處理后的圖像,(c)圖為基于蟻群算法的邊緣檢測算法后提取船只圖像,(d)圖為Sobel邊緣檢測算法后提取的船只圖像。通過(c)圖和(d)圖的對比,可以看出(c)圖中船只輪廓整齊連續(xù)性更好,(d)圖中船只邊緣有所缺失,并且右側(cè)有部分浪花。說明Sobel算法在進行邊緣檢測時,對海中浪花和船只的邊緣檢測不如蟻群算法效果好。
圖2 邊緣檢測結(jié)果對比圖
通過圖像邊緣檢測結(jié)果對比圖主觀上可以看出蟻群算法優(yōu)于Sobel算法,通過仿真時間上看,蟻群算法仿真時間為1.563 s,而Sobel算法仿真時間為1.489 s,蟻群算法由于算法的特殊性仿真時間略長于Sobel算法,還需要進一步改進[7]。
本文根據(jù)海上無人機拍攝的船只照片的環(huán)境特殊性以及無人機與海面晃動造成的圖像模糊的特點,提出了一種基于蟻群算法的無人機圖像邊緣檢測算法。將無人機拍攝的灰度圖像看作灰度矩陣,將人工螞蟻隨機選定位置,螞蟻沿著圖像目標(biāo)邊緣的像素點矩陣進行爬行,并在爬行時在圖像邊緣處留下信息素。將螞蟻在圖像中留下的訪問信息用矩陣的形式表現(xiàn)出來,然后通過信息素的多少來找到螞蟻群幫助確定的最優(yōu)路徑,從而進行圖像的邊緣檢測。通過實驗仿真結(jié)果可以發(fā)現(xiàn)本文提出的基于蟻群算法的邊緣檢測算法對船只的檢測優(yōu)于Sobel算法,但是在仿真時間上還需要進一步改進。
[1] 陳黎.軍用無人機技術(shù)的發(fā)展現(xiàn)狀及未來趨勢[J].航空科學(xué)技術(shù),2013(2):11-14.
[2] 安敬蕊.海上搜尋無人機移動目標(biāo)識別與跟蹤[D].南京:南京航空航天大學(xué),2014.
[3] 磨少清.邊緣檢測及其評價方法的研究[D].天津:天津大學(xué),2016.
[4] 宗紹鵬.精英策略蟻群算法在求解TSP問題中的應(yīng)用[J].中國民航大學(xué)學(xué)報,2017,25(1):106-107.
[5] 蒲興成,孫凱.一種改進的自適應(yīng)蟻群算法及其應(yīng)用研究[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2015,23(3):331-335.
[6] 劉波.蟻群算法改進及應(yīng)用研究[D].秦皇島:燕山大學(xué),2012.
[7] 白婷,鄧彩霞,耿英.基于小波變換與Canny算子融合的圖像邊緣檢測方法[J].哈爾濱理工大學(xué)學(xué)報,2016,15(1):44-47.