Vídeo de Calidad Fotorrealista en Tiempo Real a partir de NeRF

|

El mundo de los gráficos por ordenador ha experimentado avances significativos gracias a la implementación de la inteligencia artificial. Un avance particularmente impresionante es la capacidad de renderizar vídeo en tiempo real con calidad fotográfica a partir de Campos de Radiación Neurales (NeRF). En este artículo, discutiremos cómo esta tecnología funciona a nivel técnico, las aplicaciones prácticas que ofrece, y las posibilidades que abre para el futuro.

De hecho, en mi canal de YouTube puedes encontrar un completo videotutorial sobre como experimentar con esta tecnología de modo completamente gratuito:

Pero hoy te voy a hablar de un nuevo avance que permite convertir estos campos de rayos de luz en vídeos con calidad fotorrealista.

Pero primero, vamos a explicar un poco mejor en que consiste esta tecnología, para luego incidir en la innovación que se plantea.

En esta guía gratuita encontrarás todo lo necesario para dar los primeros pasos con Stable Diffusion y ChatGPT

Guía Gratuita Stable Diffusion + ChatGPT

¿Qué son los Campos de Radiación Neurales (NeRF)?

Los Campos de Radiación Neurales o Neural Radiance Fields (NeRF) son una técnica de renderización que utiliza algoritmos de aprendizaje profundo para crear imágenes 3D realistas a partir de fotografías 2D. Los NeRFs son capaces de capturar la apariencia de una escena desde múltiples ángulos y en diferentes condiciones de iluminación, lo que los hace ideales para la creación de imágenes 3D realistas y detalladas.

Renderización en tiempo real con NeRF

La capacidad de renderizar en tiempo real es una característica clave que distingue a los NeRFs de otras técnicas de renderización. Esto significa que los NeRFs pueden generar imágenes 3D en tiempo real mientras se navega por una escena virtual, lo que proporciona una experiencia de usuario mucho más interactiva y atractiva.

La renderización óptima en tiempo real con NeRF se logra mediante la utilización de un algoritmo de optimización que permite a los NeRFs adaptarse a la geometría de diferentes formas en las escenas capturadas. Este algoritmo optimiza los parámetros de los campos de radiación neuronales, permitiéndoles representar de manera precisa y detallada la escena 3D.

Aplicaciones prácticas de la renderización con NeRF

La renderización en tiempo real con NeRF tiene una amplia gama de aplicaciones prácticas, desde la creación de gráficos de juegos realistas hasta la visualización de datos en 3D para la investigación científica.

Gráficos de videojuegos

En el mundo de los videojuegos, la renderización en tiempo real con NeRF puede utilizarse para crear gráficos impresionantes y realistas. Los jugadores pueden navegar por escenas virtuales que se ven y se sienten como el mundo real, gracias a la capacidad de los NeRFs para capturar detalles finos y condiciones de iluminación variables.

Visualización de datos en 3D

En el campo de la investigación científica, la renderización en tiempo real con NeRF puede utilizarse para visualizar datos en 3D. Los investigadores pueden explorar visualmente conjuntos de datos complejos en un formato tridimensional, lo que puede ayudar a descubrir patrones y tendencias que podrían ser difíciles de detectar en formatos bidimensionales.

Realidad virtual y aumentada

La renderización en tiempo real con NeRF también tiene un gran potencial en el campo de la realidad virtual y aumentada. Los usuarios pueden sumergirse en entornos virtuales que se ven y se sienten como el mundo real, mejorando así la inmersión y la experiencia del usuario.

Re:tune: La Plataforma de IA para Crear Chatbots Personalizados

¿Cómo funciona la renderización en tiempo real con NeRF a nivel técnico?

A nivel técnico, la renderización en tiempo real con NeRF se logra mediante un proceso de dos pasos: la optimización y la representación.

Optimización

En la etapa de optimización, los NeRFs se entrenan para representar una escena 3D a partir de un conjunto de fotografías 2D. Esto se logra mediante la optimización de una función de pérdida que compara las imágenes renderizadas por los NeRFs con las fotografías 2D originales.

Los NeRFs aprenden a representar la apariencia de la escena desde múltiples ángulos y en diferentes condiciones de iluminación, lo que les permite generar imágenes 3D precisas y detalladas.

Representación

Una vez que los NeRFs han sido optimizados, pueden utilizarse para renderizar nuevas imágenes de la escena a partir de cualquier ángulo. Esto se logra mediante un proceso llamado rasterización, que convierte los campos de radiación neuronales en una imagen 2D que puede ser visualizada en una pantalla.

La rasterización se realiza en tiempo real, lo que significa que los NeRFs pueden generar nuevas imágenes de la escena mientras se navega por ella. Esto proporciona una experiencia de usuario interactiva y atractiva, ya que los usuarios pueden explorar la escena virtual desde diferentes perspectivas y en tiempo real.

En este paper, presentan un nuevo método que se basa en una representación de la escena tridimensional utilizando Gaussians en 3D. El método se destaca por su capacidad para lograr resultados de alta calidad en tiempo real (≥ 30 fps) a una resolución de 1080p.

Representación de escenas con a partir de Gaussians 3D

En este artículo científico, se presenta una nueva forma de abordar este desafío. Usando una analogía, se empieza por tomar puntos clave de una imagen para crear una especie de mapa tridimensional. Luego, se utilizan técnicas especiales para darle forma a este mapa (Gaussians 3D) y pintar detalles en él. Finalmente, se desarrolla un método para mostrar esta imagen en tiempo real, como si estuvieras viendo un video.

La optimización propuesta en este método consiste en trabajar a partir de funciones Gaussianas en 3D, que representan la radiación volumétrica en la escena de modo que ya no trabajamos con puntos independientes.

