Immagini sintetiche per l'object detection e tracking (Parte 1)
Dopo aver fatto una panoramica sul tema, in questo articolo e nel successivo, proveremo a valutare con esempi pratici, se l'uso di immagini sintetiche nell'addestramento di reti per il Machine Learning sia una strada praticamente percorribile in un progetto reale.
Dopo aver fatto una panoramica sul tema, in questo articolo e nel successivo, proveremo a valutare con esempi pratici, se l'uso di immagini sintetiche nell'addestramento di reti per il Machine Learning sia una strada praticamente percorribile da subito in un progetto reale.
Obiettivo
Avendo a disposizione:
- un modello di object detection addestrato su immagini reali di automobili e camion;
- un sistema di object tracking;
ne abbiamo voluto valutare la robustezza provandolo in due casi particolari:
e
In entrambi i video, le label mostrate indicano:
- un numero univoco di identificazione dell'oggetto;
- il nome della classe dell'oggetto;
- la confidenza con la quale l'oggetto è ritenuto appartenere alla classe.
Naturalmente, anche la bounding box stessa che inscrive l'oggetto fornisce una indicazione della bontà del riconoscimento.
Osservazioni
Possiamo osservare come:
- per l'object detection, nel primo esempio, il riconoscimento degli oggetti pur sintetici sia molto buono;
- per l'object tracking, nel secondo esempio, non solo il rumore introdotto dal terremoto influisca poco ma anche quando l'identificazione dell'oggetto viene persa per alcuni fotogrammi – per esempio l'auto numero 31 dal secondo 34 in poi - viene conservata l'informazione che si tratta sempre dell'auto numero 31, anche quando l'identificazione della stessa riprende correttamente, senza quindi confonderla con un'auto successiva e non solo: per un singolo fotogramma, nel secondo 36, l'auto 31 viene identificata come camion ma il numero di identificazione rimane 31 perché gli algoritmi di object detection e di object tracking sono disgiunti, permettendo quindi di filtrare bene il rumore nel due “spazi”.
Conclusioni
In un prossimo articolo vedremo il processo inverso che cerca di rispondere alla domanda: esistono dei casi nei quali si possono ottenere delle buone prestazioni su immagini e video reali pur addestrando su immagini e video totalmente sintetici? Questo è molto importante quando gli esempi reali sono pochi o molto costosi, cosa che avviene più frequentemente di quanto si possa pensare.
Come indicato nei video stessi, i video originali sui quali è stato provato il modello e gli algoritmi sono: