文章主要介紹了一下TMD-tracing model detection的跟蹤系統。
其中主要介紹的應該是Online learning的演算法,或者是系統。個人感覺這個是Zdenek PN-learning演算法的雛形。
這個online learning演算法主要由兩個部分組成。
1 Growing events 挑選正樣本添加到訓練集中。
2 Pruning events 修剪負樣本,讓模型更加魯邦。
其實這篇文章中的所謂的模型,僅僅是一系列的目標檢測窗。(有點類似於EigenFace的模型)。
作者是這麼假設的:
我們假設有一個集合L*,L*表示所有目標可能存在的座標地區,L*中間都是正確的目標(理性狀況下)
而我們的檢測模型這裡假設為Lt,Lt僅僅是一個假設的模型,我們希望的是Lt可以無限的接近於L*。
那麼Growing events就是不停的想Lt中加入目標的證樣本。
而Pruning events就是不段的把Lt中的負樣本挑出來。
最終的目標是讓Lt=L*。
這個就是TMD訓練原理了。那麼如何增加和修剪正負樣本呢?
Growing events遵從三個原理去增加正樣本:
1 ABS(absolute distance from first patch)其實就是讓檢查到可能的樣本與Lt中的第一個,也就是初始目標特徵比較距離。
2 DIFF(difference between consecutive patches) 這個就是可能的目標與最新的一個Xt-1的特徵去比較距離。
3 LOOP 一個迴圈的過程,最終的意思是把與Lt相差很大的但卻是正樣本的目標添加進Lt中,增加模型的魯棒性。
Pruning events意思是修剪Lt中的負樣本,就是說先前判斷為了正樣本,而隨著Lt的魯棒性增加,現在判斷為了負樣本,這個時候我們剔除這些負樣本。
其實在實施的時候,作者規定了一個負樣本的比例,只要超出這個比例的,我們都當做負樣本,剔除。
其他實施細節:
跟蹤:採用的是光流的方法。選擇特徵點去跟蹤。
Online model:類似於Eigenface的一種方法。
Features:2bit Biary Patterns,一種類似LBP和Haar的特徵。
參考資料:
http://info.ee.surrey.ac.uk/Personal/Z.Kalal/tld.html
原文地址:
http://info.ee.surrey.ac.uk/Personal/Z.Kalal/Publications/2009_olcv.pdf