Técnico

De cero a NerF: qué esperar en cuanto a datos en un proyecto de NerF

Share

En esta continuación de nuestra exploración inicial de NerF (Neural Radiance Fields), profundizaremos en los aspectos esenciales de la preparación y gestión de datos para utilizar esta innovadora tecnología. Además, destacaremos una selección de herramientas prácticas que pueden ayudarlo en su transición hacia el uso del NerF, permitiéndole comprender y aplicar mejor sus capacidades.

Resumen sobre NerF

En el artículo anterior de esta serie hablamos sobre:

  • Qué son los NERF: una arquitectura de aprendizaje profundo de última generación que se utiliza para sintetizar volúmenes 3D a partir de imágenes 2D.
  • Enfoques clásicos frente a enfoques basados en modelos: el enfoque «clásico» requiere entrenar un modelo separado para cada escena, mientras que los enfoques basados en modelos más recientes tienen como objetivo generalizar en varias escenas similares mediante el entrenamiento previo.
  • Terminología clave: qué entendemos por una escena, una vista, el renderizado, la posición de la cámara, el renderizado del volumen y la síntesis de la vista.
  • Revisión de investigaciones recientes: incluidos enfoques basados en escenas (Neroic, InstantNerf) y enfoques basados en modelos (PixelNerf, LolNerf).
  • Los desafíos incluyen las compensaciones entre los enfoques basados en escenas y modelos, como la calidad del renderizado, el tiempo de entrenamiento y los datos requeridos.

Para obtener una revisión más detallada de las capacidades de los NerFs y la terminología clave, consulta nuestra entrada anterior en esta serie.

Los datos

La mayoría de los conjuntos de datos de Nerf tienen diferentes escenas con dos componentes clave:

  • Imágenes: vistas múltiples de la misma escena desde diferentes ángulos
  • Información posicional y angular de la cámara para cada imagen

Sin embargo, los conjuntos de datos que hemos encontrado tienden a diferir en cuanto a la forma en que se presenta esta información, especialmente en relación con la posición de la cámara, porque hay varias formas de referirse a ella: ya sea mediante coordenadas intrínsecas en los archivos.txt, matrices de rotación en archivos.json o .npz (numpy), o incluso pueden tener datos más específicos de la escena, como «Cámara_a, Cámara_b,... Cámara_c», asociados a la disposición de la cámara en el proceso de recopilación de datos. Por lo tanto, tenga cuidado al elegir un conjunto de datos y un modelo, es posible que deba transformar los datos de un formato a otro para que esto funcione.
En la sección de herramientas, presentaremos algunas aplicaciones útiles que utilizan solo un vídeo o imágenes de la escena para renderizarla, por lo que no tenemos que preocuparnos por los formatos, las poses de la cámara, etc.

PixelNerf vs traditional NeRF with 3-images

PixelNerf frente a NerF tradicional con 3 imágenes. Fuente de la imagen: Pixel Nerf

Conjuntos de datos:

Hay dos categorías amplias de conjuntos de datos en lo que respecta a los NERF: conjuntos de datos sintéticos, creados en su mayoría tomando «instantáneas» de modelos 3D de un objeto, y conjuntos de datos del mundo real.

Conjuntos de datos sintéticos:
  • ShapeNet: Un conjunto de datos que consta de miles de modelos 3D en baja resolución (64 × 64 píxeles) que corresponden a más de 200 clases de objetos comunes.
3D white sofa
Rotated 3D white sofa
Rotated 3D white sofa
Rotated 3D white sofa
  • Ladrillo móvil: Los autores proponen un novedoso proceso de captura de datos y anotación 3D para obtener formas 3D precisas y reales sin depender de costosos escáneres 3D. La clave para crear formas 3D precisas y reales es utilizar modelos LEGO, que están hechos de ladrillos de LEGO con una geometría conocida. Este conjunto de datos contiene dos características distintivas:
    1. Un gran número de secuencias RGBD con anotaciones 3D precisas sobre el terreno.
    2. Las imágenes RGBD se capturaron con dispositivos móviles para poder probar los algoritmos en una configuración realista para aplicaciones móviles de AR.
teaser.gif

Ladrillo móvil

Conjuntos de datos del mundo real:

DTU MVS 2014: un conjunto de datos estéreo de múltiples vistas. Concretamente, contiene 80 escenas de gran variabilidad. Cada escena consta de 49 o 64 posiciones precisas de cámara y escaneos de luz estructurada de referencia, todos adquiridos por un robot industrial de 6 ejes.

Herramientas útiles

En esta sección revisaremos las herramientas que necesitará para embarcarse en un proyecto de NerF. Esto incluye herramientas para renderizar escenas a partir de modelos 3D, una herramienta para extraer las coordenadas aproximadas de la cámara a partir de diferentes imágenes de una escena y varias herramientas para crear modelos 3D a partir de imágenes/vídeos de una escena utilizando el enfoque clásico.

