0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

視頻目標(biāo)跟蹤從0到1,概念與方法

穎脈Imgtec ? 2024-11-20 01:06 ? 次閱讀

作者:ANKIT SACHAN來源:AI公園 -ronghuaiyang

導(dǎo)讀

從目標(biāo)跟蹤的應(yīng)用場景,底層模型,組件,類型和具體算法幾個方面對目標(biāo)跟蹤做了全方面的介紹,非常好的入門文章。

在今天的文章中,我們將深入研究視頻目標(biāo)跟蹤。我們從基礎(chǔ)開始,了解目標(biāo)跟蹤的需求,然后了解視覺目標(biāo)跟蹤的挑戰(zhàn)和算法模型,最后,我們將介紹最流行的基于深度學(xué)習(xí)的目標(biāo)跟蹤方法,包括MDNET, GOTURN, ROLO等。本文希望你了解目標(biāo)檢測。

目標(biāo)跟蹤是在視頻中隨著時間的推移定位移動目標(biāo)的過程。我們可以簡單地問,為什么我們不能在整個視頻的每一幀中使用目標(biāo)檢測,然后我們可以再去跟蹤目標(biāo)。這會有一些問題。如果圖像有多個物體,那么我們就無法將當(dāng)前幀中的物體鏈接到前一幀中。如果你跟蹤的物體有幾幀不在鏡頭里,然后重新又出現(xiàn),我們無法知道它是否是同一物體。本質(zhì)上,在檢測過程中,我們一次只處理一張圖像,我們不知道物體的運(yùn)動和過去的運(yùn)動,所以我們不能在視頻中唯一地跟蹤物體。目標(biāo)跟蹤在計(jì)算機(jī)視覺中有著廣泛的應(yīng)用,如監(jiān)視、人機(jī)交互、醫(yī)學(xué)成像、交通流監(jiān)測、人類活動識別等。比如FBI想用全市的監(jiān)控?cái)z像頭追蹤一名駕車逃跑的罪犯。或者有一個需要分析足球比賽的體育分析軟件?;蛘吣阆朐谫徫?a target="_blank">中心的入口處安裝一個攝像頭,然后計(jì)算每個小時有多少人進(jìn)出,你不僅要對人進(jìn)行跟蹤,還要為每個人創(chuàng)建路徑,如下所示。

94110b06-a698-11ef-8084-92fbcf53809c.gif


當(dāng)檢測失敗的時候,跟蹤可以接替工作

當(dāng)視頻中有一個移動的物體時,在某些情況下,物體的視覺外觀并不清楚。在所有這些情況下,檢測都會失敗而跟蹤會成功,因?yàn)樗灿形矬w的運(yùn)動模型和歷史記錄。下面是一些例子,其中有目標(biāo)跟蹤在工作和目標(biāo)檢測失敗的情況:

  1. 遮擋:所述目標(biāo)被部分或完全遮擋
  2. 身份切換:兩個目標(biāo)交叉后,你如何知道哪個是哪個。
  3. 運(yùn)動模糊:物體由于物體或相機(jī)的運(yùn)動而被模糊。因此,從視覺上看,物體看起來不再一樣了。
  4. 視點(diǎn)變化:一個物體的不同視點(diǎn)在視覺上可能看起來非常不同,如果沒有上下文,僅使用視覺檢測就很難識別該物體。
  5. 尺度變化:物體尺度變化過大可能導(dǎo)致檢測失敗。
  6. 背景雜亂:目標(biāo)附近的背景與目標(biāo)有相似的顏色或紋理。因此,從背景中分離物體會變得更加困難。
  7. 光照變化:目標(biāo)物體附近的光照顯著改變。因此,從視覺上識別它可能會變得更加困難。

低分辨率:當(dāng)ground truth包圍框內(nèi)的像素點(diǎn)非常少時,可能會在視覺上難以檢測到目標(biāo)。


底層模型

