NeRF

NeRF

Por Javier Cantón Ferrero, Chief Technology Innovation Officer at Plain Concepts

 

¿En qué consiste la tecnología NeRF?

La tecnología NeRF o Neural Radiance Field fue presentada en 2020 y representa un enfoque innovador en el campo de la visión por computadora y los gráficos 3D que se utiliza para crear representaciones 3D de entornos basadas en un conjunto limitado de fotografías.

Esta tecnología supone un gran avance con respecto a técnicas anteriores como la fotogrametría, la cual se utilizaba para generar modelos 3D de un elemento o entorno usando solo imágenes 2D.

La idea fundamental detrás de NeRF es, dado un conjunto de imágenes 2D capturadas desde diferentes puntos de vista de un objeto o entorno, ser capaz de inferir cualquier nuevo punto de vista no capturado de dicho entorno.
Hasta ahora, para generar entornos 3D siempre se han utilizado polígonos para representar elementos y texturas para aplicar color a estos. Esto supone que, según te acerques a un elemento de una escena y necesites un resultado fotorrealista, requieres de una cantidad inmensa de polígonos y texturas con una resolución muy alta, lo que implica ficheros de gran tamaño.

NeRF no utiliza dicha estrategia, sino que traza rayos por cada píxel de las imágenes de entrada (similar a como lo hacen las espadas de un mago al atravesar una caja donde está su ayudante). Con esa información, define funciones matemáticas que codifican para cada punto en el espacio el color que dicho punto tiene desde todos los ángulos de vista. Esto significa que un punto en el espacio puede devolver un color diferente dependiendo desde dónde se mire, lo que es útil para representar ciertos efectos físicos de la naturaleza, como reflejos en metales, cambios de iluminación o la refracción a través de objetos transparentes.

Toda esa información de color no se almacena, sino que se codifica en una función matemática, por lo que para diferentes valores de dicha función, que representan diferentes ángulos de vista, se devuelve un color diferente, logrando una compresión de información increíble en comparación con la generación 3D basada en texturas y polígonos.

Todas estas funciones matemáticas se codifican dentro de un modelo de inteligencia artificial basado en redes neuronales. Por lo tanto, una vez entrenado el modelo a partir del conjunto de fotos del espacio original, podemos mover una cámara 3D a puntos de dicha escena desde los cuales nunca se hizo una foto y pedirle al modelo de inteligencia artificial que nos genere una nueva imagen desde ese nuevo punto de vista con un resultado fotorrealista, que además simula todos los efectos físicos de iluminación y reflejos mencionados anteriormente.

Parece magia, pero funciona, y empresas como NVidia fueron de las primeras en sacar una librería llamada Instant-NGP que pudiese ser integrada en motores gráficos para poder usar este tipo de tecnología en tiempo real.

Desde Plain Concepts nos interesamos muy temprano por esta tecnología y aprovechando que llevamos 10 años trabajando en un motor gráfico propio llamado Evergine, que utilizamos para crear productos para empresas, decidimos integrar la tecnología de NVidia, consiguiendo resultados asombrosos en tiempo real, con los que estamos ayudando a empresas a acelerar la creación de Digital Twins industriales.

 

¿Qué utilidades puede tener en medios audiovisuales?

Para ayudar a imaginar posibles usos de esta tecnología en medios audiovisuales, recordemos sus grandes ventajas: capacidad para capturar un entorno con calidad fotorrealista a través de un conjunto de imágenes, compresión increíble de los datos y generación de imágenes desde puntos de vista que no estaban en el conjunto original. Esto último se logra gracias a que la información de color se almacena en funciones matemáticas que se definen en función del color de cada píxel de las imágenes de entrada y la interpolación entre todos esos píxeles para obtener funciones continuas. Es decir, que puedes preguntar por cualquier nuevo punto de vista y estas siempre tendrán un color que devolver para cada píxel de pantalla.

