方案名
1. 摘要
1.1. 身份编号:fwb0025
1.2. 类型与序号:模型5
1.3. 进展:
| item | status | detail |
|---|---|---|
| 方案选择与硬件资源划分 | 1 | |
| 模型导出 | 0 | SORT是一个跟踪后处理算法,没有要导出的模型 |
| ~导出模型精度一致,提供python验证脚本 | 0 | |
| cpu处理部分c++工程移植 | 1 | 提供crt,检测部分使用modelzoo中yolov5进行 |
| ~c++工程精度一致,提供验证脚本 | 0 | |
| ~c++工程性能优化 | 0 | |
| icraft编译通过 | 1 | yolov5_crowdhuman编译通过 |
| ~存在量化精度调优工作 | 0 | |
| ~完成基本pyrt/crt搭建与结果验证 | 1 | 提供crt |
| ~完成pyrt/crt精度测试与对齐 | 3 | 3_deploy/modelzoo中用相同检测器、跟踪框架实现了sort、deepsort、bytetrack,并进行了测试比较。精度、耗时比较结果见下文 |
| 完成上板耗时测试 | 1 | |
| ~使用运行时提供的api进行基本性能优化 | 0 | |
| ~存在整体方案各环节优化或优化方案的设计 | 0 | |
| 提出bug数 | 0 |
2. 方案简介
2.1 算法流程介绍
2.1.1. 模型或算法背景:年份,来源,解决什么问题,在同类算法中的精度/耗时评价(可提取paper中的表格或散点图)
年份 :2016 来源 :Bewley A, Ge Z, Ott L, et al., 2016. Simple Online and Realtime Tracking[C/OL]//2016 IEEE International Conference on Image Processing (ICIP). 3464-3468[2025-06-01]. http://arxiv.org/abs/1602.00763. DOI:10.1109/ICIP.2016.7533003.
问题背景 : 在多目标跟踪任务中,尤其是在自动驾驶、机器人等实时性强的应用场景下,传统的方法往往过于复杂,如联合概率数据关联(JPDA)、多假设跟踪(MHT)等,虽然精度高,但计算开销大,不适合实时执行。
SORT是多目标跟踪中极简主义的典范,仅依赖运动信息实现高效数据关联,奠定了“检测即跟踪”的方法基础
2.1.2. 算法流程梳理(必须使用流程框图)
图1:SORT算法流程图
2.1.3. 模型结构上的创新与意义
SORT首次提出卡尔曼滤波+IoU代价计算+匈牙利匹配这一跟踪范式,深远影响了deepsort、bytetrack等模型。
2.1.4. 前后处理,或一些其他机制介绍(最好使用流程图)
前处理包括将原图重采样、BGR->RGB以及归一化; 后处理包括置信度阈值筛选、边界框解码以及NMS;SORT跟踪部分包括卡尔曼滤波预测与更新、对每个检测框和预测框进行IoU运动匹配代价的计算形成匹配代价矩阵、匈牙利算法匹配,以及最后的新轨迹生成与旧轨迹丢弃。
2.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
5. ICRAFT编译
编译通过
-
使用运行时仿真得到的仿真效果
项目只提供crt,且结果以视频形式存在,不进行结果汇总
6. 上板测试与优化
-
优化前各环节耗时统计(表格)
-
优化后耗时统计(表格)
-
优化项与效果
分条描述做了哪些性能优化,提升了多少
-
运行时工程的整体介绍(最好带流程图)