2009-12-17 13 views
5

Sto cercando un modo semplice per generare video sintetici per testare il software di visione artificiale.Simulazione e generazione di video sintetici per la valutazione degli algoritmi di visione artificiale

Attualmente sono a conoscenza solo di uno strumento che soddisfa questa esigenza: ObjectVideo Virtual Video (OVVV). È un mod HalfLife 2 che consente di simulare le telecamere in un mondo virtuale.

Ma sto cercando una soluzione più aperta (come in open source) e forse portatile. Un modo sarebbe quello di implementare la funzionalità necessaria su uno dei dodici motori 3D open source. Tuttavia, sarebbe bello se qualcuno conoscesse una libreria o uno strumento che già implementa qualcosa come OVVV.

Inoltre, se non si dispone di una soluzione pronta per l'uso: come affrontare il problema?

PS: La ragione per cui chiedo qui è che voglio ridurre al minimo i miei sforzi spesi per questo problema. Non è che non avevo idea di come farlo. Ma le mie soluzioni mi richiederebbero di investire molto tempo in questo. Quindi sto cercando suggerimenti concreti qui ... :-)

+1

6 anni sono passati. La visione artificiale è più calda che mai. Forse ci sono risposte migliori? – GroovyDotCom

risposta

0

Ho visto Ogre utilizzato per questo scopo esatto.

+0

Hai un riferimento al progetto che ha usato Ogre? – f3lix

+0

Questo (penso), http://www.youtube.com/watch?v=cODfGcFmpuc – Jacob

+0

Dal documento corrispondente: "abbiamo creato un ambiente di simulazione di volo personalizzato basato su Matlab/Simulink e OpenSceneGraph" Non ha letto attraverso l'intero documento, ma come sembra che tutto ciò che dicono sull'implementazione della simulazione.Niente su come simulare il rumore della telecamera e artefatti o generazione di groundtruth. E il grande videoclip di "simulazione di volo" dall'inizio del video di YouTube è tratto da un video dimostrativo di un'azienda che vende modelli 3D ... quindi non ha nulla a che fare con il loro lavoro :-( – f3lix

1

Se fossi nella tua situazione, probabilmente userei POV-Ray dato che è possibile scrivere codice in qualsiasi lingua per produrre file .pov per alimentarlo. Questo è ottimo quando la geometria precisa, l'illuminazione, le trame e i movimenti esatti complessi sono importanti. POV-Ray può essere eseguito interamente dalla riga di comando o programmaticamente con una chiamata di sistema() o equivalente.

Anche se POV-Ray non è open source nel senso comune, è gratuito e si può ottenere la fonte per esso.

+0

Ultimo che avevo controllato (un anno o due fa), il sistema di animazione di POV-Ray è un po 'scomodo, basato su una variabile di temporizzazione. e 'anche abbastanza lento per usi di videoregistrazione, dal momento che è puramente raytracing. Se hanno bisogno di ottica realistica, di post-processing, e/o il rendering atmosferico, sono d'accordo che questa è la strada da percorrere. – BobMcGee

+0

Ah, se deve essere generato in tempo reale, quindi questo è fuori (o aspettare cinque anni perché la tecnologia diventi ancora più veloce ...) – DarenW

1

Che ne dici di utilizzare uno dei motori di gioco open source? Se ricordo male, il motore di Quake è ora di dominio pubblico e potrebbe essere sufficiente per le tue esigenze.

La maggior parte dei motori fornisce funzionalità di scripting (spesso Lua) destinate ai comportamenti di IA e oggetto, ma che potrebbero facilmente fornire la programmabilità necessaria.

Edit: Trucchi per l'applicazione di rumore/distorsione e altri effetti di post-elaborazione a livello di codice al video

Una breve script scritto in AviSynth fornirà sfocatura, distorsione, modifiche contrasto/frame-rate, oltre il rumore, e una miriade di altri possibili effetti. Questi effetti sono forniti al volo su base fotogramma per fotogramma, , quindi non è necessario "renderizzare" l'output su un enorme file video per il test. I programmi video tratteranno i file di script come un normale video, anche se con più necessità della CPU durante la riproduzione. Quindi, puoi alimentare il tuo pacchetto di computer vision con una serie di script AviSynth per i test, che possono tutti essere alimentati dalla stessa sorgente video, ma applicare diversi livelli di rumore, sfocatura, ecc. Potrebbe risparmiare molto tempo e spazio sul disco durante i test!

Il loro sito è brevemente inattivo, penso, ma è possibile trovare i pacchetti per DL ovunque, poiché è open source e ampiamente utilizzato.

Problemi correlati