目標(biāo)跟蹤是計(jì)算機(jī)視覺中一個古老而又困難的問題。有各種各樣的技術(shù)和算法試圖用各種不同的方式來解決這個問題。然而,大多數(shù)的技術(shù)依賴于兩個關(guān)鍵的東西:

1. 運(yùn)動模型

一個好的跟蹤器的關(guān)鍵部件之一是理解和建模目標(biāo)的運(yùn)動的能力。因此,一個運(yùn)動模型被開發(fā)來捕捉一個物體的動態(tài)行為。預(yù)測物體在未來幀中的潛在位置,從而減少搜索空間。然而,只有運(yùn)動模型可能會失敗,因?yàn)槲矬w可能會不在視頻中,或者方向和速度發(fā)生突變。早期的一些方法試圖了解物體的運(yùn)動模式并預(yù)測它。然而,這些方法的問題是,他們不能預(yù)測突然的運(yùn)動和方向變化。這些技術(shù)的例子有光流,卡爾曼濾波,kanad-lucas-tomashi (KLT)特征跟蹤,mean shift跟蹤。

2. 視覺外觀模型

大多數(shù)高度精確的跟蹤器需要了解他們正在跟蹤的目標(biāo)的外觀。最重要的是,他們需要學(xué)會從背景中辨別物體。在單目標(biāo)跟蹤器中,僅視覺外觀就足以跨幀跟蹤目標(biāo),而在多目標(biāo)跟蹤器中,僅視覺外觀是不夠的。


跟蹤算法的幾個組件

一般來說,目標(biāo)跟蹤過程由四個模塊組成:

1、目標(biāo)初始化:在此階段,我們需要通過在目標(biāo)周圍繪制一個邊框來定義目標(biāo)的初始狀態(tài)。我們的想法是在視頻的初始幀中繪制目標(biāo)的邊界框,跟蹤器需要估計(jì)目標(biāo)在視頻剩余幀中的位置。

2、外觀建模:現(xiàn)在需要使用學(xué)習(xí)技術(shù)學(xué)習(xí)目標(biāo)的視覺外觀。在這個階段,我們需要建模并了解物體在運(yùn)動時的視覺特征、包括在各種視點(diǎn)、尺度、光照的情況下。

3、運(yùn)動估計(jì):運(yùn)動估計(jì)的目的是學(xué)習(xí)預(yù)測后續(xù)幀中目標(biāo)最有可能出現(xiàn)的區(qū)域。

4、目標(biāo)定位:運(yùn)動估計(jì)給出了目標(biāo)可能出現(xiàn)的區(qū)域,我們使用視覺模型掃描該區(qū)域鎖定目標(biāo)的確切位置。一般來說,跟蹤算法不會嘗試學(xué)習(xí)目標(biāo)的所有變化。因此,大多數(shù)跟蹤算法都比目標(biāo)檢測快得多。


跟蹤算法的類型

1. 基于檢測與不需要檢測的跟蹤器

1.1 基于檢測的跟蹤:將連續(xù)的視頻幀給一個預(yù)先訓(xùn)練好的目標(biāo)檢測器,該檢測器給出檢測假設(shè),然后用檢測假設(shè)形成跟蹤軌跡。它更受歡迎,因?yàn)榭梢詸z測到新的目標(biāo),消失的目標(biāo)會自動終止。在這些方法中,跟蹤器用于目標(biāo)檢測失敗的時候。在另一種方法中,目標(biāo)檢測器對每n幀運(yùn)行,其余的預(yù)測使用跟蹤器完成。這是一種非常適合長時間跟蹤的方法。1.2 不需要檢測的跟蹤:不需要檢測的跟蹤需要手動初始化第一幀中固定數(shù)量的目標(biāo)。然后在后續(xù)的幀中定位這些目標(biāo)。它不能處理新目標(biāo)出現(xiàn)在中間幀中的情況。

2. 單目標(biāo)和多目標(biāo)跟蹤器

