2010-01-28 10 views
14

Esiste un algoritmo per convertire video 2D in video 3D (per la visualizzazione con occhiali)?Esiste un algoritmo per convertire video 2D in video 3D?

(A-la svolta Avatar in Avatar per IMAX 3D esperienza.) O almeno trasformarlo in video preparato per sentirsi un po 'di visualizzazione 3D utilizzando un-la:

Alt text http://www.3dglassesonline.com/how-do-3d-glasses-work/3-d-glasses-traditional.gif

o

Alt text http://www.3dglassesonline.com/how-do-3d-glasses-work/3-d-glasses-polarization-new.gif

+0

potrebbero utilizzare le normali per creare qualcosa come l'esperienza 3d? – Rella

+0

sembra l'idea dei metodi di auto-colore per i film in bianco e nero dei vecchi tempi. è una buona idea. – darlinton

risposta

2

Probabilmente dovresti capire la differenza tra occhiali polarizzatori e occhiali rossi/blu. L'effetto 3D degli occhiali rosso/blu è semplice da fare. Devi semplicemente scattare una foto a circa un paio di centimetri di distanza (una specie di come sono disposti gli occhi) e sovrapporre ciascuna immagine all'altra. Esiste un tutorial su come eseguire questa operazione in Making Anaglyph Images in Adobe Photoshop.

Per quanto riguarda l'effetto occhiali polarizzanti, questo è un po 'più difficile. Se vai in un cinema e guardi un film in 3D con occhiali polarizzati, stai vedendo il vero 3D. Funziona avendo due proiettori. Un proiettore sta proiettando il film in un tipo di polarizzazione e il secondo proiettore sta proiettando il film sull'altro tipo di polarizzazione. Le immagini sono sovrapposte l'una sull'altra, quindi se indossi i tuoi occhiali polarizzanti 3D, appare in 3D.

Questo non può essere fatto facilmente con un monitor TV o computer. La TV o il monitor dovrebbero proiettare due immagini contemporaneamente. A causa della popolarità del 3D ora, però, sul mercato sono presenti TV 3D e monitor che non proiettano due immagini, ma visualizzano 3D.Ecco come funzionano:

Un normale schermo del computer o TV si aggiorna a una frequenza di 60   Hz. Ciò significa 60 volte in un secondo, l'immagine che vedi è in fase di aggiornamento. Poiché questo è così veloce, l'occhio umano non vede lo sfarfallio. TV 3D e monitor si aggiornano a 120   Hz. Le immagini polarizzanti sono interscambi ad una velocità di 120 volte al secondo, ma poiché sono due, appaiono 60 volte al secondo, che è ciò che produce l'effetto 3D.

Spero che questo ti aiuti a capire un po '.

Per rispondere alla tua domanda, sì, puoi creare video 3D, ma per guardarlo hai bisogno di un monitor 3D e di una TV 3D.

3

Non proprio. L'algoritmo dovrebbe in qualche modo comprendere il contenuto della scena e estrapolare informazioni sulla profondità da quello? Ricorda che i video 3D richiedono informazioni approfondite. Altrimenti non c'è modo di sapere quanto compensare le due parti del telaio.

Probabilmente si potrebbe provare assegnando varie profondità a vari gradi di sfocatura, ma dubito che qualcosa di utile possa venire fuori.

4

No - I video 3D richiedono la presenza di informazioni aggiuntive (profondità) che semplicemente non sono contenute nel video 2D.

Se si dispone di un rendering 2D di uno sceene (ad esempio in Toy Story), è piuttosto facile produrre un film 3D: basta modificare l'angolo di visualizzazione dello sceene e ri-renderlo.

+0

s/rendering 2D/descrizione scena 3D/ – Joey

+2

Bene, gli umani possono giudicare la profondità quando guardano un film in 2D, quindi l'informazione * è * lì. È molto difficile scrivere un algoritmo in grado di estrarlo. – Niki

13

Bene, Stanford ha an algorithm for converting 2D photos into 3D models. La mia ipotesi è che con i film dovrebbe essere ancora più semplice, perché allora hai diverse foto invece di una sola, quindi puoi estrarre molte più informazioni sulla profondità confrontando i fotogrammi adiacenti.

Probabilmente, i risultati non saranno mai così buoni come quando si esegue il rendering/scatto del filmato in 3D per cominciare.

