TransT开发者指南:ltr、pytracking、util三大模块目录结构与核心API完整速查
TransT开发者指南ltr、pytracking、util三大模块目录结构与核心API完整速查【免费下载链接】TransTTransformer Tracking (CVPR2021)项目地址: https://gitcode.com/gh_mirrors/tr/TransTTransTTransformer TrackingCVPR 2021是一个基于 Transformer 的视觉目标跟踪算法开源实现包含训练、推理、评测的全套代码。本文带你快速看懂 TransT 项目的三大核心模块负责模型训练的ltr、负责跟踪器推理与评测的pytracking以及提供通用工具函数的util并附上一份目录结构与核心 API 速查表帮助新手开发者在 10 分钟内上手这个目标跟踪框架。 项目整体目录结构一张图看懂 TransTTransT 的仓库由 4 个主要部分组成职责非常清晰TransT/ ├── ltr/ # 训练框架数据集、网络定义、训练流程 ├── pytracking/ # 推理框架跟踪器实现、实验运行、结果评测 ├── util/ # 通用工具边界框操作、多GPU/日志工具 ├── pysot_toolkit/ # 评测工具包PySOT用于跑基准测试 └── got10k_toolkit/ # GOT-10k 数据集评测工具包想训练模型→ 看ltr/想跑推理/测试视频→ 看pytracking/想了解底层几何与工具函数→ 看util/ 快速开始安装与第一条训练命令git clone https://gitcode.com/gh_mirrors/tr/TransT conda create -n transt python3.7 conda activate transt安装完依赖后在项目根目录生成两份环境配置文件分别对应两套框架python -c from pytracking.evaluation.environment import create_default_local_file; create_default_local_file() python -c from ltr.admin.environment import create_default_local_file; create_default_local_file()生成的 pytracking/evaluation/local.py 和 ltr/admin/local.py 用来填写数据集路径、预训练权重路径等。然后启动 TransT 训练只需一条命令cd TransT/ltr python run_training.py transt transt ltr 模块速查训练侧的工厂车间ltrLearning Tracking Representations是 PyTorch 训练框架一个子目录对应一个训练环节。子目录职责关键文件ltr/models/网络结构定义backbone、neck、headltr/models/tracking/transt.pyltr/dataset/训练数据集接入LaSOT/GOT-10k/TrackingNet 等ltr/dataset/got10k.pyltr/data/图像加载、数据增强、采样ltr/data/processing.py、ltr/data/sampler.pyltr/actors/前向传播 损失计算的演员类ltr/actors/tracking.pyltr/trainers/训练主循环ltr/trainers/ltr_trainer.pyltr/train_settings/超参数配置入口ltr/train_settings/transt/transt.pyltr/admin/环境设置、网络加载、TensorBoard、统计ltr/admin/local.py、ltr/admin/loading.pyltr 核心 APIAPI位置作用run_training(train_module, train_name)ltr/run_training.py训练总入口动态导入train_settings下对应配置并执行transt_resnet50(settings)ltr/models/tracking/transt.py构建 ResNet50 骨干的 TransT 网络transt_loss(settings)ltr/models/tracking/transt.py构建 TransT 的训练损失匈牙利匹配 分类/回归损失TransTProcessing(...)ltr/data/processing.py模板/搜索区域裁剪与增强LTRTrainer(...)ltr/trainers/ltr_trainer.py训练主类跑 epoch、保存 checkpointenv_settings()ltr/admin/environment.py读取ltr/admin/local.py中的路径配置 想改学习率、batch size、搜索区域倍率等超参数直接编辑 ltr/train_settings/transt/transt.py 中的run(settings)函数即可例如settings.batch_size、settings.search_area_factor都是在这里定义的。 pytracking 模块速查推理与评测的指挥中心pytracking基于 PyTracking 修改而来负责加载训练好的权重、跑跟踪实验、输出结果。子目录职责关键文件pytracking/tracker/跟踪器实现pytracking/tracker/transt/transt.pypytracking/parameter/推理超参数配置pytracking/parameter/transt/transt50.pypytracking/evaluation/数据集评测环境pytracking/evaluation/local.pypytracking/experiments/实验入口定义pytracking/experiments/myexperiments.pypytracking/VOT/VOT 比赛协议支持pytracking/VOT/tracker_DiMP.mpytracking 核心 APIAPI位置作用TransT类initialize/handlepytracking/tracker/transt/transt.py跟踪器主体initialize初始化模板特征handle逐帧输出目标框cfg配置对象pytracking/tracker/transt/config.pyyacs 风格推理配置网络路径、模板大小等transt50()pytracking/parameter/transt/transt50.pyTransT-ResNet50 的推理参数入口注册网络与超参数run_experiment.pypytracking/run_experiment.py批量运行跟踪实验的主脚本run_video.pypytracking/run_video.py对单个视频做实时推理演示典型推理流程cd TransT/pytracking python run_experiment.py transt transt50 got10k_test --run_id 1 --network model_path util 模块速查开箱即用的几何与工程函数util只有两个文件但都是高频使用的瑞士军刀其代码源自 DETR已被 TransT 训练与损失计算广泛复用。util/box_ops.py边界框数学库函数作用box_cxcywh_to_xyxy(x)中心点格式 → 左上右下格式box_xyxy_to_cxcywh(x)左上右下格式 → 中心点格式box_iou(boxes1, boxes2)两批框的 IoU 矩阵同时返回 union 面积generalized_box_iou(boxes1, boxes2)广义 IoUGIoU用于回归损失masks_to_boxes(masks)从分割 mask 反推最小外接框util/misc.py训练工程工具函数/类作用SmoothedValue训练日志用的滑动均值统计器MetricLogger批量打印 epoch 指标loss、吞吐等init_distributed_mode(args)分布式训练初始化NestedTensor/nested_tensor_from_tensor_listDETR 风格的带 mask 张量打包interpolate(input, size)任意尺寸特征图插值 三大模块协作关系一次训练的完整链路配置在 ltr/admin/local.py 中指定数据集路径训练run_training.py加载 ltr/train_settings/transt/transt.py →TransTSampler采样 →TransTProcessing裁剪增强 →transt_resnet50前向 →LTRTrainer存 checkpoint推理pytracking侧的 TransT 跟踪器 加载 checkpoint逐帧handle评测用 pysot_toolkit/test.py 或 got10k_toolkit 在 LaSOT、GOT-10k、VOT 等基准上打分。⚠️ 新手常见问题ImportError: cannot import name region若不用 VOT 16/18/19 评测可删除 pysot_toolkit/test.py 中的相关 import或在pysot_toolkit下执行python setup.py build_ext --inplace编译。pytracking 与 PySOT 结果略有差异前者保存整数坐标、后者保存小数坐标属正常现象。修改训练超参数不生效检查是否同时存在多份train_settings命令行第二个参数才是实际加载的文件名。掌握 ltr怎么练、pytracking怎么用、util怎么算三者的分工后你已具备二次开发 TransT 的基础——无论是替换 backbone、新增数据集还是接入自己的推理场景都能在这份速查表中快速找到落点。【免费下载链接】TransTTransformer Tracking (CVPR2021)项目地址: https://gitcode.com/gh_mirrors/tr/TransT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考