Tutorials3 min read
프레임 단위 컨트롤을 활용한 영상 주석
프레임 단위 탐색, 타임스탬프 마커, 시간 기반 이벤트 레이블링, radio 또는 span 스키마를 활용한 구간별 분류 기능으로 Potato에서 영상 주석을 설정합니다.
Potato Team
영상 주석은 동작 인식, 객체 추적, 시간 기반 이벤트 감지와 같은 작업을 위한 학습 데이터를 만드는 방법입니다. 이 튜토리얼에서는 프레임 탐색, 클립을 시간 단위로 구간 나누기, 그리고 레이블링을 빠르게 유지하는 방법을 다룹니다. 전체 영상 스키마 참조는 원본 문서를 확인하십시오.
영상 주석으로 할 수 있는 것
Potato는 레이블링 작업과 분류 작업 모두에서 영상을 처리합니다.
- 영상 분류: 전체 영상 클립에 레이블을 답니다
- 다중 레이블 태깅: 영상에 여러 태그를 적용합니다
- 시간 기반 주석: 영상 속 이벤트를 표시합니다
기본 영상 설정
yaml
annotation_task_name: "Video Action Recognition"
data_files:
- "data/videos.json"
annotation_schemes:
- annotation_type: video_annotation
name: action
description: "What action is shown in this video?"
labels:
- Walking
- Running
- Jumping
- Sitting
- Standing
- Other프레임 단위 탐색
yaml
annotation_schemes:
- annotation_type: video_annotation
name: frame_label
description: "Annotate video frames"
labels:
- Action
- No action시간 구간 주석
이벤트를 시작 시간과 종료 시간으로 표시합니다.
yaml
annotation_task_name: "Video Event Detection"
data_files:
- "data/videos.json"
annotation_schemes:
- annotation_type: video_annotation
name: events
description: "Mark all events and their duration"
labels:
- name: conversation
color: "#4ECDC4"
- name: action_sequence
color: "#FF6B6B"
- name: transition
color: "#45B7D1"
- name: title_card
color: "#FFEAA7"구간 만들기
- 이벤트의 시작 지점으로 이동합니다
[를 누르거나 "Mark Start"를 클릭합니다- 이벤트의 끝 지점으로 이동합니다
]를 누르거나 "Mark End"를 클릭합니다- 이벤트 레이블을 선택합니다
- 모든 이벤트에 대해 반복합니다
핵심 순간 표시하기
클립 내의 특정 순간에 태그를 답니다.
yaml
annotation_schemes:
- annotation_type: video_annotation
name: key_moments
description: "Mark important moments"
labels:
- name: action_start
description: "When the action begins"
color: "#22C55E"
- name: action_peak
description: "Most intense moment"
color: "#EF4444"
- name: action_end
description: "When the action completes"
color: "#3B82F6"영상별 분류
표준 주석 유형으로 영상 전체를 분류합니다.
yaml
annotation_schemes:
- annotation_type: radio
name: video_label
description: "What is happening in this video?"
labels:
- Person visible
- No person
- Transition/blur카테고리 레이블이 있는 영상
카테고리 레이블로 영상에 주석을 답니다.
yaml
annotation_schemes:
- annotation_type: video_annotation
name: video_labels
description: "Label video content"
labels:
- name: person
color: "#FF6B6B"
- name: vehicle
color: "#4ECDC4"
- name: ball
color: "#FFEAA7"완전한 구성 예시
yaml
annotation_task_name: "Sports Video Analysis"
data_files:
- "data/sports_clips.json"
output_annotation_dir: "annotations/"
export_annotation_format: "jsonl"
annotation_schemes:
# Game events
- annotation_type: video_annotation
name: game_events
description: "Mark game events"
labels:
- name: goal
color: "#22C55E"
- name: foul
color: "#EF4444"
- name: corner_kick
color: "#3B82F6"
- name: free_kick
color: "#F59E0B"
- name: penalty
color: "#EC4899"
- name: offside
color: "#8B5CF6"
# Clip-level annotation
- annotation_type: multiselect
name: clip_tags
description: "Tags for this clip"
labels:
- Highlight worthy
- Good camera angle
- Multiple players
- Close-up
- Wide shot
- Slow motion available
annotation_guidelines:
title: "Sports Video Annotation Guide"
content: |
## Event Marking
- Mark events from when they START
- Include the full play sequence
- Goal: From shot to ball crossing line
## Navigation
- Space: Play/Pause
- Arrow keys: Frame navigation출력 형식
json
{
"id": "clip_001",
"video_path": "/videos/match_highlight.mp4",
"annotations": {
"game_events": ["goal", "corner_kick"],
"clip_tags": ["Highlight worthy", "Good camera angle"]
}
}영상 주석을 위한 팁
- 첫 번째 훑어보기: 먼저 일반 속도로 시청하십시오
- 정밀도를 위한 슬로모션: 정확한 타임스탬프에는 0.25배속을 사용하십시오
- 키보드 단축키: 마우스보다 훨씬 빠릅니다
- 휴식 취하기: 영상 주석은 시각적으로 부담이 큽니다
- 일관된 기준: 경계 사례를 명확히 문서화하십시오
다음 단계
전체 문서는 /docs/features/image-annotation(영상 섹션)에 있습니다.