色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenCV中八種不同的目標追蹤算法

3D視覺工坊 ? 來源:新機器視覺 ? 2023-03-30 10:22 ? 次閱讀

目標跟蹤作為機器學習的一個重要分支,加之其在日常生活、軍事行動中的廣泛應用,受到極大的關注。在AI潮流中,大家對于深度學習,目標跟蹤肯定都會有過接觸了解:在GPU上通過大量的數據集訓練出自己想使用的垂直場景后再在實際場景中使用。但麻煩的是,大數人擁有的是CPU,有沒有辦法能在自己的電腦上用CPU就能實現自己的目標跟蹤能力。OpenCV的跟蹤API給出了答案:我行。

在這篇文章中,我們會介紹在OpenCV上的8種目標檢測算法,優勢和局限性, 然后會給出代碼示例,如何使用它。我們的目標不是對每一個跟蹤器都有深入的理論理解,而是從實際使用的角度來理解它們。

目標跟蹤基本原則

視頻目標跟蹤中的期望是在當前幀中正確找到跟蹤的對象,因為我們已經在所有(或幾乎所有)以前的幀中成功跟蹤了該對象,所以我們知道對象是如何移動的。換句話說,我們知道運動模型的參數。運動模型只是一種奇特的表達方式,它會知道物體在前一幀中的位置和速度(速度+運動方向)。而如果對這個物體一無所知,則可以根據當前的運動模型來預測新的位置,從而非常接近物體的新位置。

我們還可以建立一個外觀模型來編碼對象的外觀。外觀模型可用于在運動模型預測的位置的鄰域內搜索,以便更準確地預測物體的位置。

目標跟蹤可以描述為:運動模型預測物體的大致位置。外觀模型微調此估計,以便根據外觀提供更準確的估計。

如果對象非常簡單,并且沒有改變它的外觀,我們可以使用一個簡單的模板作為外觀模型并查找該模板。然而,現實生活并不那么簡單。對象的外觀可能會發生顯著變化。為了解決這個問題,在許多現代追蹤器中,這個外觀模型是一個在線訓練的分類器。

分類器的任務是將圖像的矩形區域分類為對象或背景。分類器接受圖像區域作為輸入,并返回介于0和1之間的分數,以指示圖像區域包含對象的概率。如果確定圖像區域是背景,則分數為0;如果確定區域是對象,則分數為1。

在機器學習中,我們使用“在線”這個詞來指的是在運行時動態訓練的算法。離線分類器可能需要數千個示例來訓練分類器,但是在線分類器通常在運行時使用很少的示例進行訓練。

分類器是通過向其提供正(對象)和負(背景)示例來訓練的。如果您想構建一個用于檢測貓的分類器,您可以使用包含貓的數千個圖像和不包含貓的數千個圖像對其進行訓練。通過這種方式,分類器學習區分什么是貓,什么不是貓。

OpenCV八種目標跟蹤算法

1、GOTURN Tracker

Goturn是一種基于深度學習的對象跟蹤算法。最初的實現是在Caffe,目前已經移植到OpenCV跟蹤API。

Goturn是一種基于深度學習的跟蹤算法,是回歸網絡的一般對象跟蹤的縮寫。大多數跟蹤算法都是在線訓練的。換句話說,跟蹤算法學習運行時跟蹤的對象的外觀。

因此,許多實時追蹤器依賴于在線學習算法,這通常比基于深度學習的解決方案快得多。

Goturn改變了我們將深度學習應用于跟蹤問題的方式,通過離線方式學習對象的運動。Goturn模型接受了數千個視頻序列的訓練,不需要在運行時執行任何學習。

Goturn如何工作?

Goturn由David Holded、Sebastian Thrun和Silvio Savarese在題為“用深度回歸網絡學習100 fps跟蹤”的論文中介紹。

48e8a60c-ce86-11ed-bfe3-dac502259ad0.jpg

圖1 GoTurn示意圖

如圖1所示,Goturn使用一對來自數千個視頻的裁剪幀進行培訓。

在第一幀(也稱為前一幀)中,對象的位置是已知的,幀被裁剪為對象周圍邊界框大小的兩倍。第一個裁剪幀中的對象始終居中。

需要預測對象在第二幀(也稱為當前幀)中的位置。用于裁剪第一幀的邊界框也用于裁剪第二幀。因為對象可能已移動,所以對象可能未在第二幀中居中是大概率事件。

訓練卷積神經網絡(CNN)預測第二幀邊界框的位置。

Goturn架構

在Goturn如何工作,看到的是一個黑盒,Goturn架構則讓我們了解了盒子里面藏著什么。

48ee3ac2-ce86-11ed-bfe3-dac502259ad0.jpg

圖2 Goturn架構

圖2顯示了Goturn的體系結構。如前所述,它將兩個裁剪的幀作為輸入。

