?

一種基于KCF的丟失目標重定位方法

2024-01-02 09:32李興陽趙天亮李雅欣桑飛飛王晨宇肖春寶
山西電子技術 2023年6期
關鍵詞:線性峰值模板

李興陽,趙天亮,李雅欣,桑飛飛,王晨宇,肖春寶

(河南科技大學 信息工程學院,河南 洛陽 471023)

0 引言

計算機視覺技術在當前的科技領域中擁有著廣泛的應用,其中目標跟蹤技術是研究的重點之一。由于目標跟蹤技術具有廣泛的應用前景,在過去的幾十年里,已經涌現出了許多優秀的目標跟蹤算法,其中基于核相關濾波(KCF)的算法成為研究熱點之一。KCF算法通過對模板和響應圖像之間的相關運算來進行目標跟蹤,具有實時性和高準確性的優點,已經成為目標跟蹤領域的主流算法之一。

然而,在實際應用中,由于種種原因,如目標快速運動、光照變化、目標遮擋等,傳統的KCF算法可能會出現跟蹤失敗或跟蹤誤差大等情況,這給目標跟蹤技術的應用帶來了困難。針對以上問題,本文在KCF算法的基礎上,提出了一種針對目標被遮擋后導致目標丟失的解決方法,通過該幀的響應峰值判斷目標是否異常,若目標連續異常數達到閾值則判定目標丟失,此時通過使用運動估計和模板匹配算法來重定位目標,重定位成功后則繼續采用KCF算法進行跟蹤。

1 KCF算法簡介

KCF算法是一種經典的目標跟蹤算法,采用離散傅里葉變換(DFT)和相關濾波的思想,通過計算目標和背景的相似度,實現目標的定位和跟蹤。KCF算法首先通過使用高斯核函數將目標的特征表示為一個高維向量,然后通過計算訓練樣本和測試樣本的核相關矩陣,得到訓練樣本的響應圖。使用循環移位技術將測試樣本響應圖的峰值與目標位置對齊,即可得到目標的位置信息。最后,利用在線學習方法不斷更新目標的特征向量,實現目標的連續跟蹤。KCF算法具有計算速度快、實時性強和魯棒性好等優點,在目標跟蹤領域得到了廣泛應用。由于該算法依賴于局部相似度和單目標模型,在復雜場景下仍然存在著一定的局限性,需要進行進一步改進。

2 改進KCF算法原理

2.1 目標丟失預警機制

當目標丟失后,傳統KCF算法將繼續使用上一幀的跟蹤結果來預測下一幀中的目標位置,從而導致跟蹤框位置發生漂移。由于KCF算法總是將待檢測樣本中響應值最大的位置作為目標,無論目標是否在采樣窗口內,在待檢測的樣本中總有響應值最大的位置,此位置可能并非目標的真實位置。

采用文獻[1]的思想,并加以改進,可以根據響應峰值的大小來判斷目標是否丟失或將要丟失。令Pt表示當前幀的響應峰值,集合{Vi|i=1,2,…,n}表示從開始到當前幀為止所有響應峰值正常的幀的響應峰值的大小。

(1)

其中:v表示正常幀的響應峰值的平均值;σ表示標準差。

如果當前幀的響應峰值距離均值v超過了λσ(λ為異常檢測因子)則判定當前幀中的目標跟蹤異常。當待測樣本中響應峰值出現異常,這并不能代表目標已經失去跟蹤,可能只是目標部分被遮擋所導致,當目標再次出現時,仍然能夠繼續定位,所以此時繼續采用KCF算法進行跟蹤。當連續T(本文取值25)幀出現響應峰值異常時,說明此時目標已經跟蹤失敗,判定目標丟失,需要重新對目標進行定位。

2.2 目標重定位

當目標發生遮擋時,主要是因為目標發生橫向移動所導致,縱向移動主要影響目標的尺度變化,故此時可以忽略目標的尺度變化[2]。當檢測到峰值異常時,記錄最近一次正常幀的目標模板,當超過幀峰值仍未恢復正常,則應該停止對目標模板的更新,同時將目標模板恢復至最近一次正常幀的目標模板,減少異常幀對目標模板的影響,同時開始重定位目標位置。

2.2.1 線性預測目標位置

當目標丟失后,由于攝像機的運動和目標的運動同時發生,目標的位置很難預測,也并沒有很好的運動模型適合預測。由于目標的運動趨勢在最近幾幀中并不會有較大改變,再加上系統對實時性的要求,故采用線性預測[3]的方法來估計目標的新位置。

設在第t幀中目標響應峰值開始異常,目標框的中心位置(xt,yt),則在連續T幀后,即t+T幀開始對目標位置進行重定位。集合L={(xi,yi)|i=1,2,…,n}表示t幀前n幀中目標框的中心位置,則有:

