다중 객체 추적 데이터셋 개요#
다중 객체 추적은 비디오 분석의 핵심 구성 요소로, 비디오 프레임 전체에서 객체를 식별하고 감지된 각 객체에 고유 ID를 유지합니다. Ultralytics YOLO는 감시, 스포츠 분석, 교통 모니터링 등 다양한 분야에 적용할 수 있는 강력한 추적 기능을 제공합니다.
데이터셋 포맷#
Track 모드는 트래커를 학습시키거나 트래커 전용 데이터셋을 요구하지 않습니다. 해당 태스크의 표준 데이터셋 포맷으로 detection, segmentation, pose 또는 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
# Load the YOLO model
model = YOLO("yolo26n.pt")
# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Run tracking with persistence between frames
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()FAQ#
Ultralytics YOLO에서 다중 객체 추적을 사용하려면 제공된 Python 또는 CLI 예제를 사용하여 시작할 수 있습니다. 시작 방법은 다음과 같습니다:
예시from ultralytics import YOLO model = YOLO("yolo26n.pt") # Load the YOLO26 model results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)이 명령어들은 YOLO26 모델을 로드하여 특정 신뢰도(
conf) 및 Intersection over Union (iou) 임계값을 사용하여 지정된 비디오 소스에서 객체를 트래킹합니다. 자세한 내용은 트랙 모드 문서를 참조하세요.Ultralytics YOLO는 실시간 성능과 높은 accuracy로 잘 알려진 최첨단 object detection 모델입니다. 다중 객체 추적에 YOLO를 사용하면 다음과 같은 여러 가지 장점이 있습니다.
- 실시간 추적: 동적 환경에 이상적인 효율적이고 고속인 추적을 달성합니다.
- 사전 학습된 모델의 유연성: 처음부터 학습할 필요가 없으며, 사전 학습된 감지, 세그멘테이션, 포즈 또는 OBB 모델을 간단히 사용하면 됩니다.
- 사용 편의성: Python 및 CLI 모두에서 간편한 API 통합을 통해 추적 파이프라인을 쉽게 설정할 수 있습니다.
- 광범위한 문서 및 커뮤니티 지원: Ultralytics는 문제를 해결하고 추적 모델을 개선할 수 있도록 포괄적인 문서와 활발한 커뮤니티 포럼을 제공합니다.
트래킹을 위한 YOLO 설정 및 사용에 대한 자세한 내용은 트랙 사용 가이드를 참조하세요.
그렇습니다. 커스텀 데이터셋으로 detection, segmentation, pose 또는 OBB 모델을 학습시킨 후, 해당 가중치를
model.track()에 전달하십시오. 트래커 자체는 추론 중에 실행되며 별도의 학습 데이터가 필요하지 않습니다.Ultralytics YOLO로 추적 작업을 실행한 후, 결과에는 추적된 객체 ID, 경계 상자(bounding box), 신뢰도 점수와 같은 다양한 데이터 포인트가 포함됩니다. 결과를 해석하는 방법에 대한 간단한 개요는 다음과 같습니다:
- 추적된 ID: 각 객체에는 고유 ID가 할당되어 프레임 간 추적에 도움을 줍니다.
- 경계 상자(Bounding boxes): 이는 프레임 내 추적된 객체의 위치를 나타냅니다.
- 신뢰도 점수: 이는 추적된 객체를 감지하는 모델의 신뢰도를 반영합니다.
이러한 결과를 해석하고 시각화하는 방법에 대한 자세한 지침은 결과 처리 가이드를 참조하세요.
트래커 설정 파일의 수정된 버전을 생성하여 트래커를 커스터마이징할 수 있습니다. ultralytics/cfg/trackers에서 기존 트래커 설정 파일을 복사하고, 필요에 따라 파라미터를 수정한 후 트래커를 실행할 때 이 파일을 지정하세요.
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")