hace 2 años
La robótica está experimentando una transformación gracias a los avances en la visión artificial, y una de las técnicas más prometedoras es NeRF (Neural Radiance Fields). Esta técnica de reconstrucción 3D basada en el aprendizaje profundo está revolucionando la forma en que los robots perciben y interactúan con el entorno que les rodea.
![[REVIEW] Nerf TerraScout Recon | RESKIN OR UPGRADE?](https://i.ytimg.com/vi/tFIpe4x0nz8/hqdefault.jpg)
¿Qué es NeRF en Robótica?
NeRF es un método de aprendizaje profundo que permite reconstruir una representación tridimensional de una escena a partir de imágenes bidimensionales. A diferencia de las técnicas tradicionales de visión por computador, NeRF no se basa en la extracción explícita de características geométricas, sino que aprende una función que mapea las coordenadas espaciales y la dirección de visualización a la densidad volumétrica y la radiación emitida. Esto permite generar nuevas vistas de la escena, reconstruir la geometría y obtener las propiedades de reflectancia, todo ello a partir de un conjunto de imágenes.
Algoritmo NeRF
El algoritmo NeRF representa una escena como un campo de radiancia parametrizado por una red neuronal profunda (DNN). Esta red predice la densidad volumétrica y la radiación emitida dependiente de la vista, dados la ubicación espacial (x, y, z) y la dirección de visualización en ángulos de Euler (θ, Φ) de la cámara. Mediante el muestreo de muchos puntos a lo largo de los rayos de la cámara, las técnicas tradicionales de renderizado volumétrico pueden producir una imagen.
Recopilación de Datos
Un NeRF necesita ser reentrenado para cada escena única. El primer paso es recopilar imágenes de la escena desde diferentes ángulos y sus respectivas poses de cámara. Estas imágenes son imágenes 2D estándar y no requieren una cámara o software especializado. Cualquier cámara puede generar conjuntos de datos, siempre que la configuración y el método de captura cumplan con los requisitos de SfM (Structure from Motion), que es la técnica para obtener la posición y orientación de la cámara a partir de varias fotografías.
Entrenamiento
Para cada punto de vista disperso (imagen y pose de cámara) proporcionado, los rayos de la cámara se mueven a través de la escena, generando un conjunto de puntos 3D con una dirección de radiancia dada (hacia la cámara). Para estos puntos, la densidad volumétrica y la radiancia emitida se predicen utilizando el perceptrón multicapa (MLP). Luego, se genera una imagen a través del renderizado volumétrico clásico. Debido a que este proceso es completamente diferenciable, el error entre la imagen predicha y la imagen original se puede minimizar con el descenso de gradiente en múltiples puntos de vista, lo que alienta al MLP a desarrollar un modelo coherente de la escena.
Variaciones y Mejoras de NeRF
Las versiones iniciales de NeRF eran lentas de optimizar y requerían que todas las vistas de entrada se tomaran con la misma cámara en las mismas condiciones de iluminación. Desde el artículo original de 2020, se han realizado muchas mejoras al algoritmo NeRF, con variaciones para casos de uso especiales:
- Mapeo de características de Fourier: Mejora la velocidad de entrenamiento y la precisión de la imagen.
- Campos de radiancia neuronales de ajuste de haces (BARF): Optimiza la pose de la cámara junto con la función volumétrica, corrigiendo poses imperfectas de la cámara.
- Representación multiescala (mip-NeRF): Mejora la nitidez de los detalles en diferentes escalas de visualización.
- Inicializaciones aprendidas: Acelera la convergencia mediante el aprendizaje meta.
- NeRF en la naturaleza (NeRF-W): Permite entrenar NeRF en colecciones de fotos diversas, como las tomadas por teléfonos móviles a diferentes horas del día.
- Reiluminación: Permite renderizar la escena bajo cualquier condición de iluminación sin volver a entrenar.
- Plenoctrees: Permite el renderizado en tiempo real de NeRF preentrenados.
- Cuadrícula de radiancia neuronal dispersa (SNeRG): Otra técnica para el renderizado en tiempo real de NeRF preentrenados.
- NeRF instantáneos: Permite el entrenamiento en tiempo real de NeRF.
Técnicas Relacionadas
Existen otras técnicas relacionadas con NeRF que ofrecen alternativas o mejoras:
- Plenoxels: Utiliza una representación de vóxel dispersa en lugar de un enfoque volumétrico.
- Gaussian splatting: Utiliza una nube dispersa de gaussianas 3D para representar la escena.
- Fotogrametría: Técnica tradicional que utiliza ecuaciones geométricas para obtener mediciones 3D.
Aplicaciones de NeRF en Robótica
Las aplicaciones de NeRF en robótica son vastas y prometedoras:
- Creación de contenido: Generación de vistas fotorrealistas para simulación y planificación de movimientos.
- Contenido interactivo: Creación de experiencias inmersivas en realidad virtual y aumentada.
- Imagen médica: Reconstrucción de exploraciones 3D a partir de vistas dispersas de rayos X.
- Robótica y autonomía: Permite a los robots interactuar con entornos complejos que incluyen objetos transparentes y reflectantes.
- Interacción humano-robot: Generación de rostros humanos fotorrealistas para una mejor interacción.
Tabla Comparativa de Técnicas de Reconstrucción 3D
| Técnica | Ventajas | Desventajas |
|---|---|---|
| NeRF | Alta fidelidad, nuevas vistas, propiedades de reflectancia | Lento de entrenar, requiere datos precisos |
| Plenoxels | Rápido de entrenar | Menos fidelidad que NeRF |
| Gaussian splatting | Rápido, alta fidelidad | Requiere un punto inicial |
| Fotogrametría | Precisión geométrica | Dificultad con objetos reflectantes/transparentes |
NeRF está abriendo nuevas posibilidades en la robótica, permitiendo a los robots una percepción 3D más rica y precisa. A medida que la tecnología continúa evolucionando, se espera que NeRF juegue un papel cada vez más importante en el desarrollo de robots más inteligentes y capaces de interactuar con el entorno de forma más natural e intuitiva. Las mejoras en velocidad y eficiencia, como los NeRF instantáneos, están haciendo que esta tecnología sea accesible para un mayor rango de aplicaciones robóticas.
Las futuras investigaciones se centrarán en mejorar la eficiencia computacional, la capacidad de manejar escenas dinámicas y la integración con otras técnicas de visión por computador para crear sistemas de percepción robustos y completos para robots.
