TLD跟蹤算法圖文流程.ppt_第1頁(yè)
TLD跟蹤算法圖文流程.ppt_第2頁(yè)
TLD跟蹤算法圖文流程.ppt_第3頁(yè)
TLD跟蹤算法圖文流程.ppt_第4頁(yè)
TLD跟蹤算法圖文流程.ppt_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、TLD跟蹤學(xué)習(xí)報(bào)告,概述:TLD算法,即Tracking,Learning,Detection的簡(jiǎn)稱,最初由捷克籍博士生Zdenek Kalal提出,用于對(duì)一個(gè)長(zhǎng)時(shí)間對(duì)運(yùn)動(dòng)目標(biāo)進(jìn)行跟蹤。TLD跟蹤系統(tǒng)最大的特點(diǎn)就在于能對(duì)鎖定的目標(biāo)進(jìn)行不斷的學(xué)習(xí),以獲取目標(biāo)最新的外觀特征,從而及時(shí)完善跟蹤,以達(dá)到最佳的狀態(tài)。也就是說(shuō),開始時(shí)只提供一幀靜止的目標(biāo)圖像,但隨著目標(biāo)的不斷運(yùn)動(dòng),系統(tǒng)能持續(xù)不斷地進(jìn)行探測(cè),獲知目標(biāo)在角度、距離、景深等方面的改變,并實(shí)時(shí)識(shí)別,經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)之后,目標(biāo)就再也無(wú)法躲過(guò)。TLD算法在運(yùn)行時(shí),三個(gè)模塊同時(shí)進(jìn)行運(yùn)算,相互補(bǔ)充,跟蹤模塊負(fù)責(zé)跟蹤并預(yù)測(cè)目標(biāo)可能出現(xiàn)的位置,檢測(cè)模塊負(fù)責(zé)

2、尋找目標(biāo),檢測(cè)跟蹤模塊的準(zhǔn)確性,學(xué)習(xí)模塊對(duì)跟蹤目標(biāo)進(jìn)行學(xué)習(xí),對(duì)目標(biāo)可能出現(xiàn)的形變進(jìn)行適應(yīng),及時(shí)更新跟蹤器與檢測(cè)器的參數(shù),保證跟蹤的準(zhǔn)確性。 深入解讀TLD代碼,TLD算法的整體結(jié)構(gòu):,跟蹤模塊,學(xué)習(xí)模塊,檢測(cè)模塊,目標(biāo)模型,更新參數(shù),更新參數(shù),綜合模塊,視頻輸入,TLD算法VC版本代碼的源文件如下:FerNNClassifier.cpp,LKTracker.cpp,run_tld.cpp,TLD.cpp,tld_utils.cpp。 FerNNClassifier的功能:實(shí)現(xiàn)集合分類器與最近鄰分類器; LKTracker.cpp的功能:實(shí)現(xiàn)金字塔LK光流法的目標(biāo)跟蹤并且評(píng)估跟蹤結(jié)果; run_

