layumi/Person_reID_baseline_pytorch
:bouncing_ball_person: Pytorch ReID: A tiny, friendly, strong pytorch implement of person re-id / vehicle re-id baseline. Tutorial 👉https://github.com/layumi/Person_reID_baseline_pytorch/tree/master/tutorial
这是什么仓库?
Person ReID Baseline (PyTorch) 是一个用于 对象再识别(在不同摄像头视角之间匹配同一人物(或其他对象)的图像)的开源代码库。它提供了一个紧凑、开箱即用的实现,包含了自2017年以来研究文献中已成为标准的多种技巧,全部基于 PyTorch 构建。
主要亮点(来自 README)
| 方面 | 详情 |
|---|---|
| 目标 | 提供一个 强大(达到最先进性能)、小巧(使用 bf16/fp16 时约占用 2 GB GPU 内存)、友好(轻松开启/关闭技巧)的人体再识别基线。 |
| 性能 | 仅使用 softmax 损失,该基线在 Market‑1501 基准上达到 Rank@1 ≈ 88 %,mAP ≈ 71 %。 |
| 支持模型 | ResNet、ResNet‑IBN、DenseNet、HRNet、EfficientNet、Swin Transformer、Swin‑V2、ConvNeXt、DinoV3 等。 |
| 损失函数 | 交叉熵、Circle、三元组、对比、Sphere、Lifted、ArcFace、CosFace、实例等。 |
| 训练技巧 | bf16/fp16、随机擦除、线性预热、torch.compile、DDP(多 GPU)、合成 DG‑Market 数据集、对抗训练等。 |
| 推理 / 测试 | TensorRT、PyTorch JIT、Conv‑BN 融合、多查询评估、GPU 加速重排序、排名和热力图可视化。 |
| 资源 | 8 分钟教程、中文视频、免费 GPU 训练用 Colab 笔记本、预训练模型下载。 |
| 许可 | MIT 许可证。 |
| 社区 | 超过 2,500 次引用,数千个 GitHub 星标,更新历史可追溯至 2026 年(例如支持 DinoV3)。 |
如何快速上手(快速开始)
- 安装 – 克隆仓库并安装所需的 Python 包(PyTorch ≥ 1.8,以及列出的依赖项)。
- 准备数据 – 按照 Dataset Preparation 部分下载并格式化一个再识别数据集,例如 Market‑1501。
- 训练 – 运行单条命令,例如:
添加python train.py --train_all # 原生 ResNet‑50 python train.py --use_swin --name swin # Swin‑Transformer 模型--fp16、--circle、--DG、--usam等标志以启用特定技巧。 - 测试 / 评估 – 训练完成后,使用以下命令评估:
python test.py --name <model_name> python evaluate_gpu.py # 快速 GPU 重排序 - 可视化 – 使用提供的演示脚本查看排名结果或热力图。
谁会用到这个?
- 需要可靠基线来对比新再识别想法的研究人员。
- 希望获得即用型、内存高效模型用于部署(例如在边缘 GPU 上)的实践者。
- 寻找教程式代码库以学习常见计算机视觉训练技巧的学生。
为什么重要?
人物再识别是许多监控、零售分析和自动驾驶感知流水线的核心组件。通过将广泛的现代架构、损失函数和性能优化技巧整合到一个文档齐全的仓库中,该项目降低了入门门槛,加速了实验进程。
引用
如果在出版物中使用代码或预训练模型,请按照 README 中的指示引用该仓库(作者提供了可直接复制的 BibTeX 条目)。
相关
- 项目
- 项目
- 项目
- Dispatch
- 项目