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 지원).

시작하기 (빠른 시작)

  1. 설치 – 리포지토리를 클론하고 필요한 Python 패키지(파이토치 ≥ 1.8, 및 목록된 종속성)를 설치.
  2. 데이터 준비Dataset Preparation 섹션에 따라 Market‑1501과 같은 재식별 데이터셋을 다운로드하고 형식화.
  3. 학습 – 단일 명령어로 실행, 예시:
    python train.py --train_all               # 기본 ResNet‑50
    python train.py --use_swin --name swin   # Swin‑Transformer 모델
    
    --fp16, --circle, --DG, --usam 등의 플래그를 추가해 특정 기술을 활성화.
  4. 테스트/평가 – 학습 후 평가:
    python test.py --name <model_name>
    python evaluate_gpu.py               # 빠른 GPU 재랭킹
    
  5. 시각화 – 제공된 데모 스크립트를 사용해 랭킹 결과나 히트맵을 확인.

누가 사용할 수 있나요?

  • 새로운 재식별 아이디어를 비교할 수 있는 신뢰할 수 있는 기준이 필요한 연구자.
  • 배포용으로 즉시 사용 가능한 메모리 효율적인 모델이 필요한 실무자 (예: 엣지 GPU에서).
  • 일반적인 컴퓨터 비전 학습 기술을 학습하고 싶은 학생.

왜 중요한가요?

사람 재식별은 감시, 소매 분석, 자율주행 차량 인식 파이프라인의 핵심 요소입니다. 이 프로젝트는 다양한 최신 아키텍처, 손실 함수, 성능 최적화 기술을 하나의 잘 문서화된 리포지토리에 통합함으로써, 접근 장벽을 낮추고 실험 속도를 높입니다.


인용

코드나 사전 학습 모델을 논문에 사용할 경우, README에 안내된 대로 리포지토리를 인용하세요 (저자들이 복사 가능한 BibTeX 항목을 제공합니다).

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트