Ángulo de Anderson
Creación de entornos de búsqueda y rescate de vuelo a través de Neural con Mega-NeRF

Una nueva colaboración de investigación entre Carnegie Mellon y la empresa de tecnología de conducción autónoma Argo AI ha desarrollado un método económico para generar entornos de vuelo a través dinámicos basados en Campos de Radiancia Neural (NeRF), utilizando footage capturada por drones.

El nuevo enfoque, llamado Mega-NeRF, obtiene una aceleración de 40 veces en comparación con el estándar de renderizado de Campos de Radiancia Neural, así como algo notablemente diferente de los estándar tanks and temples que se repiten en nuevos documentos de NeRF.
El nuevo documento se titula Mega-NeRF: Construcción escalable de NeRF de gran escala para vuelos virtuales, y proviene de tres investigadores de Carnegie Mellon, uno de los cuales también representa a Argo AI.
Modelado de paisaje NeRF para búsqueda y rescate
Los autores consideran que la búsqueda y rescate (SAR) es un caso de uso óptimo para su técnica. Al evaluar un paisaje de SAR, los drones están actualmente limitados por restricciones de ancho de banda y vida útil de la batería, y por lo tanto no pueden obtener una cobertura detallada o completa antes de necesitar regresar a la base, en cuyo punto los datos recopilados se convierten en mapas aéreos estáticos 2D.
Los autores afirman:
‘Imaginamos un futuro en el que la representación neural eleva este análisis a 3D, permitiendo a los equipos de respuesta inspeccionar el campo como si estuvieran volando un dron en tiempo real a un nivel de detalle mucho más allá de lo que se puede lograr con la estructura clásica desde el movimiento (SfM).’
Encargados de este caso de uso, los autores han buscado crear un modelo NeRF complejo que se pueda entrenar dentro de un día, dado que la esperanza de vida de los sobrevivientes en operaciones de búsqueda y rescate disminuye hasta un 80% durante las primeras 24 horas.
Los autores señalan que los conjuntos de datos de captura de drones necesarios para entrenar un modelo Mega-NeRF son ‘órdenes de magnitud’ más grandes que un conjunto de datos estándar para NeRF, y que la capacidad del modelo debe ser notablemente mayor que en un fork o derivado de NeRF. Además, la interactividad y la explorabilidad son esenciales en un mapa de terreno de búsqueda y rescate, mientras que los renderizados de NeRF en tiempo real están esperando un rango de movimiento precalculado mucho más limitado.
Divide y vencerás
Para abordar estos problemas, los autores crearon un algoritmo de agrupación geométrica que divide la tarea en submódulos, y efectivamente crea una matriz de sub-NeRF que se entrenan contemporáneamente.
En el momento del renderizado, los autores también implementan un algoritmo de visualización justo a tiempo que es lo suficientemente receptivo como para facilitar la interactividad completa sin un procesamiento excesivo, similar a la forma en que los videojuegos aumentan el detalle de los artículos a medida que se acercan al punto de vista del usuario, pero que permanecen a una escala de energía y más rudimentaria cuando están en la distancia.
Estas economías, según los autores, conducen a un mejor detalle que los métodos anteriores que intentan abordar áreas de sujeto muy amplias en un contexto interactivo. En términos de extrapolar detalles de footage de video de resolución limitada, los autores también señalan la mejora visual de Mega-NeRF sobre la funcionalidad equivalente en UC Berkeley’s PlenOctrees.

El proyecto utiliza sub-NeRF encadenados, basado en las capacidades de renderizado en tiempo real de KiloNeRF, según los autores. Sin embargo, Mega-NeRF se aparta de este enfoque al realizar realmente ‘sharding’ (desvío discreto de facetas de una escena) durante el entrenamiento, en lugar del enfoque de post-procesamiento de KiloNeRF, que toma una escena de NeRF ya calculada y la transforma posteriormente en un espacio explorable.

