Annotation vidéo
Annotez la vidéo dans Potato — classez des segments temporels, marquez des images clés et suivez des objets avec navigation image par image et étiquetage d'événements sur la timeline.
Potato prend en charge l'annotation vidéo pour la segmentation temporelle, la classification d'images, le marquage d'images clés et le suivi d'objets.
Modes d'annotation
| Mode | Description | Cas d'usage |
|---|---|---|
segment | Marquer des plages temporelles | Détection de scènes, tours de parole |
frame | Classer des images individuelles | Étiquetage au niveau de l'image |
keyframe | Marquer les moments importants | Détection de temps forts |
tracking | Suivre des objets d'une image à l'autre | Suivi d'objets |
combined | Tous les modes dans une seule interface | Tâches d'annotation complexes |
Configuration de base
annotation_schemes:
- name: "video_segments"Options de configuration
| Champ | Type | Défaut | Description |
|---|---|---|---|
name | string | Obligatoire | Identifiant unique de l'annotation |
description | string | Obligatoire | Instructions affichées aux annotateurs |
annotation_type | string | Obligatoire | Doit être "video_annotation" |
labels | list | Obligatoire | Étiquettes d'annotation disponibles |
mode | string | "segment" | Mode d'annotation |
min_segments | integer | 0 | Nombre minimum d'annotations requises |
max_segments | integer | null | Nombre maximum d'annotations autorisées |
timeline_height | integer | 70 | Hauteur de la timeline en pixels |
overview_height | integer | 40 | Hauteur de la barre de vue d'ensemble en pixels |
zoom_enabled | boolean | true | Activer le zoom de la timeline |
playback_rate_control | boolean | true | Afficher le sélecteur de vitesse de lecture |
frame_stepping | boolean | true | Activer la navigation image par image |
show_timecode | boolean | true | Afficher le numéro d'image et le temps |
video_fps | integer | 30 | Fréquence d'images de la vidéo pour les calculs |
Configuration des étiquettes
Les étiquettes peuvent être de simples chaînes ou des objets détaillés avec couleurs et raccourcis clavier :
labels:
- name: "intro"
color: "#4ECDC4"
key_value: "1"
- name: "content"
color: "#3B82F6"
key_value: "2"
- name: "outro"
color: "#8B5CF6"
key_value: "3"Exemples par mode
Mode segment (par défaut)
Marquez des plages temporelles avec un début et une fin :
annotation_schemes:
- name: "scene_detection"Mode image
Classez les images individuelles :
annotation_schemes:
- name: "frame_quality"Mode image clé
Marquez les moments importants :
annotation_schemes:
- name: "highlights"Mode suivi
Suivez des objets d'une image à l'autre avec des boîtes englobantes :
annotation_schemes:
- name: "object_tracking"Mode combiné
Utilisez plusieurs types d'annotation dans une seule interface :
annotation_schemes:
- name: "comprehensive"Affichage vidéo
Pour une simple lecture vidéo sans annotation (par exemple pour accompagner d'autres types d'annotation), utilisez le type video :
annotation_schemes:
- name: "video_player"Sous-titres et légendes
Si la vidéo comporte des sous-titres, vous pouvez les annoter à la place de la timeline vidéo, ou en parallèle. Potato lit les formats WebVTT, SubRip, TTML/DFXP, SubStation Alpha, ainsi que les formats json3 et srv1/srv2/srv3 de YouTube, et détecte chacun d'après le contenu du fichier plutôt que d'après l'extension.
yt-dlp --write-auto-subs --sub-langs en --sub-format vtt --skip-download <URL>{"id": "talk_01", "conversation": {"audio": "media/talk_01.mp3",
"transcript": "captions/talk_01.vtt"}}Remarque : les sous-titres générés automatiquement n'ont ni ponctuation ni identification des locuteurs, et leurs frontières de cue tombent là où la fenêtre de sous-titre s'est remplie, pas là où une phrase s'est terminée. N'y appliquez pas un schéma au niveau de la phrase. Voir Annoter les sous-titres YouTube pour la marche à suivre.
La liste complète des formats se trouve dans Formats de transcription.
Raccourcis clavier
| Touche | Action |
|---|---|
Space | Lecture/pause |
, / . | Image précédente/suivante |
[ | Marquer le début du segment |
] | Marquer la fin du segment |
Enter | Créer le segment |
K | Marquer une image clé |
C | Classer l'image courante |
Delete | Supprimer l'annotation sélectionnée |
1-9 | Sélectionner l'étiquette |
+ / - | Zoom avant/arrière |
Format de données
Données d'entrée
Votre fichier de données doit inclure des chemins ou URL de vidéos :
[
{
"id": "video_1",
"video_url": "https://example.com/videos/sample1.mp4",
"description": "Meeting recording - identify speakers"
},
{
"id": "video_2",
"video_url": "/data/videos/sample2.mp4",
"description": "Activity video - label actions"
}
]Format de sortie
La sortie varie selon le mode :
Mode segment :
{
"id": "video_1",
"annotations": {
"scene_detection": [
{
"start": 0.0,
"end": 5.2,
"start_frame": 0,
"end_frame": 156,
"label": "indoor"
}
]
}
}Mode image :
{
"id": "video_1",
"annotations": {
"frame_quality": [
{
"frame": 120,
"time": 4.0,
"label": "good"
}
]
}
}Mode image clé :
{
"id": "video_1",
"annotations": {
"highlights": [
{
"frame": 450,
"time": 15.0,
"label": "goal",
"note": "First goal of the match"
}
]
}
}Mode suivi :
{
"id": "video_1",
"annotations": {
"object_tracking": [
{
"id": "track_1",
"label": "ball",
"frames": [
{"frame": 0, "bbox": {"x": 100, "y": 200, "w": 30, "h": 30}},
{"frame": 1, "bbox": {"x": 105, "y": 198, "w": 30, "h": 30}}
]
}
]
}
}Formats vidéo pris en charge
- MP4 (recommandé)
- WebM
- MOV
- OGG
Suivi d'objets vidéo avec interpolation d'images clés
Nouveau en v2.2.0
Le mode suivi prend désormais en charge l'interpolation d'images clés : les annotateurs marquent la position des objets sur des images clés et les images intermédiaires sont interpolées automatiquement. Cela accélère nettement les tâches de suivi d'objets.
annotation_schemes:
- name: "tracking"Déroulement
- Placez-vous sur une image clé et dessinez une boîte englobante autour de l'objet
- Avancez de plusieurs images et repositionnez la boîte englobante
- Le système interpole automatiquement les positions des images intermédiaires
- Vérifiez et ajustez les positions interpolées si besoin
L'ensemble complet des modes d'annotation valides est : segment, frame, keyframe, tracking et combined.
Notes techniques
- Utilise Peaks.js pour la visualisation de la timeline
- Éléments vidéo HTML5 standard (aucune dépendance serveur supplémentaire)
- La timeline permet le glisser-sélectionner pour créer des segments
Bonnes pratiques
- Utilisez des vidéos compressées - Les gros fichiers ralentissent le chargement
- Réglez la fréquence d'images correcte - Faites correspondre
video_fpsà la fréquence réelle de votre vidéo - Activez la navigation image par image - Indispensable pour une annotation précise au niveau de l'image
- Utilisez le contrôle de vitesse de lecture - Le ralenti aide pour le travail de détail
- Donnez des définitions de segments claires - Précisez ce qui constitue une frontière de segment
- Utilisez des couleurs distinctes - Rendez les étiquettes visuellement discernables
- Pensez à la hauteur de la timeline - Augmentez-la pour les tâches de segmentation complexes