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에서 제공됩니다.

관련

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