(2)

然后,對預測位置進行模板匹配,根據響應峰值判斷是否預測成功,如果預測成功則繼續進行KCF算法,反之開始進行模板匹配算法,再次進行重定位。

2.2.2 模板匹配算法

采用歸一化相關系數匹配算法,在響應峰值正常的圖像中根據目標的位置,將目標截取出來并保存,作為模板匹配的模板圖像使用。當目標丟失后再次出現時,通過歸一化相關系數匹配算法,能夠很容易在一幀中將目標定位出來。

(3)

其中,⊙表示兩個矩陣進行點乘;T表示模板圖像;I表示待匹配圖像;T′,I′表示去均值后的矩陣;x,y代表當前搜索框在I矩陣中左上角元素的坐標;x′,y′ 代表T和搜索框框出來的I的矩陣的元素坐標。

計算出的相關系數被限制在了[-1, 1] 之間,1表示完全相同,-1表示兩幅圖像的亮度正好相反,0 表示兩幅圖像之間沒有線性關系。通過尋找輸出矩陣的最大值,得到一個像素點,以該像素點為矩形區域的左上角,繪制與模板圖像同尺寸的矩形框,此矩形框就是通過模板匹配算法定位到的目標可能存在的位置。然后通過KCF算法對其進行判定,若得到的響應峰值不再異常,則判定目標重定位成功,反之失敗。

3 算法整體步驟

首先,讀入視頻序列并選擇跟蹤目標,然后采用KCF算法進行跟蹤,判定目標跟蹤是否異常,當連續異常幀數大于幀時判定目標丟失,跟蹤失敗,此時開始目標重定位算法,優先通過模板匹配算法對目標可能出現的位置進行預測,然后根據響應峰值判斷目標是否重定位成功,若成功則進入下一幀,若失敗則通過線性預測,進行目標定位,再次通過目標框的響應峰值判斷目標是否重定位成功,若失敗則使用正常幀去檢測下一幀中的目標。

圖1 算法流程圖

4 實驗與分析

4.1 距離精度

為了驗證算法的跟蹤性能,采用距離精度(DP),即中心位置誤差低于某一閾值(本文取30)的幀數占視頻總幀數的百分比。(xa,ya)表示預測目標中心位置,(xb,yb)表示真實的目標中心位置。

(4)

符合條件的幀數:中心位置誤差<閾值

精度 = 符合條件的幀數/總幀數

由表1中的數據可知,本文算法在目標發生遮擋時跟蹤效果比較好,KCF算法數據DP精度較小是因為算法在目標被遮擋時,沒有進行有效的判定,導致后續目標一直處于丟失狀態。本文通過線性預測和模板匹配兩種算法對丟失目標進行重定位,能夠有效提高KCF算法對丟失目標的再次跟蹤的能力。

表1 DP精度對比

表2 運行速度對比

4.2 跟蹤速度對比

KCF算法的平均速度約為62幀/s,本文算法平均速度約為48幀/s,相比之下,本文算法在速度上有所下降,這是因為在判定目標響應峰值是否異常、目標的線性預測以及目標的模板匹配時耗費了一些時間,不過考慮到對目標跟蹤準確度的提升,還是在可接受范圍的。

4.3 效果對比

圖2 展示了KCF算法和改進算法對Pktest01序列數據的跟蹤效果對比。傳統KCF算法在目標被遮擋后再次回到視野之內時,KCF算法并不能夠識別并跟蹤目標,相比之下本文通過引入線性預測和模板匹配算法,增強了原算法對目標丟失后的處理能力。

圖2 Pktest01數據跟蹤效果對比

5 結論

本文提出了一種改進的基于核相關濾波(KCF)的目標跟蹤算法,通過引入線性預測和模板匹配技術對于丟失目標進行重新定位。實驗結果表明,本文所提出的改進算法在跟蹤準確性和魯棒性方面都有顯著提高,但由于融入了重定位算法,導致算法在追蹤速度方面有所下降。下一步的研究方向主要是,在不影響跟蹤效果的同時,提高算法的運行速度。

猜你喜歡
線性峰值模板
鋁模板在高層建筑施工中的應用
“四單”聯動打造適齡兒童隊前教育峰值體驗
漸近線性Klein-Gordon-Maxwell系統正解的存在性
鋁模板在高層建筑施工中的應用
線性回歸方程的求解與應用
二階線性微分方程的解法
寬占空比峰值電流型準PWM/PFM混合控制
基于峰值反饋的電流型PFM控制方法
鋁模板在高層建筑施工中的應用
城市綜改 可推廣的模板較少
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合