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 패키지(파이토치 ≥ 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
- 프로젝트