整个过程就是运行训练脚本(train.py&run_traing.py),然后再运行test_epoch测试,然后再运行analysis分析。

训练脚本输出的结果是checkpoints和logs文件

然后在测试的路径里面设置训练权重的路径和测试结果保存路径,

有测试结果后直接运行anlysis文件会出来了精确率准确率结果打印在终端,

Reporting results
ootb AUC 0P50 0P75 Precision Norm Precision
AQATrack256_150 71.62 87.42 65.93 90.89 85.56

在output\test\result_plots\ootb的eval_data.pkl 是评估结果文件,贴在论文里的,输出是每一帧的跟踪锚框的图这个是自己写的代码。

标准的训练-测试-分析流程

1. 训练阶段(Training)

除了运行训练脚本,还包含以下要素:

python

# 训练脚本记录的关键信息
- 超参数配置(学习率、batch size、epoch数等)
- 训练集/验证集划分
- 数据增强策略
- 损失函数曲线(写入logs)
- 每个epoch的checkpoint保存策略(最佳模型 + 定期保存)
- 验证集上的初步指标(如果训练时就能计算的话)

建议的 checkpoint 命名规范:checkpoin开源模型中都有设定,不改动的情况下,每10轮保存一次。

text

checkpoints/
├── model_best.pth          # 验证集上表现最好的模型
├── model_epoch_10.pth      # 定期保存,防止中断
├── model_epoch_20.pth
└── model_final.pth         # 最终模型

训练时在验证集上跑一下初步指标,这样能判断模型是否在收敛,不用等全部训完才发现问题。


2. 测试阶段(Testing/Inference)

你的做法是对的——测试脚本独立,通过配置文件或命令行参数指定权重路径和结果保存路径。

推荐的测试脚本参数化方式:

bash

python test.py \
    --weights checkpoints/model_best.pth \
    --data_root /path/to/test_dataset \
    --output_dir results/experiment_001 \
    --save_viz True \           # 是否保存可视化
    --save_tracks True          # 是否保存跟踪结果txt/json

测试输出的目录结构建议:

text

results/experiment_001/
├── tracking_results.json      # 或 .txt,每帧的跟踪框数据
├── visualizations/            # 每一帧带锚框的图(可选)
│   ├── seq_001_frame_0001.jpg
│   └── ...
└── test_config.yaml           # 记录本次测试使用的配置

3. 分析阶段(Evaluation/Analysis)

测试完成后直接运行分析脚本计算指标,这个流程没问题。但建议分析脚本输出更完整的信息:

分析脚本应该输出:

  • 整体指标: Precision, Recall, F1-score, MOTA, MOTP, IDF1 等

  • 逐序列/逐类别指标: 方便定位哪个场景表现差

  • 失败案例分析: ID Switch、漏检、误检的帧号

  • 指标汇总文件: JSON 或 CSV 格式,方便后续对比实验

bash

python analysis.py \
    --track_result results/experiment_001/tracking_results.json \
    --gt_path /path/to/ground_truth \
    --output_dir results/experiment_001/evaluation

输出示例:

text

results/experiment_001/evaluation/
├── metrics_summary.json       # 所有指标汇总
├── per_sequence_metrics.csv   # 每个序列的指标
├── failure_cases/             # 失败案例截图
└── precision_recall_curve.png # PR曲线(如果适用)
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