Annotazione video
Annota segmenti temporali, classifica fotogrammi, segna keyframe e traccia oggetti nei video.
Annotazione video
Potato offre funzionalità complete di annotazione video, tra cui segmentazione temporale, classificazione dei fotogrammi, marcatura dei keyframe e tracciamento degli oggetti.
Modalità di annotazione
| Modalità | Descrizione | Caso d'uso |
|---|---|---|
segment | Segna intervalli temporali | Rilevamento di scene, turni degli oratori |
frame | Classifica singoli fotogrammi | Etichettatura a livello di fotogramma |
keyframe | Segna momenti importanti | Rilevamento di highlight |
tracking | Traccia oggetti tra fotogrammi | Tracciamento di oggetti |
combined | Tutte le modalità in un'unica interfaccia | Compiti di annotazione complessi |
Configurazione di base
annotation_schemes:
- name: "video_segments"
description: "Mark segments where the speaker changes"
annotation_type: "video_annotation"
labels:
- name: "Speaker A"
color: "#FF6B6B"
- name: "Speaker B"
color: "#4ECDC4"Opzioni di configurazione
| Campo | Tipo | Predefinito | Descrizione |
|---|---|---|---|
name | string | Obbligatorio | Identificatore univoco dell'annotazione |
description | string | Obbligatorio | Istruzioni mostrate agli annotatori |
annotation_type | string | Obbligatorio | Deve essere "video_annotation" |
labels | list | Obbligatorio | Etichette di annotazione disponibili |
mode | string | "segment" | Modalità di annotazione |
min_segments | integer | 0 | Annotazioni minime richieste |
max_segments | integer | null | Annotazioni massime consentite |
timeline_height | integer | 70 | Altezza della timeline in pixel |
overview_height | integer | 40 | Altezza della barra panoramica in pixel |
zoom_enabled | boolean | true | Abilita lo zoom della timeline |
playback_rate_control | boolean | true | Mostra il selettore della velocità di riproduzione |
frame_stepping | boolean | true | Abilita la navigazione fotogramma per fotogramma |
show_timecode | boolean | true | Visualizza il numero del fotogramma e il tempo |
video_fps | integer | 30 | Frame rate del video per i calcoli |
Configurazione delle etichette
Le etichette possono essere semplici stringhe o oggetti dettagliati con colori e scorciatoie da tastiera:
labels:
- name: "intro"
color: "#4ECDC4"
key_value: "1"
- name: "content"
color: "#3B82F6"
key_value: "2"
- name: "outro"
color: "#8B5CF6"
key_value: "3"Esempi per modalità
Modalità segmento (predefinita)
Segna intervalli temporali con ora di inizio e fine:
annotation_schemes:
- name: "scene_detection"
description: "Mark each scene in the video"
annotation_type: "video_annotation"
mode: "segment"
labels:
- name: "indoor"
color: "#3B82F6"
key_value: "1"
- name: "outdoor"
color: "#22C55E"
key_value: "2"
- name: "transition"
color: "#F59E0B"
key_value: "3"
zoom_enabled: true
playback_rate_control: trueModalità fotogramma
Classifica i singoli fotogrammi:
annotation_schemes:
- name: "frame_quality"
description: "Classify each frame's quality"
annotation_type: "video_annotation"
mode: "frame"
labels:
- name: "good"
color: "#22C55E"
- name: "blurry"
color: "#F59E0B"
- name: "occluded"
color: "#EF4444"
frame_stepping: true
show_timecode: trueModalità keyframe
Segna momenti importanti:
annotation_schemes:
- name: "highlights"
description: "Mark key moments in the video"
annotation_type: "video_annotation"
mode: "keyframe"
labels:
- name: "goal"
color: "#22C55E"
- name: "foul"
color: "#EF4444"
- name: "highlight"
color: "#F59E0B"
frame_stepping: trueModalità tracciamento
Traccia gli oggetti tra i fotogrammi con bounding box:
annotation_schemes:
- name: "object_tracking"
description: "Track the ball throughout the video"
annotation_type: "video_annotation"
mode: "tracking"
labels:
- name: "ball"
color: "#3B82F6"
- name: "player"
color: "#22C55E"
frame_stepping: true
video_fps: 30Modalità combinata
Usa più tipi di annotazione in un'unica interfaccia:
annotation_schemes:
- name: "comprehensive"
description: "Full video annotation"
annotation_type: "video_annotation"
mode: "combined"
labels:
- name: "action"
color: "#3B82F6"
- name: "dialogue"
color: "#22C55E"
- name: "transition"
color: "#F59E0B"
zoom_enabled: true
playback_rate_control: true
frame_stepping: true
show_timecode: trueVisualizzazione video
Per la semplice riproduzione di video senza annotazione (ad es., per accompagnare altri tipi di annotazione), usa il tipo video:
annotation_schemes:
- name: "video_player"
description: "Watch the video clip"
annotation_type: "video"
video_path: "{{video_url}}"
controls: true
autoplay: false
loop: false
muted: falseScorciatoie da tastiera
| Tasto | Azione |
|---|---|
Space | Riproduci/pausa |
, / . | Fotogramma precedente/successivo |
[ | Segna l'inizio del segmento |
] | Segna la fine del segmento |
Enter | Crea segmento |
K | Segna keyframe |
C | Classifica il fotogramma corrente |
Delete | Rimuovi l'annotazione selezionata |
1-9 | Seleziona etichetta |
+ / - | Zoom avanti/indietro |
Formato dei dati
Dati di input
Il file di dati deve includere percorsi o URL dei video:
[
{
"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"
}
]Formato di output
L'output varia in base alla modalità:
Modalità segmento:
{
"id": "video_1",
"annotations": {
"scene_detection": [
{
"start": 0.0,
"end": 5.2,
"start_frame": 0,
"end_frame": 156,
"label": "indoor"
}
]
}
}Modalità fotogramma:
{
"id": "video_1",
"annotations": {
"frame_quality": [
{
"frame": 120,
"time": 4.0,
"label": "good"
}
]
}
}Modalità keyframe:
{
"id": "video_1",
"annotations": {
"highlights": [
{
"frame": 450,
"time": 15.0,
"label": "goal",
"note": "First goal of the match"
}
]
}
}Modalità tracciamento:
{
"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}}
]
}
]
}
}Formati video supportati
- MP4 (consigliato)
- WebM
- MOV
- OGG
Tracciamento di oggetti video con interpolazione dei keyframe
Novità nella v2.2.0
La modalità di tracciamento ora supporta l'interpolazione dei keyframe, consentendo agli annotatori di segnare le posizioni degli oggetti nei fotogrammi chiave e di avere i fotogrammi intermedi interpolati automaticamente. Questo accelera notevolmente i compiti di tracciamento degli oggetti.
annotation_schemes:
- name: "tracking"
description: "Track objects with keyframe interpolation"
annotation_type: "video_annotation"
mode: "tracking"
labels:
- name: "person"
color: "#3B82F6"
- name: "vehicle"
color: "#22C55E"
frame_stepping: true
video_fps: 30Flusso di lavoro
- Naviga verso un keyframe e disegna un bounding box attorno all'oggetto
- Salta avanti di diversi fotogrammi e riposiziona il bounding box
- Il sistema interpola automaticamente le posizioni per i fotogrammi intermedi
- Rivedi e regola le posizioni interpolate secondo necessità
L'insieme completo delle modalità di annotazione valide è: segment, frame, keyframe, tracking e combined.
Note tecniche
- Usa Peaks.js per la visualizzazione della timeline
- Elementi video HTML5 standard (nessuna dipendenza server aggiuntiva)
- La timeline supporta il trascinamento per la creazione di segmenti
Buone pratiche
- Usa video compressi - I file di grandi dimensioni rallentano il caricamento
- Imposta gli FPS appropriati - Abbina
video_fpsal frame rate effettivo del video - Abilita il passo fotogramma per fotogramma - Essenziale per l'annotazione precisa a livello di fotogramma
- Usa il controllo della velocità di riproduzione - Il rallentatore aiuta con i lavori dettagliati
- Fornisci definizioni chiare dei segmenti - Definisci cosa costituisce i confini dei segmenti
- Usa colori distinti - Rendi le etichette visivamente distinguibili
- Considera l'altezza della timeline - Aumentala per compiti di segmentazione complessi