Annotazione per il tracciamento multi-oggetto
Una panoramica dei concetti dell'annotazione per il tracciamento multi-oggetto e di come le funzionalità video di Potato possono reggere un flusso di tracciamento di base.
L'annotazione per il tracciamento multi-oggetto (MOT) produce dati di addestramento per cose come la videosorveglianza, la guida autonoma e l'analisi sportiva. Questo articolo ripercorre le idee di fondo dell'annotazione MOT e fin dove ti portano le attuali funzionalità video di Potato in un flusso di tracciamento di base.
Una premessa prima di andare avanti: Potato non ha ancora strumenti dedicati al MOT. Se oggi ti serve la gestione automatica degli ID e l'interpolazione, probabilmente ti conviene uno strumento specializzato. Ma per lavori più piccoli l'approccio manuale che segue funziona bene.
Perché l'annotazione MOT è difficile
- Mantenere gli ID degli oggetti coerenti da un fotogramma all'altro
- Gestire gli oggetti che vengono occlusi e poi ricompaiono
- Seguire gli oggetti in scene affollate
- Districare gli scambi e le fusioni di ID
Cosa fa oggi l'annotazione video di Potato
Potato gestisce l'annotazione video di base con il tipo video_annotation. Le comodità specifiche del MOT (gestione automatica degli ID, interpolazione, gestione delle occlusioni) non ci sono ancora, ma un flusso di etichettatura video di base puoi comunque metterlo in piedi.
Impostazione di base dell'annotazione video
annotation_task_name: "Video Object Labeling"
data_files:
- data/videos.json
annotation_schemes:
- annotation_type: video_annotation
name: objects
description: "Label objects in video frames"
labels:
- name: person
- name: vehicle
- name: cyclistFormato dei dati di esempio
Il file data/videos.json contiene voci con i percorsi dei video:
[
{
"id": "video_001",
"video": "/path/to/video.mp4"
},
{
"id": "video_002",
"video": "/path/to/another_video.mp4"
}
]Tracciare a mano
Senza funzionalità MOT dedicate, gli oggetti puoi comunque tracciarli a mano. È più noioso, ma funziona.
Costruire le tracce un fotogramma alla volta
- Vai al fotogramma in cui l'oggetto compare per la prima volta
- Etichettalo nell'interfaccia di annotazione video
- Dagli un identificatore costante nell'annotazione, tipo «person_1»
- Avanza nei fotogrammi successivi e continua a etichettarlo con lo stesso identificatore
Gestire le occlusioni
Quando un oggetto sparisce dietro qualcosa:
- Annota l'ultimo fotogramma in cui si vedeva
- Quando riappare, riusa lo stesso identificatore, così la traccia resta continua
- Segnati il periodo di occlusione nelle note di annotazione
Funzionalità a cui stiamo pensando
Renderebbero Potato molto più adatto al MOT, e sono nella lista dei lavori futuri:
- Assegnazione automatica degli ID, con incremento automatico per i nuovi oggetti
- Interpolazione delle tracce, lineare o cubica, tra un keyframe e l'altro
- Gestione delle occlusioni con livelli di visibilità (visible, partial, heavy, not_visible)
- Visualizzazione delle traiettorie per mostrare i percorsi degli oggetti tra i fotogrammi
- Un pannello di gestione delle tracce per unirle, dividerle e amministrarne gli ID
- Attributi per singolo fotogramma, per le proprietà che cambiano da un fotogramma all'altro
Se qualcuna di queste ti interessa, scrivi al team di Potato o contribuisci tu stesso alla funzionalità.
Consigli per l'annotazione MOT manuale
- Lavora su segmenti brevi, da 100 a 200 fotogrammi per volta.
- Usa uno schema di ID chiaro, tipo «person_001» o «vehicle_023», e attieniti a quello.
- Tieni delle note sulle occlusioni e sulle decisioni che hai preso sulle tracce.
- Fai un passaggio di revisione: guarda il segmento in avanti, poi all'indietro, per scovare gli errori.
- Appoggiati a strumenti esterni. Una pre-elaborazione con modelli di rilevamento ti risparmia parecchi clic.
Altri modi per affrontarla
Se ti servono subito funzionalità MOT complete, ci sono un paio di strade:
- Fai un flusso ibrido: l'etichettatura iniziale in Potato, poi passi a uno strumento MOT specializzato per la gestione delle tracce.
- Pre-annota con dei rilevatori di oggetti per generare i bounding box di partenza, poi rifiniscili in Potato.
- Esporta le annotazioni fatte in Potato e applicaci gli algoritmi di tracciamento a posteriori.
Dove andare da qui
- Scopri l'annotazione dei fotogrammi video
- Esplora le funzionalità di annotazione di immagini
- Leggi dell'accordo tra annotatori per il controllo di qualità
Per il quadro completo su come funziona l'annotazione video in Potato, vedi la documentazione sorgente.
Per la documentazione attuale sull'annotazione video, vedi Annotazione di Immagini.