注:在圖2中,上一幀顯示在底部,是居中的,我們的目標是找到當前幀的邊界框,顯示在頂部。

兩幀都通過一組卷積層。這些層只是caffenet架構的前五個卷積層。這些卷積層(即pool5特性)的輸出被連接成長度為4096的單個矢量。這個向量被輸入到3個完全連接的層中。最后一個完全連接的層最終連接到包含4個節點的輸出層,這些節點表示邊界框的頂部和底部點。

( 每當我們看到一組卷積層,并對其含義感到困惑時,可將它們視為改變原始圖像的過濾器,這樣可以保留重要信息,并丟棄圖像中不重要的信息。

通過簡單地展開張量,將卷積濾波器末端獲得的多維圖像(張量)轉換成一個長的數字矢量。這個向量作為輸入到幾個完全連接的層,最后是輸出層。全連通層可以看作是一種學習算法,它利用卷積層從圖像中提取的有用信息來解決現有的分類或回歸問題。)

與其他基于深度學習的追蹤器相比,Goturn速度更快。它在caffe的gpu上以100fps的速度運行,在opencv cpu上以20fps的速度運行。盡管跟蹤器是通用的,但理論上,通過將傳輸集與特定類型的對象進行偏移,可以在特定對象(例如行人)上獲得更好的結果。

局限性:神經網絡體現的優勢,往往就是它的劣勢。神經網絡依賴于訓練集中樣本所能代表的場景種類,對于不存在的場景,就會存在問題。如在實際使用中,希望跟蹤手掌,把手掌移到臉上時,跟蹤器鎖定在臉上,并不會在手掌上。而跟蹤臉,并用手堵遮住臉,但追蹤器能夠跟蹤通過遮擋的臉,這說明訓練集存在大量的手掌遮臉的場景。

2、BOOSTING Tracker助推跟蹤器

該跟蹤器基于ADaboost的在線版本,ADaboost是基于HAAR級聯的人臉檢測器內部使用的算法。這個分類器需要在運行時用對象的正負示例進行培訓。以用戶(或其他對象檢測算法)提供的初始邊界框為對象的正例,邊界框外的許多圖像部位作為背景。給定一個新的幀,分類器在前一個位置附近的每個像素上運行,并記錄分類器的得分。對象的新位置是得分最大的位置。

缺點:速度較慢,并且表現不好,跟蹤失敗后,不能及時呈現錯誤報告。

3、MIL Tracker 密爾跟蹤器

這個跟蹤器的概念與上面描述的BOOSTING Tracker相似。最大的區別是,它不只是將對象的當前位置視為一個正示例,還會在當前位置周圍的一個小鄰域中查找,以生成幾個潛在的正示例。你可能認為這是一個壞主意,因為在這些“積極”的例子中,大多數的對象都不是中心。

這就是多實例學習(mil)來拯救的地方。在mil中,您不指定正負示例,而是指定正負“bags”。正面的圖像收集并非都是正面的例子。一個正面的bag包含了以對象當前位置為中心的區域,以及它周圍的一個小鄰域中的區域。即使被跟蹤對象的當前位置不準確,當來自當前位置附近的樣本放入正袋中時,很有可能該袋至少包含一個圖像,并且該對象很好地居中。

優點:性能不錯。它不會像助推跟蹤器那樣漂移,并且在部分遮擋下也能正常工作。

缺點:失敗率較高。

4、KCF跟蹤器

KCF代表kernelized correlation filters。這個追蹤器建立在前兩個追蹤器中提出的想法之上。該跟蹤器利用了這樣一個事實:在MIL跟蹤器中使用的多個正樣本具有較大的重疊區域。這些重疊的數據導致了一些很好的數學特性,這些特性被跟蹤器利用,從而使跟蹤速度更快、更準確。

優點:準確度和速度都比MIL跟蹤器好,它報告跟蹤故障比BOOSTING和MIL這兩個追蹤算法好。

缺點:無法從完全遮擋中恢復。

5、TLD跟蹤器

TLD代表跟蹤、學習和檢測。顧名思義,這個跟蹤器將長期跟蹤任務分解為三個組件(短期)跟蹤、學習和檢測。在作者的論文中,“跟蹤器跟蹤對象從一幀到另一幀。探測器定位到目前為止觀察到的所有外觀,并在必要時糾正跟蹤器。學習估計檢測器的錯誤并更新它以避免將來出現這些錯誤?!边@個跟蹤器的輸出有點跳躍。例如,如果您正在跟蹤一個行人,并且場景中還有其他行人,則此跟蹤器有時可以臨時跟蹤一個與您要跟蹤的行人不同的行人。在積極的一面,這條軌跡似乎是在更大的比例、運動和遮擋上跟蹤一個對象。如果你有一個隱藏在另一個物體后面的視頻序列,這個跟蹤器可能是個不錯的選擇。

