劉硯菊,宋 鑫,宋建輝,于 洋
(沈陽理工大學 自動化與電氣工程學院,沈陽 110159)
在計算機視覺學科中,目標識別與匹配一直是非常重要的一個研究方向[1-2]。因為物體的形狀具有十分穩定和重要的視覺特征,所以形狀一直是目標匹配中一項有效且利用率較高的特征[3]。而骨架形狀是帶有原目標拓撲信息的一種特殊的形狀表達方式[4]。骨架特征對柔性目標有著不可替代的優勢,在保留了形狀信息的同時可以表達出目標的拓撲信息,在某些情況下處理肢體變化和遮擋類型的目標比基于輪廓的方法更加有效。利用輪廓進行形狀匹配時,對于外部輪廓相似性很高的兩個類別,往往會出現匹配結果相似的問題,所以本文以骨架形狀為主,結合形狀上下文描述子對不同目標的骨架形狀進行描述,并對其進行相似性度量,最后對該方法的結果與利用外部輪廓進行形狀匹配的結果進行對比。
骨架作為簡化的目標形狀表達方式由Blum[5]在1967年首次提出,后續被科學工作者廣泛應用到形狀(目標)識別中。圖像骨架簡單的講就是將圖像經過一系列的處理變為二值圖像,再經過類似于形態學細化過程的運算,得到單像素寬度幾何線條集;并且這些幾何線條保留著原輪廓的拓撲結構和完整的形狀信息。圖像的骨架一般位于圖像輪廓的對稱中心,類似于人類的骨架,支撐著整個輪廓。
圖像骨架和外部輪廓一樣,可以從形狀層面上表達出該目標的特征信息,區別是輪廓形狀特征比較貼合人類的視覺系統,符合人類認知世界的規律,而圖像骨架在某種情況下不符合人類認知物體的規律。但對計算機來說,只要能提供足夠的形狀特征,計算機就能完成對目標的識別。圖像骨架的形狀特征在同類目標中比外部輪廓更有區分性,因為在形狀點描述中,圖像骨架的點分布關系的多樣性要多于圖像的外輪廓。
圖像骨架包括“燒草”模型和“最大內切圓”模型兩種描述方式,兩種模型的示意圖如圖1和圖2所示[6-8]。圖1為燒草模型示意圖。
燒草模型非常形象的描述了形態學下骨架形成的過程:假設在目標輪廓所圍成的閉合區域內鋪上稻草,然后在這個輪廓區域的外圍同時點燃稻草,假設稻草同時向內燃燒,最后燃燒完畢后會留有一條黑線,這個黑線就是該輪廓的骨架。圖2為最大內切圓模型,該方法是Blum提出的另一種描述骨架的方法,最大內切圓就是在目標閉合輪廓區域內的一個個內接圓,而且這些內接圓不被該輪廓區域內的任何一個內切圓所包含,那么這些內接圓圓心的集合既表示為該輪廓閉合區域的骨架。

圖1 燒草模型

圖2 最大內接圓模型
由這兩個模型衍生出了眾多提取圖像骨架的方法,包括逐層進行像素點剝離的基于拓撲化輪廓細化的骨架提取方法、基于泰森多邊形的輪廓提取方法、利用圖像像素點歐式距離的基于距離變換的骨架提取方法、利用數學形態學方法進行計算的基于圖像形態學骨架提取方法。因為基于數學形態學的方法算法復雜度較低,運算較快,且提取的骨架比較穩定,所以本文采用該種方法。
基于數學形態學的骨架提取主要采用對目標二值圖像的一個迭代腐蝕效果,思想源自于Blum提出的“燒草”模型。首先將圖像經過一系列的預處理,處理成二值圖像,同時目標區域設定為高亮區域。從圖像目標的最外圍輪廓開始,檢測輪廓點的像素鄰域是否存在聯通像素,若存在聯通像素,則腐蝕掉該像素點,然后迭代此過程,直至把目標圖像腐蝕成一條單像素的“骨架”為止。像素點的像素鄰域包括該像素點的3或4或5或6或7連通像素,迭代停止的判定條件是在某一次的像素迭代腐蝕中沒有像素點被腐蝕掉。若沒有像素點被腐蝕掉,則最后檢測一遍剩余輪廓點的2連通像素,腐蝕掉這些點后,就會得到一條單像素寬度的圖像骨架。這幅骨架大致位于圖像的中軸線上,且會保留圖像外輪廓的一些細節,但有些細小的骨架分支在求取骨架后要剔除,否則會影響后續的計算。該方法的算法流程圖如圖3所示。

