目錄
1. 介紹
2. 相關工作 (Related Works)
3. 方法 (Method)
4. 統計和結果
5. 技術實現
?ByteTrack: Multi-Object Tracking by Associating Every Detection Box
1. Motivation
2. BYTE
3. ByteTrack
具體代碼
UI界面設計
歷史記錄
完整代碼實現+UI界面
1. 介紹
- 背景: 實時目標檢測領域由以 YOLO 系列為代表的單階段檢測器主導,它們在速度和精度之間取得了優異的平衡。
-
現有方法的局限性:
- 卷積架構 (至 YOLOv11): 其感受野受限于卷積核大小和網絡深度,本質上是局部信息聚合。
- 自注意力機制 (YOLOv12): 雖然擴大了感受野,但高計算成本使其只能在局部區域上進行計算,無法實現真正的全局建模。更重要的是,自注意力只能建模像素間的“成對(pairwise)”關系。
- 現有超圖方法: 雖然超圖能建模“多對多(multi-to-multi)”高階關系,但現有方法通常依賴手工設定的閾值來構建超邊,魯棒性差。
-
YOLOv13 概覽:
- HyperACE: 提出自適應超圖相關性增強機制,克服了手工構建超圖的限制,用于自適應地學習高階視覺相關性。
- FullPAD: 提出新的全流程聚合與分發架構范式,將增強后的特征反饋到整個網絡,改善梯度傳播和檢測性能。
- 輕量化模塊: 設計了一系列基于深度可分離卷積的模塊,以提高模型效率。
-
主要貢獻總結:
- 提出 YOLOv13,一個使用自適應超圖探索高階相關性的卓越實時目標檢測器。
- 提出 HyperACE 機制用于自適應超圖計算,以及 FullPAD 范式用于全流程特征聚合與分發。
- 提出一系列基于深度可分離卷積的輕量化模塊,以降低模型復雜性。
- 實驗證明 YOLOv13 在保持輕量化的同時,在 MS COCO 數據集上達到了SOTA性能。
2. 相關工作 (Related Works)
-
2.1. YOLO 檢測器的演進 (Evolution of YOLO Detectors)
- 簡要回顧了從初代 YOLO 到 YOLOv12 的發展歷程,包括 DarkNet 骨干網、CSP 結構、SPP、PANet、無錨點(anchor-free)頭部等關鍵技術的引入。
- 指出現有所有 YOLO 系列模型及其變體都存在一個共同的局限性:它們僅限于建模局部的成對相關性。
-
2.2. 高階相關性建模 (High-Order Correlation Modeling)
- 視覺數據中存在復雜的、超越成對關系的高階(群組)相關性。
- 超圖(Hypergraph)是表示這種多對多高階關系的有效工具,而超圖神經網絡(HGNNs)是主要的建模方法。
- 指出現有的視覺超圖方法大多采用手工制作(handcrafted)的超邊構建方式,缺乏魯棒性。本文提出的自適應機制旨在解決此問題。
3. 方法 (Method)
-
3.1. 整體架構 (Overall Architecture)
- 打破了傳統的“骨干→頸部→頭部”單向計算范式。
-
流程:
- 輕量化的骨干網絡(使用 DS-C3k2 模塊)提取多尺度特征。
- 將骨干網絡的高層特征(B3, B4, B5)送入?HyperACE?模塊進行高階相關性建模和特征增強。
- 通過?FullPAD?隧道,將增強后的特征分發回網絡的不同位置(骨干與頸部連接處、頸部內部、頸部與頭部連接處)。
- 頸部網絡融合特征后送入檢測頭進行多尺度檢測。
-
3.2. 基于超圖的自適應相關性增強 (Hypergraph-Based Adaptive Correlation Enhancement - HyperACE)
- 核心思想: HyperACE 包含一個全局高階感知分支和一個局部低階感知分支。
-
3.2.1. 自適應超圖計算 (Adaptive Hypergraph Computation)
- 自適應超邊生成: 通過一個可學習的模塊,根據輸入特征動態生成超邊原型,并計算每個頂點(像素)對每個超邊的參與度,形成一個連續的參與度矩陣?
A
,而非傳統的二進制關聯矩陣。 - 超圖卷積: 采用兩階段消息傳遞(頂點到超邊聚合,超邊到頂點傳播)來更新頂點特征,從而實現基于高階相關性的特征增強。
- 自適應超邊生成: 通過一個可學習的模塊,根據輸入特征動態生成超邊原型,并計算每個頂點(像素)對每個超邊的參與度,形成一個連續的參與度矩陣?
-
3.2.2. 用于自適應高階相關性建模的 C3AH 模塊 (C3AH for Adaptive High-Order Correlation Modeling)
- 將自適應超圖計算模塊(AHC)嵌入到一個 CSP 瓶頸結構中,實現了高效的全局高階語義聚合。
-
3.2.3. HyperACE 的結構 (Structure of HyperACE)
- 將融合后的多尺度特征圖分為三路:一路通過并行的 C3AH 模塊進行高階建模,一路通過堆疊的 DS-C3k 模塊進行低階建模,還有一路作為直連(shortcut)。最后將三路輸出拼接融合。
-
3.3. 全流程聚合與分發范式 (Full-Pipeline Aggregation-and-Distribution - FullPAD)
- 將 HyperACE 輸出的增強特征,通過可學習的門控融合機制,注入到主干網絡、頸部和頭部的多個關鍵節點。
- 這種設計實現了全網絡范圍內的精細化信息流動和表征協同。
-
3.4. 基于深度可分離卷積的模型輕量化 (Model Lightweighting with Depth-Separable Convolution)
- DSConv: 基礎的深度可分離卷積塊。
- DS-Bottleneck: 由兩個 DSConv 塊串聯構成的瓶頸結構。
- DS-C3k/DS-C3k2: 將 DS-Bottleneck 嵌入 CSP 結構中,形成新的輕量化特征提取模塊,并被廣泛用于骨干和頸部網絡。
4. 統計和結果
5. 技術實現
- 問題: 現有的 YOLO 系列模型(包括 YOLOv11 和 YOLOv12)在架構上受限于局部信息聚合(卷積)和成對相關性建模(自注意力),無法捕捉復雜的全局、多對多高階相關性。
- 核心方案: 提出了 YOLOv13,一個精確且輕量級的實時目標檢測器。
- 關鍵技術 1: HyperACE: 提出了一種基于超圖的自適應相關性增強機制(Hypergraph-based Adaptive Correlation Enhancement),它能自適應地利用潛在的高階相關性,實現高效的全局跨位置和跨尺度的特征融合與增強。
- 關鍵技術 2: FullPAD: 提出了一種全流程聚合與分發范式(Full-Pipeline Aggregation-and-Distribution),將 HyperACE 增強后的特征分發至整個網絡(骨干、頸部、頭部),以實現更精細的信息流和表征協同。
- 關鍵技術 3: 輕量化設計: 使用深度可分離卷積替代傳統的標準大核卷積,并設計了一系列新的輕量化模塊,在不犧牲性能的前提下顯著減少了參數量和計算復雜度。
- 成果: 在 MS COCO 基準上取得了SOTA性能。具體來說,YOLOv13-N 在 mAP 指標上比 YOLOv11-N 提升了 3.0%,比 YOLOv12-N 提升了 1.5%。
?ByteTrack: Multi-Object Tracking by Associating Every Detection Box
沿著多目標跟蹤(MOT)中tracking-by-detection的范式,我們提出了一種簡單高效的數據關聯方法BYTE。 利用檢測框和跟蹤軌跡之間的相似性,在保留高分檢測結果的同時,從低分檢測結果中去除背景,挖掘出真正的物體(遮擋、模糊等困難樣本),從而降低漏檢并提高軌跡的連貫性。BYTE能輕松應用到9種state-of-the-art的MOT方法中,并取得1-10個點不等的IDF1指標的提升。基于BYTE我們提出了一個跟蹤方法ByteTrack,首次以30 FPS的運行速度在MOT17上取得80.3 MOTA,77.3 IDF1和63.1 HOTA,目前位居MOTChallenge榜單第一。我們還在開源代碼中加入了將BYTE應用到不同MOT方法中的教程以及ByteTrack的部署代碼。
Paper:?http://arxiv.org/abs/2110.06864
??
縱軸是MOTA,橫軸是FPS,圓的半徑代表IDF1的相對大小
1. Motivation
Tracking-by-detection是MOT中的一個經典高效的流派,通過相似度(位置、外觀、運動等信息)來關聯檢測框得到跟蹤軌跡。由于視頻中場景的復雜性,檢測器無法得到完美的檢測結果。為了處理true positive/false positive的trade-off,目前大部分MOT方法會選擇一個閾值,只保留高于這個閾值的檢測結果來做關聯得到跟蹤結果,低于這個閾值的檢測結果直接丟棄。但是這樣做合理嗎?答案是否定的。黑格爾說過:“存在即合理。”低分檢測框往往預示著物體的存在(例如遮擋嚴重的物體)。簡單地把這些物體丟棄會給MOT帶來不可逆轉的錯誤,包括大量的漏檢和軌跡中斷,降低整體跟蹤性能。
2.BYTE
為了解決之前方法丟棄低分檢測框的不合理性,我們提出了一種簡單、高效、通用的數據關聯方法BYTE (each detection box is a basic unit of the tracklet, as byte in computer program)。直接地將低分框和高分框放在一起與軌跡關聯顯然是不可取的,會帶來很多的背景(false positive)。BYTE將高分框和低分框分開處理,利用低分檢測框和跟蹤軌跡之間的相似性,從低分框中挖掘出真正的物體,過濾掉背景。整個流程如下圖所示:
(1)BYTE會將每個檢測框根據得分分成兩類,高分框和低分框,總共進行兩次匹配。
(2)第一次使用高分框和之前的跟蹤軌跡進行匹配。
(3)第二次使用低分框和第一次沒有匹配上高分框的跟蹤軌跡(例如在當前幀受到嚴重遮擋導致得分下降的物體)進行匹配。
(4)對于沒有匹配上跟蹤軌跡,得分又足夠高的檢測框,我們對其新建一個跟蹤軌跡。對于沒有匹配上檢測框的跟蹤軌跡,我們會保留30幀,在其再次出現時再進行匹配。
我們認為,BYTE能work的原因是遮擋往往伴隨著檢測得分由高到低的緩慢降低:被遮擋物體在被遮擋之前是可視物體,檢測分數較高,建立軌跡;當物體被遮擋時,通過檢測框與軌跡的位置重合度就能把遮擋的物體從低分框中挖掘出來,保持軌跡的連貫性。
??
3. ByteTrack
ByteTrack使用當前性能非常優秀的檢測器YOLOX得到檢測結果。在數據關聯的過程中,和SORT一樣,只使用卡爾曼濾波來預測當前幀的跟蹤軌跡在下一幀的位置,預測的框和實際的檢測框之間的IoU作為兩次匹配時的相似度,通過匈牙利算法完成匹配。這里值得注意的是我們沒有使用ReID特征來計算外觀相似度:
(1)第一點是為了盡可能做到簡單高速,第二點是我們發現在檢測結果足夠好的情況下,卡爾曼濾波的預測準確性非常高,能夠代替ReID進行物體間的長時刻關聯。實驗中也發現加入ReID對跟蹤結果沒有提升。
(2)如果需要引入ReID特征來計算外觀相似度,可以參考我們開源代碼中將BYTE應用到JDE,FairMOT等joint-detection-and-embedding方法中的教程。
(3)ByteTrack只使用運動模型沒有使用外觀相似度能在MOT17,20取得高性能的本質原因是MOT數據集的運動模式比較單一
具體代碼
??
??
??
UI界面設計
?
?
??
??
歷史記錄
??
完整代碼實現+UI界面
視頻,筆記和代碼,以及注釋都已經上傳網盤,放在主頁置頂文章