基于形態(tài)特征提取的圖像匹配搜索技術研究
引言
目前大家比較熟悉的網(wǎng)絡搜索引擎技術,大多是基于文字的檢索。不論是文章的查詢、圖片的搜索、音樂的查找甚至視頻的檢索,都是通過文字以及關鍵詞的描述或者標引實現(xiàn)的。對于關鍵詞的文字捜索其缺點在于對多媒體信息描述上,用文字描述難以避免主觀性。特別是在網(wǎng)絡購物中,在海量商品庫中通過關鍵詞的查找很難找到自己所需要的物品,因而基于圖像的捜索技術應運而生。
傳統(tǒng)的圖像捜索方法一般是由圖像處理軟件自動抽取圖像的顏色、形狀、紋理等特征,建立特征索引庫,用戶輸入要查找的物品圖像,就可以找出與之具有相近特征的圖像。本文從數(shù)學形態(tài)學的角度來提取圖像的關鍵形態(tài)特征,建立海量物品圖片((含bmp、jpg、gif等靜態(tài)圖片格式)的形態(tài)骨架庫,以此簡化圖像搜索的關鍵內(nèi)容,降低數(shù)據(jù)庫存儲量,提高匹配效率以及準確性。
1數(shù)學形態(tài)學的基本原理
數(shù)學形態(tài)學是一門建立在集論基礎上的學科,是幾何形態(tài)學分析和描述的有力工具,它摒棄了傳統(tǒng)的數(shù)值建模及分析的觀點,從集合的角度來刻畫和分析圖像,可以用來解決抑制噪聲、特征提取、邊緣檢測、圖像分割、形狀識別、紋理分析、圖像恢復與重建、圖像壓縮等圖像處理問題。數(shù)學形態(tài)學已在計算機視覺、信號處理與圖像分析、模式識別、計算方法與數(shù)據(jù)處理等方面得到了極為廣泛的應用。
數(shù)學形態(tài)學是以形態(tài)結構元素為基礎對圖像進行分析的數(shù)學工具。它的基本思想是用具有一定形態(tài)的結構元素去度量和提取圖像中的對應形狀,以達到對圖像分析和識別的目的。數(shù)學形態(tài)學的應用可以簡化圖像數(shù)據(jù),保持它們基本的形狀特征,并除去不相干的結構,適合當前網(wǎng)絡搜索技術中對圖像內(nèi)容搜索的需要。
數(shù)學形態(tài)學的基本運算主要有四個,包括腐蝕(Erosion)、膨脹(dilation)、開運算(openoperation),閉運算(closeoperation)。它們在二值圖像中和灰度圖像中各有特點。下面對這幾個算法的原理進行介紹,并給出實驗結果。
腐蝕(Erosion)
把結構元素B平移a后得到B[a],若B[a]包含于X,我們記下這個a點,所有滿足上述條件的a點組成的集合稱做X被B腐蝕的結果。用公式表示為:
E(X)={a\B[a\1X}=X!B
圖1所示是其腐蝕示意圖。
圖1腐蝕的示意圖
下面以鞋子圖像為例,給出如圖2所示的腐蝕結果,實際上也就是要捜索的鞋子示意圖(圖像大小136X136像素,BMP格式)。
(a)原始圖片(b)腐蝕圖片
圖2腐蝕結果
膨脹(dilation)
膨脹可以看做是腐蝕的對偶運算,其定義是:把結構元素B平移a后得到B[a],若B[a]擊中X,我們記下這個a點,所有滿足上述條件的a點組成的集合稱做X被B膨脹的結果。用公式表示為:
圖3所示是其膨脹原理與結果示意圖。
圖3膨脹原理與結果示意圖
開運算(openoperation)
先腐蝕后膨脹稱為開運算,如圖4所示。上面的兩幅圖中的左邊是被處理的圖像X(二值圖像,這里主要針對的是黑點),右邊是結構元素B;下面的兩幅圖中的左邊是腐蝕后的結果,右邊是在此基礎上膨脹的結果??梢钥吹剑瓐D經(jīng)過開運算后,一些孤立的小點被去掉了。
圖4開運算示意圖
一般來說,開運算能夠去除孤立的小點、毛刺和小橋(即連通兩塊區(qū)域的小點),而總的位置和形狀不變,這就是開運算的作用。
閉運算(closeoperation)
先膨脹后腐蝕稱為閉運算,如圖5所示。圖5中上面的兩幅圖中,左邊是被處理的圖像X(二值圖像,我們針對的是黑點),右邊是結構元素B;下面的兩幅圖中,左邊是膨脹后的結果,右邊是在此基礎上腐蝕的結果可以看到。可見,原圖經(jīng)過閉運算后,斷裂的地方被彌合了。
圖5閉運算
一般來說,閉運算能夠填平小湖(即小孔),彌合小裂縫,而總的位置和形狀不變。這就是閉運算的作用。圖6展示了二值圖和灰度圖利用圓盤狀結構元素進行閉運算的結果。
(a)開運算(b)閉運算
圖6運算結果
1.5擊中擊不中變換HMT(Hit-MissTransform)
將形態(tài)學運算推廣到更為一般的情況,實際上就演變?yōu)闂l件嚴格的模板匹配。這時結構元素不僅含有物體點,而且
還含有背景點,只有當結構元素與所對應的區(qū)域完全符合時,才作為結果輸出到輸出圖像。
設A是被研究的對象,3是結構元素,而且B由兩個不相交的部分B1和B2組成,即:
B=BiU&Bi+B2=0
于是,A被B擊中的定義為:
A7B={a\Bi[a\3A且壓[a]3Ac,
A7B=(A!Bi)n(Ac!B2)
因此,我們可以考慮將其作為一個整體結構元素:B=BiUB2,Bi+B2=0。當B在圖像A上移動時,在當前位置a,只有當B[a]與A和A的補集均相交,且其子集B1[a]含于A,B2[a]含于A時才能保留下來。所以選擇適當?shù)腂1和B2后,HM變換實際上提取了A的特定于結構元素對BB2)的邊緣幾何結構信息。如圖7所示,圖7中的右下圖為采用約束灰度進行擊中擊不中變換的效果圖。
圖7擊中擊不中示意圖
2圖像的細化與骨骼提取
2.1圖像的細化(Thinning)
細化可以由腐蝕分兩步實施完成,以免分裂物體。第一步是一個正常的腐蝕,但它是有條件的,就是那些被標為可除去的像素點并不立即消去。在第二步中,只將那些消除后并不破壞連通性的點消除,否則保留。每一步都是一個3X3鄰域運算,圖8所示是常用的八個方向結構元素。
圖8八個方向結構
第二步可以根據(jù)待消除點的八個相鄰點的情況查表來判斷是否刪除,圖9所示是相鄰點的情況示意圖。
圖9相鄰點情況表
判定是否可刪的依據(jù)可以從以下幾種進行考慮:①內(nèi)部
點不能刪除;②孤立點不能刪除;③直線端點不能刪除;④如
/18物聯(lián)網(wǎng)技術2013年/第11期果P是邊界點,去掉P后,如果連通分量不增加,則P可以刪除。
2.2骨架提取(Skeletonization)
一個與細化有關的運算是抽骨架,也稱為中軸變換(Medialaxistransform)?中軸是所有與物體在兩個或更多非鄰接邊界點處相切的圓心的軌跡。但抽骨架很少通過在物體內(nèi)擬合圓來實現(xiàn)。中軸可設想成按如下方式形成。想象一片與物體形狀相同的草,沿其外圍各點同時點火。當火勢向內(nèi)蔓延,向前推進的火線相遇處各點的軌跡就是中軸。圖10所示是圖像細化與骨架提取示意圖。
抽骨架的實現(xiàn)與細化相似,可采用一個兩步有條件腐蝕實現(xiàn),但是與細化的不同在于拐角處,骨架延伸到邊界。
(a)二值細化(b)骨架提取
圖10圖像細化與骨架提取
3骨架數(shù)據(jù)庫建立與搜索結果比較
本文采用形態(tài)變換骨架提取算法,并以女式高跟鞋為例來建立女式高跟鞋有關的形態(tài)數(shù)據(jù)庫,以數(shù)據(jù)庫查詢搜索方式模擬網(wǎng)絡搜索引擎,通過形態(tài)配準的相似率來搜索最接近的鞋子,并以相似率進行排序,按相似程度的高低按序輸出,圖11所示是其實驗結果圖。
圖11圖像形態(tài)骨骼提取數(shù)據(jù)庫建立
通過與傳統(tǒng)的圖像相似度進行比較,在檢索速度、相似度以及數(shù)據(jù)壓縮等各個指標進行實驗,得出如表1所列的實驗數(shù)據(jù)。
表1實驗數(shù)據(jù)表
方法 |
檢索時間/ms |
相似概率/(%) |
形態(tài)法 |
2.5 |
85 |
結構法 |
4.1 |
80 |
由以上實驗可以看出,基于形態(tài)骨骼提取的圖像檢索算法在檢索速度上要比傳統(tǒng)的基于圖像結構的捜索快50%,其相似配準率的準確性要優(yōu)于5%,另外,在數(shù)據(jù)存儲的時候其壓縮率要比普通的靜態(tài)圖像數(shù)據(jù)存儲格式要高30%以上。
4結語
基于形態(tài)骨骼提取的圖像捜索方法在物品顏色的檢索方面具有先天的不足,但是相較于傳統(tǒng)的文字關鍵詞捜索而言,本文提出的圖像捜索方法具有更加直觀和實用的特點,通過數(shù)學形態(tài)特征提取建立特征索引庫,用戶只需將要查找的圖像的大致特征描述出來,就可以找出與之具有相近特征的圖像,檢索效率快,匹配的準確性高,可廣泛應用網(wǎng)絡購物、刑事偵測、夕卜觀檢索、特定物品搜索以及基于圖像內(nèi)容的搜索引擎技術領域。
20211112_618e60beb1df4__基于形態(tài)特征提取的圖像匹配搜索技術研究