+1

Ricerche simili possono essere trovate per es. qui: http://www.mpi-inf.mpg.de/~thormae/paper/Siggraph08_orthoimage.pdf –

1

Nello spettacolo CES di quest'anno, Toshiba ha presentato il display della cella TV e affermano che è in grado di convertire segnali TV 2D in 3D. Non so se produce un buon risultato o quale algoritmo stanno usando, ma se sono veri dovrebbe esserci un algoritmo per questo.

Ma sfortunatamente, non so come potrebbe essere fatto.

1

Esistono algoritmi esistenti per l'estrazione di forme 3D da immagini 2D, here o here, ad esempio. Puoi estrarre forme da ogni fotogramma del video e persino utilizzare più fotogrammi per ottenere una migliore comprensione delle forme rilevandone il movimento.

Tuttavia, le probabilità sono che i risultati non saranno affatto vicini alla qualità standard del contenuto di un film 3D.

2

Nessun singolo algoritmo per dire, ma sì, è possibile. È molto difficile. Ci sono persone che stanno lavorando su questo problema adesso. Gli algoritmi coinvolti sono molto difficili da scrivere, non sempre funzionano correttamente e qualsiasi soluzione completa richiederebbe una grande quantità di potenza di elaborazione. All'inizio, qualsiasi soluzione sarebbe offline (anziché in tempo reale).

La percezione 3D non è strettamente legata all'ottica stereo come si potrebbe credere. Se pensi di aver bisogno di due occhi per vedere il 3D, prova a camminare con una benda sull'occhio. Farai bene. Ci sono un (piccolo) numero di programmi là fuori, compresi alcuni pacchetti software commerciali, che creano modelli 3D da serie di immagini 2D senza una fotocamera stereo. Alcuni funzionano online, costruendo un modello più dettagliato man mano che ne viene visto di più.

Solo a pensarci posso pensare ad alcuni problemi che hai incontrato in particolare con i film. Ad esempio, potrei immaginare i mattes che vengono renderizzati a una profondità errata. I video con effetti speciali di software come Apple Motion potrebbero finire con strani artefatti.

4

Non può funzionare in generale per un motivo molto semplice: Supponiamo di avere una scena con una finestra in un muro che mostra una spiaggia, e oltre a ciò, c'è una fotografia che mostra una finestra in un muro che mostra una spiaggia. Come può l'algoritmo distinguere tra i due? Come puoi scoprire cosa è la realtà con profondità e cos'è solo una fotografia piatta?

+0

Il tuo esempio è perfetto. Spiega facilmente perché questo non può mai funzionare perfettamente. – Beska

2

Forse ci sarà un algoritmo per l'emulazione di viste stereoscopiche, ma non può essere lo stesso.

Il motivo è piuttosto semplice. In un video 2D non mancano solo le informazioni sulla profondità (che non sono sufficienti per ottenere un video stereoscopico), ma mancano le superfici nascoste che sarebbero visibili da un altro punto di vista.

Tutti potevano pensare che l'informazione di profondità potesse essere estrapolata dalle informazioni disponibili, e questo è vero. Ma le informazioni mancanti non possono essere così precise per avere un buon effetto stereoscopico.

Oltre a ciò, ho sentito parlare di un sistema che consente di estrarre modelli 3D accurati da 8 (otto!) Telecamere puntate sullo stesso target. È così preciso da emulare correttamente anche i movimenti dei vestiti. Tuttavia, questo viene eseguito elaborando 8 (otto!) Video 2D. Come è possibile ottenere lo stesso risultato con un solo video 2D?

L'ottenimento del risultato desiderato dipende essenzialmente dalla disponibilità delle informazioni, e in questo caso (IMHO) non ci sono informazioni sufficienti. Nonostante ciò, potrebbe essere possibile provare ad emulare l'effetto stereoscopico da un video 2D, ma essenzialmente ha bisogno di un duro lavoro, una lunga elaborazione e la conseguenza è un risultato di bassa qualità rispetto a un video stereospico originale.


Mi piacerebbe ricordare che la vista 3D è generata dal nostro cervello. Gli occhi possono catturare solo le immagini 2D e il nostro cervello, elaborando le due immagini, può generare una vista di profondità degli oggetti visti.