다중 객체 추적 데이터셋 개요#
다중 객체 추적은 객체를 식별하고 비디오 프레임 전반에서 감지된 각 객체에 고유 ID를 유지하는 비디오 분석의 핵심 요소입니다. Ultralytics YOLO는 감시, 스포츠 분석, 교통 모니터링을 비롯한 다양한 분야에 적용할 수 있는 강력한 추적 기능을 제공합니다.
데이터셋 형식#
Track 모드는 추적기를 학습시키지 않으며 추적기 전용 데이터셋도 필요하지 않습니다. 해당 작업의 표준 데이터셋 형식으로 감지, 분할, 포즈 또는 OBB 모델을 학습한 다음, 결과 가중치를 model.track() 또는 yolo track과 함께 사용하세요. 선택한 추적기는 추론 시 프레임 전반에서 모델의 예측을 연관시킵니다.
사용 가능한 추적기#
Ultralytics YOLO는 다음 추적 알고리즘을 지원합니다.
- BoT-SORT - 이 추적기를 활성화하려면
botsort.yaml을 사용하세요. - ByteTrack - 이 추적기를 활성화하려면
bytetrack.yaml을 사용하세요. - OC-SORT - 이 추적기를 활성화하려면
ocsort.yaml을 사용하세요. - Deep OC-SORT - 이 추적기를 활성화하려면
deepocsort.yaml을 사용하세요. - FastTracker - 이 추적기를 활성화하려면
fasttrack.yaml을 사용하세요. - TrackTrack - 이 추적기를 활성화하려면
tracktrack.yaml을 사용하세요(기본값).
사용법#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)프레임 간 추적 유지#
비디오 프레임 전반에서 연속 추적을 수행하려면 persist=True 매개변수를 사용할 수 있습니다.
import cv2
from ultralytics import YOLO
# YOLO 모델 로드
model = YOLO("yolo26n.pt")
# 비디오 파일을 엽니다
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# 프레임 간 추적 유지 기능을 사용하여 추적을 실행합니다.
results = model.track(frame, persist=True)
# 결과 시각화
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()자주 묻는 질문#
Ultralytics YOLO로 다중 객체 추적을 사용하려면 제공된 Python 또는 CLI 예제부터 시작할 수 있습니다. 시작 방법은 다음과 같습니다.
예제from ultralytics import YOLO model = YOLO("yolo26n.pt") # YOLO26 모델을 불러옵니다 results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)이 명령은 YOLO26 모델을 불러와 지정된 신뢰도(
conf) 및 교집합 대 합집합(iou) 임계값으로 주어진 비디오 소스의 객체를 추적합니다. 자세한 내용은 Track 모드 설명서를 참조하세요.Ultralytics YOLO는 실시간 성능과 높은 정확도로 잘 알려진 최첨단 객체 감지 모델입니다. 다중 객체 추적에 YOLO를 사용하면 여러 가지 이점이 있습니다.
- 실시간 추적: 동적인 환경에 적합한 효율적이고 빠른 추적을 수행할 수 있습니다.
- 사전 학습 모델의 유연성: 처음부터 학습할 필요 없이 사전 학습된 감지, 분할, 포즈 또는 OBB 모델을 사용할 수 있습니다.
- 간편한 사용: Python 및 CLI와 간편하게 API를 통합하여 추적 파이프라인을 손쉽게 설정할 수 있습니다.
- 충실한 설명서 및 커뮤니티 지원: Ultralytics는 문제 해결과 추적 모델 개선을 돕는 포괄적인 설명서와 활발한 커뮤니티 포럼을 제공합니다.
YOLO 추적 설정 및 사용에 관한 자세한 내용은 추적 사용 가이드를 참조하세요.
예. 사용자 정의 데이터셋으로 감지, 분할, 포즈 또는 OBB 모델을 학습한 다음, 해당 가중치를
model.track()에 전달하세요. 추적기는 추론 중에 실행되며 별도의 학습 데이터가 필요하지 않습니다.Ultralytics YOLO로 추적 작업을 실행하면 추적된 객체 ID, 바운딩 박스, 신뢰도 점수 등 다양한 데이터가 결과에 포함됩니다. 결과 해석 방법을 간단히 살펴보겠습니다.
- 추적 ID: 각 객체에 고유 ID가 할당되어 프레임 전반에서 객체를 추적하는 데 도움이 됩니다.
- 바운딩 박스: 프레임 내에서 추적된 객체의 위치를 나타냅니다.
- 신뢰도 점수: 추적된 객체를 감지하는 데 대한 모델의 신뢰도를 나타냅니다.
이러한 결과를 해석하고 시각화하는 방법에 관한 자세한 지침은 결과 처리 가이드를 참조하세요.
추적기 구성 파일을 수정하여 추적기를 사용자 지정할 수 있습니다. ultralytics/cfg/trackers에서 기존 추적기 구성 파일을 복사하고 필요에 따라 매개변수를 수정한 다음, 추적기를 실행할 때 해당 파일을 지정하세요.
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")