深度學習與meanshift結合實現跟蹤

2021-07-11 15:20:51 字數 1165 閱讀 4438

深度學習乙個重要的作用是實現目標的特徵實現自動提取過程,傳統的meanshift跟蹤常用的有顏色直方圖,hog等邊緣特徵提取目標實現跟蹤,則meanshift跟蹤可實現的則是用深度學習自動學習的特徵來完成跟蹤。好處是對於複雜的情況也能很好的提取目標的特徵,使得跟蹤的魯棒性和精度更高。

很多人擔心的是實時性的問題,其實來說,深度學習完成的過程主要分成兩部,預訓練**,預訓練完全可以通過離線訓練來完成,那麼就可以不用考慮這部分時間。而**部分消耗的時間相對hog來說,稍微慢一點(實踐)。那麼對於實際應用就有其作用。

過程主要是先用標定的方法標定目標為正樣本,背景負樣本。然後通過patches訓練,其中我們利用的是按照畫素點來進行訓練。以每個畫素點為中心,包圍的周圍的幾個畫素,這樣形成的矩陣框為patches。訓練完成的網路儲存起來,當下一幀到來時則進行**可以得到目標的置信圖。而深度學習主要完成的就是通過訓練好的網路得到每張的置信圖。這部分也可以看做是檢測的過程

meanshift跟蹤的主要過程就是利用梯度攀公升尋找區域性最優。簡單實踐來說,就是尋找候選向量與目標向量之間最相似的特徵向量,屬於區域匹配問題。所以第一步得到目標的特徵向量,這一步可以通過**第一幀的影象,然後通過置信圖中的最明亮區域結合畫出來的矩形框確定目標向量,這一步可以改進的空間很大,主要表現在第一幀影象的不能準確表達目標的所有狀態,若目標是動態的可形變的,那麼這一步就不是完善的,因為後面的每一幀都要和目標向量進行匹配,跟蹤過程可能就會產生誤差。  改進的過程一方面可以增加另外的核函式,賦予目標不同的權重,這樣目標的表達也更為準確,另一方面,可以再次利用直方圖的資訊來進行匹配,這樣可以改變跟蹤框,對目標的形變有一定的容忍性。 當然還可以用其他的函式來代替,比如用relu函式來量化,我採用的就是此種方法。效果來說一般。

利用直方圖來說的話一般尋找峰值就是目標特徵向量所在的區域。如果用核函式則方框中心區域的目標權重肯定比較大,所以可以考慮高斯核函式。(未實踐)

另乙個可以改進的地方就是相似函式,一般用巴士係數來表示目標與候選之間的相似程度,但是事實證明效果一般,可以考慮更有效的函式,尤其在應對遮擋,交叉運動等情況有所改善。有很多**從這方面來改進。

最大的可改進的是利用meanshift在應對遮擋或者交叉運動陰影等條件不好的情況下,一般會有輔助的功能來實現,若是結合meanshift與其他的輔助功能,比如分塊思想等,則肯定有更好的效果。

從結論上來看,目標的跟蹤精度和成功度都有很大提高。實時性實際需要使用gpu肯定可以使用。

增強學習(二) Q Learning與深度學習結合

1,q learning與深度學習結合思路 q table存在乙個問題,真實情況的state可能無窮多,這樣q table就會無限大,解決這個問題的辦法是通過神經網路實現q table。輸入state,輸出不同action的q value。q learning與神經網路結合使用就是 deep q n...

OpenCV學習筆記 MeanShift

一 原理 假設我們有一堆點 比如直方圖反向投影得到的點 和乙個小的圓形視窗,我們要完成的任務就是將這個視窗移動到最大灰度密度處 也就是點最多的地方 如下圖所示 初始視窗是藍色的c1,它的圓心為藍色方框的c1 o,而視窗中所有點質心卻是c1 r,很明顯圓心和點的質心沒有重合。所以移動圓心c1 o到質心...

Meanshift演算法學習

ref 參考自 這裡 目標跟蹤 meanshift影象分割 這裡 最近看到ft演算法使用meanshift演算法進行顯著圖的分割,於是就來學習他的姿勢 對於集合中的每乙個元素,對它執行下面的操作 把該元素移動到它鄰域中所有元素的特徵值的均值的位置,不斷重複直到收斂。準確的說,不是真正移動元素,而是把...