Yolo 비전 선전
선전
지금 참여하기
용어집

객체 추적

컴퓨터 비전에서 객체 추적이 어떻게 작동하는지 알아보세요. Ultralytics 활용하여 고유 ID로 객체를 식별하고 모니터링하여 실시간 분석을 수행하는 방법을 확인하세요.

물체 추적은 컴퓨터 비전(CV) 에서 동적인 과정으로, 비디오 내 특정 개체를 식별하고 일련의 프레임에 걸쳐 그 움직임을 모니터링하는 것을 포함합니다. 각 스냅샷을 독립적으로 처리하는 정적 이미지 분석과 달리, 추적은 시간 차원을 도입합니다. 이를 통해 인공지능(AI) 시스템은 차량, 사람, 동물 등 감지된 각 항목에 고유 식별 번호(ID)를 할당하고, 해당 객체가 이동하거나 방향을 바꾸거나 일시적으로 가려져도 그 정체성을 유지할 수 있습니다. 이 기능은 고급 영상 이해의 초석으로, 기계가 행동을 분석하고 궤적을 계산하며 원본 영상에서 실행 가능한 통찰력을 도출할 수 있게 합니다.

객체 추적 작동 방식

현대 추적 시스템은 일반적으로 "탐지를 통한 추적" 패러다임을 활용합니다. 이 워크플로는 강력한 탐지 모델과 시간에 따른 탐지 연관성을 위한 특수 알고리즘을 결합합니다. 이 과정은 일반적으로 세 가지 주요 단계를 따릅니다:

  1. 탐지: 각 프레임마다 최신 기술인 YOLO26과 같은 객체 탐지 모델이 이미지를 스캔하여 관심 대상 객체를 위치 파악합니다. 모델은 각 객체의 공간적 범위를 정의하는 경계 상자를 출력합니다.
  2. 모션 예측: 칼만 필터와 같은 알고리즘은 물체의 현재 속도와 궤적을 기반으로 미래 위치를 추정합니다. 이 예측은 다음 프레임의 검색 공간을 축소하여 시스템 효율성을 높입니다.
  3. 데이터 연관성: 시스템은 헝가리안 알고리즘과 같은 최적화 방법을 사용하여 새로운 탐지 결과를 기존 트랙과 매칭합니다. 이 단계는 종종 예측된 박스가 새로운 탐지 결과와 얼마나 중첩되는지 측정하기 위해 합집합 대비 교집합(IoU) 과 같은 지표를 활용합니다. 고급 트래커는 유사하게 보이는 객체를 재식별하기 위해 시각적 특징 추출을 사용할 수도 있습니다.

객체 추적 vs. 객체 탐지

이러한 용어들은 밀접하게 연관되어 있지만, 머신러닝(ML) 파이프라인 내에서 각각 고유한 기능을 수행합니다.

  • 물체 탐지는 "이 이미지에 무엇이 존재하며 어디에 있는가?"라는 질문에 답합니다. 이는 상태 비저장 방식이며, 이전 프레임에 대한 기억이 없다는 의미입니다. 비디오를 차량이 통과할 경우, 탐지기는 프레임 1에서 "차량"을, 프레임 2에서 "차량"을 인식하지만 이들이 동일한 차량임을 알지 못합니다.
  • 객체 추적은 " 이 특정 객체가 어디로 가고 있는가?"라는 질문에 답합니다. 이는 상태를 유지하는 방식입니다. 프레임 1의 "차량"을 프레임 2의 "차량"과 연결하여 시스템이 "차량 ID #42"가 좌에서 우로 이동 중임을 기록할 수 있게 합니다. 이는 예측 모델링 및 계수 같은 작업에 필수적입니다.

실제 애플리케이션

객체 동일성 유지 능력은 다양한 산업 분야에서 복잡한 실시간 추론 애플리케이션을 가능하게 합니다.

  • 지능형 교통 시스템: 자율주행 차량이 안전하게 주행하기 위해서는 추적 기능이 필수적입니다. 보행자 및 다른 차량을 추적함으로써 자동차는 잠재적 충돌을 예측할 수 있습니다. 또한 교통 엔지니어들은 이러한 시스템을 속도 추정 목적으로 활용하여 안전 규정을 시행하고 교통 흐름을 최적화합니다.
  • 소매 분석: 오프라인 매장은 소매 AI를 활용해 고객 행동을 이해합니다. 추적 기능을 통해 매장 관리자는 물품 계수를 수행해 방문객 수를 측정하고, 히트맵을 이용해 진열대 앞 체류 시간을 분석하며, 대기 시간을 줄이기 위해 대기열 관리를 최적화합니다.
  • 스포츠 분석: 프로 스포츠에서 코치들은 추적 기술과 자세 추정 기술을 결합하여 선수의 생체역학과 팀 전술을 분석합니다. 이 데이터는 육안으로는 포착할 수 없는 패턴을 드러냄으로써 경쟁 우위를 제공합니다.

Python 추적 구현하기

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 와 같은 도구를 활용하여 이러한 모델을 효율적인 파이프라인에 통합합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기