2.1 單目標(biāo)跟蹤:即使環(huán)境中有多個目標(biāo),也只跟蹤一個目標(biāo)。要跟蹤的目標(biāo)由第一幀的初始化確定。2.2 多目標(biāo)跟蹤:對環(huán)境中存在的所有目標(biāo)進(jìn)行跟蹤。如果使用基于檢測的跟蹤器,它甚至可以跟蹤視頻中間出現(xiàn)的新目標(biāo)。

3. 在線和離線跟蹤器

3.1 離線跟蹤器:當(dāng)你需要跟蹤已記錄流中的物體時,使用離線跟蹤器。例如,如果你錄制了對手球隊(duì)的足球比賽視頻,需要進(jìn)行戰(zhàn)略分析。在這種情況下,你不僅可以使用過去的幀,還可以使用未來的幀來進(jìn)行更準(zhǔn)確的跟蹤預(yù)測。3.2 在線跟蹤器:在線跟蹤器用于即時預(yù)測,因此,他們不能使用未來幀來改善結(jié)果。

4. 基于學(xué)習(xí)和基于訓(xùn)練的策略

4.1 在線學(xué)習(xí)跟蹤器:這些跟蹤器通常使用初始化幀和少量后續(xù)幀來了解要跟蹤的目標(biāo)。這些跟蹤器更通用因?yàn)槟憧梢栽谌魏文繕?biāo)周圍畫一個框并跟蹤它。例如,如果你想在機(jī)場跟蹤一個穿紅襯衫的人,你可以在一個或幾個幀內(nèi),在這個人周圍畫一個邊界框,跟蹤器通過這些框架了解目標(biāo)物體,并繼續(xù)跟蹤那個人。

在線學(xué)習(xí)跟蹤器的核心思想是:中心的紅色方框由用戶指定,以它為正樣本,所有圍繞著目標(biāo)的方框作為負(fù)樣本,訓(xùn)練一個分類器,學(xué)習(xí)如何將目標(biāo)從背景中區(qū)分出來。

4.2 離線學(xué)習(xí)跟蹤器:這些跟蹤器的訓(xùn)練只在離線進(jìn)行。與在線學(xué)習(xí)跟蹤器不同,這些跟蹤器在運(yùn)行時不學(xué)習(xí)任何東西。這些跟蹤器在線下學(xué)習(xí)完整的概念,也就是說,我們可以訓(xùn)練跟蹤器來識別人。然后這些跟蹤器可以用來連續(xù)跟蹤視頻流中的所有人。


流行的跟蹤算法

OpenCV的跟蹤API中集成了很多傳統(tǒng)的(非深度學(xué)習(xí)的)跟蹤算法。相對而言,大多數(shù)跟蹤器都不是很準(zhǔn)確。但是,有時它們在資源有限的環(huán)境(如嵌入式系統(tǒng))中運(yùn)行會很有用。如果你不得不使用一個,我建議使用核相關(guān)過濾器(KCF)跟蹤器。然而,在實(shí)踐中,基于深度學(xué)習(xí)的跟蹤器在準(zhǔn)確性方面遠(yuǎn)遠(yuǎn)領(lǐng)先于傳統(tǒng)跟蹤器。因此,在這篇文章中,我將討論用于構(gòu)建基于AI的跟蹤器的三種關(guān)鍵方法。

1. 基于卷積神經(jīng)網(wǎng)絡(luò)的離線訓(xùn)練跟蹤器

這是早期的一系列跟蹤器之一,它將卷積神經(jīng)網(wǎng)絡(luò)的識別能力應(yīng)用于視覺目標(biāo)跟蹤任務(wù)。GOTURN就是一種基于卷積神經(jīng)網(wǎng)絡(luò)的離線學(xué)習(xí)跟蹤器,它根本不用在線學(xué)習(xí)。首先,跟蹤器使用成千上萬的視頻訓(xùn)練一般目標(biāo)的跟蹤?,F(xiàn)在,這個跟蹤器可以用來毫無問題地跟蹤大多數(shù)目標(biāo)即使這些目標(biāo)不屬于訓(xùn)練集。