Esto significa que, por ejemplo, podemos generar videos en los que se reconstruyan ubicaciones de las cuales tenemos un conjunto de fotos o un video del cual podemos extraer los fotogramas para generar ese conjunto. A veces, un reportero de informativos cubre una noticia y toma algunas fotos o videos con su móvil de una ubicación, pero ese contenido puede no ser adecuado para mostrar, ya sea porque es demasiado corto, porque se grabó en vertical, porque el framerate no es el adecuado o el video no está estabilizado. Utilizando este contenido como entrada, podremos crear un nuevo video de dicha ubicación con la resolución y relación de aspecto que necesitemos, independientemente de la original. Este puede durar el tiempo que necesitemos y, en desplazamientos de cámara, podemos utilizar una estabilización perfecta. Además, podremos generar tantos videos como queramos de dicho espacio realizando diferentes movimientos de cámara hasta encontrar aquel que más nos convence. Todo esto es posible gracias a que una vez capturado el espacio, el modelo NeRF puede generar fotogramas desde cualquier punto de vista.

Uno de los proyectos gratuitos más interesantes para comprobar los resultados que esta tecnología puede ofrecer en la generación de videos se llama NerfStudio, el cual es muy fácil de configurar e instalar. Además, este proyecto está siendo utilizado por la comunidad científica como banco de pruebas para cada nuevo avance que se produce en la tecnología NeRF.

 

El uso de NeRF en Virtual Productions

Los platós virtuales ganaron mucha popularidad durante la pandemia, ya que se convirtieron en la solución para continuar trabajando de muchas productoras importantes, como Netflix o HBO.

Estos platós, a diferencia de usar los fondos verdes o azules más conocidos como croma, donde se grababan las secuencias y luego en postproducción se añadían los entornos, utilizan fondos basados en pantallas LED gigantescas que proyectan un entorno, el cual es dinámico y se deforma teniendo en cuenta el ángulo de visión de la cámara para conseguir una sensación de tridimensionalidad real.

Esta tecnología está detrás de grandes producciones como «The Mandalorian» de Disney+, las cuales facilitaron mucho su grabación, ya que el personaje principal lleva un traje metálico que refleja todo el entorno. Si se hubiese grabado en un croma, no solo habría que sustituir el entorno en cada secuencia, sino también eliminar todos los reflejos verdes o azules del traje del personaje. Sin embargo, al utilizar pantallas LED que proyectan un entorno virtual, el traje va a reflejar la luz del entorno, eliminando muchas horas de postproducción. Por lo tanto, al emitir luz estas pantallas sobre los personajes, podemos simular rápidamente diferentes condiciones de iluminación o meteorológicas, sin tener que esperar a la fase de post-producción para añadir todo esto.

Es importante destacar que, por lo tanto, las fases de pre-producción y post-producción se mezclan, y en estos platós virtuales debes tener los entornos preparados antes de la grabación de las escenas. Para el renderizado de estos fondos, actualmente se están utilizando los últimos avances de los motores de videojuegos. Por tanto, se deben crear entornos 3D basados en polígonos y texturas, y es necesario invertir largos tiempos de desarrollo para conseguir resultados fotorrealistas que puedan encajar bien en las escenas.

Aquí es donde la tecnología NeRF puede ayudar enormemente. Si se necesita reconstruir lugares conocidos en una ciudad o ubicaciones extraordinarias como la selva del Amazonas o el desierto del Sahara, no sería necesario enviar a alguien para realizar fotos y videos, pasar esta información a un equipo de producción gráfica y pasar semanas modelando y texturizando un entorno en 3D para conseguir un aspecto fotorrealista. Con que una persona se desplace al lugar y realice las fotografías necesarias para construir el modelo NeRF, el cual se puede generar en pocas horas, sería suficiente. Luego, ya en uno de estos platós virtuales, podríamos mover la cámara por dicho espacio para hacer el seguimiento de escenas, y todo esto con el mejor foto realismo, reduciendo enormemente los tiempos requeridos para poder construir los fondos necesarios para cada escena. Estoy convencido de que grandes productoras empezarán a crear su catálogo de entornos capturados con esta tecnología que puedan reutilizar en diferentes producciones, abaratando enormemente el uso de esta tecnología. Además, las visualizaciones NeRF pueden mezclarse como si fueran capas con renderizado en tiempo real basado en polígonos, por lo que no es que esta tecnología vaya a sustituir a otras, sino que el secreto estará en sacarle el mejor partido a cada una para mejorar los tiempos de producción.

 

