Peterande/D-FINE
D-FINE: Redefine Regression Task of DETRs as Fine-grained Distribution Refinement [ICLR 2025 Spotlight]
D‑FINE – 세밀한 분포 개선을 통한 실시간 객체 탐지
무엇인가요 – D‑FINE는 DETR(DEtection TRansformer) 아키텍처를 기반으로 한 객체 탐지기의 패밀리입니다. 저자들은 기존의 경계 상자 회귀를 세밀한 분포 개선(FDR) 문제로 재해석하고, 글로벌 최적 위치 자기 증류(GO‑LSD) 모듈을 추가했습니다. 그 결과, 실시간 속도(엔비디아 T4에서 수백 FPS)로 작동하면서 최신 기준의 COCO/AP 점수를 달성하는 모델들(‑N, ‑S, ‑M, ‑L, ‑X)이 도출되었습니다.
핵심 아이디어
- FDR: 단일 상자 좌표를 예측하는 대신, 가능한 위치에 대한 이산 분포를 예측하고 반복적으로 개선함으로써, 추가 계산 비용 없이 더 정밀한 위치 추정을 가능하게 합니다.
- GO‑LSD: 모델이 글로벌 최적의 상자 예측을 생성하도록 가르치는 자기 증류 방식이며, 다시 한번 추론 비용 증가 없이 구현됩니다.
- 추가 오버헤드 없음: 두 가지 기법은 모두 학습 파이프라인에 내장되어 있으며, 추론 시에는 일반 DETR와 동일한 가벼운 백본(HGNetV2 변형)과 트랜스포머 디코더를 사용합니다.
모델 라이브러리 – 다음 데이터셋용 사전 학습된 체크포인트가 제공됩니다:
- COCO (표준 검출 벤치마크) – 약 4 M에서 62 M 파라미터까지 5개의 크기, AP는 ‑N의 42.8 %에서 ‑X의 55.8 %까지.
- Objects365 + COCO – 더 큰 Objects365 데이터셋에서 사전 학습한 후 COCO에서 파인튜닝한 모델로, AP가 최대 59.3 %까지 향상됩니다.
- Objects365만 – 자신의 데이터에 파인튜닝하기 위해 강력한 일반 탐지기를 원하는 사용자용.
모든 체크포인트에는 설정 파일(YAML)과 학습 로그가 포함되어 있습니다.
시작하기
- 환경 – Python 3.11을 사용하는 conda 환경을 생성하고
requirements.txt를 설치합니다. - 데이터 – 리포지토리는 COCO‑2017, Objects365, CrowdHuman 또는 COCO 형식에 맞는 사용자 정의 데이터셋을 지원합니다. 경로 설정 방법은 README에 자세히 설명되어 있습니다.
- 학습 –
export model=l(n/s/m/l/x)로 모델 크기를 선택하고,torchrun을 사용해 GPU를 across로 학습을 시작합니다. 예시:CUDA_VISIBLE_DEVICES=0,1,2,3 torchrun --master_port=7777 \ --nproc_per_node=4 train.py -c configs/dfine/dfine_hgnetv2_${model}_coco.yml \ --use-amp --seed=0 - 테스트 / 파인튜닝 –
--test-only또는-t <ckpt>를 사용한 유사한 명령어로 실행합니다.
성능
- 지연 시간은 T4 GPU(16비트 부동소수점, TensorRT 10.4)에서 배치 크기 1로 측정되었습니다. 최소 모델(‑N)은 약 2 ms(≈472 FPS)로 실행되고, 최대 모델(‑X)은 약 13 ms(≈77 FPS)입니다.
- FLOPs는 ‑N의 7 GFLOPs에서 ‑X의 202 GFLOPs까지입니다.
- 리포지토리에는 D‑FINE가 어려운 도로 장면 클립에서 YOLO‑11를 능가하는 동영상 데모가 포함되어 있습니다.
라이선스 및 참고 사항
- 코드는 Apache 2.0 라이선스 하에 제공됩니다. Objects365에서 학습된 체크포인트는 해당 데이터셋의 라이선스 제약을 따르며, 상용 사용을 자동으로 허용하지 않습니다.
- 프로젝트는 지속적으로 유지 관리되고 있으며(2024‑11‑07까지 업데이트 기록), 인터랙티브 추론을 위한 허깅페이스 스페이스도 제공됩니다.
누가 사용해야 할까요
- 빠르고 정확한 트랜스포머 기반 탐지기를 필요로 하는 연구자.
- 더 큰 DETR 변형의 고비용 계산 없이 실시간 애플리케이션(예: 비디오 분석, 로봇 공학)용 즉시 실행 가능한 모델을 원하는 실무자.
- 사용자 정의 COCO 형식 데이터셋에서 파인튜닝을 원하는 누구나. 리포지토리는 데이터 준비 및 클래스 매핑 조정용 스크립트를 제공합니다.
위의 모든 세부 정보는 리포지토리의 README에서 직접 인용되었으며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트