日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

【深度学习】用 YOLO v5+DeepSORT,打造实时多目标跟踪模型

發布時間:2025/3/12 pytorch 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【深度学习】用 YOLO v5+DeepSORT,打造实时多目标跟踪模型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內容概要:目標跟蹤作為一個非常有前景的研究方向,常常因為場景復雜導致目標跟丟的情況發生。本文按照跟蹤目標數量的差異,分別介紹了單目標跟蹤及多目標跟蹤。

關鍵詞:目標跟蹤? ?計算機視覺? ? 教程

目標跟蹤 (Object Tracking) 是機器視覺領域的重要課題,根據跟蹤目標的數量,可分為單目標跟蹤 (Single Object Tracking,簡稱 SOT) 和多目標跟蹤 (Multi Object Tracking,簡稱 MOT)。

多目標跟蹤往往因為跟蹤 ID 眾多、遮擋頻繁等,容易出現目標跟丟的現象。借助跟蹤器 DeepSORT 與檢測器 YOLO v5,可以打造一個高性能的實時多目標跟蹤模型。

本文將對單目標跟蹤和多目標跟蹤分別進行介紹,文末將詳解 YOLO v5+DeepSORT 的實現過程及具體代碼。

?單目標跟蹤詳解

?定義?

單目標跟蹤 SOT 是指在視頻首幀給出目標,根據上下文信息,在后續幀定位出目標位置,建立跟蹤模型對目標的運動狀態進行預測。

?應用場景?

SOT 在智能視頻監控、自動駕駛、機器人導航、人機交互等領域應用廣泛。

足球比賽中利用 SOT 預測足球運動軌跡

?研究難點?

最主要的三個難點:目標背景的變化、物體本身的變化、光照強度變化。

?主流算法(基于深度學習)?

解決 SOT 問題主要有兩種方法:判別式跟蹤及生成式跟蹤,隨著深度學習在圖像分類、目標檢測等機器視覺相關任務中的成功應用,深度學習也開始大量應用于目標跟蹤算法中。

本文主要圍繞基于深度學習的 SOT 算法進行介紹。

各時間節點的代表性目標跟蹤算法

2012 年后以 AlexNet 為代表的深度學習方法

被引入到目標跟蹤領域中

關鍵算法:SiamFC

與傳統目標跟蹤中所用的在線學習方法不同,SiamFC 側重于在離線階段學習強嵌入。

它將一個基本跟蹤算法,與一個在 ILSVRC15 數據集上進行端到端訓練的新型全卷積孿生網絡 (fully-convolutional Siamese network) 相結合,用于視頻中的目標檢測。

全卷積孿生網絡架構示意圖

實驗證明,在模型測試和訓練期間,孿生全卷積深度網絡對已有數據的利用更加高效。

SiamFC 開創了將孿生網絡結構應用于目標跟蹤領域的先河,顯著提高了深度學習方法跟蹤器的跟蹤速度,結構簡單性能優異。

相關論文:

https://arxiv.org/pdf/1606.09549.pdf

?相關衍生算法?

1、StructSiam

提出了 local structure learning method,同時考慮目標的 local pattern 和結構關系。為此,作者設計了一個局部模式檢測模塊,來自動識別目標物體的辨別區域。

該模型可以以端到端的方式進行訓練。

相關論文:

https://openaccess.thecvf.com/content_ECCV_2018/papers/Yunhua_Zhang_Structured_Siamese_Network_ECCV_2018_paper.pdf

2、SiamFC-tri

作者提出了一種全新的 triplet loss,用于提取跟蹤物體的 expressive deep feature。在不增加輸入的情況下,該方法可以利用更多元素進行訓練,通過組合原始樣本,實現更強大的特征。

相關論文:

https://openaccess.thecvf.com/content_ECCV_2018/papers/Xingping_Dong_Triplet_Loss_with_ECCV_2018_paper.pdf

3、DSiam

作者提出了動態孿生網絡,通過一個快速轉換學習模型,能夠有效地在線學習目標的外觀變化和先前幀的背景壓制。同時作者還提出了元素多層融合,利用多層深度特征自適應地整合網絡輸出。

DSiam 允許使用任何可行的通用或經過特殊訓練的特征,如 SiamFC 和 VGG,且動態孿生網絡可以直接在標記的視頻序列上進行整合訓練,充分利用移動物體豐富的時空信息。

相關論文:

https://openaccess.thecvf.com/content_ICCV_2017/papers/Guo_Learning_Dynamic_Siamese_ICCV_2017_paper.pdf

?多目標跟蹤詳解

?定義?

多目標跟蹤(MOT)是指對視頻中每一幀的物體都賦予一個 ID,并將每個 ID 的行為軌跡畫出來。

在街景視頻中進行多目標跟蹤

?應用場景?

MOT 在智能安防、自動駕駛、醫學場景等領域,都有廣泛應用。

?研究難點?

MOT 目前遇到的最大挑戰就是遮擋 (Occlusion),即目標之間的彼此遮擋或環境對目標產生的遮擋。

?主流算法?

1、SORT