Imagina que queremos describir una forma tridimensional, como una figura en el espacio. En lugar de decir cómo se ve exactamente, usamos algo llamado “Gaussianas en 3D”. Estas Gaussianas están definidas por una especie de plantilla que nos ayuda a entender su forma. Piensa en ello como si fuera una forma elíptica en el espacio, o si fuesen imágenes 2D, como brochazos de pinceles.

La parte interesante es que esta plantilla puede cambiar en diferentes direcciones, lo que nos permite capturar detalles pequeños de manera muy eficiente. Además, esta forma especial es fácil de ajustar para que se vea mejor, usando una especie de proceso de ajuste. Durante este proceso, cambiamos cómo está ubicada la forma, cómo se estira y también cómo es de transparente. Todo esto nos ayuda a lograr una imagen precisa y realista de lo que estamos describiendo.

NeuronWriter: Asistente SEO con IA

Optimiza tu contenido para SEO fácil, rápido y con datos

Optimización y control adaptativo de densidad

La optimización de los Gaussians en 3D es un proceso iterativo que implica la renderización de la escena y la comparación de las imágenes resultantes con las vistas de entrenamiento. Durante la optimización, utilizamos técnicas de descenso de gradiente estocástico para ajustar los parámetros de los Gaussians en 3D y mejorar la calidad visual de las imágenes generadas.

Imagina que estamos tratando de hacer que una imagen 3D se vea mejor. Lo que hacemos es un proceso de mejora que se repite varias veces. Primero, mostramos la imagen y comparamos cómo se ve con imágenes de ejemplo. Luego, ajustamos los detalles de la imagen usando un método especial. Nuestro objetivo es hacer que la imagen se vea más real y clara desde cualquier punto de vista.

Pero eso no es todo. También tenemos una forma de asegurarnos de que no falten ni sobren detalles en la imagen. Si hay partes que no se ven bien, creamos más detalles similares y los movemos a donde deberían estar. Si hay partes con demasiados detalles, dividimos los detalles en dos y los hacemos un poco más pequeños. Así, logramos que todos los detalles se vean bien distribuidos en la imagen.

Esto último se conoce como un control adaptativo de la densidad de los Gaussians 3D.

Renderizado rápido y diferenciable de Gaussians

El renderizado rápido y diferenciable de los Gaussians en 3D es esencial para lograr el rendimiento en tiempo real de nuestro método. Para lograr esto, desarrollamos un rasterizador basado en mosaicos inspirado en enfoques de rasterización de software recientes. Dividimos la pantalla en mosaicos y realizamos cálculos de rasterización en paralelo para cada mosaico. Durante la rasterización, utilizamos técnicas de ordenación rápida para acelerar el proceso y garantizar que los Gaussians se rendericen en el orden correcto.

Imagina que estás viendo un videojuego o una película en 3D en tu computadora.

Ahora, para que todo funcione rápido y se vea suave, los expertos han inventado algo como un pintor que trabaja en pequeños cuadros en lugar de pintar todo a la vez. Imagina que tienes una imagen grande y la divides en pedacitos más pequeños, como los cuadrados de un mosaico. Luego, un ejército de pequeños “pintores” trabaja en cada cuadrado al mismo tiempo, haciendo que todo sea más rápido y eficiente.

Además, estos “pintores” tienen una habilidad especial: pueden decirnos cómo los colores y las formas deberían cambiar cuando miramos desde diferentes ángulos. Es como si supieran cómo la imagen debería cambiar cuando movemos la cabeza. Así, logran que todo se vea suave y realista.

Este rasterizador es capaz de manejar un número arbitrario de Gaussians mezclados y proporciona resultados visuales de alta calidad en tiempo real.

Resultados y evaluación

Después de evaluar su método en varios conjuntos de datos establecidos y compararlo con los resultados con métodos anteriores. Los investigadores afirman que los resultados demuestran que su método es capaz de lograr calidad visual de vanguardia en tiempo real mientras mantiene tiempos de entrenamiento competitivos.

“En comparación con el método de Mip-NeRF360, nuestro método ofrece una calidad visual comparable mientras logra tiempos de entrenamiento y rendimiento en tiempo real. También superamos a los métodos de InstantNGP y Plenoxels en términos de calidad visual y rendimiento en tiempo real. Nuestro método permite la navegación en tiempo real en una amplia variedad de escenas y puede generar imágenes de alta calidad desde cualquier punto de vista”.

Hemos logrado resultados visuales de alta calidad en varios conjuntos de datos y hemos superado a los métodos anteriores en términos de calidad y rendimiento.

Conclusiones

La renderización en tiempo real con NeRF es una tecnología emocionante que abre un mundo de posibilidades para la creación de imágenes 3D realistas. Desde la creación de gráficos de videojuegos impresionantes hasta la visualización de datos en 3D para la investigación científica, hay innumerables aplicaciones prácticas para esta tecnología.

Sin embargo, a pesar de su potencial, la renderización en tiempo real con NeRF todavía es un campo de investigación en desarrollo. A medida que los investigadores continúan refinando y mejorando los algoritmos de optimización y representación, podemos esperar ver mejoras significativas en la calidad y eficacia de la renderización en tiempo real con NeRF.

En última instancia, la renderización en tiempo real con NeRF representa un emocionante avance en el campo de los gráficos por ordenador y la inteligencia artificial, y estamos entusiasmados por ver cómo esta tecnología seguirá evolucionando en los próximos años.

En esta guía gratuita encontrarás todo lo necesario para dar los primeros pasos con Stable Diffusion y ChatGPT

Guía Gratuita Stable Diffusion + ChatGPT
Más información: Paper científico

Más novedades IA