方案名
2. 方案简介
2.1 算法流程介绍
2.1.1. 模型或算法背景:年份,来源,解决什么问题,在同类算法中的精度/耗时评价(可提取paper中的表格或散点图)
年份 :2016 来源 :Chen Y, Lai Y K, Liu Y J, 2018. CartoonGAN: Generative Adversarial Networks for Photo Cartoonization[C/OL]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. 9465-9474[2025-06-16]. https://ieeexplore.ieee.org/document/8579084. DOI:10.1109/CVPR.2018.00986. 问题背景 : 在多目标跟踪任务中,尤其是在自动驾驶、机器人等实时性强的应用场景下,传统的方法往往过于复杂,如联合概率数据关联(JPDA)、多假设跟踪(MHT)等,虽然精度高,但计算开销大,不适合实时执行。
SORT是多目标跟踪中极简主义的典范,仅依赖运动信息实现高效数据关联,奠定了“检测即跟踪”的方法基础
2.1.2. 算法流程梳理(必须使用流程框图)
2.1.3. 模型结构上的创新与意义
SORT首次提出卡尔曼滤波+IoU代价计算+匈牙利匹配这一跟踪范式,深远影响了deepsort、bytetrack等模型。
2.1.4. 前后处理,或一些其他机制介绍(最好使用流程图)
前处理包括将原图重采样、BGR->RGB以及归一化; 后处理包括置信度阈值筛选、边界框解码以及NMS;SORT跟踪部分包括卡尔曼滤波预测与更新、对每个检测框和预测框进行IoU运动匹配代价的计算形成匹配代价矩阵、匈牙利算法匹配,以及最后的新轨迹生成与旧轨迹丢弃。
2.2 硬件资源分配
3. 模型导出说明
SORT是跟踪后处理算法,没有自己的模型需要导出,crt中检测器使用 本项目中提供了
crowdhuman.pt,对yolov5用crowdhuman数据集进行训练,模型导出请将weights\crowdhuman.pt复制到modelzoo中yolov5_7.0项目并导出,将导出后文件复制到2_compile\fmodel
4. cpu处理部分c++工程移植说明
- Psin工程中CPU环节负责前后处理
- 在3_deploy/modelzoo中,本项目用相同框架与头文件实现了
sort、deepsort以及bytetrack并在进行了简单的精度测试。CPU:i7-11800H@2.30GHz
| 算法 | fps | num_frames | IDF1 | IDP | IDR | Rcll | Prcn | GT | MT | PT | ML | FP | FN | IDsw | FM | MOTA | MOTP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sort | 0.984 | 525 | 0.461642 | 0.461066 | 0.462219 | 0.806191 | 0.804181 | 5201 | 22 | 9 | 3 | 1021 | 1008 | 119 | 93 | 0.587002 | 0.177892 |
| bytetrack | 0.977 | 525 | 0.533672 | 0.52308 | 0.544703 | 0.898866 | 0.863183 | 5201 | 24 | 6 | 4 | 741 | 526 | 51 | 55 | 0.746587 | 0.177072 |
| deepsort | 0.213588 | 525 | 0.516827 | 0.469802 | 0.574313 | 0.927898 | 0.759044 | 5201 | 25 | 6 | 3 | 1532 | 375 | 77 | 50 | 0.618535 | 0.183301 |
- 各环节耗时,取
适配阶段仿真耗时结果。
目标检测 sort跟踪 948.96ms 0.62ms