컴퓨터 비전에서 객체 추적이 어떻게 작동하는지 알아보세요. Ultralytics 활용하여 고유 ID로 객체를 식별하고 모니터링하여 실시간 분석을 수행하는 방법을 확인하세요.
물체 추적은 컴퓨터 비전(CV) 에서 동적인 과정으로, 비디오 내 특정 개체를 식별하고 일련의 프레임에 걸쳐 그 움직임을 모니터링하는 것을 포함합니다. 각 스냅샷을 독립적으로 처리하는 정적 이미지 분석과 달리, 추적은 시간 차원을 도입합니다. 이를 통해 인공지능(AI) 시스템은 차량, 사람, 동물 등 감지된 각 항목에 고유 식별 번호(ID)를 할당하고, 해당 객체가 이동하거나 방향을 바꾸거나 일시적으로 가려져도 그 정체성을 유지할 수 있습니다. 이 기능은 고급 영상 이해의 초석으로, 기계가 행동을 분석하고 궤적을 계산하며 원본 영상에서 실행 가능한 통찰력을 도출할 수 있게 합니다.
현대 추적 시스템은 일반적으로 "탐지를 통한 추적" 패러다임을 활용합니다. 이 워크플로는 강력한 탐지 모델과 시간에 따른 탐지 연관성을 위한 특수 알고리즘을 결합합니다. 이 과정은 일반적으로 세 가지 주요 단계를 따릅니다:
이러한 용어들은 밀접하게 연관되어 있지만, 머신러닝(ML) 파이프라인 내에서 각각 고유한 기능을 수행합니다.
객체 동일성 유지 능력은 다양한 산업 분야에서 복잡한 실시간 추론 애플리케이션을 가능하게 합니다.
Ultralytics 고성능 추적 구현을 간편하게 Ultralytics . track 라이브러리의 모드는
검출, 동작 예측 및 ID 할당을 자동으로 처리합니다. 아래 예제는 사용 방법을 보여줍니다.
Ultralytics 플랫폼 비디오에서 track 위한 호환 가능한 YOLO26 모델.
from ultralytics import YOLO
# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)
# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")
추적 생태계를 완전히 이해하려면 단순한 박스 추적이 아닌 객체의 정확한 픽셀 단위 윤곽을 추적하는 인스턴스 분할을 살펴보는 것이 도움이 됩니다. 또한 다중 객체 추적(MOT) 과제는 혼잡한 장면과 가림 현상을 알고리즘이 얼마나 잘 처리하는지 평가하기 위해 MOTChallenge와 같은 널리 사용되는 벤치마크를 포함하는 경우가 많습니다. 실제 환경에 배포할 때는 개발자들이 NVIDIA Stream 이나 OpenCV 와 같은 도구를 활용하여 이러한 모델을 효율적인 파이프라인에 통합합니다.