Simple Online and Realtime Tracking (SORT) 是一種專注簡單高效算法的多目標跟蹤方法,它非常實用,可以為在線和實時應用,有效地關聯目標。

SORT 只是將常見技術(如卡爾曼濾波、匈牙利算法)進行了簡單組合,準確率可與當時最先進的在線跟蹤器相提并論。

SORT 與其他方法的性能比較

橫軸表示準確率,縱軸表示速度

模型位置越高、越靠右,綜合表現越佳

由于跟蹤方法簡單易用,跟蹤器的更新速度達到了 260 Hz,比當時最先進的跟蹤器快 20 倍。

相關論文:

https://arxiv.org/pdf/1602.00763.pdf

2、DeepSORT

DeepSORT 是 SORT 的升級版,它整合了外觀信息 (appearance information) 從而提高 SORT 的性能,這使得我們在遇到較長時間的遮擋時,也能夠正常跟蹤目標,并有效減少 ID 轉換的發生次數。

DeepSORT 在 MOT Challenge 數據集上的表現

真實街景中遮擋情況非常常見

作者將絕大部分的計算復雜度,都放到了離線預訓練階段,在這個階段會用一個大規模行人重識別數據集,學習深度關聯度量 (deep association metric)。

在在線應用階段,則使用視覺外觀空間 (visual appearance space) 中的近鄰查詢,來建立 measurement-to-track 關聯。

實驗表明,DeepSORT 使得 ID 轉換的次數減少了 45%,在高幀率下整體性能優秀。

此外 DeepSORT 是一個非常通用的跟蹤器,可以被接在任何一個檢測器上。

相關論文:

https://arxiv.org/pdf/1703.07402.pdf

3、Towards Real-Time MOT

作者提出了一個 MOT 系統,使得目標檢測和外觀嵌入得以在一個共享模型中學習。也就是說把外觀嵌入模型納入一個 single-shot 檢測器中,使該模型可以同時輸出檢測以及對應的嵌入。

作者還進一步提出了一個簡單快速的關聯方法,可以與聯合模型 (joint model) 一起運行。

Towards Real-Time MOT 與?SDE 模型

Two-stage 模型以及 JDE 模型對比

與之前的 MOT 系統相比,這兩個組件的計算成本都大大降低了,為實時 MOT 算法設計的后續工作,提供了一個整潔快速的基線。

這是業內第一個接近實時的 MOT 系統,它的運行速度更快、精度更高、代碼也已開源,非常值得參考。

相關論文:

https://arxiv.org/pdf/1909.12605v1.pdf

?用YOLOv5和DeepSORT進行多目標跟蹤

該教程在 OpenBayes.com 運行。OpenBayes 是一個開箱即用的機器學習算力云平臺,提供 PyTorch、TensorFlow 等主流框架,以及 vGPU、T4、V100 等多種類型的算力方案,計價模式靈活簡單,按使用時長收費。

本教程選用 vGPU 在 PyTorch 1.8.1 環境中運行。

訪問完整教程:

https://openbayes.com/console/open-tutorials/containers/BvxvYMbdefV/overview

本項目包括兩個部分,首先是 YOLO v5 檢測器,用于檢測出一系列物體;然后用 DeepSORT 進行跟蹤。

第一步 代碼環境準備

%cd Yolov5_DeepSort_Pytorch %pip install -qr requirements.txt # 安裝依賴import torch from IPython.display import Image, clear_output # 顯示結果clear_output() print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")

第二步 預處理待測視頻

!y | ffmpeg -ss 00:00:00 -i test.avi -t 00:00:03 -c copy out.avi -y

第三步 模型推理

!python?track.py?--yolo_weights?/openbayes/input/input1/crowdhuman_yolov5m.pt?--source?out.avi?--save-vid

第四步 格式轉換

!ffmpeg -i /openbayes/home/Yolov5_DeepSort_Pytorch/inference/output/out.avi output.mp4 -y

第五步 顯示結果

from IPython.display import HTML from base64 import b64encode mp4 = open('output.mp4','rb').read() data_url = "data:video/mp4;base64," + b64encode(mp4).decode() HTML(""" <video controls><source src="%s" type="video/mp4"> </video> """ % data_url)

輸出多目標跟蹤結果

完整 notebook 請訪問:

https://openbayes.com/console/open-tutorials/containers/BvxvYMbdefV/overview

你也可以輸入一個視頻,得到對應的檢測和跟蹤結果。


完整教程傳送門:

https://openbayes.com/console/open-tutorials/containers/BvxvYMbdefV/overvie

參考:

https://zhuanlan.zhihu.com/p/260292966

http://www.cjig.cn/html/jig/2019/12/20191201.htm

https://zhuanlan.zhihu.com/p/96631118

https://blog.csdn.net/lanmengyiyu/article/details/108846295

—— 完 ——

往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯黃海廣老師《機器學習課程》課件合集 本站qq群851320808,加入微信群請掃碼:

總結

以上是生活随笔為你收集整理的【深度学习】用 YOLO v5+DeepSORT,打造实时多目标跟踪模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。