GOTURN可以在GPU驅(qū)動的機(jī)器上運(yùn)行非常快,即100fps。GOTURN已經(jīng)集成到OpenCV跟蹤API(contrib部分)中。在下面的視頻鏈接中,原作者展示了GOTURN的能力。

2. 基于卷積神經(jīng)網(wǎng)絡(luò)的在線訓(xùn)練跟蹤器

這些是使用卷積神經(jīng)網(wǎng)絡(luò)的在線訓(xùn)練跟蹤器。其中一個例子就是多域網(wǎng)絡(luò)(MDNet),它是VOT2015挑戰(zhàn)賽的獲勝者。由于卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練在計(jì)算上非常昂貴,所以這些方法在部署期間必須使用較小的網(wǎng)絡(luò)以快速訓(xùn)練。然而,較小的網(wǎng)絡(luò)并沒有太多的區(qū)分能力。一種選擇是我們訓(xùn)練整個網(wǎng)絡(luò),但在推理過程中,我們使用前幾層作為特征提取器,也就是說,我們只改變在線訓(xùn)練的最后幾層的權(quán)值。因此,我們用CNN作為特征提取器,最后幾層可以快速在線訓(xùn)練。本質(zhì)上,我們的目標(biāo)是訓(xùn)練一個能區(qū)分目標(biāo)和背景的通用多域CNN。然而,這在訓(xùn)練中帶來了一個問題,一個視頻的目標(biāo)可能是另一個視頻的背景,這只會讓我們的卷積神經(jīng)網(wǎng)絡(luò)混淆。因此,MDNet做了一些聰明的事情。它將網(wǎng)絡(luò)重新安排為兩部分:第一部分是共享部分,然后有一部分是獨(dú)立于每個域的。每個域意味著一個獨(dú)立的訓(xùn)練視頻。首先在k個域上迭代訓(xùn)練網(wǎng)絡(luò),每個域都在目標(biāo)和背景之間進(jìn)行分類。這有助于我們提取獨(dú)立于視頻的信息,以便更好地學(xué)習(xí)跟蹤器的通用表示。

9467a330-a698-11ef-8084-92fbcf53809c.png

經(jīng)過訓(xùn)練,去除領(lǐng)域特定的二分類層,我們得到了一個特征提取器(上文共享網(wǎng)絡(luò)),它可以以通用的方式區(qū)分任何目標(biāo)和背景。在推理(生產(chǎn))過程中,最初的共享部分被用作特征提取器,刪除特定的領(lǐng)域?qū)?,并在特征提取器之上添加二分類層。這個二分類層是在線訓(xùn)練的。在每一步中,通過隨機(jī)抽樣的方式搜索前一個目標(biāo)狀態(tài)周圍的區(qū)域來尋找目標(biāo)。MDNet是一種最精確的基于深度學(xué)習(xí)的在線訓(xùn)練,不需要檢測,單目標(biāo)跟蹤。

3. 基于LSTM+ CNN的基于視頻的目標(biāo)跟蹤器

另一類目標(biāo)跟蹤器非常流行,因?yàn)樗鼈兪褂瞄L短期記憶(LSTM)網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)來完成視覺目標(biāo)跟蹤的任。循環(huán)YOLO (ROLO)就是這樣一種單目標(biāo)、在線、基于檢測的跟蹤算法。該算法使用YOLO網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測,使用LSTM網(wǎng)絡(luò)進(jìn)行目標(biāo)軌跡檢測。LSTM與CNN的結(jié)合是厲害的,原因有二。a) LSTM網(wǎng)絡(luò)特別擅長歷史模式的學(xué)習(xí),特別適合于視覺目標(biāo)跟蹤。b) LSTM網(wǎng)絡(luò)的計(jì)算成本不是很高,因此可以構(gòu)建非??焖俚恼鎸?shí)世界跟蹤器。

9483d424-a698-11ef-8084-92fbcf53809c.jpg

