TAO行人重识别训练与推理Skill tao-train-reid

面向TAO工具链的行人重识别(ReID)技能。支持ReID模型的训练、评估、ONNX导出与推理,基于度量学习学习跨摄像头行人判别性嵌入。涵盖Docker运行、AutoML策略、数据集配置和多GPU训练等完整流程。 关键词:行人重识别、ReID、跨摄像头匹配、TAO、度量学习、图像检索、视觉模型训练

视觉模型训练 0 次安装 0 次浏览 更新于 9/6/2026

行人重识别(Re-Identification)

简介

本技能使用 NVIDIA TAO 框架训练、评估、推理和导出「行人重识别」(Person Re-Identification, ReID) 模型。ReID 基于度量学习,学习具有鉴别力的特征嵌入,从而在不同摄像头视角下匹配同一行人。

支持的动作

支持 train、evaluate、inference、export 四个动作,命令行通过 re_identification 指定。恢复/再训练使用 train 配合 train.resume_training_checkpoint_path

AutoML 策略

训练动作默认开启 AutoML(automl_policy: on)。可通过用户指令关闭,关闭时则直接使用模型训练。优化指标为 cmc_rank_1,方向为最大化。

数据集要求

  • 数据集类型:re_identification
  • 需要 train/test/query 三组数据,分别配置到 dataset.train_dataset_dirdataset.test_dataset_dirdataset.query_dataset_dir
  • 评估和推理还需要 test 与 query 数据集

关键参数

  • dataset.num_classes:身份数量,必须与训练数据中的唯一身份数一致。
  • model.backbone:默认 resnet_50
  • dataset.batch_size:默认 64,建议显存满足时使用较大批量。
  • dataset.num_instances:每个身份在一个 mini-batch 中的实例数,用于度量学习采样。
  • train.num_gpus:GPU 数量,默认 1,推荐 2。

模型与运行

模型采用 Lightning 管理多卡分布式训练,强制混合精度 FP16。导出可生成 ONNX 文件,推理输出 JSON 结果。所有命令在 Docker 中运行,需要 GPU 环境,镜像为:nvcr.io/nvidia/tao/tao-toolkit:7.1.0-pyt

关键注意事项

  • 确保身份类别数与数据集一致。
  • 查询集和 gallery 集必须共享同一套身份命名空间。
  • 加载受信任检查点时可设置 TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1 以兼容 PyTorch 2.6。