基于CNN的??漳繕?biāo)檢測
1 引 言
本文引用地址:http://butianyuan.cn/article/87491.htm艦船航行在大海上,主要面臨來自空中,海面和水下的威脅,其中空中的威脅最大。這些目標(biāo)的主要特點(diǎn)是運(yùn)動(dòng)速度高,機(jī)動(dòng)頻繁,其背景也比較復(fù)雜,受云層、煙霧、波浪、飛鳥、山峰等影響較大。傳感器如熱像儀、電視攝像機(jī)、激光測距機(jī)等自身帶有噪聲,另外還會(huì)有各種形式的干擾,這些都給目標(biāo)的識別與跟蹤帶來很大困難。因此尋找一種能實(shí)時(shí)對圖像信號處理的、抗干擾的,并且適合大規(guī)模硬件開發(fā)與實(shí)現(xiàn)的算法是軍事界至今沒有完美解決的難題之一。
元(細(xì))胞神經(jīng)網(wǎng)絡(luò)(Cellular Neural Networks,CNN),是由加州伯克利大學(xué)的華裔學(xué)者蔡紹棠教授在1988年提出來的一種局域連接、權(quán)可設(shè)計(jì)的人工神經(jīng)網(wǎng)絡(luò)。而后關(guān)于CNN的各種理論,算法,改進(jìn)與應(yīng)用以及硬件實(shí)現(xiàn)等如同雨后春筍般出現(xiàn)?,F(xiàn)在CNN在圖像、通信、混沌控制、交通、醫(yī)學(xué)等領(lǐng)域都有著廣泛的應(yīng)用。CNN用于圖像的處理,例如降噪、分割、特征提取、空洞填充、細(xì)化、陰影檢測、模式識別、目標(biāo)跟蹤,機(jī)器人視覺,水印加密等,比傳統(tǒng)的方法更具潛力。CNN結(jié)構(gòu)的局部耦合性對于處理具有混沌性質(zhì)的背景下的??展怆娔繕?biāo)圖像具有較大的匹配性。本文主要描述了CNN的理論基礎(chǔ)和他應(yīng)用于圖像處理的思想,并給出了算法實(shí)現(xiàn)的步驟,然后用Matlab語言編程進(jìn)行仿真實(shí)驗(yàn),以對海空目標(biāo)的檢測為例,將他與經(jīng)典的方法進(jìn)行比較,分析各自的優(yōu)缺點(diǎn),最后提出了本算法需要改進(jìn)的地方。
2 圖像目標(biāo)檢測的CNN模型
CNN的基本組成單元是元胞(Cell),每個(gè)元胞只同他周圍r鄰域的元胞相接,連接的個(gè)數(shù)Nr=((2r+1)2-1)。如圖1所示為一個(gè)3×3規(guī)模的CNN網(wǎng)絡(luò)結(jié)構(gòu)。用C(i,j)表示第i行、第j列的元胞。C(i,j)只與C(i+1,j),C(i-1,j),C(i,j+1),C(i,j-1),C(i+1,j+1),C(i+1,j-1),C(i-1,j+1),C(i-1,j-1)等8個(gè)元胞相連。如圖2所示,每個(gè)元胞都有一個(gè)狀態(tài)vxij,一個(gè)恒定的輸入vuij,一個(gè)輸出vyij,門限I。標(biāo)準(zhǔn)CNN的狀態(tài)方程可用下述一階非線性微分方程描述:
其中,1≤i≤M,1≤j≤N。α,β,I,Eij為大于0的常數(shù)。vukl表示C(i,j)鄰近元胞的輸入,vykl表示C(i,j)鄰近元胞的輸出,A(i,j;k,l)表示C(k,l)的輸出與C(i,j)的聯(lián)接權(quán),B(i,j;k,l)表示C(k,l)的輸入與C(i,j)的聯(lián)接權(quán)。式(3)表示輸出與狀態(tài)的關(guān)系。
CNN網(wǎng)絡(luò)動(dòng)態(tài)系統(tǒng)只要滿足下面能量函數(shù)有界,就能達(dá)到穩(wěn)定,即:
那么每個(gè)元胞經(jīng)過暫態(tài)衰減后,一定能落在穩(wěn)定狀態(tài),并且所有穩(wěn)定點(diǎn)幅值都大于1,即:
其中,1≤i≤M,1≤j≤N。根據(jù)式(10),CNN就可用在二值圖像或有二值輸出的圖像中去。
不難看出,元胞神經(jīng)網(wǎng)絡(luò)中元胞的排列與圖像的像素相同,這一點(diǎn)很適合用作圖像的處理。選擇與圖像規(guī)模相等的網(wǎng)絡(luò),將圖像的每個(gè)像素映射到元胞神經(jīng)網(wǎng)絡(luò)的每個(gè)元胞。以灰度分辨率為L=2k(k為整數(shù)),空間分辨率為M×N的圖像為例,用CNN進(jìn)行處理。把像素的灰度值作為元胞的輸入。根據(jù)式(4)的約束條件,首先要解決像素從0~L-1到-1~1之間的映射。其次,為了便于計(jì)算機(jī)處理,要將微分方程(1)的計(jì)算用差分方程來代替,將連續(xù)的時(shí)間離散化,然后對邊界條件和模版參數(shù)初始化。一般選擇邊界為0,各個(gè)元胞的初始狀態(tài)一般也確定為0。在保持網(wǎng)絡(luò)穩(wěn)定的條件下,不同的模板參數(shù)可以完成不同的圖像處理功能。以邊緣檢測為例,取參數(shù)α=β=1,根據(jù)結(jié)構(gòu)的對稱性以及只考慮元胞自身輸出反饋回來的情況,一般取為a=2,b=8,d=1,I=-0.5。網(wǎng)絡(luò)穩(wěn)定后的輸出為1或-1。再將{-1,1}映射到{0,255}上,-1對應(yīng)于白色255,1對應(yīng)著黑色0。這就完成了對圖像的處理。
用Matlab程序?qū)崿F(xiàn)CNN處理圖像的基本步驟為:
(1)讀入待處理圖像,將圖像轉(zhuǎn)化成256×256大小,灰度級為256的圖像;
(2)把像素的灰度值映射到[-1,1]之間;
(3)對像素的初始狀態(tài)、模板參數(shù)及初始輸出進(jìn)行初始化;
(4)將(2)的灰度值作為輸入,利用式(1)和式(2)分別計(jì)算各元胞的狀態(tài)與輸出;
(5)判斷各元胞的穩(wěn)定性,若滿足穩(wěn)定條件則停止循環(huán),否則轉(zhuǎn)到步驟(4)繼續(xù)循環(huán)迭代;
(6)網(wǎng)絡(luò)所有元胞均收斂穩(wěn)定,停止循環(huán);
(7)將輸出結(jié)果映射到{0,255)上,輸出或顯示圖像。
3 仿真實(shí)驗(yàn)與分析
??毡尘跋碌哪繕?biāo)的特征提取與檢測,一直都是研究熱點(diǎn),難度較高。因?yàn)楸尘氨容^復(fù)雜,受影響的因素較多,包括能見度、光照、云層、煙霧、海浪、海鳥、山峰和建筑物等??罩心繕?biāo)一般速度比較快,運(yùn)動(dòng)參數(shù)不易捕捉,如果加上云霧、能見度和光照的影響,超低空目標(biāo)還受海鳥、海浪等的影響,檢測的難度就加大了;海上目標(biāo)速度稍慢,但連綿起伏的海浪、光的反射、云霧等的影響不容忽視,成像的信噪比會(huì)隨著浪高、距離、能見度的變化而變化。加上傳感器的性能等的因素使得獲取的目標(biāo)光電圖像的信噪比難以達(dá)到所需檢測概率和虛警概率的要求。這就要求圖像處理方法能夠有較好的抗噪性,能保持目標(biāo)的完整性和細(xì)膩性,便于后續(xù)的精確計(jì)算,方便濾波、制導(dǎo)和跟蹤等。
邊緣檢測是目標(biāo)特征提取中重要的一步。目前邊緣檢測的方法有很多種,如Robert算子、Sobel算子、Laplacian算子、Kirsh算子、Prewitt等各種檢測算子,形態(tài)學(xué)以及后來出現(xiàn)的分形法,神經(jīng)網(wǎng)絡(luò)法,小波理論及遺傳算法等。CNN是邊緣檢測的一種新方法,以上這些方法都有各自的方法特點(diǎn)和應(yīng)用范圍。由于CNN處理圖像的模式是將元胞與像素一一對應(yīng),利用元胞之間非線性的耦合性,通過設(shè)置不同功能的模板參數(shù),網(wǎng)絡(luò)經(jīng)過一段動(dòng)態(tài)的訓(xùn)練后收斂到穩(wěn)定的狀態(tài)。這樣能較好地保證圖像的完整性,保持細(xì)節(jié)部分不被丟失,很適合對??毡尘暗膱D像處理。
以邊緣檢測為例,為了清晰地看清CNN對??漳繕?biāo)檢測的效果,可以從三個(gè)仿真實(shí)驗(yàn)來進(jìn)行:其一用CNN對帶有噪聲的圖像進(jìn)行去噪和目標(biāo)檢測;其二是橫向比較,即將CNN與傳統(tǒng)的一些方法對同一幅圖像進(jìn)行目標(biāo)邊緣檢測來比較;其三是縱向比較,即用CNN對不同種情況下的目標(biāo)進(jìn)行邊緣檢測。
實(shí)驗(yàn)1 對輸入圖像加入均值為0,方差為0.05的椒鹽噪聲。先用CNN實(shí)現(xiàn)中值濾波(具體方法在此不作敘述),然后再用CNN進(jìn)行檢測。如圖3所示,可以看出,帶有噪聲的圖像,目標(biāo)已經(jīng)很模糊了,經(jīng)過CNN的處理后,目標(biāo)邊緣部分依然被較完整地檢測出來。
實(shí)驗(yàn)2 分別用CNN、Sobel算子、Canny算子、形態(tài)學(xué)來對一幅云層中的飛機(jī)進(jìn)行邊緣提取,效果如圖4所示。
實(shí)驗(yàn)3 用CNN分別對云層中的飛機(jī)和海上的船只圖像進(jìn)行邊緣提取,效果如圖5所示。
從這幾幅圖處理的效果可以看出:用Sobel算子只把圖中的主要邊緣提取出了,損失了一些細(xì)節(jié)邊緣,因?yàn)樗峭ㄟ^兩個(gè)方向上的模板來對圖像進(jìn)行處理,對水平和垂直方向的邊緣響應(yīng)要大,且他受噪聲的影響較大;Canny算子幾乎把圖中的強(qiáng)弱邊緣都提取出來了,是最優(yōu)的階梯型邊緣檢測算子,但只對受到白噪聲影響的階躍型邊緣是最優(yōu)的;形態(tài)學(xué)作邊緣檢測對細(xì)節(jié)和邊緣都有很好的保留作用,但是與結(jié)構(gòu)元素的選取有關(guān);前三者共同的特點(diǎn)就是檢測速度快,但在硬件實(shí)現(xiàn)方面意義不大;而元胞神經(jīng)網(wǎng)絡(luò)提取的邊緣與前面的方法相比,差別不大,但強(qiáng)弱邊緣提取得更加細(xì)膩,清晰,邊緣連續(xù)性和完整性好,還可以通過調(diào)節(jié)模板參數(shù),使提取的效果更佳。
通過上面的仿真實(shí)驗(yàn),可以看出CNN在對??漳繕?biāo)的邊緣檢測的完整性和細(xì)膩方面具有一定的優(yōu)勢。他的更大的優(yōu)點(diǎn)是適合硬件實(shí)現(xiàn),能夠高速并行計(jì)算,耗時(shí)短(在硬件方面才能體現(xiàn),軟件不能),在圖像實(shí)時(shí)處理方面有很好的應(yīng)用,因此用于對??漳繕?biāo)實(shí)時(shí)檢測、識別和跟蹤,尤其是對速度快、機(jī)動(dòng)頻繁的目標(biāo),具有顯著優(yōu)勢。本算法的不足之處,在于網(wǎng)絡(luò)的模板參數(shù)的選取不一定是最佳的,這可以通過很多方法來改進(jìn)。例如遺傳算法,自適應(yīng)算法,還有粒子群優(yōu)化等方法都可以針對具體的應(yīng)用來找到最佳的控制模板參數(shù)。
4 結(jié) 語
本文主要描述了元胞神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、工作原理和他用于圖像處理的基本思想,并給出了用Matlab編程實(shí)現(xiàn)仿真的步驟,然后將CNN處理不同海空背景下的目標(biāo)的效果進(jìn)行實(shí)驗(yàn)仿真,分析各個(gè)方法處理效果的優(yōu)缺點(diǎn),得出了:元胞神經(jīng)網(wǎng)絡(luò)在處理低信噪比圖像,例如復(fù)雜海空背景下的光電目標(biāo)圖像方面具有較大優(yōu)勢,適用于軍事上的目標(biāo)檢測、特征提取等應(yīng)用。本文不足之處是沒有對CNN進(jìn)行圖像處理的原因?qū)嵸|(zhì)做出分析,這是文章后續(xù)要開展的工作。
評論