Retos de esta tecnología

NeRF es una tecnología reciente, pero desde su aparición en 2020 ha atraído la atención de muchos sectores diferentes debido al gran potencial que presenta. Está basada en redes neuronales que requieren una gran potencia de cómputo para su inferencia en tiempo real. El paper original utiliza la tecnología CUDA, la cual solo funciona en tarjetas NVIDIA, y para conseguir los mejores resultados posibles se requieren imágenes de entrada muy bien estabilizadas y de alta resolución. Finalmente, para su entrenamiento se necesita una gran cantidad de memoria de video VRAM, que es mayor en las tarjetas gráficas de última generación.

Todo esto es esencial si queremos aprovechar al máximo esta tecnología en tiempo real, lo cual es clave en algunos sectores como el de Producciones Virtuales en el sector audiovisual o Digital Twins interactivos en el sector de la construcción e ingeniería.

Aunque se están produciendo avances importantes en torno a esta tecnología, como el paper presentado en 2023 llamado Zip-NeRF, que permite capturar espacios cada vez más grandes y con mayor nitidez, conseguir estos resultados en tiempo real sigue siendo un desafío computacional importante con el hardware del que disponemos actualmente.

 

3D Gaussian Splattings

Vivimos en un mundo acelerado en el que todos queremos disponer de avances y los queremos de inmediato, sin estar dispuestos a esperar a que la tecnología NeRF para real-time esté disponible con el hardware actual. Esto me recuerda a la frase de Ian Malcolm en «Parque Jurásico»: «la vida se abre camino». En mayo de 2023, aparece un nuevo paper llamado «3D Gaussian Splatting for Real-time Radiance Field Rendering». Este no introduce un nuevo algoritmo NeRF basado en inteligencia artificial, sino que utiliza los avances introducidos en el campo de NeRF para construir escenas fotorrealistas basadas en Gaussian Splats o partículas usadas a modo de trazos.

Esto presenta un nuevo sistema de rasterización de escenas. En 3D, la unidad básica clásica utilizada para representar objetos es el triángulo, y cada elemento 3D está formado por pequeños triángulos a los que se les aplican trozos de texturas para representar los colores de un elemento. Por otro lado, con la técnica 3D Gaussian Splatting, las escenas se crean a partir de pequeñas partículas a modo de trazos en un cuadro, que tienen diferentes tamaños, posiciones y transparencias. La información de color de cada partícula también se almacena en unas funciones matemáticas llamadas esféricos armónicos, que, al igual que en NeRF, pueden devolver un color diferente para la partícula dependiendo del ángulo desde el cual se la observe. Recordemos que esto es importante para poder simular propiedades físicas de la materia, como la reflexión de metales o la refracción de cristales.

La gran ventaja de esta técnica es que, aunque logra resultados visuales similares, las necesidades computacionales son mucho menores. Es como si hubiéramos avanzado 4 años en la capacidad para visualizar NeRF en tiempo real, trayendo ese futuro a nuestro presente.

 

Conclusiones

La tecnología NeRF ha revolucionado la representación de escenas por ordenador, obteniendo resultados automáticos asombrosos que superan con creces las técnicas anteriores, como la fotogrametría, la cual presentaba dificultades significativas en la representación de materiales como metales o cristales. Al mismo tiempo, ha mejorado la productividad en la generación manual de entornos reales, y los últimos avances en una técnica de rasterización llamada 3D Gaussian Splatting nos permiten dar un salto de varios años en las posibilidades de representación de escenas fotorrealistas y la creación de videos.

El verdadero desafío, como siempre, radica en nuestra capacidad para combinar esta tecnología con las técnicas existentes y aprovechar al máximo sus posibilidades. Se avecina un salto tecnológico importante en la digitalización de elementos y espacios gracias a estas tecnologías.

DaVinci Resolve Stud
Entrega de Premios T