Un conjunto de entrenamiento discreto se crea para submódulos, compuesto por píxeles de imagen de entrenamiento cuya trayectoria podría abarcar la celda que representa. En consecuencia, cada módulo se entrena completamente por separado de las celdas adyacentes. Fuente: https://arxiv.org/pdf/2112.10703.pdf
Los autores caracterizan a Mega-NeRF como ‘una reformulación de la arquitectura de NeRF que espacia las conexiones de capas de manera espacialmente consciente, lo que facilita mejoras de eficiencia en el tiempo de entrenamiento y renderizado’.

Comparación conceptual del entrenamiento y la discretización de los datos en NeRF, NeRF++, y Mega-NeRF. Fuente: https://meganerf.cmusatyalab.org/
Los autores afirman que el uso de Mega-NeRF de estrategias de coherencia temporal novedosas evita la necesidad de un procesamiento excesivo, supera los límites intrínsecos de escala y logra un nivel de detalle más alto que los trabajos anteriores, sin sacrificar la interactividad o necesitar varios días de entrenamiento.
Los investigadores también están poniendo a disposición grandes conjuntos de datos que contienen miles de imágenes de alta definición obtenidas de footage de drones capturados sobre 100,000 metros cuadrados de tierra alrededor de un complejo industrial. Los dos conjuntos de datos disponibles son ‘Building’ y ‘Rubble’.
Mejorando el trabajo previo
El documento señala que los esfuerzos anteriores en una dirección similar, incluyendo SneRG, PlenOctree y FastNeRF, todos dependen de algún tipo de almacenamiento en caché o pre-procesamiento que agrega sobrecarga de cómputo y/o tiempo que no es adecuado para la creación de entornos virtuales de búsqueda y rescate.
Mientras que KiloNeRF deriva sub-NeRF de una colección existente de perceptrones multicapa (MLP), está arquitectónicamente limitado a escenas interiores con extensibilidad limitada o capacidad para abordar entornos de mayor escala. FastNeRF, mientras tanto, almacena una versión ‘precalculada’ del modelo NeRF en una estructura de datos dedicada y permite al usuario final navegar a través de ella a través de un MLP dedicado o a través de un cálculo de base esférica.
En el escenario de KiloNeRF, la resolución máxima de cada faceta en la escena ya está calculada, y no se obtendrá una resolución mayor si el usuario decide ‘acercarse’.
Por contraste, NeRF++ puede manejar de forma nativa entornos exteriores no limitados al dividir el espacio explorable potencial en regiones de primer plano y fondo, cada una de las cuales está supervisada por un modelo de MLP dedicado, que realiza ray-casting antes de la composición final.
Finalmente, NeRF en el mundo, que no aborda directamente espacios ilimitados, mejora la calidad de la imagen en el conjunto de datos de Phototourism, y sus incrustaciones de apariencia han sido seguidas en la arquitectura para Mega-NeRF.
Los autores también conceden que Mega-NeRF está inspirado en proyectos de Structure-from-Motion (SfM), notablemente el proyecto Building Rome in a Day de la Universidad de Washington.
Coherencia temporal
Al igual que PlenOctree, Mega-NeRF precalcula una caché aproximada de color y opacidad en la región del enfoque actual del usuario. Sin embargo, en lugar de calcular caminos cada vez que están en la vecindad del camino calculado, como lo hace PlenOctree, Mega-NeRF ‘guarda’ y reutiliza esta información subdividiendo el árbol calculado, siguiendo una tendencia creciente para desvincular la etiqueta de procesamiento de NeRF.

A la izquierda, el cálculo de un solo uso de PlenOctree. En el medio, la expansión dinámica del octree de Mega-NeRF, relativa a la posición actual del vuelo. A la derecha, el octree se reutiliza para la navegación posterior.
Esta economía de cálculo, según los autores, reduce notablemente la carga de procesamiento al utilizar cálculos en tiempo real como una caché local, en lugar de estimar y almacenar en caché todos ellos de antemano, según la práctica reciente.
Muestreo guiado
Después del muestreo inicial, de acuerdo con los modelos estándar hasta la fecha, Mega-NeRF realiza una segunda ronda de muestreo de rayos guiado después del refinamiento del octree, con el fin de mejorar la calidad de la imagen. Para esto, Mega-NeRF utiliza solo una pasada basada en los pesos existentes en la estructura de datos del octree.

