2010-01-28 25 views
14

¿Hay algún algoritmo para convertir video 2D en video 3D (para ver usando gafas)?¿Hay algún algoritmo para convertir video 2D en video 3D?

(A-la vuelta de Avatar en Avatar para una experiencia IMAX 3D.) O al menos convertirlo en video preparado para sentir un poco de visualización 3D usarlo a-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

puede estar utilizando normales para crear algo así como la experiencia en 3D? – Rella

+0

parece la idea de métodos de color automático para películas en blanco y negro de los viejos tiempos. es una buena idea. – darlinton

Respuesta

2

Probablemente deba entender la diferencia entre gafas polarizadas y gafas rojas/azules. El efecto 3D de gafas rojo/azul es simple de hacer. Simplemente necesita tomar una foto a unos centímetros de distancia (algo así como cómo se colocan los ojos) y superponer cada imagen sobre la otra. Hay un tutorial sobre cómo hacer esto en Making Anaglyph Images in Adobe Photoshop.

En cuanto al efecto de gafas polarizadoras, esto es un poco más difícil. Si vas a un cine y ves una película en 3D con gafas polarizadas, estás viendo un verdadero 3D. Funciona al tener dos proyectores. Un proyector proyecta la película en un tipo de polarización y el segundo proyector proyecta la película en el otro tipo de polarización. Las imágenes se superponen una encima de la otra, por lo que si llevas gafas 3D polarizadas, aparecen en 3D.

Esto no se puede hacer tan fácilmente con un televisor o monitor de computadora. Su TV o monitor debería proyectar dos imágenes simultáneamente. Sin embargo, debido a la popularidad del 3D, existen televisores 3D y monitores que aparecen en el mercado que no proyectan dos imágenes, sino que muestran 3D.Así es como funcionan:

Una pantalla de computadora normal o TV se actualiza a una frecuencia de 60   Hz. Esto significa 60 veces en un segundo, la imagen que ve se está renovando. Debido a que esto es tan rápido, el ojo humano no ve el parpadeo. Los televisores 3D y los monitores se actualizan a 120   Hz. Las imágenes de polarización se intercambian a una velocidad de 120 veces por segundo, pero como hay dos, aparece a 60 veces por segundo, que es lo que produce el efecto 3D.

Espero que esto te ayude a entender un poco.

Para responder a su pregunta, sí, puede crear videos 3D, pero necesitaría un monitor 3D y TV 3D para verlo.

3

Realmente no. ¿Debería el algoritmo de algún modo entender el contenido de la escena y extrapolar la información de profundidad de eso? Recuerde que el video 3D necesita información detallada. De lo contrario, no hay forma de saber cuánto compensar las dos partes del marco.

Probablemente podría probar asignando varias profundidades en varios grados de estar fuera de foco, pero dudo que salga algo utilizable.

4

No, el video 3D requiere que haya información adicional (profundidad) presente que simplemente no está contenida en el video 2D.

Si tiene una representación en 2D de un escenario (por ejemplo, en Toy Story), entonces es bastante fácil producir una película en 3D: simplemente cambie el ángulo de visión del escenario y vuelva a procesarlo.

+0

s/2D rendering/3D scene description/ – Joey

+2

Bueno, los humanos pueden juzgar la profundidad cuando miran una película en 2D, entonces la información * está * allí. Es muy difícil escribir un algoritmo que pueda extraerlo. – Niki

13

Bueno, Stanford tiene an algorithm for converting 2D photos into 3D models. Supongo que con las películas debería ser aún más fácil, porque entonces tienes varias fotos en lugar de solo una, para que puedas extraer mucha más información sobre la profundidad comparando los marcos vecinos.

Discutiblemente, los resultados nunca serán tan buenos como cuando acaba de renderizar/filmar la película en 3D para comenzar.

+1

Se pueden encontrar investigaciones similares, p. aquí: http://www.mpi-inf.mpg.de/~thormae/paper/Siggraph08_orthoimage.pdf –

