偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

人工智能 深度學習
本文主要講述Option2的實現(xiàn)原理,也就是Tracking By Detecting的跟蹤方式。這篇文章沒有源碼鏈接,至于“軌跡跟蹤”算法的源碼實現(xiàn)很簡單,看完本文相信大家都能寫出來,Python實現(xiàn)大概200行不到。

多目標跟蹤大概有兩種方式:

Option1

基于初始化幀的跟蹤,在視頻***幀中選擇你的目標,之后交給跟蹤算法去實現(xiàn)目標的跟蹤。這種方式基本上只能跟蹤你***幀選中的目標,如果后續(xù)幀中出現(xiàn)了新的物體目標,算法是跟蹤不到的。這種方式的優(yōu)點是速度相對較快。缺點很明顯,不能跟蹤新出現(xiàn)的目標。

Option2

基于目標檢測的跟蹤,在視頻每幀中先檢測出來所有感興趣的目標物體,然后將其與前一幀中檢測出來的目標進行關聯(lián)來實現(xiàn)跟蹤的效果。這種方式的優(yōu)點是可以在整個視頻中跟蹤隨時出現(xiàn)的新目標,當然這種方式要求你前提得有一個好的“目標檢測”算法。

本文主要講述Option2的實現(xiàn)原理,也就是Tracking By Detecting的跟蹤方式。這篇文章沒有源碼鏈接,關于“目標檢測”算法的源碼可以參見我上一篇文章,至于“軌跡跟蹤”算法的源碼實現(xiàn)很簡單,看完本文相信大家都能寫出來,Python實現(xiàn)大概200行不到。

 

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

 

Tracking By Detecting的跟蹤過程

Step1:使用目標檢測算法將每幀中感興趣的目標檢測出來,得到對應的(位置坐標, 分類, 可信度),假設檢測到的目標數(shù)量為M;

Step2:通過某種方式將Step1中的檢測結果與上一幀中的檢測目標(假設上一幀檢測目標數(shù)量為N)一一關聯(lián)起來。換句話說,就是在M*N個Pair中找出最像似的Pair。

對于Step2中的“某種方式”,其實有多種方式可以實現(xiàn)目標的關聯(lián),比如常見的計算兩幀中兩個目標之間的歐幾里得距離(平面兩點之間的直線距離),距離最短就認為是同一個目標,然后通過匈牙利算法找出最匹配的Pair。當讓,你還可以加上其他的判斷條件,比如我用到的IOU,計算兩個目標Box(位置大小方框)的交并比,該值越接近1就代表是同一個目標。還有其他的比如判斷兩個目標的外觀是否相似,這就需要用到一種外觀模型去做比較了,可能耗時更長。

在關聯(lián)的過程中,會出現(xiàn)三種情況:

1)在上一幀中的N個目標中找到了本次檢測到的目標,說明正常跟蹤到了;

2)在上一幀中的N個目標中沒有找到本次檢測到的目標,說明這個目標是這一幀中新出現(xiàn)的,所以我們需要把它記錄下來,用于下下一次的跟蹤關聯(lián);

3)在上一幀中存在某個目標,這一幀中并沒有與之關聯(lián)的目標,那么說明該目標可能從視野中消失了,我們需要將其移除。(注意這里的可能,因為有可能由于檢測誤差,在這一幀中該目標并沒有被檢測到)

 

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

 

存在的問題

上面提到的跟蹤方法在正常情況下都能夠很好的工作,但是如果視頻中目標運動得很快,前后兩幀中同一個目標運動的距離很遠,那么這種跟蹤方式就會出現(xiàn)問題。

 

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

 

如上圖,實線框表示目標在***幀的位置,虛線框表示目標在第二幀的位置。當目標運行速度比較慢的時候,通過之前的跟蹤方式可以很準確的關聯(lián)(A, A’)和(B, B’)。但是當目標運行速度很快(或者隔幀檢測)時,在第二幀中,A就會運動到***幀中B的位置,而B則運動到其他位置。這個時候使用上面的關聯(lián)方法就會得到錯誤的結果。

那么怎樣才能更加準確地進行跟蹤呢?

基于軌跡預測的跟蹤方式

既然通過第二幀的位置與***幀的位置進行對比關聯(lián)會出現(xiàn)誤差,那么我們可以想辦法在對比之前,先預測目標的下一幀會出現(xiàn)的位置,然后與該預測的位置來進行對比關聯(lián)。這樣的話,只要預測足夠精確,那么幾乎不會出現(xiàn)前面提到的由于速度太快而存在的誤差。

 

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

 

如上圖,我們在對比關聯(lián)之前,先預測出A和B在下一幀中的位置,然后再使用實際的檢測位置與預測的位置進行對比關聯(lián),可以***地解決上面提到的問題。理論上,不管目標速度多么快,都能關聯(lián)上。那么問題來了,怎么預測目標在下一幀的位置?

方法有很多,可以使用卡爾曼濾波來根據(jù)目標前面幾幀的軌跡來預測它下一幀的位置,還可以使用自己擬合出來的函數(shù)來預測下一幀的位置。實際過程中,我是使用擬合函數(shù)來預測目標在下一幀中的位置。

 

[AI開發(fā)]基于深度學習的視頻多目標跟蹤實現(xiàn)

 

如上圖,通過前面6幀的位置,我可以擬合出來一條(T->XY)的曲線(注意不是圖中的直線),然后預測目標在T+1幀的位置。具體實現(xiàn)很簡單,Python中的numpy庫中有類似功能的方法。

仍然存在的不足

即使如此***了,還是存在不足。

 

[[266162]]

 

軌跡預測的前提是需要知道目標前面若干幀的軌跡信息,因此在剛開始,目標的軌跡是預測不到的,或者說預測得不準。所以在剛開始的幾幀,我們還是需要使用原來的方式進行對比關聯(lián)。 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2017-09-22 11:45:10

深度學習OpenCVPython

2010-03-18 11:26:46

無線傳感器網(wǎng)絡多目標跟

2021-07-01 15:56:42

深度學習人工智能互聯(lián)網(wǎng)

2024-05-17 13:17:39

2017-05-22 13:15:45

TensorFlow深度學習

2024-12-19 08:00:00

FAST算法OpenCV目標跟蹤

2011-11-25 17:24:20

跨平臺開發(fā)移動開發(fā)

2018-07-19 15:13:15

深度學習圖像

2017-05-12 16:25:44

深度學習圖像補全tensorflow

2018-01-25 09:42:56

蘇寧刷臉跟蹤

2018-10-19 16:24:09

深度學習無人駕駛語音識別

2022-01-12 14:40:49

推薦系統(tǒng)模型

2025-03-19 09:10:00

2023-05-22 08:00:00

深度學習機器學習人工智能

2018-08-03 09:42:01

人工智能深度學習人臉識別

2021-06-30 08:49:02

人工智能AI深度學習

2017-09-20 16:25:00

深度學習視覺領域計算機

2023-12-19 16:01:40

深度學習人工智能目標檢測

2021-10-08 09:46:42

深度學習神經(jīng)網(wǎng)絡人工智能

2023-09-03 14:17:56

深度學習人工智能
點贊
收藏

51CTO技術棧公眾號