天天看點

(最通俗易懂的)目标跟蹤MOSSE、KCF

引言

我們在研究目标跟蹤前先要了解它分為哪幾類,以及大體思路是什麼?

分類:①目标模組化;②前景背景識别。

思路:①目标模組化的思路是首先我們用一些手段把我們想要跟蹤的目标“框出來”。例如:我們要跟蹤視訊中的一個人,我們可以在電腦端用滑鼠畫框把視訊第一幀的人框出來(這個看算法怎麼設定的),然後算法就會根據我們框出的目标建立一個模型。在之後的視訊幀,算法會根據我們之前建立的人的模型,找視訊幀中與其最相似的圖像塊,然後輸出這個圖像塊的位置,每個幀的位置資訊都有了,組成視訊後,我們就會發現那個框框在跟着人在運動,這樣我們便實作了跟蹤。

②前景背景識别主要技術路線是通過一定的技術将前景(需要跟蹤的目标)和背景(我們不關心的場景資訊)分開。例如:一個視訊中隻有一個運動的人,其他都不動,我們可以直接檢測圖像灰階值的變化,發生變化的地方就是我們需要跟蹤的人的邊緣。

跟蹤中常出現的問題:1.遮擋:目标被其他物體遮擋,模闆比對不到物體,(你可能會說,過一會物體出來了再跟上不就好了。不是這樣的,模闆會根據目前幀目标在不斷更新,如果跟不上,它停在了遮擋物處,那麼過幾幀以後,這個模闆就成了遮擋物的模闆了,跟着遮擋物走了)。2.目标旋轉:例如之前跟着人臉,結果他一轉身,就成了跟着後腦勺了,完全跟不上。3.光照變化:二郎研究過這一塊的,圖像去陰影去雨去雪,但是話又說回來了,圖像增強後,人眼看着舒服了,但是機器可能不認。4.運動模糊:有重影了,到底哪個是目标,人都沒法确認,何況算法。

上面非常直接地告訴了大家思路,那麼之後的所有算法都是在這兩個思路實作的過程中産生的。

預備知識:

1.相關濾波

從字面意思了解為:用濾波的方法獲得兩個對象的相關性(圖像中的區域與所需目标的相關性)。濾波就相當于篩子,把符合的目标找出來(例如找凸顯邊緣的canny濾波)。

濾波器和圖像做卷積,卷積後我們的圖像變成了響應圖像,和原圖像尺寸一緻,這個響應圖像的黃色部分代表最大響應值,目前來看我們這個濾波器是鼻子的模闆,跟蹤鼻子。

(最通俗易懂的)目标跟蹤MOSSE、KCF

第一章 目标跟蹤MOSSE

1.Bolme 等人在 2010 年提出了基于相關濾波器的輸出誤差最小平方和跟蹤算法(Minimum Output Sum of Squared Error,MOSSE)。該算法屬于目标模組化算法。基于MOSSE濾波器的跟蹤方法對照明、縮放、姿态和非剛性變形不敏感,其運作速度為669幀/秒。

為了有效解決訓練過程中的樣本貧化問題,Henquriques 等人在 MOSSE 跟蹤算法的基礎上,提出循環結構跟蹤算法(CSK)和核相關濾波跟蹤算法(KCF)。

2.基本的跟蹤算法流程

①确定跟蹤目标,建立響應圖g1

是的,初始的響應圖不是濾波出來的,而是自己建立的。

等同于你在用滑鼠畫框,程式自動建立了一個響應圖,把響應值最大的位置定在畫框的中心。響應圖直接是中心為1,其他位置都為0?不是這樣的,這樣是無法反映以中心向四周的響應逐漸遞減的過程。可以用高斯函數,做一個山丘,山頂(畫框中心)響應最大,然後向四周響應越來越小。

②利用G1和圖像F1,反推濾波器H1

H1=G1/F1

③得到H1以後,就可以通過圖像第二幀f2和濾波器h1的卷積獲得響應函數G2;

f2(卷積)h1=G2

④用G2更新濾波器,得到濾波器H2

這是基礎的步驟,下面來看下MOSSE在其中加了哪幾步。

3.添加步驟

①單純來看,隻利用第一幀出畫框得來的初始濾波器h1隻能滿足一個比較獨立的任務,換一個人,或者也就變變發型,它可能就跟不上了(過拟合),我們需要建立一個類似于ASEF的濾波器的初始濾波器H*,避免過拟合問題。

ASEF ,是Average of Synthetic Exact Filters 的簡稱,可譯為合成平均濾波器。

下圖是為了跟蹤人眼而建立的濾波器,可以看出,主要思想是平均。

圖檔來源:

https://blog.csdn.net/kaka_36/article/details/18353155

(最通俗易懂的)目标跟蹤MOSSE、KCF

是以在第一步确定跟蹤目标時,不是簡單地在第一幀畫框,而是給出多個訓練集(例如跟蹤人,給出多個人的圖檔fi,都是标注好的,帶有響應函數gi)

是以我們可以得到多個圖的濾波器hi

(最通俗易懂的)目标跟蹤MOSSE、KCF

然後我們在多個濾波器中找到适合大部分圖像的那個濾波器,利用最小化法

(最通俗易懂的)目标跟蹤MOSSE、KCF

這裡最小化是逐個選H*,帶入到公式(然求得的響應函數與原初始的響應函數差最小),獲得最佳H*。

如何求這個最小法呢?對整個公式求導,

(最通俗易懂的)目标跟蹤MOSSE、KCF

然後變化,可得

(最通俗易懂的)目标跟蹤MOSSE、KCF

這裡的求導不了解沒關系,和算法的整體沒有太大聯系,隻是求最小化問題的一種方法。

之後作者原文還寫了一些其他求最小化問題的方法,例如像ASEF一樣做平均

(最通俗易懂的)目标跟蹤MOSSE、KCF

在更新濾波器的時候,為了得到更魯棒的濾波器,參考ASEF平均值法,設計了新的方法。

這裡有一點需要說明,下面的i可和上面的i不是一個概念。上面的i是訓練集的多個圖像,而下面的是目前幀,i-1表示上一個幀。初始的第一個幀是上面方法獲得的。

ASEF平均值法疊代

(最通俗易懂的)目标跟蹤MOSSE、KCF

MOSSE的方法

(最通俗易懂的)目标跟蹤MOSSE、KCF

其中η是學習率,原文取值0.125。可以看出我們接收目前幀變化的0.125的資訊,接收上一幀0.975的資訊,表明這個過程還是以初始幀為主,不允許出現較大的變化,隻是微調(也可能是這裡的0.125在微調中算是學習率比較大的了)。

這裡有個線上學習的概念,意思是邊跟蹤,邊更新我們的濾波器。一邊應用一邊更新。

未完待續……(KFC)

繼續閱讀