YOLO INPUT – 原始輸入幀

YOLO OUTPUT– 輸入幀中包圍框坐標(biāo)的特征向量

LSTM INPUT – 拼接(圖像特征,包圍框坐標(biāo))

LSTM OUTPUT– 被跟蹤目標(biāo)的包圍框坐標(biāo)上面的圖我們這樣理解:

  • 輸入幀通過YOLO網(wǎng)絡(luò)。
  • 從YOLO網(wǎng)絡(luò)得到兩個不同的輸出(圖像特征和邊界框坐標(biāo))
  • 這兩個輸出送到LSTM網(wǎng)絡(luò)

LSTM輸出被跟蹤目標(biāo)的軌跡,即包圍框

初步的位置推斷(來自YOLO)幫助LSTM注意某些視覺元素。ROLO探索了時空上的歷史,即除了地理位置的歷史,ROLO還探索了視覺特征的歷史。即使當(dāng)YOLO的檢測是有缺陷的,比如運(yùn)動模糊,ROLO也能保持穩(wěn)定跟蹤。此外,當(dāng)目標(biāo)物體被遮擋時,這樣的跟蹤器不太會失敗。最近,有更多基于LSTM的目標(biāo)跟蹤器,它們通過許多改進(jìn)比ROLO好得多。但是,我們在這里選擇了ROLO,因?yàn)樗唵吻胰菀桌斫?。希望這篇文章能讓你對視覺目標(biāo)跟蹤有一個很好的理解,并對一些成功的關(guān)鍵目標(biāo)跟蹤方法有一些見解。

