文章出處

1. 簡介

TLD目標跟蹤算法是Tracking-Learning-Detection算法的簡稱。這個視頻跟蹤算法框架由英國薩里大學的一個捷克籍博士生Zdenek Kalal提出。TLD將傳統的視頻跟蹤算法的跟蹤模塊(Tracker)與檢測模塊(Detector)結合起來,同時加入了學習(Learning)的過程,使得跟蹤的效果更佳穩定、可靠。目前算法作者Zdenek Kalal已經拿著這個算法開了公司,最新的版本已經更新到TLD 2.1。在github上作者給出了TLD源碼的1.0版本。作者的開源代碼是基于matlab的,也有人給出了c++實現,但是運行速度非常慢。

什么是跟蹤模塊(Tracker)與檢測模塊(Detector)呢?說白了,Tracker就是根據目標物體在視頻流前面的幀中的位置,來預測其在當前幀中的位置;Detector就是在當前幀中根據目標物體的先驗信息(形狀色彩/灰度、各種特征等),來檢測目標物體在當前幀中的位置。作者在2011年發表的文章中Tracker使用的是median flow tracker,detector則是一個級聯分類器。對于當前幀i,通過Integrator將tracker與detector的輸出結果進行判斷整合,最終輸出一個目標物體的位置,或者目標物體在i中不存在。TLD算法的突破在于其Learning模塊,在不斷預測的過程中不斷更新正、負樣本庫,用于后續幀中目標物體的位置檢測。

Zdenek Kalal自己錄制了TLD算法的演示視頻,效果很贊。在成功編譯TLD源碼并在一些視頻跟蹤的數據庫中運行后發現TLD的跟蹤效果確實很不錯,并實現了實時跟蹤。

 

2. 源碼編譯

編譯環境: win7 64 bit, matlab2014b, visual studio 2012 64bit compiler,  opencv2.4.11

編譯過程參考作者源碼的wiki

若遇到問題有可能是下面幾種情況:

  a. opencv環境變量的設置問題

  --solution:系統環境變量PATH中添加 C:\opencv2.4.11\opencv\build\x64\vc12\bin (設置為自己opencv的安裝路徑,注銷計算機使得環境變量生效)

  b. compile.m中libpath與include的配置問題  

  --solution:配置參考下面的圖片(注意libpath與include最后一定要添加反斜杠!)

  

  c. 提示沒有FSPECIAL函數  

  --solution:更改為fspecial

 

3. TLD算法流程圖:


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()