Apache 2.0 객체 추적 라이브러리 Roboflow trackers

8/14/2026 ·impact

Apache 2.0 객체 추적 라이브러리 Roboflow trackers

Roboflow trackers는 멀티 객체 추적 알고리즘을 clean-room 방식으로 다시 구현해 Apache 2.0으로 낸 파이썬 라이브러리입니다. 쓰던 탐지 모델은 건드리지 않고, 상자 좌표만 넘기면 같은 대상에 번호가 붙습니다.

들어 있는 트래커는 SORT, ByteTrack, OC-SORT, BoT-SORT, C-BIoU, McByte 여섯 가지입니다. Python 3.10 이상에서 pip으로 설치하고, 파이썬 API와 CLI 양쪽으로 씁니다.

탐지 모델은 그대로 두고 추적만 얹는다

탐지 모델은 프레임마다 상자를 찾을 뿐, 앞 프레임의 그 사람이 지금 이 사람인지는 모릅니다. 같은 대상에 같은 번호를 붙여 앞뒤 프레임을 이어 주는 일이 추적기 몫입니다. trackers는 탐지 쪽을 가리지 않아서 YOLO든 DETR이든 RT-DETR이든 상자만 내놓으면 그대로 받습니다.

trackers 문서에 실린 예제를 옮기면 세 줄입니다. 트래커를 하나 만들고, 프레임마다 나온 탐지 결과를 update에 넣으면 번호가 붙은 추적 결과가 돌아옵니다.

from trackers import ByteTrackTracker

tracker = ByteTrackTracker()
tracked = tracker.update(detections)

update에 들어가는 detections 자리가 supervision.Detections입니다. 이미 supervision으로 결과를 그리고 있었다면 형식을 맞추는 변환 코드가 따로 필요하지 않습니다. 탐지 모델을 바꿔도 이 세 줄은 그대로 남습니다.

Apache 2.0 재구현이라 법무 검토가 줄어든다

이 라이브러리가 따로 존재하는 이유가 여기에 있습니다. 객체 추적 알고리즘은 논문과 함께 공개된 구현이 이미 나와 있지만, 학술 코드는 라이선스가 제한적이거나 명시가 모호한 경우가 있습니다. 그대로 상업 제품에 넣기가 어려워서, 코드를 쓰기 전에 법무 검토가 한 단계 더 붙습니다.

trackers는 같은 알고리즘을 처음부터 다시 짜서 Apache 2.0 라이선스로 배포합니다. 알고리즘 자체는 논문으로 공개된 것이고, 다시 쓴 쪽은 그 구현입니다. 상업 제품 투입이 라이선스에서 막혀 있었다면 걸림돌 하나는 사라집니다.

트래커는 여섯 가지, 순위는 데이터셋마다 다르다

여섯 가지 중 넷은 MOT17 기준 HOTA 점수가 함께 공개돼 있습니다. BoT-SORT가 63.7로 가장 높고 SORT가 58.4로 가장 낮습니다. 다만 이 순서는 MOT17이라는 영상 묶음 하나에서 나온 결과입니다. 데이터셋이 바뀌면 위아래도 바뀌기 때문에 제일 높은 값을 그대로 집어 오면 안 됩니다.

이름만 봐서는 무엇이 다른지 알기 어려우니, 점수와 성격을 한 줄씩 붙여 견줄 수 있게 정리했습니다.

트래커MOT17 HOTA특징
SORT58.4칼만 필터 기반의 기본형
ByteTrack59.4낮은 신뢰도 상자까지 두 단계로 붙임
OC-SORT61.9놓친 대상을 되찾는 쪽에 강함
BoT-SORT63.7카메라가 움직이는 영상을 보정

나머지 둘은 C-BIoU와 McByte입니다. McByte는 분할 마스크를 함께 쓰는 BoT-SORT 확장입니다. ByteTrack은 SportsMOT에서 HOTA 73.0을 냅니다. 데이터셋이 다르면 점수의 기준선 자체가 달라지니, MOT17 표의 등수를 다른 영상에 그대로 옮겨 적으면 안 됩니다.

설치는 pip 한 줄, 영상은 CLI로 바로 돌린다

설치는 pip install trackers 한 줄이고 Python 3.10 이상이 필요합니다. 파이썬 코드를 한 줄도 짜지 않고 CLI만으로 영상 파일 하나를 넣어 번호가 붙은 결과 영상을 뽑아 볼 수 있습니다. 아래 두 줄이 설치부터 첫 결과물까지 전부입니다.

pip install trackers
trackers track --source video.mp4 --output output.mp4 --tracker bytetrack

--tracker 값만 바꾸면 같은 영상에 다른 추적기를 돌려 비교할 수 있습니다. 입력은 영상 파일 말고도 웹캠, RTSP 스트림, 이미지 디렉터리를 받습니다. 현장 카메라를 그대로 물려 놓고 확인하는 경로가 따로 준비돼 있는 셈입니다.

MOT 지표로 채점하는 평가 도구가 같이 들어 있고, MOT17과 SoccerNet 데이터셋은 CLI로 내려받습니다. 공개된 점수를 믿고 하나를 고르는 대신, 내가 다룰 영상에서 트래커를 바꿔 가며 숫자를 직접 내볼 수 있다는 뜻입니다.

trackers 문서 열기

탐지 모델이 없으면 이것만으로는 안 돌아간다

이 라이브러리는 상자를 만들어 주지 않습니다. 탐지 모델이 이미 돌고 있고 거기에 번호만 붙이면 되는 상황, 그게 이 라이브러리가 맞는 자리입니다. 탐지부터 시작해야 한다면 모델을 고르고 학습시키는 일이 먼저입니다. 객체 추적은 그 위에 얹는 층이라 순서를 건너뛸 수 없습니다.

라이선스도 한쪽만 정리하면 끝나지 않습니다. 추적기를 Apache 2.0으로 바꿔도 탐지 모델 쪽 라이선스가 걸리면 제품 투입은 그대로 막힙니다. 탐지와 추적은 따로 따져야 하고, trackers가 답을 주는 것은 추적 한 조각입니다.

쓰던 탐지 모델이 있고 라이선스 때문에 논문 저장소 코드를 못 넣고 있었다면 교체 대상은 그 한 조각이고, 붙이는 비용은 앞의 코드 세 줄입니다. 반대로 탐지 모델부터 만들어야 하거나 사내 실험이라 라이선스가 문제 되지 않는다면, MOT17에서 63.7이냐 58.4냐를 따지는 일은 한참 뒤 순서입니다.

출처: roboflow/trackers 저장소, trackers 공식 문서