圖3 骨架提取算法流程圖
二值圖像在經過上述算法迭代后,高亮區域被腐蝕為單像素寬的高亮幾何線條,該線條便是目標圖像的骨架。圖4為挖掘機的骨架提取結果。
本文利用的是圖像骨架的形狀特征,所以在提取到圖像骨架后,需要對其進行形狀信息的描述及對該描述進行相似性的度量。考慮到骨架形狀的特殊性,本文采用基于像素點位置距離關系的形狀上下文描述子[9-10]。

(a)原圖

(b)骨架圖
形狀上下文是一種非常典型的利用像素點在空間上的分布直方圖來描述形狀的方法[11-12]。而形狀特征可以很好的表述一個目標[13-14]。該描述算法將形狀看作是一個由有限個坐標點組成的集合,任意從該集合中選取出一點作為坐標原點,建立對數極坐標系,根據該形狀在坐標系中點的分布情況確定極坐標系的大小,并將該坐標系分為N個區域,統計每個區域包含坐標點的數量,該點可以用1×N的向量來描述。整個形狀可以用一個矩陣來描述。某一坐標點的形狀可表述為
hi(k)=#{cj≠ci&cj∈bin(k)},i≠j
(1)
式中:#為統計落在第k個區域的點數的統計運算符;bin(k)表示第k個區域。則一個包含M個坐標點的形狀既可用一個M×N的矩陣來表示。
對于兩個形狀上的樣本點,其形狀上下文距離可表述成
(2)
式中:hi(k)和hj(k)分別為pi和qj對應的形狀直方圖值;K代表區域數量。
則兩個形狀的形狀上下文距離可用式(3)計算
(3)
通過公式(3)可以得到形狀上下文距離的值,該值可作為評價兩個形狀相似度的標準,得到的數值越小,說明兩個形狀的相似度越高。
實驗采用MPEG7_CE-Shape-1_Part_B圖片庫(70類)、kimia99圖片庫(9類)和自建車類型圖片庫(5類)綜合起來進行仿真,共計84個類別。本文在上述圖片庫中取出若干類建立新的實驗骨架庫和圖片庫。自建庫均處理為和標準庫同樣的黑色背景白色剪影的圖像,所有圖像統一處理為二值圖像。硬件環境為IntelCore i7-8700@3.20Ghz,16GBRAM,軟件環境為VC++和OpenCV3.4.0 withcontrib,系統環境為Windows1064位,Matlab作為輔助計算環境。圖5為自建骨架庫的部分圖像。

圖5 實驗用數據庫部分圖片
從圖片庫中選取若干張圖片作為樣本圖像,選取過的樣本圖像不在匹配范圍之內,只作為目標圖像使用,從實驗結果選取幾組進行結果分析。實驗結果如圖6所示。圖6a為樣本圖像,圖6b為對應的識別結果。

(a)樣本圖像

(b)匹配結果
從圖6六組匹配結果可以看出,基于圖像骨架的最小值形狀上下文能夠正確匹配出目標,且經過多次實驗,識別率可達95%以上。
在識別正確的基礎上,選取出形狀較為相似的目標進行比對。表1~表4是從實驗結果中取出的horse和deer這兩類外形相似的目標做對比分析結果,從表中的數據可以看出,在保持識別率的情況下,骨架形狀特征在類間的區分上優于輪廓形狀。在表1和表3中,傳統輪廓形狀上下文在horse和deer類中都出現了小于0.2的值,表1中horse樣本與deer類的形狀上下文相似度值最小為0.19618;表3中deer樣本與horse類的形狀上下文相似度值最小為0.15783。表1和表3中兩類最小形狀上下文距離的差值為0.06385和0.03627。替換為骨架特征后,雖然整體的形狀上下文距離都增大一個階梯,但同時也拉大了兩類之間的區別,表2和表4中兩類的最小形狀上下文距離差值分別為0.0807和0.07004。從數據區分的角度分析,與傳統輪廓目標匹配相比,基于骨架形狀的目標匹配提高了類間區分度,且其他類中沒有出現過小的形狀上下文距離值,在一定程度上降低了誤匹配的幾率。

表1 基于傳統輪廓的horse樣本形狀上下文數據對比

表2 基于骨架形狀的horse樣本形狀上下文數據對比

表3 基于傳統輪廓的deer樣本形狀上下文數據對比

表4 基于骨架形狀的deer樣本形狀上下文數據對比
針對目標外形相似的情況下形狀上下文距離值差值較小的問題,提出了基于圖像骨架形狀特征的形狀上下文目標識別方法。實驗結果表明,與傳統輪廓目標匹配相比,基于骨架形狀的目標匹配提高了類間區分度,同時可以保證形狀匹配的準確性,經多次實驗識別率均保持在95%以上。