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
- 專案