(中海油研究總院,北京 100027)鄭 偉,蔣徐標
鄭偉(1985-)男,山東單縣人,碩士,中級職稱,儀控工程師,現就職于中海油研究總院。
摘要:本文研究了一種基于模板匹配的在圖像序列中目標定位的方法,采用金字塔搜索法以及全局—局部搜索法提高算法速度,采取基于雙三次插值法的亞像素技術提高定位精度。實驗驗證了方法的可行性。
關鍵詞:亞像素;模板匹配;雙三次插值;相關系數
Abstract: A method of target location based on template matching in image sequence is developed. Pyramid matching method and global-search&localsearch is used to improve matching speed. Bicubic interpolation is adopted to promote accuracy. The feasibility and validity is verified by simulation and experiment.
Key words: Sub-pixel; Template matching; Bicubic interpolation; Correlation coefficient
1 引言
數字圖像測量技術是一種以圖像為載體并從中提取有用信息的方法,目前已廣泛應用于工業檢測、衛星遙感、機器視覺以及大規模集成電路制造等相關的技術領域。
目標的匹配與定位是數字圖像測量系統的關鍵技術,對此人們已提出了許多經典算法,但大多數匹配算法的定位精度都是像素級的。隨著機械設備制造向著高復雜性、高精度發展,對元件檢測和定位精度的要求越來越高,普通意義下的像素級精度已不能滿足要求。提高匹配定位精度有兩種途徑:一是從硬件上提高攝像系統的物理分辨率;二是改進算法采取亞像素法進行定位。
由于高精度攝像系統一般價格十分昂貴,并且攝像系統所能達到的最大分辨率也受著當前技術水平的制約,所以采用亞像素技術提高匹配定位精度是一個切實可行的途徑。本文將以抽油機游梁支點微位移檢測為例,簡要闡述這一方法在實際工程生產中的應用。
2 模板匹配法
模板匹配法是數字圖像測量技術中最基本的方法之一。此法是將所要檢測物體的模板與源圖像中所有位置的區塊進行比較,考察是否存在與模板匹配的區塊。例如,在圖1-a中,尋找有無五角星(圖1-b)。若在源圖像中存在待尋目標,則目標與模板具有相同的大小與方向。模板匹配法的基本原則就是通過相關系數的計算來找到目標在源圖像中的位置。
圖1 模板匹配示例
2.1 模板的動態建立
圖2 模板及其源圖像示例
設模板T疊放在源圖像S上平移,模板覆蓋下的那塊源圖像叫做子圖S(i,j),i,j為這塊子圖左上角像素點在S圖中的坐標。模板的恰當選取對于提高匹配精度十分重要。
本文抽油機游梁支點微位移的測量,是通過對圖像序列的處理實現的。可以手動取第一幀圖像中的目標區塊為模板,用此模板對圖像序列中的目標區塊的位置進行匹配。由于模板直接取自源圖像,因此該方法方便靈活并且適用于任意特征的目標。
2.2 相關系數的描述
比較T和S(i,j)的內容,若兩者之差為零,則認為兩者相匹配。模板與源圖像的相關系數C(i,j)可以用下面的函數描述:
其中,Sm與Tm分別是S(i,j)與T在各自相關窗口的平均值。不難看出,相關系數C(i,j)的取值范圍為[0,1]。通常情況下,當模板與源圖像相似度大于0.8時,可認為二者匹配;相關系數小于0.6時,可認為目標是可疑的。相關匹配法不僅定出了目標的位置,而且還給出了目標的可信度。
2.3 匹配速度的改進
相關匹配法的主要缺點之一就是計算量大。在本實驗中,對于一幀502×502的源圖像,如果逐像素點搜索,一共要進行502×502次求相關系數C(i,j)的計算,這樣搜索完一幀圖像要耗費10秒左右,這個速度已遠遠不能滿足實時處理圖像序列的要求。
為了提高匹配速度,可采用金字塔搜索法,先對一幀圖像的整個搜索區域采取大步長進行相關運算,找到相關系數的極大值,然后以此極大值點為中心縮小搜索區域和步長,再進行相關運算。重復上述過程,直至在最小步長的相關系數矩陣中找到該幀圖像的極大值點。
由于抽油機游梁支點位移范圍很小,所以可以把后續各幀的搜索區域進一步縮小,在以上一幀找到的目標點為中心的小矩形鄰域內搜索目標,這樣能大大提高后續各幀的匹配速度。通過上述方法的改進,第一幀的搜索時間為1秒,后續各幀的搜索時間為400毫秒,可以滿足實時檢測的要求。
3 亞像素定位
抽油機游梁支點位移檢測要求測量精度要達到0.5毫米,而我們的攝像系統所能達到的最大物理精度為1毫米。為了滿足測量精度的要求,我們采用基于雙三次性插值法的亞像素技術進行目標的精確定位。
插值是用數學方法把圖像局部特征細化,增加圖像的分辨率。圖3表示的是雙線性插值,假設利用上面提到的匹配法搜索到的目標點位置是P(309,298),則目標的精確位置肯定在以P(309,298)為中心的鄰域內,即圖3-a中ABCD矩形框區域。以P為中心以1/5個像素的步長進行插值,圖3-b是在ABCD矩形框內插值后的放大圖,注意P與其附近的插值點 的對應位置。
圖3 雙線性插值示意圖(取P'周圍2x2個像素點,以1/5個像素的步長插值)
同理,取P'點周圍的4×4個像素進行加權平均,即雙三次插值。
其中,
S(i,j)表示原來圖像上像素點的灰度值,a和b是到最近像素點橫向與縱向距離。確定目標點的像素級坐標后,要在目標的鄰域16個像素內按照步長1/5像素進行雙三次插值,然后再在插值后的區域匹配目標。經過這種插值處理,定位精度可以達到0.2個像素。
4 定標
上述方法測量得到的是以像素為度量單位的位移,而我們關心的是位移的實際“長度”,這就需要進行精確定標,建立圖像中像素點與空間物體表面點位置的對應關系。實際位移L與圖像中像素點位移P的關系為:
L=α×P,其中α為比例因子。
由于本實驗中我們可以嚴格地把目標點的搜索區域控制在攝像機圖像的中央位置,故可以忽略圖像的非線性畸變,將實際成像模型視為簡單的線性關系。
5 算法分析與實驗結果
攝像機獲取第一幀抽油機支架頂部視圖,大小為502×502像素,根據事先固定在游梁支點位置的標尺進行定標;用鼠標手動選取頂點轉軸附近矩形區域作為模板,并在該幀中搜索目標,見圖4。實時抓取并處理連續幀序列,處理當前幀時,只需在以上一幀搜索到的目標位置為中心的100×100像素的矩形鄰域中進行搜索,可以大大提高匹配速度。
(a) 攝像機實時獲取的第一幀抽油機視圖 (b) 油梁支點局部放大圖
圖4 本實驗中動態模板選取示例(取矩形框區域為模板)
表1列出了采用本方法所得到10幀抓圖的定位結果。從表中數據可知,游梁支點橫向最大位移為215.6-211.2=4.4像素;縱向最大位移為182.2-179.2=3.0像素。
由于定標結果得到比例因子α=0.67,即圖像中一個像素間距相當于實際位移0.67毫米。所以游梁支點橫向最大位移為4.4×α=2.9毫米;縱向最大位移為3.0×α=2.0毫米。橫向、縱向位移均在5毫米誤差允許范圍內,故該抽油機游梁支點位移符合要求。
表1 匹配點橫向及縱向坐標
6 結束語
本文研究了模板和圖像匹配中的亞像素精確定位方法。匹配時先在整個源圖像中對目標進行金字塔式搜索,得到目標的大體范圍,后續序列則在目標鄰域附近小范圍內搜索目標,大大提高了運算速度。采用雙三次插值法進行亞像素定位大大提高匹配精度。實驗結果驗證了此方法的可行性。
其他作者:蔣徐標(1979-),男,浙江上虞人,碩士,中級職稱,儀控工程師,現就職于中海油研究總院。
參考文獻:
[1] 于起峰, 陸宏偉, 劉肖琳. 基于圖像的精密測量與運動測量[M]. 北京: 科學出版社, 2002.
[2] 沈庭芝, 方子文. 數字圖像處理及模式識別[M]. 北京: 北京理工大學出版社, 1998.
[3] 孔丹, 李介谷. 亞像元精度的圖像匹配技術[J]. 紅外與激光工程, 1998,27(1): 29-32.
摘自《自動化博覽》2010年第十一期