教程阅读约需 4 分钟
逐帧视频标注
设置具有精确帧导航、时间戳标记和时序事件标注的视频标注任务。
Potato Team
视频标注可以为动作识别、目标跟踪和时序事件检测创建训练数据。本教程涵盖帧导航、时间分割和高效的视频标注工作流。
视频标注功能
Potato 支持用于标注和分类任务的视频标注:
- 视频分类:为整个视频片段添加标签
- 多标签标注:为视频应用多个标签
- 时序标注:在视频中标记事件
基本视频设置
yaml
annotation_task_name: "Video Action Recognition"
task_dir: "."
data_files:
- "data/videos.json"
item_properties:
id_key: id
text_key: video_url
output_annotation_dir: "annotation_output/"
export_annotation_format: "jsonl"
annotation_schemes:
- annotation_type: video_annotation
name: action
description: "Mark each stretch of video where one action is happening"
mode: segment
labels:
- name: walking
color: "#4ECDC4"
key_value: "1"
- name: running
color: "#FF6B6B"
key_value: "2"
- name: jumping
color: "#45B7D1"
key_value: "3"
- name: sitting
color: "#FFEAA7"
key_value: "4"
user_config:
allow_all_users: true逐帧导航
yaml
min_segments: 1
label_requirement:
required: true时间片段标注
用开始和结束时间标记事件:
yaml
annotation_schemes:
- annotation_type: video_annotation
name: frame_label
description: "Classify the current frame"
mode: frame
frame_stepping: true
show_timecode: true
video_fps: 30
labels:
- name: action
color: "#FF6B6B"
key_value: "1"
- name: no_action
color: "#9CA3AF"
key_value: "2"创建片段
- 导航到事件的起始位置
- 按
[或点击"标记起点" - 导航到事件的结束位置
- 按
]或点击"标记终点" - 选择事件标签
- 对所有事件重复此过程
视频分类
用标签对视频内容进行分类:
yaml
annotation_schemes:
- annotation_type: video_annotation
name: key_moments
description: "Mark the moment each action begins, peaks, and ends"
mode: keyframe
labels:
- name: action_start
color: "#22C55E"
key_value: "1"
- name: action_peak
color: "#EF4444"
key_value: "2"
- name: action_end
color: "#3B82F6"
key_value: "3"视频级分类
使用标准标注类型对视频进行分类:
yaml
annotation_schemes:
- annotation_type: video_annotation
name: plays
description: "Mark each play and describe it"
mode: segment
labels:
- name: attack
color: "#EF4444"
- name: defense
color: "#3B82F6"
segment_schemes:
- annotation_type: radio
name: outcome
description: "How did this play end?"
labels: ["scored", "turnover", "out of play"]带标签的视频标注
用类别标签标注视频:
yaml
annotation_schemes:
- annotation_type: multiselect
name: clip_tags
description: "Tags that apply to this clip as a whole"
labels:
- Highlight worthy
- Good camera angle
- Multiple players
- Close-up
- Wide shot
- Slow motion available完整视频标注配置
yaml
annotation_task_name: "Sports Video Analysis"
task_dir: "."
data_files:
- "data/sports_clips.json"
item_properties:
id_key: id
text_key: video_url
output_annotation_dir: "annotations/"
export_annotation_format: "jsonl"
annotation_instructions: |
## Event marking
- Mark an event from the frame it **starts**, not from the frame it becomes obvious.
- Include the full play sequence in the segment.
- For a goal, run the segment from the shot to the ball crossing the line.
## Navigation
- `Space` plays and pauses, `,` and `.` step one frame.
- `[` and `]` set the segment boundaries, `Enter` creates the segment.
annotation_schemes:
- annotation_type: video_annotation
name: game_events
description: "Mark every game event and its duration"
mode: segment
frame_stepping: true
show_timecode: true
playback_rate_control: true
video_fps: 30
min_segments: 1
label_requirement:
required: true
labels:
- name: goal
color: "#22C55E"
key_value: "1"
- name: foul
color: "#EF4444"
key_value: "2"
- name: corner_kick
color: "#3B82F6"
key_value: "3"
- name: free_kick
color: "#F59E0B"
key_value: "4"
- name: penalty
color: "#EC4899"
key_value: "5"
- name: offside
color: "#8B5CF6"
key_value: "6"
- annotation_type: multiselect
name: clip_tags
description: "Tags that apply to this clip as a whole"
labels:
- Highlight worthy
- Good camera angle
- Multiple players
- Close-up
- Wide shot
- Slow motion available
user_config:
allow_all_users: true输出格式
json
{
"video_metadata": {
"duration": 120.5,
"fps": 30,
"width": 1920,
"height": 1080
},
"segments": [
{
"id": "segment_1",
"start_time": 0.0,
"end_time": 10.5,
"start_frame": 0,
"end_frame": 315,
"label": "goal"
}
],
"frame_annotations": {
"450": {
"frame": 450,
"time": 15.0,
"label": "scene_change"
}
},
"keyframes": [
{
"id": "kf_1",
"frame": 900,
"time": 30.0,
"label": "important_moment",
"note": "Key dialogue"
}
],
"tracking": {}
}视频标注技巧
- 第一遍概览:先以正常速度观看
- 慢动作求精确:使用 0.25 倍速获取精确时间戳
- 键盘快捷键:比鼠标快得多
- 适当休息:视频标注对视觉要求很高
- 一致的标准:清楚地记录边缘案例
下一步
完整文档请见 图像标注(视频部分)。