Skip to content
Tutorials3 min read

다중 객체 추적 어노테이션

다중 객체 추적 어노테이션 개념과 Potato의 비디오 어노테이션 기능이 기본 추적 워크플로를 어떻게 지원할 수 있는지에 대한 개요입니다.

Potato Team

다중 객체 추적(MOT) 어노테이션은 감시, 자율주행차, 스포츠 분석 같은 분야의 학습 데이터를 만들어 냅니다. 이 글에서는 MOT 어노테이션의 핵심 개념과, Potato의 현재 비디오 기능이 기본 추적 워크플로에서 어디까지 도움이 되는지 살펴봅니다.

읽기 전에 간단히 짚어 둘 점이 있습니다. Potato에는 아직 전용 MOT 도구가 없습니다. 지금 당장 자동 ID 관리와 보간이 필요하다면 전문 도구를 쓰는 편이 나을 것입니다. 하지만 규모가 작은 작업이라면 아래의 수작업 방식으로도 충분합니다.

MOT 어노테이션이 어려운 이유

  • 한 프레임에서 다음 프레임으로 객체 ID를 일관되게 유지하기
  • 가려졌다가 다시 나타나는 객체 처리하기
  • 붐비는 장면을 통과하며 객체 따라가기
  • ID 전환과 병합 정리하기

오늘날 Potato의 비디오 어노테이션이 하는 일

Potato는 video_annotation 유형을 통해 기본 비디오 어노테이션을 처리합니다. MOT에 특화된 편의 기능(자동 ID 관리, 보간, 가림 처리)은 아직 들어 있지 않지만, 기본 비디오 라벨링 워크플로는 구성할 수 있습니다.

기본 비디오 어노테이션 설정

yaml
annotation_task_name: "Video Object Labeling"
 
data_files:
  - data/videos.json
 
annotation_schemes:
  - annotation_type: video_annotation
    name: objects
    description: "Label objects in video frames"
    video_path: video
    labels:
      - name: person
      - name: vehicle
      - name: cyclist

샘플 데이터 형식

data/videos.json 파일에는 비디오 경로가 담긴 항목이 들어갑니다.

json
[
  {
    "id": "video_001",
    "video": "/path/to/video.mp4"
  },
  {
    "id": "video_002",
    "video": "/path/to/another_video.mp4"
  }
]

수작업 추적

전용 MOT 기능이 없어도 객체를 수동으로 추적할 수 있습니다. 더 번거롭지만 작동은 합니다.

한 프레임씩 트랙 만들기

  1. 객체가 처음 나타나는 프레임으로 이동합니다
  2. 비디오 어노테이션 인터페이스에서 라벨링합니다
  3. 어노테이션에 "person_1"처럼 일관된 식별자를 부여합니다
  4. 이후 프레임을 차례로 넘기며 같은 식별자로 계속 라벨링합니다

가림 처리하기

객체가 무언가 뒤로 사라질 때:

  1. 객체를 볼 수 있었던 마지막 프레임을 기록합니다
  2. 객체가 다시 나타나면 트랙이 끊기지 않도록 같은 식별자를 재사용합니다
  3. 어노테이션 메모에 가림 구간을 적어 둡니다

고려 중인 기능

다음 기능들은 Potato의 MOT 성능을 크게 높여 줄 것이며, 향후 작업 목록에 올라 있습니다.

  • 새 객체에 대해 ID를 자동으로 증가시키는 자동 ID 할당
  • 키프레임 사이의 선형 또는 3차 트랙 보간
  • 가시성 수준(visible, partial, heavy, not_visible)을 갖춘 가림 처리
  • 프레임에 걸친 객체 경로를 보여 주는 궤적 시각화
  • 트랙 ID를 병합, 분할, 관리하기 위한 트랙 관리 패널
  • 프레임마다 바뀌는 속성을 위한 프레임별 속성

이 중 어느 하나라도 필요하다면 Potato 팀에 연락하거나 직접 기능을 기여해 주십시오.

수작업 MOT 어노테이션 팁

  1. 한 번에 100~200 프레임 정도의 짧은 구간으로 작업하십시오.
  2. "person_001"이나 "vehicle_023"처럼 명확한 ID 체계를 정하고 일관되게 지키십시오.
  3. 가림과 본인이 내린 트랙 결정에 대한 메모를 남기십시오.
  4. 검토 단계를 거치십시오. 오류를 잡기 위해 구간을 앞으로, 그다음 뒤로 재생해 보십시오.
  5. 외부 도구를 활용하십시오. 탐지 모델로 전처리하면 클릭 수를 많이 줄일 수 있습니다.

다른 접근 방법

지금 완전한 MOT 기능이 필요하다면 몇 가지 경로가 있습니다.

  1. 하이브리드 워크플로를 실행하십시오. 초기 라벨링은 Potato에서 하고, 트랙 관리는 전문 MOT 도구로 넘기십시오.
  2. 객체 탐지기로 사전 어노테이션하여 시작용 바운딩 박스를 생성한 뒤 Potato에서 다듬으십시오.
  3. Potato 어노테이션을 내보낸 뒤 사후에 추적 알고리즘을 돌리십시오.

다음으로 갈 곳

Potato에서 비디오 어노테이션이 어떻게 작동하는지에 대한 전체 그림은 원본 문서를 참고하십시오.


현재 비디오 어노테이션 문서는 /docs/features/image-annotation을 참고하십시오.