優點:在多幀遮擋下效果最好。此外,跟蹤最佳的超比例變化。

缺點:很多誤報使它幾乎不可用。

6、MEDIANFLOW跟蹤器

在內部,這個跟蹤器可以實時地跟蹤物體的前后方向,并測量這兩個軌跡之間的差異。最大限度地減少這種向前向后的誤差,使他們能夠可靠地檢測跟蹤故障,并在視頻序列中選擇可靠的軌跡。

在測試中發現這個跟蹤器在運動可預測和對象小的情況下工作得最好。與其他跟蹤者不同的是,即使跟蹤明顯失敗,跟蹤者也知道跟蹤何時失敗。

優點:出色的跟蹤故障報告。當運動是可預測的并且沒有遮擋時,效果非常好。

缺點:大幅度運動跟蹤,模型會失效。

7、MOSSE 莫斯跟蹤器

最小平方誤差輸出和(mosse)使用自適應相關進行對象跟蹤,當使用單幀進行初始化時,可產生穩定的相關濾波器。Mosse跟蹤器對光照、比例、姿勢和非剛性變形的變化具有魯棒性。對于遮擋,跟蹤器能夠在對象重新出現時暫停并恢復到停止的位置。

優點:速度快。

缺點:準確率不如CSRT和KCF高。

8、CSRT跟蹤器

在具有信道和空間可靠性的鑒別相關濾波器(DCF-CSR)中,我們使用空間可靠性圖從幀中調整濾波器支持到所選區域的一部分進行跟蹤。這樣可以確保選定區域的放大和定位,并改進對非矩形區域或對象的跟蹤。它只使用兩個標準功能(HoGs and Colornames)。它也在相對較低的fps(25 fps)下工作,但提供了更高的目標跟蹤精度。

優點:比KCR精度高。

缺點:速度較慢。

OpenCV跟蹤算法使用代碼實現(C)

1、創建跟蹤算法

48ffa9ec-ce86-11ed-bfe3-dac502259ad0.jpg

2、對跟蹤算法做初始化操作

492aae3a-ce86-11ed-bfe3-dac502259ad0.jpg

3、跟蹤監測刷新,獲取到下一幀跟蹤目標的坐標(x、y、寬、高)

494003fc-ce86-11ed-bfe3-dac502259ad0.jpg

4、利用坐標做跟蹤所需要的操作,如畫框等

4946fec8-ce86-11ed-bfe3-dac502259ad0.jpg

實際檢測結果對比

494ef24a-ce86-11ed-bfe3-dac502259ad0.jpg

圖片1起始跟蹤;圖片2運動后跟蹤

如上跟蹤算法顯示,以CBA比賽作為跟蹤對象。從跟蹤過程中兩幀數據可以感知不同跟蹤算法在對動態人物變動所體現的差異。

1、MEDIANFLOW、BOOSTING、MIL在針對人物大小有變化時跟蹤比較不理想,跟蹤不到目標。

2、CSRT、KCF能對運動畫面有較好跟蹤,但是在遮擋場景下,不能支持,效果較差。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4607

    瀏覽量

    92840
  • 分類器
    +關注

    關注

    0

    文章

    152

    瀏覽量

    13179
  • OpenCV
    +關注

    關注

    31

    文章

    634

    瀏覽量

    41338

