導讀
本文來自github,很實用的一個應用。
項目github倉庫地址:
https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking
這個存儲庫包含了我的目標檢測和跟蹤項目。所有這些都可以托管在云服務器上。
由于有ImageZMQ,你還可以使用自己的異步處理IP相機。
Deep SORT 和 YOLO v4
Check out我的Deep SORT repository:https://github.com/LeonLok/Deep-SORT-YOLOv4,查看我使用的跟蹤算法,其中包括Tensorflow 2.0、異步視頻處理和低置信度跟蹤過濾。
交通流量計數
這個項目是目標計數應用的一個擴展。
功能
使用DETRAC數據集生成的244,617幅圖像進行訓練。可以在這里找到我創建的轉換代碼。
我把這篇論文:https://ieeexplore.ieee.org/document/8909903作為數據準備和訓練的指南。
每個跟蹤id只計數一次。
通過查看被跟蹤目標的路徑與計數線的交叉點對目標進行計數。
因此,那些跟丟了但用相同的ID重新跟蹤的仍然會被計數。
使用低置信度濾波進行跟蹤,來自上面同樣的論文。
提供更低的假陽性率。
跟蹤目標顯示平均檢測置信度。
跟蹤的類別由最常見的檢測類別確定。
顯示檢測結果是可選的(但是隱藏了平均檢測置信度)。
可以使用多個IP攝像頭。
方向計數可以配置為基于角度。
每一小時的間隔記錄計數。
總的計數
基于類別的計數
記錄每個計數目標的交叉詳細信息。
交叉時間
交叉點坐標
交叉角度
可以托管在云服務器上。
注意,由于DETRAC不包含任何摩托車,它們是唯一被忽略的車輛。此外,DETRAC數據集只包含中國的交通圖像,因此由于缺乏訓練數據,它很難正確地檢測出其他國家的某些車輛。例如,它經常會將掀背車誤歸為suv,或者由于不同的顏色方案而無法識別出租車。
目標計數
這個項目最初打算成為一個應用程序,用于使用我自己的智能手機計算當前在多個房間的人數,服務器被遠程托管。下面展示了對人和汽車的檢測、跟蹤和計數。
功能
對當前視場中的物體進行計數
跟蹤可選
支持多個IP相機
每間隔一個小時記錄一次當前的計數
當前的總數
當前每個類別的計數
可以托管在云服務器上
訓練你自己的機動車跟蹤模型
我使用DETRAC訓練帶有v3標注的數據集訓練了YOLOv4和Deep SORT模型。我提供了將DETRAC訓練圖像和v3標注轉換為正確格式的腳本,用于訓練YOLOv4模型和Deep SORT跟蹤模型。
Deep SORT 轉換參數
DETRAC圖像轉換為Market 1501訓練格式。
遮擋閾值 - 忽略遮擋比率過高的車輛序列。
截斷閾值 - 忽略截斷率過高的車輛序列。
出現的次數 - 車輛序列太短(即沒有足夠的圖像)被丟棄后,考慮遮擋和截斷比率。
YOLO 轉換參數
DETRAC圖像被轉換成Darknet YOLO訓練格式。
遮擋閾值 - 忽略遮擋比率過高的車輛序列。
截斷閾值 - 忽略截斷率過高的車輛序列。
兩種模型都在DETRAC訓練集上進行了訓練和評估,但由于缺少v3標注,測試集還沒有評估,我也沒有MATLAB用于Deep SORT的評估軟件。到目前為止,對于我的用例來說,它已經足夠好了。
使用的硬件
Nvidia GTX 1070 GPU
i7-8700K CPU
為了讓大家了解我們的期望,我可以運行兩個流量計數流,每個流大約10fps(正如你在流量計數gif中看到的)。當然,這在很大程度上取決于流分辨率以及用于檢測和跟蹤的幀數。
YOLO v3 vs. YOLO v4
當我第一次開始目標計數項目時,我使用YOLOv3,跟蹤幀率大約是10FPS,很難一次運行多個流。使用YOLOv4可以更容易地運行具有更高分辨率的兩個流,并提供更好的檢測精度。
依賴
Tensorflow-GPU 1.14
Keras 2.3.1
opencv-python 4.2.0
ImageZMQ
numpy 1.18.2
Flask 1.1.1
pillow
這個項目是在Python 3.6上構建和測試的。
責任編輯:lq
-
攝像頭
+關注
關注
60文章
4860瀏覽量
96124 -
跟蹤算法
+關注
關注
0文章
41瀏覽量
13026 -
數據集
+關注
關注
4文章
1209瀏覽量
24793
原文標題:利用YOLOv4和Deep SORT實現多攝像頭實時目標跟蹤和計數(已開源)
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論