目標跟蹤演算法----KCF進階(基於KCF改進的演算法總結)
一、前情提要
如果你對目標跟蹤和KCF是什麼東西還不瞭解的話歡迎你看前一篇博文KCF入門詳解:http://blog.csdn.net/crazyice521/article/details/53525366。如果你已經對基於KCF的目標跟蹤有了一定的瞭解,並想知道這個演算法有怎麼樣的後續的發展的話,就請聽我慢慢介紹以下的東西。
二、KCF的弊端
說道KCF的缺點的話作者在文章中也已經算是說明了,第一點,KCF因為在跟蹤過程當中目標框是已經設定好的,從始至終大小為發生變化,但是我們的跟蹤序列當中目標大小時有發生變化,這個就會導致跟蹤器跟蹤過程當中目標框漂移,從而導致跟蹤失敗。第二點,KCF對在跟蹤過程當中當目標被遮擋時候的處理問題沒有進行很好的解決,不過呢,這個問題一直也算是跟蹤界的一個大難題,有哪位朋友有看到好的文章和演算法的話請與我聯絡,歡迎賜教。
三、解決方法
(1)有問題就要解決,對於存在的這兩個大的問題有什麼解決方法呢,首先對於尺度的解決,近些年來解決比較好的就先看
1、Danelljan, Martin大神的Accurate Scale Estimation for Robust Visual Tracking論文程式碼都在這裡下載(直接點選此處)。大神在文章中使用尺度池技術,對目標模版進行解決。
2、Yang Li大神的A Scale Adaptive Kernel Correlation Filter Tracker with Feature Integration
SAMF下載地址(直接點選此處)兩篇文章大同小異,都是使用尺度模版不過是使用的個數不一樣和對尺度設計的方法不一樣,最終效果都是差不多。
兩篇文章對尺度解決的細節我就不再敘述了,用一張圖形象的描述一下兩篇文章的思想:
對初試目標進行尺度縮放,經過相關濾波器之後得到對應的響應值response,然後比較各個不同尺度的response之間的大小,找到最大的一個,此時的尺度值即為最佳的目標尺度值,使用最佳尺度值對目標進行跟蹤,能夠解決目標跟蹤過程當中目標尺度變化的問題。
(2)對於遮擋問題的解決就相對來說比較困難了,這個問題算是Long-term tracking 的問題。因為對於目標跟蹤過程當中,跟蹤器是沒有辦法知道目標是否被遮擋,是不是完全被遮擋還是被遮擋一部分的,對於我們人來說,這個我們很容易就能判斷出來,但是對於計算機來說這個是很困難的,近些年來也提出一些方法,
比如使用分塊的方法對目標進行跟蹤:
1、2014年ICPR上的一篇文章Online Learning and Detection with Part-Based, Circulant Structure這個下載的話對於不會翻牆的同學比較麻煩,就傳到雲盤裡面了,連結: https://pan.baidu.com/s/1hs3ehA8 密碼: yi8v
2、基於分塊的目標跟蹤Real-time part-based visual tracking via adaptive correlation filters論文下載地址
圖中很清晰的表達出來了分塊的總體思想,就是把要跟蹤的目標進行分割,分割成不同的部分去學習特徵,然後分別進行跟蹤,然後融合起來得到目標最終的位置。
3、馬超大哥的Long-term correlation tracking
把跟蹤分開一個對尺度預測,一個對目標外觀變化通過上下文資訊進行學習,使用KNN進行分類得到一個最好的目標位置。
四、其他方法
近些年來對於跟蹤當中問題的解決方法的文章也是層出不窮,在這裡我也沒有辦法把所有的文章都列出來完,只能算是把一些經典的東西展現出來給大家做一個參考,這樣的話大家可以藉助這些方法,進而可以搜素一些其他的相關文獻,文章一直都在出,思想沒有什麼大變化,抓住核心思想,對問題的本質進行理解和探索,這樣就能更好的解決問題。
一些其他的方法諸如PSR對跟蹤過程當中目標是否遮擋進行判斷,因為這個方法經過自己測試沒發現特別大的作用,就不放出來了,有興趣的可以自己搜尋一下相關的文獻看一下。
近兩年深度學習的興起,也使得更好的演算法出現,使用深度學習的演算法有機會的話會再更新一篇出來,有需要或者什麼問題都可以留言聯絡我。
相關文章
- KCF目標跟蹤方法分析與總結
- 目標跟蹤:KCF執行流程圖(matlab版本)流程圖Matlab
- 目標跟蹤:KCF--調通C++程式碼C++
- 追蹤演算法KCF體驗演算法
- 基於MeanShift的目標跟蹤演算法、實現演算法
- opencv的目標跟蹤演算法OpenCV演算法
- 目標跟蹤演算法概述演算法
- 目標跟蹤演算法分類演算法
- 深度學習|基於MobileNet的多目標跟蹤深度學習演算法深度學習演算法
- 進階目標 -- 新的一年的進階目標
- 多目標跟蹤論文及程式碼總結
- CVPR 2019 | 驚豔的SiamMask:開源快速同時進行目標跟蹤與分割演算法演算法
- SQL SERVER 跟蹤標記總結SQLServer
- 一種基於Md5演算法的改進加密方法演算法加密
- 基於Transformer的高效單階段短時RGB-T單目標跟蹤方法ORM
- 基於深度學習的機器人目標識別和跟蹤深度學習機器人
- Revival 的演算法跟蹤演算法
- 計算機視覺中,究竟有哪些好用的目標跟蹤演算法(上)計算機視覺演算法
- 計算機視覺中,究竟有哪些好用的目標跟蹤演算法(下)計算機視覺演算法
- 互動式多模型(IMM)的自適應機動目標跟蹤演算法模型演算法
- 關於oracle中session跟蹤的總結OracleSession
- 挑戰目標跟蹤演算法極限,商湯開源SiamRPN系列演算法解讀演算法
- 演算法進階(8): EM演算法演算法
- 資料結構與演算法 進階排序資料結構演算法排序
- 基於粒子濾波和幀差法的目標跟蹤matlab模擬Matlab
- 網易嚴選跨域多目標演算法演進跨域演算法
- 基於CRM跟進(活動)記錄中關鍵字識別的客戶跟進加權值的成單概率演算法演算法
- 粒子群演算法中對於學習因子的改進演算法
- SQLServer進行SQL跟蹤SQLServer
- 對session進行跟蹤Session
- 進行一個字串演算法的總結字串演算法
- Swift 進階 | 看得見的演算法Swift演算法
- 遊戲尋路中 A* 演算法的改進遊戲演算法
- Storm的跟蹤演算法-異或ORM演算法
- 瓶子君前端進階演算法營首周總結前端演算法
- SQL進階總結(二)SQL
- 運動目標檢測與跟蹤
- 負載均衡演算法需要改進負載演算法