객체 재식별(Re-ID)이 카메라 뷰 간에 어떻게 동일성을 매칭하는지 알아보세요. 강력한 시각적 추적을 위해 Ultralytics 및 BoT-SORT를 활용하는 방법을 확인하세요.
객체 재식별(Re-ID)은 컴퓨터 비전(CV) 분야의 특수 작업으로, 서로 겹치지 않는 다양한 카메라 뷰나 장기간에 걸쳐 특정 객체나 개인을 매칭하는 것을 목표로 합니다. 표준 객체 탐지(object detection)가 객체의 종류(예: 이미지에 '사람'이나 '차량'이 포함됨)를 인식하는 데 초점을 맞추는 반면, Re-ID는 한 걸음 더 나아가 특정 개인이나 차량이 무엇인지 판단함으로써 특정 개체나 개인의 클래스를 식별합니다. 객체 탐지가 개체의 종류(예: 이미지 내 "사람" 또는 "차량" 식별)를 인식하는 데 초점을 맞추는 반면, Re-ID는 시각적 외관을 기반으로 특정 개인이나 차량을 식별하는 한 단계 더 나아간 작업입니다. 이 기능은 단일 카메라로 전체 영역을 커버할 수 없는 대규모 환경에서 움직임의 일관된 서사를 구축하고, 분리된 시각적 관측들 사이의 연결 고리를 효과적으로 이어주는 데 필수적입니다.
Re-ID의 핵심 과제는 조명, 카메라 각도, 자세 및 배경 잡음의 변화에도 불구하고 동일성을 유지하는 것이다. 이를 달성하기 위해 시스템은 일반적으로 심층 신경망을 활용한 다단계 파이프라인을 사용한다.
Re-ID와 객체 추적은 시각 처리 파이프라인에서 상호 보완적이면서도 서로 다른 역할을 수행하므로 이를 구분하는 것이 중요하다.
분리된 뷰 간에 정체성을 유지하는 능력은 다양한 산업 분야에서 정교한 분석을 가능하게 합니다.
현대적인 비전 AI 워크플로는 고성능 탐지기와 재식별(Re-ID) 개념을 활용하는 추적기를 결합하는 경우가 많습니다. YOLO26 모델은 외관 특징을 활용해 track 유지하는 BoT-SORT 같은 추적기와 원활하게 통합될 수 있습니다. 데이터셋과 훈련 파이프라인을 효율적으로 관리하려는 사용자를 위해 Ultralytics 주석 작업과 배포를 위한 통합 인터페이스를 제공합니다.
다음 예제는 Ultralytics Python 사용하여 객체 추적을 수행하는 방법을 보여줍니다. 이 패키지는 신원 지속성을 자동으로 관리합니다:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Track objects in a video file
# The 'persist=True' argument is vital for maintaining IDs across frames
# BoT-SORT is a tracker that can utilize appearance features for Re-ID
results = model.track(
source="https://www.ultralytics.com/blog/ultralytics-yolov8-for-speed-estimation-in-computer-vision-projects",
tracker="botsort.yaml",
persist=True,
)
# Print the unique ID assigned to the first detected object in the first frame
if results[0].boxes.id is not None:
print(f"Tracked Object ID: {results[0].boxes.id[0].item()}")
강력한 성능을 위해 이러한 모델을 훈련하려면 고품질 훈련 데이터가 필요합니다. 특정 재식별(Re-ID) 하위 모듈 훈련 시에는 임베딩의 판별력을 정교화하기 위해 트리플릿 손실(triplet loss )과 같은 기법이 종종 활용됩니다. 재식별 시스템이 오인식(false match)을 얼마나 잘 피하는지 평가할 때 정밀도(precision)와 재현율(recall )의 미묘한 차이를 이해하는 것도 중요합니다.