1

En el show de CES de este año, Toshiba presentó la pantalla de la TV de la célula, y afirman que es capaz de convertir señales de televisión 2D en 3D. No sé si produce un buen resultado o qué algoritmo están usando, pero si son ciertos, debería haber un algoritmo para esto.

Pero desafortunadamente, no sé cómo se podría hacer.

1

Existen algoritmos para extraer formas 3D de imágenes 2D, here o here, por ejemplo. Puede extraer formas de cada fotograma de video e incluso utilizar varios fotogramas para obtener una mejor comprensión de las formas al detectar su movimiento.

Sin embargo, lo más probable es que los resultados no sean ni mucho menos similares a la calidad estándar del contenido de una película en 3D.

2

No hay algoritmo individual por decir, pero sí, es posible. Es muy difícil. Hay personas trabajando en este problema ahora mismo. Los algoritmos involucrados son muy difíciles de escribir, no siempre funcionan bien y cualquier solución completa requeriría una gran cantidad de potencia de procesamiento. Cualquier solución estaría fuera de línea (en lugar de tiempo real) al principio.

La percepción 3D no está tan ligada a la óptica estéreo como podría creer. Si crees que necesitas dos ojos para ver 3D, entonces intenta caminar con un parche en el ojo. Lo harás bien. Hay un (pequeño) número de programas, incluidos algunos paquetes de software comercial, que crean modelos 3D a partir de conjuntos de imágenes 2D sin una cámara estéreo. Algunos se ejecutan en línea, construyendo un modelo más detallado a medida que se ve más.

Solo de pensarlo, puedo pensar en algunos problemas que te toparías con las películas en particular. Por ejemplo, podría imaginar mates que se renderizan a una profundidad incorrecta. Los videos con efectos especiales de software como Apple Motion pueden terminar con artefactos extraños.

4

No puede funcionar en general por una razón muy simple: suponga que tiene una escena con una ventana en una pared que muestra una playa, y al lado, tiene una fotografía que muestra una ventana en una pared que muestra una playa. ¿Cómo puede el algoritmo diferenciar entre los dos? ¿Cómo se puede detectar qué es la realidad con profundidad y qué es solo una fotografía plana?

+0

Su ejemplo es perfecto. Explica fácilmente por qué esto nunca puede funcionar realmente a la perfección. – Beska

2

Quizás haya un algoritmo para emular vistas estereoscópicas, pero no puede ser el mismo.

La razón es bastante simple. En un video 2D no solo falta la información de profundidad (que no es suficiente para obtener un video estereoscópico), sino que falta las superficies ocultas que serían visibles desde otro punto de vista.

Todo el mundo podría pensar que la información de profundidad podría extrapolarse de la información disponible, y esto es cierto. Pero la información faltante no puede ser tan precisa para tener un buen efecto estereoscópico.

Aparte de eso, he oído hablar de un sistema que podría extraer modelos 3D precisos de 8 (¡ocho!) Cámaras que apuntan al mismo objetivo. Es tan preciso emular también los movimientos de la ropa correctamente. Sin embargo, esto se hace procesando 8 (¡ocho!) Videos 2D. ¿Cómo podría ser posible lograr el mismo resultado con solo un video en 2D?

La consecución del resultado deseado depende esencialmente de la disponibilidad de la información, y en este caso (en mi humilde opinión) no hay suficiente información. Sin embargo, podría intentarse emular el efecto estereoscópico a partir de un video 2D, pero esencialmente requiere un trabajo arduo, un procesamiento prolongado y la consecuencia es un resultado de baja calidad respecto de un video estereoscópico original.


Me gustaría recordar que la vista 3D es generada por nuestro cerebro. Los ojos pueden capturar solo imágenes en 2D, y nuestro cerebro, procesando las dos imágenes puede generar una vista en profundidad de los objetos vistos.

Cuestiones relacionadas