蘇欣
(南京鼓樓醫(yī)院總務處,南京 210000)
圖像是軍事偵查領(lǐng)域情報獲取的重要來源。在軍事應用領(lǐng)域,數(shù)字圖像處理技術(shù)的應用也越來越廣泛,主要體現(xiàn)在其對情報信息的獲取及分析等方面。具體而言,在導彈的精確制導,具有圖像傳輸、存儲與顯示功能的軍事自動化指揮系統(tǒng),各類偵察圖像的判讀與分析以及軍艦、飛機或坦克模擬訓練系統(tǒng)方面,數(shù)字圖像處理技術(shù)都發(fā)揮著重要作用。
新時期作戰(zhàn)模式的最大特點是以戰(zhàn)場信息為基礎(chǔ)的信息戰(zhàn)。戰(zhàn)場環(huán)境下,軍事目標都具有鮮明特性,對軍事偵察圖像中的這些具有鮮明特性的軍事目標進行識別與處理,可以快速提取和識別這些軍事目標的特征,對戰(zhàn)場環(huán)境的偵測有著重要的現(xiàn)實意義。本文基于圖像識別機理,通過對圖像識別方法和識別模型的研究,設(shè)計出一個敏感目標識別系統(tǒng),實現(xiàn)戰(zhàn)場環(huán)境下敏感目標的快速識別。
模板匹配是計算機視覺領(lǐng)域中對目標圖像進行識別和理解的重要方法,它是對模板圖像和目標圖像進行相似度的檢測[1]。在計算機識別過程,常需要將同一空間不同時間和拍攝條件下獲得的圖像進行對準,或根據(jù)已知圖像在另一幅圖像中搜尋相同或近似的部分,這就需要用到圖像匹配[2-3]。圖像匹配是圖像識別中的一個重要手段。圖像的模塊匹配即在一幅圖像中查找已給定的圖像,若在該圖像中找到了已給定圖像,那么我們就認為匹配成功,否則匹配失敗。
模板匹配從某種角度上可以分為兩種,狹義的模板匹配和廣義上的模板匹配。狹義上的模板匹配所需要搜索的目標與待搜索的對象在本質(zhì)上是同一件事物,只是在不同條件下獲得的影像存在區(qū)別。廣義上的模板匹配要搜索的不再是同一件事物,而是一類事物,它需要更加智能的系統(tǒng)來解決并處理未知的問題,這需要計算機在儲備大量數(shù)據(jù)的同時具備有一定的學習和推理能力。在本文中主要討論和研究狹義上的模板匹配。
模板匹配模型是在編制模擬人類的圖像識別活動的計算機程序時,人們提出的一種圖像識別模型。在模板匹配模型中,我們在識別某一特定圖像時,需要在已有的經(jīng)驗中存在該圖像的記憶模式,也稱為模板。圖像輸入時的刺激,若可以與大腦中的模板匹配成功,那么就可以認為該圖像被識別了。
比如,有一個字母M,如若在大腦中已經(jīng)有一個字母M的模板,字母M的形狀、方位以及大小等特征都與字母M的模板一致,那么字母M就被識別了。這個模型的特點是,簡單易應用。但這樣的模型也存在著一個比較明顯的缺陷,就是目標圖像必須完全與大腦中的模板符合,才能夠被識別。然而,人們不僅可以識別與大腦中的模板一模一樣的圖像,也可以識別具有一定差異性的圖像。比如,人們可以識別某一個具體的字母H,同時也能識別與該H不一樣手寫體的,或者不同方向、不同大小的各種字母H。
設(shè)模板T(M*H)疊放在被搜索圖S(W*H)上平移,模板覆蓋下的那塊區(qū)域稱為子圖Sij,i,j是這塊子圖的左上角像素點在S中的坐標,叫做參考點,如圖1所示。則搜索范圍是:
圖1 被搜索圖與模板圖
基于上述的描述,則可以通過比較模板T和每一個子圖Sij的相似性,來完成模板匹配的過程。相似性關(guān)系函數(shù)為:
將上式展開可以得到:
對于上式的解釋為:第一項為模板覆蓋下的子圖的能量,第三項為模板的總能量,他們都與模板匹配無關(guān)。第二項是模板和子圖的互相關(guān)系,隨著(i,j)改變而改變。當模板T和子圖Sij匹配時,該項有極大值。因此可以定義相關(guān)函數(shù)為:
歸一化得:
當模板和子圖完全一樣時,相關(guān)系數(shù)R(i,j)=1。否則,R(i,j)<1,那么相關(guān)系數(shù)越大,則模板與搜索圖片越相似。可以在被搜索圖S中完成全部搜索后,找出相關(guān)s系數(shù)的最大值Rmax(i,j),則其對應的子圖Sij即為匹配目標。顯然,用這種公式做圖像匹配計算量大,速度較慢。特別地,當被搜索圖越大時,匹配速度越慢;模板越小,匹配速度越快。
另一種匹配方法是衡量T和Sij的誤差,其公式為:其中,D(i,j)為最小值處即為匹配目標。為提高計算速度,可以取一個誤差閾值D0,當D(i,j)>D0時就停止該點的計算,繼續(xù)下一個點的計算。只用誤差法進行匹配速度較快,閾值的大小對匹配速度影響較大,且與模板的尺寸有關(guān)。
模板匹配TemplateMatching是在圖像中尋找目標的方法之一。這種方法的原理就是遍歷圖像中的每一個可能的位置,比較各處與模板是否“相似”,當相似度足夠高時,我們就認為找到了目標。在上一節(jié)中已經(jīng)對模板匹配的算法進行了介紹。本文中我們主要基于OpenCV中的match?Template函數(shù)完成相應的模板匹配算法,match?Template函數(shù):在模板和輸入圖像之間尋找匹配,獲得匹配結(jié)果圖像。
本文主要討論其中的標準相關(guān)匹配CV_TM_CCOEFF_NORMED,也稱為歸一化相關(guān)系數(shù)匹配法。歸一化相關(guān)系數(shù)匹配法是一種典型的基于灰度相關(guān)的算法,具有不受比例因子誤差影響和抗白噪聲干擾能力強等優(yōu)點。它基于空間二維滑動模板實現(xiàn),并在制導導航方面得到了廣泛應用。目前基于灰度的匹配算法有MAD算法、序貫相似性檢測法等。它使用的相似性度量定義如下:
當模板與原圖找到最佳匹配部分時,R值最大,原理類似于:,當a,b越接近時,R值越大,趨近于1。
與上文中相同,R即為相似性的度量值,該值越大,代表相似性越大。T是模板,S是搜索圖。將模板圖T放在搜索圖S上平移,模板覆蓋下的那塊搜索圖叫做Sij,(i,j)為這塊子圖左上角像點在S圖中的坐標,稱為參考點。式中分子位置的項是子圖像和模板的互相關(guān)系,隨(i,j)的改變而改變,分母的第二項表示的是模板的總能量,第一項表示的是子圖S的總能量。當T和Sij匹配時,R即為最大值。
那么,首先給出這樣的幾個符號:T(i,j)用來表示我們的模板。S(i,j)是我們的目標圖像。R(i,j)是用來描述相似度的函數(shù)。
我們給出兩幅圖像:
原圖像(S):待搜索圖像。通過比對,我們希望能夠在該圖像中找到與模板匹配的區(qū)域。
模板(T):將用于和原圖像比照的圖像塊。
我們的目標是檢測最匹配的區(qū)域,如圖2所示。
圖2 樣圖(一)
為了確定匹配的區(qū)域,我們嘗試滑動模板圖像與原圖像進行比對,如圖3所示。
圖3 樣圖(二)
通過從左往右、從上往下的滑動方向,將圖像塊一次移動一個像素。而且,在每一個位置,都需要進行一次度量計算,以表明它與當前位置的匹配程度,換言之,即塊圖像與原圖像的特定區(qū)域的相似度是多少。
對于T覆蓋在S上的每個位置,把得到的每一個度量值保存到結(jié)果圖像矩陣(R)中。這樣在R中就包含了所有可能匹配位置(i,j)的匹配度量值。再通過仔細看看輸出矩陣的大?。ㄆ浒怂锌赡芷ヅ涞奈恢茫?,這里可以通過使用另一個函數(shù)minMaxLoc來確定結(jié)果矩陣R中的最大值和最小值的位置,這樣就可以得到結(jié)果圖像矩陣(R)中的最佳匹配位置點,如圖4所示。
圖4 匹配結(jié)果圖像
圖4就是TM_CCORR_NORMED方法處理后的結(jié)果圖像R。最白的位置代表最高的匹配。正如圖中所示,紅色橢圓框住的位置就是結(jié)果圖像矩陣中的最大數(shù)值,所以這個區(qū)域(以這個點為頂點,長寬和模板圖像一樣大小的矩形)被認為是匹配的。
本系統(tǒng)的主要功能包括用戶交互,模板的訓練,目標識別3個部分。具體設(shè)計如下:
2.1.1 用戶交互部分
用戶通過該部分可以直觀的觀察到系統(tǒng)工作的過程,包括圖像文件的載入、模板導入、識別結(jié)果的輸出、識別過程的反饋。該部分設(shè)計主要方便用戶使用,并展示反饋結(jié)果,為用戶提供友好的使用體驗。
2.1.2 模板訓練部分
該部分主要完成對模板庫的建立、對導入模板的處理、效果顯示等。
2.1.3 目標識別部分
該部分為系統(tǒng)的主要功能部分,載入待識別圖像,導入模板圖,完成模板在待識別圖像中逐個像素點覆蓋匹配的過程,得到識別結(jié)果,并得到目標的分布位置,將識別的過程顯示輸出。
其功能結(jié)構(gòu)如圖5所示。
圖5 系統(tǒng)功能結(jié)構(gòu)
根據(jù)對系統(tǒng)功能結(jié)構(gòu)分析,可以將系統(tǒng)的結(jié)構(gòu)模塊設(shè)計如圖6所示。每一個模塊都是本系統(tǒng)在實現(xiàn)目標識別時不可缺少的部分,而每一個結(jié)構(gòu)模塊都有其各自需要完成的功能和對實現(xiàn)目標識別的作用。
圖6 系統(tǒng)結(jié)構(gòu)模型
結(jié)合圖6,可以概括出該系統(tǒng)從圖像輸入到完成目標識別并輸出識別結(jié)果的一個基本流程,如圖7所示。
本文采用的是圖像識別方法中的模板匹配法,此方法首先需要在系統(tǒng)中建立一個包含多類軍事敏感目標的圖像模板庫。這里通過人工的方式來實現(xiàn)模板庫的建立,收集含有軍事敏感目標物的遙感圖片、無人機圖片,以及從互聯(lián)網(wǎng)收集到的圖片,并對收集到的圖片進行統(tǒng)一處理,建立含有戰(zhàn)斗機、艦船、裝甲車等幾類目標物的模板庫。還可以根據(jù)實際需要對已建立的模板庫進行修改和更新。
在.net平臺下采用Visio studio的Winform項目完成本系統(tǒng)的程序設(shè)計。程序主體采用C#語言,并借助于OpenCV中所提供的圖像處理函數(shù)庫。Winform功能強大,可用于設(shè)計窗體和可視控件,以創(chuàng)建豐富的Windows應用程序,具有操作方便、控件靈活、使用安全等特點。
在設(shè)計敏感目標識別系統(tǒng)界面的過程中,重點突出了系統(tǒng)界面的簡潔明了以及各功能板塊的鮮明特點。系統(tǒng)界面如圖8所示,用戶可以通過“加載文件”按鈕來載入識別文件,載入的圖片會在圖像加載區(qū)域顯示。然后導入模板,模板圖片會在右側(cè)的模板處理區(qū)域完成模板圖像處理并顯示效果。之后完成識別目標的過程,程序?qū)⒃诤笈_自動進行目標識別計算,識別結(jié)果會在結(jié)果輸出區(qū)域顯示,其中識別結(jié)果包括目標的數(shù)量和目標位置。
圖8 系統(tǒng)界面設(shè)計
根據(jù)本系統(tǒng)的功能結(jié)構(gòu)圖可知所實現(xiàn)的具體模塊功能有:圖像文件的加載導入、圖像處理中圖像灰度化、圖像二值化、圖像邊緣檢測、模板匹配、圖像均衡化、目標定位等方面,以下分別說明。
3.3.1 模板處理模塊
此部分將導入的模板圖進行圖像處理轉(zhuǎn)化為灰度圖像,利用OpenCV中的局部自適應二值化方法完成圖像的二值化處理。采用Canny邊緣算子進行邊緣檢測[4-5],并顯示模板的輪廓圖。實驗效果如圖9所示。
圖9 模板處理效果
3.3.2 目標識別模塊
此部分完成模板在原圖上的覆蓋搜索計算匹配度量值的過程,并從每個模板在原圖匹配過程中計算得到的相似性度量值中取得最大值,即得到的最佳匹配相似點,用模板圖大小的矩形在原圖中標識,并根據(jù)相似點的位置信息生成目標分布圖,同時在目標輸出部分輸出識別結(jié)果。實現(xiàn)的效果如圖10所示。
圖10 目標識別效果
3.4.1 模板的篩選
當模板庫準備好后,打開待識別文件進行識別。有如圖11待識別圖像:
圖11 實驗待識別圖像
同時在現(xiàn)有的模板庫里相關(guān)的模板圖片,如圖12所示。
圖12 模板圖片
接下來在系統(tǒng)中載入模板,進行目標識別,結(jié)果如圖13所示。
圖13 實驗結(jié)果(一)
系統(tǒng)成功的從待識別的原圖中識別出8個與模板匹配的結(jié)果,并分別進行了標識。那么,當在模板庫中存在與識別圖像無關(guān)的模板時,系統(tǒng)正常的識別結(jié)果又會是怎樣的。
在原有的模板庫中增加一組無關(guān)的模板圖片,如圖14所示。
圖14 無關(guān)模板圖片(一)
待識別圖像保持不變,系統(tǒng)載入新的模板圖后進行目標識別,得到如圖15識別結(jié)果:
圖15 實驗結(jié)果(二)
從兩次實驗的對比結(jié)果我們可以看到,原待識別圖像的被識別的目標物與第一次識別的結(jié)果相同,這里說明本程序是對模板的匹配,具備有對模板的篩選能力,模板可匹配的保留,不可匹配的剔除。
但在多次實驗中也發(fā)現(xiàn)了不一樣的結(jié)果,當再次載入一組其他的無關(guān)模板時,載入如圖16所示的第二組無關(guān)模板。
圖16 無關(guān)模板圖片(二)
待識別圖像與實驗一、實驗二中的圖像相同,在新組成的模板庫條件下進行目標物的識別,得到如圖17所示的實驗結(jié)果(三)。
從圖17所示的實驗結(jié)果(三)可以看到,相比于前兩次的實驗結(jié)果,在原圖像的識別結(jié)果中出現(xiàn)了新的識別結(jié)果,并且可以判斷出新增的識別結(jié)果并不正確。對比實驗二和實驗三,可以發(fā)現(xiàn)無關(guān)模板中其中一組被篩選出去了,但有一組被識別了,無關(guān)模板的篩選出現(xiàn)了問題。而這個的問題涉及到下文所驗證的匹配相似度參數(shù)的確定。
圖17 實驗結(jié)果(三)
在模板選擇的實驗中,在多次載入無關(guān)模板識別時,程序可以實現(xiàn)無關(guān)模板的剔除,但有時候會出現(xiàn)錯誤的識別結(jié)果,這里需要引入匹配相似度參數(shù),相當于在模板匹配算法中提到過的誤差閾值。在本程序中,所定義的匹配相似度參數(shù)決定了匹配程度地大小,其所定義的參數(shù)值越大,對于模板與原圖比對匹配時所計算的度量值要求就越高,以此來增加匹配的精確度。在上述的驗證實驗中,程序中所定義的匹配相似度參數(shù)為參考值0.6,對于同樣的實驗,我們將匹配相似度參數(shù)提高后再次進行實驗。
將程序中的匹配相似度參數(shù)由0.6改為0.7,如圖18中(a)、(b)所示:
圖18 改變匹配相似度參數(shù)
用增加兩組無關(guān)模板圖后的模板庫進行實驗,得到圖19所示結(jié)果。
圖19 目標識別效果圖
區(qū)別于圖17中的結(jié)果,可以發(fā)現(xiàn)在提高匹配相似度參數(shù)后,實驗的結(jié)果出現(xiàn)了不同,在原來10個目標物識別基礎(chǔ)上,成功的去除了兩個不正確的匹配結(jié)果。因此得到這樣的結(jié)論,當程序進行模板匹配識別圖像中的目標物時,對于不同的圖像有著不同的精度,本程序可以通過改變匹配相似度參數(shù)的固定值來改變程序識別的精準程度。而在程序中給出的經(jīng)驗值有時候并不適用于所有的識別過程,具體情況具體對待。
本文利用模板匹配的圖像識別方法對戰(zhàn)場環(huán)境下的敏感目標進行目標識別,識別速度較快,但識別的正確率稍有欠缺,其相關(guān)的匹配相似度參數(shù)需人工手動調(diào)整,不具備自適應調(diào)整。系統(tǒng)對提供的模板要求較高,其自我學習和訓練的能力較低。另外本系統(tǒng)識別目標的針對性較強,設(shè)計較粗糙簡單,不具備一定的適用性,尚需改進和完善。