Skip to content
このページはまだお使いの言語に翻訳されていません。英語版を表示しています。

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àDescrizioneCaso d'uso
segmentSegna intervalli temporaliRilevamento di scene, turni degli oratori
frameClassifica singoli fotogrammiEtichettatura a livello di fotogramma
keyframeSegna momenti importantiRilevamento di highlight
trackingTraccia oggetti tra fotogrammiTracciamento di oggetti
combinedTutte le modalità in un'unica interfacciaCompiti di annotazione complessi

Configurazione di base

yaml
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

CampoTipoPredefinitoDescrizione
namestringObbligatorioIdentificatore univoco dell'annotazione
descriptionstringObbligatorioIstruzioni mostrate agli annotatori
annotation_typestringObbligatorioDeve essere "video_annotation"
labelslistObbligatorioEtichette di annotazione disponibili
modestring"segment"Modalità di annotazione
min_segmentsinteger0Annotazioni minime richieste
max_segmentsintegernullAnnotazioni massime consentite
timeline_heightinteger70Altezza della timeline in pixel
overview_heightinteger40Altezza della barra panoramica in pixel
zoom_enabledbooleantrueAbilita lo zoom della timeline
playback_rate_controlbooleantrueMostra il selettore della velocità di riproduzione
frame_steppingbooleantrueAbilita la navigazione fotogramma per fotogramma
show_timecodebooleantrueVisualizza il numero del fotogramma e il tempo
video_fpsinteger30Frame rate del video per i calcoli

Configurazione delle etichette

Le etichette possono essere semplici stringhe o oggetti dettagliati con colori e scorciatoie da tastiera:

yaml
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:

yaml
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: true

Modalità fotogramma

Classifica i singoli fotogrammi:

yaml
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: true

Modalità keyframe

Segna momenti importanti:

yaml
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: true

Modalità tracciamento

Traccia gli oggetti tra i fotogrammi con bounding box:

yaml
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: 30

Modalità combinata

Usa più tipi di annotazione in un'unica interfaccia:

yaml
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: true

Visualizzazione video

Per la semplice riproduzione di video senza annotazione (ad es., per accompagnare altri tipi di annotazione), usa il tipo video:

yaml
annotation_schemes:
  - name: "video_player"
    description: "Watch the video clip"
    annotation_type: "video"
    video_path: "{{video_url}}"
    controls: true
    autoplay: false
    loop: false
    muted: false

Scorciatoie da tastiera

TastoAzione
SpaceRiproduci/pausa
, / .Fotogramma precedente/successivo
[Segna l'inizio del segmento
]Segna la fine del segmento
EnterCrea segmento
KSegna keyframe
CClassifica il fotogramma corrente
DeleteRimuovi l'annotazione selezionata
1-9Seleziona etichetta
+ / -Zoom avanti/indietro

Formato dei dati

Dati di input

Il file di dati deve includere percorsi o URL dei video:

json
[
  {
    "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:

json
{
  "id": "video_1",
  "annotations": {
    "scene_detection": [
      {
        "start": 0.0,
        "end": 5.2,
        "start_frame": 0,
        "end_frame": 156,
        "label": "indoor"
      }
    ]
  }
}

Modalità fotogramma:

json
{
  "id": "video_1",
  "annotations": {
    "frame_quality": [
      {
        "frame": 120,
        "time": 4.0,
        "label": "good"
      }
    ]
  }
}

Modalità keyframe:

json
{
  "id": "video_1",
  "annotations": {
    "highlights": [
      {
        "frame": 450,
        "time": 15.0,
        "label": "goal",
        "note": "First goal of the match"
      }
    ]
  }
}

Modalità tracciamento:

json
{
  "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.

yaml
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: 30

Flusso di lavoro

  1. Naviga verso un keyframe e disegna un bounding box attorno all'oggetto
  2. Salta avanti di diversi fotogrammi e riposiziona il bounding box
  3. Il sistema interpola automaticamente le posizioni per i fotogrammi intermedi
  4. 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

  1. Usa video compressi - I file di grandi dimensioni rallentano il caricamento
  2. Imposta gli FPS appropriati - Abbina video_fps al frame rate effettivo del video
  3. Abilita il passo fotogramma per fotogramma - Essenziale per l'annotazione precisa a livello di fotogramma
  4. Usa il controllo della velocità di riproduzione - Il rallentatore aiuta con i lavori dettagliati
  5. Fornisci definizioni chiare dei segmenti - Definisci cosa costituisce i confini dei segmenti
  6. Usa colori distinti - Rendi le etichette visivamente distinguibili
  7. Considera l'altezza della timeline - Aumentala per compiti di segmentazione complessi