Annotation vidéo avec contrôles image par image
Configurez des tâches d'annotation vidéo avec une navigation précise par image, des marqueurs temporels et l'étiquetage d'événements temporels.
L'annotation vidéo permet la création de données d'entraînement pour la reconnaissance d'actions, le suivi d'objets et la détection d'événements temporels. Ce tutoriel couvre la navigation par image, la segmentation temporelle et les flux de travail efficaces d'étiquetage vidéo.
Capacités d'annotation vidéo
Potato supporte l'annotation vidéo pour les tâches d'étiquetage et de classification :
- Classification vidéo : étiqueter des clips vidéo entiers
- Étiquetage multi-labels : appliquer plusieurs tags aux vidéos
- Annotation temporelle : marquer des événements dans les vidéos
Configuration vidéo basique
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: trueNavigation image par image
min_segments: 1
label_requirement:
required: trueAnnotation de segments temporels
Marquez les événements avec des temps de début et de fin :
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"Créer des segments
- Naviguez vers le début d'un événement
- Appuyez sur
[ou cliquez sur « Marquer le début » - Naviguez vers la fin de l'événement
- Appuyez sur
]ou cliquez sur « Marquer la fin » - Sélectionnez l'étiquette de l'événement
- Répétez pour tous les événements
Classification vidéo
Classifiez le contenu vidéo avec des étiquettes :
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"Classification par vidéo
Classifiez les vidéos avec des types d'annotation standard :
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"]Vidéo avec étiquettes
Annotez les vidéos avec des étiquettes de catégorie :
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 availableConfiguration complète d'annotation vidéo
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: trueFormat de sortie
{
"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": {}
}Conseils pour l'annotation vidéo
- Premier passage en aperçu : regardez à vitesse normale d'abord
- Ralenti pour la précision : utilisez 0,25x pour les horodatages exacts
- Raccourcis clavier : bien plus rapide que la souris
- Faites des pauses : l'annotation vidéo est visuellement exigeante
- Critères cohérents : documentez clairement les cas limites
Prochaines étapes
- Apprenez la comparaison d'images pour l'évaluation de qualité vidéo
- Configurez le crowdsourcing pour l'annotation vidéo à grande échelle
Documentation complète sur Annotation d'images (section vidéo).