marzo 01, 2023

Ejemplo de NeRF basado en Nvidia Instant-ngp

Neural Radiance Fields (NRF) es una técnica de gráficos por ordenador y aprendizaje profundo utilizada para generar imágenes y escenas 3D fotorrealistas a partir de datos de entrada. La técnica fue propuesta por Mildenhall et al. en un trabajo de investigación publicado en 2020.

La idea detrás de NRF es utilizar una red neuronal para aprender la radiancia emitida por un objeto en una escena tridimensional a partir de datos de entrada como imágenes y vídeos. La red neuronal aprende la relación entre la radiancia del objeto y su posición en el espacio, lo que permite generar nuevas vistas de la escena en tiempo real.

Para generar una imagen 3D con NRF, primero se construye una malla 3D del objeto de interés y se toman imágenes de la escena desde múltiples ángulos mediante técnicas como la fotografía o la captura de vídeo. Estas imágenes se introducen en la red neuronal, que utiliza la información para construir un modelo 3D del objeto y aprender la relación entre el brillo y la posición en el espacio.

Una vez entrenada la red neuronal, puede utilizarse para generar nuevas vistas de la escena en tiempo real, simplemente introduciendo una posición en el espacio y generando una imagen a partir de esa posición.

El tiempo de entrenamiento puede ser muy caro, necesitando varias horas o incluso minutos para entrenar el modelo con una escena sencilla. Por eso, desde que se publicó el primer artículo, han ido apareciendo nuevos estudios y proyectos que exploran distintas formas de entrenar el modelo como Nvidia Instant NGP.

Nvidia Instant NGP utiliza la potencia de las tarjetas gráficas Nvidia para entrenar un modelo en segundos o minutos y, después, permite cargar directamente este modelo entrenado, reduciendo el tiempo de entrenamiento y renderizado de un modelo.

Hemos creado una muestra de Evergine que combina el Nvidia Instant-ngp con Evergine, permitiéndote crear un proyecto Evergine donde integras un render de escena NeRF.

En esta versión, introducimos el ejemplo NeRF que te permite explorar esta tecnología usando Evergine. En el ejemplo, puedes navegar a través de una escena NeRF y utilizar esta base de código para ampliar y explorar nuevas posibilidades.

Hemos creado un ejemplo de código que muestra una bomba de calor industrial que ha sido generada utilizando un modelo neural de campo de radiancia. En el ejemplo, los usuarios pueden orbitar alrededor del modelo para visualizar cómo el modelo entrenado puede generar cualquier ángulo de visión de la bomba de calor. Las imágenes generadas son sintéticas, lo que significa que puede que nunca se haya capturado un ángulo de cámara específico en las imágenes de entrenamiento, pero el modelo de IA es capaz de predecirlo.

Puedes generar tus propios modelos NeRF y añadirlos a la muestra. Tendrás que grabar un vídeo o capturar una colección de imágenes con tu dispositivo móvil o cámara de vídeo del objeto o entorno que desees representar. A continuación, puedes entrenar el modelo utilizando Instant-ngp y generar los archivos transform.json que contienen las posiciones de cada imagen utilizada para entrenar el modelo, junto con el archivo base.ingp que incluye el entrenamiento realizado en la red (recomendamos realizar más de 35.000 iteraciones para asegurar una buena definición del modelo).

Nuestras recomendaciones a la hora de capturar imágenes o vídeos para generar un modelo NeRF serían:

  • Asegurar una buena iluminación
  • Utilizar una cámara de alta definición HD o 4K
  • Utilizar un objetivo gran angular
  • Mantener una velocidad de obturación baja (para evitar imágenes borrosas)
  • Mantener la exposición constante durante toda la grabación

Seguimos trabajando en esta nueva línea, y esperamos añadir más muestras que combinen la tecnología NeRF con Evergine en los próximos meses. Muy pronto publicaremos más.

Jorge Canton
Author
Jorge Cantón
Plain Concepts Research

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.