原文標題:OpenCV中八種不同的目標追蹤算法

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    仿人足球機器人目標定位技術與追蹤算法改進

    移動機器人視覺的研究主要集中在顏色模型建立、目標識別、定位以及跟蹤等方面。目標的實時識別與定位是足球機器人在足球賽精確踢球的前提。文章主要是針對目前足球機器人在視覺系統上所存在的問題進行了顏色模型建立及
    發表于 09-19 11:18 ?2691次閱讀

    基于OPENCV的運動目標跟蹤實現

    CAMSHIFT算法是一基于顏色直方圖的目標跟蹤算法。在視頻跟蹤過程,CAMSHIFT算法
    發表于 12-23 14:21

    基于FPGA的實時移動目標追蹤

    運動目標的檢測算法:1)幀間差分法 是采用視頻序列的相鄰兩幀圖像做差的方法,來檢測視頻序列的移動目標。但是受運動
    發表于 08-10 09:15

    基于QT+OpenCv目標跟蹤算法實現

    目標跟蹤算法作為一有著非常廣泛的應用的算法,在航空航天、智能交通、智能設備等領域有著非常廣泛的應用。本系列博客將教大家在410c開發板上基于linux操作系統環境,采用QT+
    發表于 09-21 10:42

    【方案分享】基于C6678+Zynq-7045 的目標追蹤視覺技術

    GFLOP,算法能力強,滿足目標追蹤算法要求。ZYNQ Z-7045/7100集成PS端雙核ARM Cortex-A9 + PL端Kintex-7架構28nm可編程邏輯資源,ARM主
    發表于 05-19 17:10

    什么是純追蹤算法?

    什么是純追蹤算法
    發表于 11-22 06:08

    移動信源追蹤活動目標的方法

    摘要:無線網絡的出現使移動追蹤并定位正在運動的目標變為可能,在多傳感器網絡,測距定位是目標定位的一常用手段。利用測距定位的移動
    發表于 02-23 13:24 ?38次下載

    基于OPENCV的運動目標跟蹤實現

    CAMSHIFT算法是一基于顏色直方圖的目標跟蹤算法。在視頻跟蹤過程,CAMSHIFT算法
    發表于 11-07 14:47 ?924次下載
    基于<b class='flag-5'>OPENCV</b>的運動<b class='flag-5'>目標</b>跟蹤實現

    OpenCV3編程入門-源碼例程全集-點追蹤

    OpenCV3編程入門-源碼例程全集-點追蹤
    發表于 09-18 16:38 ?0次下載

    仿人足球機器人目標定位與追蹤算法改進方案免費下載

    熱點,目標的實時識別與定位是足球機器人在足球賽精確踢球的前提。文章主要是針對目前足球機器人在視覺系統上所存在的問題進行了顏色模型建立及目標定位算法的改進,加入了
    發表于 09-21 11:31 ?52次下載

    QT+Opencv粒子濾波算法實現視頻目標跟蹤——(三)QT環境安裝及配置

    在QT+OpenCV實現在410c開發板上實現視頻目標追蹤預研系列內容呢的前面兩個博客已經對目標跟蹤
    發表于 02-23 10:33 ?3085次閱讀

    QT+Opencv粒子濾波算法實現視頻目標跟蹤——如何選擇跟蹤算法

    目標跟蹤算法作為一有著非常廣泛的應用的算法,在航空航天、智能交通、智能設備等領域有著非常廣泛的應用。本系列博客將教大家在410c開發板上基于linux操作系統環境,采用QT+
    發表于 02-27 10:32 ?5399次閱讀
    QT+<b class='flag-5'>Opencv</b>粒子濾波<b class='flag-5'>算法</b>實現視頻<b class='flag-5'>目標</b>跟蹤——如何選擇跟蹤<b class='flag-5'>算法</b>

    光線追蹤算法匯總

    在基本光線追蹤算法,只追蹤有限數目的光線。
    的頭像 發表于 05-11 15:58 ?1.7w次閱讀
    光線<b class='flag-5'>追蹤</b><b class='flag-5'>算法</b>匯總

    OpenCV不同的目標追蹤算法

    對于3.3以上的版本,每個追蹤器可以用各自的函數創造,如cv2. TrackerKCF_create。詞典OPENCV_OBJECT_TRACKERS包含了7OpenCV
    的頭像 發表于 08-05 09:03 ?3.3w次閱讀

    基于多智能體協同強化學習的多目標追蹤方法

    針對現有多目標追蹤方法通常存在學習速度慢、追蹤效率低及協同追蹤策略設計困難等問題,提岀一改進的多目標
    發表于 03-17 11:08 ?20次下載
    一<b class='flag-5'>種</b>基于多智能體協同強化學習的多<b class='flag-5'>目標</b><b class='flag-5'>追蹤</b>方法
    主站蜘蛛池模板: 日本红怡院亚洲红怡院最新| 用快播看av的网站| 被肉日常np快穿高h| 免费国产成人高清在线看软件 | 欧美精品色婷婷五月综合| 诱人的秘书BD在线观看| 国内精品久久久久影院男同志 | 黄色毛片a| 亚洲国产综合人成综合网站00 | 久久亚洲伊人| 久久只有这里有精品4| 亚洲视频在线观看地址| 国产精品色欲AV亚洲三区软件| 色多多深夜福利免费观看| 亚洲精品日韩在线观看视频| 777ZYZ玖玖资源站最稳定网址| 久久国产精品麻豆AV影视| 亚洲专区区免费| 旧里番ovaの催○セイ活指导| 一区在线观看在线| 国产精品免费一区二区三区视频 | 国产美熟女乱又伦AV| 浓毛BWBWBWBWBW日本| 芭乐视频免费资源在线观看| 久久一er精这里有精品| 综合一区无套内射中文字幕| 女子叉开腿让男子桶免费软件| a在线观看免费视频| 乳色吐息未增删樱花ED在线观看 | 被老头下药玩好爽| 少妇精油按摩| 精品国产国产综合精品| 2017日日干| 九九热在线视频精品店 | 无码人妻精品一区二区蜜桃在线看 | 龙广在线收听| 高清国语自产拍在线| 亚洲精品视频免费看| 女性性纵欲派对| 国产色婷婷亚洲99麻豆| 在线国产视频观看|