mikel-brostrom/boxmot
BoxMOT: Pluggable Python and C++ SOTA multi-object tracking modules with support for axis-aligned and oriented bounding boxes
BoxMOT – 플러그형 다중 객체 추적 라이브러리
개요 BoxMOT는 모든 객체 탐지기 위에서 다중 객체 추적기(MOT)를 구축, 실행, 평가할 수 있는 Python(및 선택적 C++) 라이브러리입니다. 네 가지 주요 구성 요소(탐지기, 세그멘테이션 마스크, 외관 인코더(Re‑ID), 추적기)를 독립적으로 교체할 수 있는 깔끔하고 모듈식 API를 제공합니다. 이 라이브러리에는 일반적인 워크플로(추적, 평가, 튜닝, 데이터셋 구축 등)를 위한 명령줄 인터페이스(CLI)와 자체 코드에 추적기를 포함할 수 있는 Python API가 함께 제공됩니다.
주요 기능
| 기능 | 중요성 |
|---|---|
| 통합 CLI | 단일 진입점(boxmot)으로 추적, 평가, 하이퍼파라미터 튜닝, Re‑ID 훈련, 데이터셋 내보내기 등을 처리하여 별도의 도구를 연결할 필요성을 줄입니다. |
| 플러그형 구성 요소 | 탐지기(예: YOLO 변형), 세그멘터, Re‑ID 인코더, 추적기를 간단한 플래그로 혼합하여 사용할 수 있어 빠른 실험이 가능합니다. |
| AABB 및 OBB 지원 | 축에 평행한 경계 상자(AABB)와 회전된 경계 상자(OBB)를 모두 처리하여 객체가 회전하는 항공 또는 스포츠 영상에 유용합니다. |
| 네이티브 C++ 백엔드 | 선택적으로 고성능 C++ 구현(--tracker-backend cpp)을 사용할 수 있으며 CMake를 통해 다른 C++ 프로젝트에 통합할 수 있습니다. |
| 불변 Parquet 빌드 | 탐지, 마스크, 임베딩은 키가 있는 Parquet 파일에 저장되어 데이터셋을 재현 가능하게 하고 실험 간에 재사용할 수 있습니다. |
| 광범위한 벤치마크 테이블 | README에는 여러 내장 추적기(예: occluboost, botsort, bytetrack)에 대한 MOT17, SportsMOT, MMOT OBB 데이터셋의 HOTA, MOTA, IDF1 점수가 나와 있습니다. |
| Python API | 추적기(OccluBoost)를 만들고 NumPy 탐지 및 BGR 프레임을 제공하여 추적 ID를 얻는 예제를 보여주며, 옵션으로 OBB 모드를 지원합니다. |
| 설치 | pip install boxmot은 Python 3.10‑3.13에서 작동하며 GPU 또는 CPU 빌드를 위한 추가 프로필(yolo, service, onnx 등)을 사용할 수 있습니다. |
| 커뮤니티 및 지원 | Discord, GitHub Discussions, 비영리 보전 프로젝트를 위한 제한된 무료 컨설팅을 제공합니다. |
일반적인 사용법
# YOLO‑v2 탐지기, Re‑ID 모델, OccluBoost 추적기를 사용하여 웹캠에서 추적
boxmot track \
--detector yolo26n \
--reid lmbn_n_duke \
--tracker occluboost \
--source 0 --save --show
from boxmot import OccluBoost
import numpy as np
tracker = OccluBoost()
# 탐지: [x1, y1, x2, y2, confidence, class_id]
dets = np.array([[100,200,300,400,0.9,0]])
frame = np.zeros((480,640,3), dtype=np.uint8) # 더미 BGR 이미지
tracks = tracker.update(dets, frame)
print(tracks[:,4].astype(int)) # 추적 ID
대상 사용자
- 재현 가능한 파이프라인이 필요한 새로운 MOT 알고리즘을 프로토타이핑하는 연구자.
- 실시간 추적(예: 야생동물 모니터링, 스포츠 분석)을 배포하는 실무자로서 빠른 C++ 백엔드를 원하는 경우.
- 표준 MOT 벤치마크에서 여러 추적기를 평가하기 위한 통합 인터페이스가 필요한 모든 사람.
자세한 정보
- 전체 문서:
docs/(설치, 모드, API 참조, 추적기 목록). - 벤치마크 결과 및 실험 가이드는 README 테이블과
docs/guides/에 있습니다. - 커뮤니티 도움말은 Discord 또는 GitHub Discussions에서 제공됩니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트