3、tld.cpp的功能:實(shí)現(xiàn)與用戶的交互,反饋鼠標(biāo)的操作,完成跟蹤框的讀入; TLD.cpp的功能:TLD算法框架,包括了初始化以及對(duì)幀的處理過(guò)程。,TLD的運(yùn)行過(guò)程。 一、讀取并初始化參數(shù) void TLD:read(const FileNode const float SCALES = 0.16151,0.19381,0.23257,0.27908,0.33490,0.40188,0.48225, 0.57870,0.69444,0.83333,1,1.20000,1.44000,1.72800, 2.07360,2.48832,2.98598,3.58318,4.29982,5.15978

4、,6.19174; int width, height, min_bb_side; BoundingBox bbox; Size scale; int sc=0; for (int s=0;s img.cols | height img.rows) continue; scale.width = width; scale.height = height; scales.push_back(scale);,檢測(cè)器采用掃描窗口的策略,其中SHIFT是掃描窗口移動(dòng)步長(zhǎng)(寬和高的10%),SCALES數(shù)組存放的是掃描窗口的尺度縮放比例。即:產(chǎn)生不同尺度的掃描窗口(共21個(gè))進(jìn)行掃描,掃描窗的大小是目標(biāo)

5、框的一定比例。,依次判斷掃描窗口的大小,排除小于min_win的窗口,將對(duì)應(yīng)尺度的窗口存入scale中,避免在掃描時(shí)計(jì)算,加快檢測(cè)速度,for (int y=1;yimg.rows-height;y+=round(SHIFT*min_bb_side) for (int x=1;ximg.cols-width;x+=round(SHIFT*min_bb_side) bbox.x = x; bbox.y = y; bbox.width = width; bbox.height = height; bbox.overlap = bbOverlap(bbox,BoundingBox(box); bbo

6、x.sidx = sc; grid.push_back(bbox); sc+; ,按步長(zhǎng)移動(dòng)掃描窗口,進(jìn)而遍歷整個(gè)視頻幀,計(jì)算與輸入的bounding box的重疊度并且將本位置和本尺度的掃描窗口存入grid中,(2)計(jì)算輸入幀的積分圖像并且給各個(gè)變量分配空間,其中g(shù)rid.size()是第一步中產(chǎn)生的所有的掃描窗口的個(gè)數(shù)。 計(jì)算積分圖像需要用到iisum.create()與iisqsum.create()兩個(gè)函數(shù)。 (3)初始化樣本產(chǎn)生器generator并且通過(guò)計(jì)算掃描窗口與bounding box的重疊度得到最初始的分類good boxes與bad boxes。 generator的作用

7、此時(shí)被定義為仿射變換,仿射變換即線性變換+平移。 getOverlappingBoxes函數(shù)功能:根據(jù)輸入的bounding box在整幀圖像中尋找與該box最相似的num_closest_init個(gè)掃描窗口,然后把這些窗口歸入good_boxes中,同時(shí)把重疊度小于0.2的窗口歸入bad_boxes中。 (4)初始化分類器,分類器的初始化,TLD中檢測(cè)模塊用到的分類器是級(jí)聯(lián)的三個(gè):方差分類器、集合分類器和最近鄰分類器,根據(jù)代碼的內(nèi)容,分類器初始化的流程圖如下:,產(chǎn)生正樣本,產(chǎn)生負(fù)樣本,得到best box的均值與方差,并把該方差作為方差分類器的初始閾值,方差分類器初始化完成,一半的負(fù)樣本作為

8、訓(xùn)練集,一半的負(fù)樣本作為測(cè)試集,正樣本與訓(xùn)練集合并,用于訓(xùn)練集合分類器與最近鄰分類器,利用測(cè)試集來(lái)測(cè)試訓(xùn)練好的集合分類器與最近鄰分類器,評(píng)價(jià)并更新分類器的閾值,集合分類器與最近鄰分類器初始化完成,三、幀的處理 (1)跟蹤模塊 1、bbPoints(),均勻采樣,在lastbox中產(chǎn)生10*10個(gè)特征點(diǎn),存入 points1,再將points1賦值給points。 2、調(diào)用LKTracker.cpp中的LKTracker:trackf2f()函數(shù)。 trackf2f()函數(shù)的功能:利用金字塔LK光流法實(shí)現(xiàn)跟蹤,計(jì)算FB error 并且匹配相似度,篩選出FB error小于FB error中值的

9、特征點(diǎn)和匹配 相似度大于匹配相似度中值的特征點(diǎn)。 3、bbPredict(),利用篩選后的特征點(diǎn)預(yù)測(cè)bounding box在當(dāng)前幀中 的位置與大小。 當(dāng)前的box的X坐標(biāo) =前一幀box的X坐標(biāo)+全部特征點(diǎn)位移的中值-當(dāng)前box的寬的一半; 當(dāng)前box的Y坐標(biāo) =前一幀box的Y坐標(biāo)+全部特征點(diǎn)位移的中值-當(dāng)前box的高的一半; box的尺度變化是通過(guò)計(jì)算當(dāng)前特征點(diǎn)相互之間的距離與上一幀特征點(diǎn)之間的相互距離的比 值取其中值作為尺度變化的因子。,4、跟蹤失敗檢測(cè) 如果FB error中值大于10個(gè)像素,或者預(yù)測(cè)到的box在圖像外面,則認(rèn)為跟蹤失敗。 5、評(píng)估跟蹤的可信度與有效性 將預(yù)測(cè)的bou

10、nding box歸一化為15*15的圖像片,計(jì)算圖像片pattern到在線模型的保守相似度,如果保守相似度大于閾值,則評(píng)估為跟蹤有效。 這里調(diào)用了FerNNClassifier.cpp中的classifier.NNConf()函數(shù),進(jìn)行相關(guān)相似度的計(jì)算并且與在線模板進(jìn)行匹配。 至此,跟蹤模塊結(jié)束。,(2)檢測(cè)模塊 檢測(cè)模塊主要是三個(gè)級(jí)聯(lián)的分類器,依次是:方差分類器、集合分類器和最近鄰分類器。,方差分類器,集合分類器,最近鄰分類器,方差大于var閾值,后驗(yàn)概率的平均值大于閾值fern_th,相關(guān)相似度大于閾值,TLD的檢測(cè)模塊采用的是掃描窗口的策略,由于在TLD初始化時(shí)詳細(xì)分析了該方法,此處不

11、再贅述。 1、方差分類器 先計(jì)算每個(gè)待檢測(cè)窗口的積分圖像,由積分圖像計(jì)算窗口的方差,方差大于var的窗口認(rèn)為其含有前景目標(biāo),并進(jìn)入集合分類器。 閾值var是在初始化時(shí)best box的方差。 2、集合分類器 首先利用classifier.getFeatures()函數(shù)得到輸入圖像的特征組的特征(13位二進(jìn)制代碼); 由measure_forest()函數(shù)將每個(gè)特征值對(duì)應(yīng)的后驗(yàn)概率進(jìn)行累加,累加值作為票數(shù)votes; 后驗(yàn)概率平均值大于閾值fern_th,則通過(guò)集合分類器;,如果通過(guò)了方差分類器和集合分類器的掃描窗口數(shù)量大于100個(gè),只取后驗(yàn)概率大的前100個(gè)。 補(bǔ)充:集合分類器基于N個(gè)基本分類

12、器,每個(gè)分類器基于一個(gè)像素比較集。 像素比較集產(chǎn)生方法:先用一個(gè)歸一化的patch來(lái)離散化像素空間,產(chǎn)生所有可能的垂直和水平的像素比較集,然后將這些像素比較集隨機(jī)分配給N個(gè)分類器,每個(gè)分類器得到完全不同的特征集合,所有分類器的特征組統(tǒng)一起來(lái)就可以覆蓋整個(gè)patch。 getFeatures()函數(shù)的原理:通過(guò)在結(jié)構(gòu)體Feature中重載一個(gè)運(yùn)算符bool Operater(),返回patch的圖像在(Y1,X1)和(Y2,X2)點(diǎn)的像素比較值,存入leaf中,作為特征。,3、最近鄰分類器 計(jì)算圖像片pattern到在線模型的相關(guān)相似度和保守相似度,如果相關(guān)相似度大于閾值,認(rèn)為其含有前景目標(biāo),并

13、通過(guò)最近鄰分類器。 (3)綜合模塊 綜合模塊存在的意義:TLD只跟蹤單一目標(biāo),但是檢測(cè)器有可能檢測(cè)出多個(gè)目標(biāo),因此綜合器綜合跟蹤器跟蹤到的單個(gè)目標(biāo)和檢測(cè)器可能檢測(cè)到的多個(gè)目標(biāo),輸出保守相似度最大的那個(gè)目標(biāo)。,檢測(cè)器檢測(cè)到的box,與跟蹤器跟蹤到的box距離較遠(yuǎn)的類,且它的相關(guān)相似度比跟蹤器的要大,距離跟蹤器預(yù)測(cè)到的box很近的box(重疊度大于0.7),如果滿足以上條件的box只有一個(gè),則用該box重新初始化跟蹤器,尋找,尋找,對(duì)坐標(biāo)和大小進(jìn)行累加,與跟蹤器本身預(yù)測(cè)到的box進(jìn)行坐標(biāo)與大小的加權(quán)平均,作為最終的bounding box,其中跟蹤器的權(quán)值較大,(4)學(xué)習(xí)模塊 學(xué)習(xí)模塊的核心內(nèi)容是訓(xùn)練分類器,訓(xùn)練分類器的本質(zhì)是更新分類器的參數(shù)(閾值)。 1、檢測(cè)一致性 檢測(cè)一致性的目的在于判斷是否需要訓(xùn)練分類器,流程如下:,歸一化目標(biāo)box,計(jì)算目標(biāo)box與在線模型的相關(guān)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論