Licuadora
  • : Blender es un software de creación 3D potente y versátil que se puede utilizar para crear animaciones y modelos digitales de alta calidad. Sus capacidades incluyen herramientas de modelado avanzadas para crear geometrías complejas y herramientas de animación para crear movimientos e interacciones realistas. También cuenta con un motor de renderizado flexible que puede producir imágenes y animaciones fotorrealistas. Tiene dos usos principales cuando se trabaja con NerFs:
    • Para visualización y renderizado de modelos 3D
    • Cuando se utilizan conjuntos de datos basados en 3D, para recopilar varias capturas desde diferentes ángulos conocidos en la misma escena. Podemos usar esto para crear un conjunto de datos para entrenar un modelo.
COLMAP

COLMAP (abreviatura de «Structure-from-Motion and Multi-View Stereo Pipeline») es un paquete de software gratuito y de código abierto para fotogrametría. Se puede usar para crear modelos 3D a partir de colecciones de imágenes 2D y puede manejar una variedad de tipos de entrada. Estas entradas incluyen imágenes individuales, secuencias de imágenes y secuencias de vídeo.
Está diseñado para realizar tres tareas principales:

  • Detección y coincidencia de características: identificar los puntos correspondientes y utilizarlos para reconstruir la geometría 3D de la escena.
  • Reconstrucción geométrica: estimación de los parámetros de la cámara y las posiciones 3D de los puntos de la escena.
  • Mapeo de texturas: se utiliza para aplicar la información de color de las imágenes de entrada al modelo 3D.

Cuando hablamos de COLMAP en esta serie, hablamos principalmente de reconstrucción geométrica. En general, necesitamos estimar los parámetros de la cámara, lo que se puede hacer usando COLMAP directamente. Pero, por lo general, no es necesario usarlo manualmente, ya que se implementa en otros métodos.

Estudio Nerf

NerfStudio es una herramienta versátil de código abierto diseñada para trabajar con proyectos NerF (Neural Radiance Fields). Proporciona a los usuarios una solución rápida y eficiente para renderizar escenas con NerFs, lo que la convierte en una opción ideal para quienes tienen acceso a un hardware robusto. Adaptable a varios casos de uso, NerfStudio es una opción popular para los usuarios que buscan una plataforma personalizable y accesible para sus proyectos relacionados con Nerf.

  • Ventajas:
    • Código abierto
    • Rápido (según el hardware, puede renderizar una escena en unos minutos como máximo)
    • Gratuito
    • Proporciona una variedad de modelos para renderizar escenas
  • Contras:
    • Difícil de configurar
    • Requiere acceso a un buen hardware, especialmente a las GPU

Fuente de la imagen: página github de Nerfstudio (eslabón)

Laboratorios LUMA

LumaLabs es una herramienta prometedora para quienes estén interesados en empezar a jugar con los NerFs, ya que permite a los usuarios crear fácilmente modelos 3D a partir de vídeos o imágenes sin necesidad de tener conocimientos o experiencia especializados en este campo. También hay una API disponible, que es una forma cómoda de integrar el modelado 3D en sus propios flujos de trabajo. Sin embargo, al tratarse de un software propietario, su funcionalidad y precio pueden estar sujetos a cambios según el criterio de sus desarrolladores. Tenga en cuenta también que no es de código abierto, lo que dificulta su adaptación a un caso de uso en particular. Por ahora, tienes acceso a algunos renderizados gratuitos como nuevo usuario.

  • Ventajas:
    • Fácil de usar
    • Algunos renders gratuitos para nuevos usuarios
  • Contras:
    • Lento (hasta una hora para una escena)
    • Software propietario

Con esta herramienta renderizamos nuestra propia escena, tardamos alrededor de una hora en renderizarla con la versión gratuita. Solo necesitábamos un vídeo de la escena tomado desde diferentes ángulos. La aplicación se encargó de todo lo demás, incluida la eliminación del fondo (opcional). Este es el resultado final:

El futuro de NerF

Al concluir esta serie, nos gustaría mencionar algunos enfoques nuevos que podrían captar su interés. Varios modelos han incorporado texto junto con los modelos NerF. Dos ejemplos notables de esta línea son LeRF, que combina CLIP y NerF para permitir la consulta de imágenes para objetos específicos mediante texto, y Instruct-NERF2NERF, que emplea InstructPix2pix para editar escenas de NerF con instrucciones de texto.

Con el reciente auge de los modelos generativos, en particular los modelos de difusión, no sorprende que algunos enfoques hayan integrado la difusión en sus procesos. DreamFusion, un método intrigante, utiliza un modelo de difusión de texto a imagen 2D previamente entrenado para realizar la síntesis de texto a 3D. Otro enfoque, Cero, 1 a 3, permite la reconstrucción de nuevas vistas de cámara de un objeto utilizando una sola imagen. También puedes usar este método para entrenar un NerF para la reconstrucción en 3D.

Reflexiones finales

A lo largo de esta serie, hemos examinado los enfoques NerF más avanzados y las principales herramientas para renderizar escenas con métodos tradicionales. El enfoque óptimo dependerá en gran medida de su caso de uso específico. Si tiene acceso a un hardware robusto y está buscando una herramienta rápida y de código abierto que pueda personalizarse según sus necesidades, NerfStudio es probablemente su mejor opción. Por otro lado, si prefieres una solución fácil de usar y estás dispuesto a pagar una tarifa por renderizado, LumaLabs puede ser la opción ideal.

Cada viaje de IA comienza con una conversación

Hablemos
Hablemos