Como se puede ver en la imagen de arriba, del nuevo documento, el muestreo estándar desperdicia recursos de cálculo al evaluar una cantidad excesiva del área objetivo, mientras que Mega-NeRF limita los cálculos en función de un conocimiento de dónde está presente la geometría, limitando los cálculos por encima de un umbral preestablecido.
Datos y entrenamiento
Los investigadores probaron Mega-NeRF en varios conjuntos de datos, incluidos los dos mencionados anteriormente, conjuntos de datos creados a mano a partir de footage de drones sobre suelo industrial. El primer conjunto de datos, Mill 19 – Building, presenta footage tomada en un área de 500 x 250 metros cuadrados. El segundo, Mill 19 – Rubble, representa footage similar tomada sobre un sitio de construcción adyacente, en el que los investigadores colocaron muñecos que representan posibles sobrevivientes en un escenario de búsqueda y rescate.

De los materiales suplementarios del documento: A la izquierda, los cuadrantes que deben ser cubiertos por el dron Parrot Anafi (fotografiado en el centro y a distancia en la foto de la derecha).
Además, la arquitectura se probó contra varias escenas de UrbanScene3D, del Centro de Investigación de Computación Visual de la Universidad de Shenzhen en China, que consiste en footage de drones de alta definición de entornos urbanos grandes; y el conjunto de datos Quad 6k, del Laboratorio de Visión por Computadora de la Universidad de Indiana.
El entrenamiento se llevó a cabo en 8 submódulos, cada uno con 8 capas de 256 unidades ocultas, y una capa posterior de 128 canales ReLU. A diferencia de NeRF, el mismo MLP se utilizó para consultar muestras gruesas y refinadas, lo que reduce el tamaño general del modelo y permite la reutilización de las salidas de la red gruesa en la etapa de renderizado posterior. Los autores estiman que esto ahorra el 25% de las consultas de modelo para cada rayo.
Se muestrearon 1024 rayos por lote bajo Adam con una tasa de aprendizaje inicial de 5×104, que disminuye a 5×10-5. Las incrustaciones de apariencia se manejaron de la misma manera que las mencionadas NeRF en el mundo. Se utilizó muestreo de precisión mixta (entrenamiento a una precisión inferior a 32 bits de punto flotante) y el ancho del MLP se fijó en 2048 unidades ocultas.
Pruebas y resultados
En las pruebas de los investigadores, Mega-NeRF pudo superar de manera robusta a NeRF, NeRF++ y DeepView después de entrenar durante 500,000 iteraciones en los conjuntos de datos mencionados anteriormente. Dado que el escenario de destino de Mega-NeRF es limitado en el tiempo, los investigadores permitieron que los marcos anteriores más lentos tuvieran más tiempo más allá del límite de 24 horas, y informan que Mega-NeRF todavía los superó, incluso con estas ventajas.

Las métricas utilizadas fueron la relación señal a ruido pico (PSNR), la versión VGG de LPIPS y SSIM. El entrenamiento se llevó a cabo en una sola máquina equipada con ocho V100 GPUs – efectivamente, en 256 GB de VRAM y 5120 núcleos Tensor.

Resultados de muestra de los experimentos de Mega-NeRF (consulte el documento para obtener resultados más extensos en todos los marcos y conjuntos de datos) muestran que PlenOctree causa una voxelización notable, mientras que KiloNeRF produce artefactos y resultados generalmente más borrosos.
La página del proyecto está en https://meganerf.cmusatyalab.org/, y el código publicado está en https://github.com/cmusatyalab/mega-nerf.
Publicado por primera vez el 21 de diciembre de 2021.