英文原文:https://cv-tricks.com/object-tracking/quick-guide-mdnet-goturn-rolo/

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1970

    瀏覽量

    73754
  • 目標(biāo)跟蹤
    +關(guān)注

    關(guān)注

    2

    文章

    88

    瀏覽量

    15062
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5557

    瀏覽量

    122580
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    matlab實(shí)現(xiàn)視頻中動態(tài)目標(biāo)跟蹤

    轉(zhuǎn)帖:matlab實(shí)現(xiàn)視頻中動態(tài)目標(biāo)跟蹤。 [hide] [/hide]
    發(fā)表于 03-13 14:12

    視頻跟蹤目標(biāo)取差器)-基于DM8168實(shí)現(xiàn)的自動視頻跟蹤

    高性能低功耗小尺寸輕重量的嵌入式高清視頻自動跟蹤模塊,它提供了目標(biāo)捕捉、自動跟蹤、多目標(biāo)檢測和跟蹤
    發(fā)表于 09-05 11:14

    基于OPENCV的運(yùn)動目標(biāo)跟蹤實(shí)現(xiàn)

    CAMSHIFT算法是一種基于顏色直方圖的目標(biāo)跟蹤算法。在視頻跟蹤過程中,CAMSHIFT算法利用選定目標(biāo)的顏色直方圖模型得到每幀圖像的顏色
    發(fā)表于 12-23 14:21

    基于QT+OpenCv的目標(biāo)跟蹤算法實(shí)現(xiàn)

    目標(biāo)的各種和各種目標(biāo)軌跡的識別成為了當(dāng)前視頻處理研究領(lǐng)域的熱點(diǎn),粒子濾波視頻目標(biāo)跟蹤算法作為目前
    發(fā)表于 09-21 10:42

    ADNet視頻目標(biāo)跟蹤源碼運(yùn)行筆記

    ADNet視頻目標(biāo)跟蹤源碼運(yùn)行筆記(MATLAB版本)——Test模式
    發(fā)表于 05-20 09:32

    廣義合作目標(biāo)跟蹤的誤差空間估計(jì)方法

    提出了廣義合作目標(biāo)概念及誤差空間估計(jì)方法,提高了光電跟蹤系統(tǒng)的跟蹤精度與平穩(wěn)性。該方法采用引導(dǎo)
    發(fā)表于 05-10 12:05 ?18次下載

    EVP-6100演示視頻 特定目標(biāo)跟蹤系統(tǒng)

    EVP-6100演示視頻 特定目標(biāo)跟蹤系統(tǒng) 視頻教程
    發(fā)表于 11-18 16:21 ?54次下載

    視頻運(yùn)動目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)

    文設(shè)計(jì)了一種可應(yīng)用于靜止背景下進(jìn)行動態(tài)視頻目標(biāo)跟蹤的系統(tǒng)。首先通過CCD攝像頭采集動態(tài)圖像序列,然后通過圖像格式轉(zhuǎn)換、中值濾波、邊緣檢測以及匹配跟蹤對采集
    發(fā)表于 12-06 15:16 ?81次下載
    <b class='flag-5'>視頻</b>運(yùn)動<b class='flag-5'>目標(biāo)</b><b class='flag-5'>跟蹤</b>系統(tǒng)設(shè)計(jì)

    3D視頻目標(biāo)分割與快速跟蹤

    3D視頻目標(biāo)分割與快速跟蹤_朱仲杰
    發(fā)表于 01-07 16:00 ?0次下載

    基于KCFSE結(jié)合尺度預(yù)測的目標(biāo)跟蹤方法

    目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的一個基本問題,其主要應(yīng)用于視頻監(jiān)控,人機(jī)交與機(jī)器人視覺感知等場景。目標(biāo)跟蹤可分為短時間
    發(fā)表于 10-28 11:05 ?1次下載
    基于KCFSE結(jié)合尺度預(yù)測的<b class='flag-5'>目標(biāo)</b><b class='flag-5'>跟蹤</b><b class='flag-5'>方法</b>

    基于融合的快速目標(biāo)跟蹤算法

    提出了一種基于融合的快速目標(biāo)跟蹤算法。該方法目標(biāo)預(yù)測模型、目標(biāo)模板匹配以及目標(biāo)空間信息融合到統(tǒng)
    發(fā)表于 12-05 09:11 ?0次下載
    基于融合的快速<b class='flag-5'>目標(biāo)</b><b class='flag-5'>跟蹤</b>算法

    視頻序列中運(yùn)動目標(biāo)檢測與跟蹤方法有哪些詳細(xì)資料說明

    提出了一種攝像頭獲取的彩色圖像中準(zhǔn)確地檢測出運(yùn)動目標(biāo)并進(jìn)行實(shí)時跟蹤的算法。首先將采集的彩色視頻圖像序列轉(zhuǎn)化為灰度圖像, 研究了幾種圖像銳
    發(fā)表于 11-27 15:02 ?12次下載
    <b class='flag-5'>視頻</b>序列中運(yùn)動<b class='flag-5'>目標(biāo)</b>檢測與<b class='flag-5'>跟蹤</b>的<b class='flag-5'>方法</b>有哪些詳細(xì)資料說明

    基于卷積特征的多伯努利視頻目標(biāo)跟蹤算法

    基于隨機(jī)有限集理論的多伯努利濾波方法能夠有效處理多目標(biāo)跟蹤中數(shù)目未知且時變的問題,但難以適應(yīng)復(fù)雜環(huán)境下視頻目標(biāo)
    發(fā)表于 05-12 15:18 ?11次下載

    視頻目標(biāo)跟蹤分析

    視頻目標(biāo)跟蹤要求在已知第一幀感興趣物體的位置和尺度信息的情況下,對該目標(biāo)在后續(xù)視頻幀中進(jìn)行持續(xù)的定位和尺度估計(jì)W。廣義的
    的頭像 發(fā)表于 07-05 11:24 ?1878次閱讀

    利用TRansformer進(jìn)行端端的目標(biāo)檢測及跟蹤

    目標(biāo)跟蹤(MOT)任務(wù)的關(guān)鍵挑戰(zhàn)是跟蹤目標(biāo)下的時間建?!,F(xiàn)存的用檢測跟蹤方法采用簡單的heu
    的頭像 發(fā)表于 04-18 09:12 ?1321次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品