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メモリに収まる)、使いやすい(テクニックのオン/オフが簡単)な人物再識別用ベースラインを提供。 |
| 性能 | 交差エントロピー損失のみを使用しても、Market‑1501ベンチマークで Rank@1 ≈ 88 %、mAP ≈ 71 % を達成。 |
| 対応モデル | ResNet、ResNet‑IBN、DenseNet、HRNet、EfficientNet、Swin Transformer、Swin‑V2、ConvNeXt、DinoV3 など。 |
| 損失関数 | Cross‑entropy、Circle、Triplet、Contrastive、Sphere、Lifted、ArcFace、CosFace、Instance など。 |
| トレーニングテクニック | bf16/fp16、ランダムエラージング、線形ウォームアップ、torch.compile、DDP(マルチGPU)、合成DG‑Marketデータセット、 adversarial training など。 |
| 推論/テスト | TensorRT、PyTorch JIT、Conv‑BN融合、マルチクエリ評価、GPU加速再ランク付け、ランキングおよびヒートマップの可視化。 |
| リソース | 8分間チュートリアル、中国語動画、無料GPUでのトレーニング用Colabノートブック、事前学習済みモデルのダウンロード。 |
| ライセンス | MIT License。 |
| コミュニティ | 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上)。
- 一般的なコンピュータビジョントレーニングテクニックを学びたい学生。
なぜ重要なのか?
人物再識別は、監視、小売アナリティクス、自律走行車の認識パイプラインの中心的な要素です。このプロジェクトは、幅広い最新アーキテクチャ、損失関数、パフォーマンス最適化テクニックを、1つのドキュメント化されたリポジトリに統合することで、エントリーバリアを下げ、実験を迅速化しています。
引用
このコードや事前学習済みモデルを出版物で使用する場合、READMEに示されている通りにリポジトリを引用してください(著者らがコピー可能なBibTeXエントリを提供しています)。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト