多目標模板匹配

2021-07-23 02:08:27 字數 2010 閱讀 9383

一. 模板匹配

模板匹配是數字影象處理的重要組成部分之一。把不同感測器或同一感測器在不同時間、不同成像條件下對同一景物獲取的兩幅或多幅影象在空間上對準,或根據已知模式到另一幅圖中尋找相應模式的處理方法就叫做模板匹配。

簡單而言,模板就是一幅已知的小影象。模板匹配就是在一幅大影象中搜尋目標,已知該圖中有要找的目標,且該目標同模板有相同的尺寸、方向和影象,通過一定的演算法可以在圖中找到目標,確定其座標位置。

二. 單目標模板匹配

這裡的模板匹配的方法其實並不複雜,利用目標的邊緣資訊用於搜尋目標影象的模板所在位置。先上模板影象,利用一定的方法提取模板影象的邊緣,提取邊緣中做了一定的優化,如最大值抑制,雙滯濾波器等等,使得邊緣資訊足夠精確,提取出的邊緣影象與模板影象放一起好對比。這裡請忽略邊緣影象中的藍色十字架,和邊緣影象的大小,這裡是經過處理的,方便定位以及金字塔影象的處理。

這裡貼張目標影象,就是需要匹配的影象,先從簡單到複雜講解,對單目標匹配完才能進行多目標匹配嘛,如下圖所示為目標影象,由於太大了,縮放下,哈哈,模板影象其實是從紅色框框裡摳出來的。

這裡需要提取目標影象的梯度圖,先分別提取水平和垂直的梯度影象,在計算出梯度的模的影象:

好了,目標影象的梯度資訊有了,模板影象的邊緣資訊也有了,這時候可以進行簡單的單目標模板匹配了。這裡利用如下公式進行模板匹配:

也就是在目標梯度影象中逐畫素進行搜尋,利用ncc匹配度進行判斷,大於一定的匹配度,我們就認為這個就是模板影象,找到最大的匹配度,單目標匹配就完成了。哈哈,是不是很簡單。接下來說說多目標模板匹配吧。

三. 多目標模板匹配

有了之前的基礎,這裡要說說多目標模板匹配,目標影象中很有可能出現需要匹配的目標處於旋轉一定角度的,就是說,目標與模板的擺放角度並不相同,如下圖所示:

這裡紅色的框為模板影象,白色的框框就是其他目標影象,看出角度相差蠻大的吧。怎麼解決呢?

這裡很容易就聯想到,可以將模板影象的邊緣影象旋轉1°就生成乙個模板影象,再在圖中進行尋找,確實是這麼做的,但是呢,有乙個問題,直接這樣計算,計算複雜度相當高,對於一張大圖,耗時可是相當可怕的。

影象金字塔剛好可以解決這個問題,我們可以利用影象金字塔的由粗糙到精細以達到加速的作用,利用模板影象進行下取樣,然後提取邊緣後進行旋轉,進行金字塔的最底層的影象粗匹配。

讀者這時候一定會覺得,我的天哪,怎麼誤匹配這麼多,其實這是因為縮小後影象的雜訊導致匹配的目標多了,別擔心這是正常現象,可是有沒有發現,這裡雖然很多,但相比於原來的逐點匹配,到下一層匹配的區域就縮小了很多,時間就提上去了很多,這裡貼張下一層金子塔的匹配結果。有沒有很興奮?完全把目標影象中的目標提取出來了。

接下來金字塔的任務就是對目標影象中的目標進行精確提取就可以了,任務基本上完工了,貼張最終效果圖吧。

基於Halcon的多目標模板匹配演算法

1.基於灰度值的模板匹配基本原理 模板匹配,顧名思義,需要乙個模板。然後在影象中尋找與模板能匹配得上的區域。halcon中,基於灰度值的模板匹配的演算法中,演算法的基本原理比較簡單,就是簡單的灰度比對。找出灰度值與模板區域相近的區域作為找到的目標區域,具體演算法如下 即,當error滿足閾值時,則該...

目標跟蹤 模板匹配

在一幅影象中尋找和模板影象 patch 最相似的區域。1.判斷相似性 opencv中有對應的函式 void matchtemplate const mat image,const mat templ,mat result,int method 該函式的功能為,在輸入源影象sourceimage i ...

多目標跟蹤

目前參與的乙個專案是 足球事件檢索 事件是乙個 high level 概念,需要基於一些 low level 資訊來做。後者主要就是一些影象處理的東西了。兩個 level 之間,會有一些中間層的資訊,比如足球的走向。根據師兄的建議,可以考慮對足球場上的運動員進行多目標跟蹤,在跟蹤軌跡的基礎上抽取一些...