- SMERF es un método de síntesis de vistas para explorar escenas 3D grandes en tiempo real desde el navegador web, orientado a escalas de hasta 300m² y una resolución volumétrica de 3.5mm³
- Divide la escena en varios submodelos independientes y selecciona solo los modelos necesarios según el origen de la cámara, reduciendo así el cómputo y el uso de memoria durante el renderizado
- Primero entrena un campo de radiancia offline Zip-NeRF y luego lo destila hacia SMERF usando las diferencias en la predicción RGB y en los pesos de renderizado volumétrico para elevar la calidad
- En síntesis de nuevas vistas en tiempo real mostró mejoras de 0.78dB en benchmarks estándar y de 1.78dB en escenas grandes, además de renderizar cuadros cientos de veces más rápido que los modelos de campo de radiancia más recientes
- Soporta navegación 6DOF basada en navegador, lo que permite recorrer escenas grandes en tiempo real incluso en dispositivos de consumo como smartphones y laptops comunes
Cuellos de botella en la exploración en tiempo real de escenas grandes
- Las técnicas de síntesis de vistas en tiempo real han avanzado rápidamente, hasta permitir renderizar escenas casi fotográficas incluso con tasas de cuadros interactivas
- Aun así, sigue existiendo una clara compensación entre las representaciones explícitas de escena, que se adaptan bien a la rasterización, y los campos neuronales (neural fields) basados en ray marching
- Los métodos de campos neuronales más recientes superan a las representaciones explícitas en calidad, pero su costo computacional es alto para aplicaciones en tiempo real
- SMERF es un enfoque de síntesis de vistas que apunta a una precisión de primer nivel entre los métodos en tiempo real para escenas grandes
- Espacios de hasta 300m²
- Resolución volumétrica de 3.5mm³
- Exploración 6DOF dentro del navegador web
- Renderizado en tiempo real en smartphones y laptops comunes
Representación basada en submodelos y entrenamiento por destilación
- Representa escenas grandes con múltiples habitaciones dividiéndolas en varios submodelos independientes para asegurar capacidad de representación
- Cada submodelo se asigna a una región distinta de la escena
- Durante el renderizado, se eligen los submodelos a usar según el origen de la cámara
- Para manejar efectos complejos dependientes del punto de vista, cada submodelo incluye además una copia de parámetros deferred MLP alineados a una cuadrícula
- Esos parámetros se interpolan trilinealmente con base en el origen de la cámara
- Cada submodelo representa la escena completa, pero modela en alta resolución solo las celdas de la cuadrícula conectadas a él
- Esto se implementa contrayendo las coordenadas locales de cada submodelo
- La fidelidad de imagen se mejora mediante destilación (distillation)
- Primero se entrena Zip-NeRF, un campo de radiancia offline de última generación
- Las predicciones de color RGB del modelo maestro se usan como señal de supervisión para SMERF
- Los valores de densidad volumétrica del maestro preentrenado se usan para minimizar la diferencia entre los pesos de renderizado volumétrico del maestro y del estudiante
Resultados de rendimiento y materiales públicos
- SMERF supera el estado del arte previo en síntesis de nuevas vistas en tiempo real
- Mejora de 0.78dB en benchmarks estándar
- Mejora de 1.78dB en escenas grandes
- Renderiza cuadros cientos de veces más rápido que los modelos de campo de radiancia más recientes
- La demo del visor interactivo en tiempo real incluye escenas de Berlin, NYC, Alameda, London, Gardenvase, Bicycle, Kitchen Lego, Stump, Office Bonsai, Full Living Room, Kitchen Counter, Treehill & Flower
- Como materiales públicos se ofrecen Paper, Video y Code
- El modelo SMERF se destila a partir de checkpoints de Zip-NeRF entrenados en escenas de Mip-NeRF 360 y Zip-NeRF
- Ambos datasets y checkpoints se publican bajo licencia CC-BY 4.0
- Los checkpoints de Mip-NeRF 360 se usan para resultados cuantitativos y cualitativos, y los checkpoints de Zip-NeRF se entrenan durante 50,000 steps
- Los datos fisheye de Zip-NeRF incluyen Alameda, Berlin, London y NYC, se usan para resultados cualitativos y se entrenan durante 100,000 steps
- Los datos undistorted de Zip-NeRF se usan para resultados cuantitativos y se entrenan durante 100,000 steps
1 comentarios
Opiniones de Hacker News
En la demo de Berlin, el espejo de pared del baño parece dar a la cocina de la habitación de al lado.
Parece que el algoritmo de estimación de profundidad usa paralaje, y esto se ve como un fenómeno causado porque confunde el espejo con una ventana.
Del lado de la cocina aparece una masa borrosa, como si la parte trasera del espejo se metiera dentro de la cocina, pero más allá de ese desenfoque se pueden ver ambas habitaciones.
Fue bastante inquietante, como sentirse un fantasma atravesando paredes.
Eso imita con precisión el efecto de la luz de la ventana reflejándose en el metal, y desde dentro del refrigerador también se puede ver toda la habitación “hacia afuera”.
Lo mismo ocurre con el espejo de cuerpo completo del dormitorio en esa misma escena: detrás del espejo se crea una habitación espejo virtual, lo que da sensación de profundidad al mirar dentro.
Es un resultado muy genial y particular de esta tecnología.
Dios mío, esto es realmente sorprendente.
Matterport podría tomar esto e impulsarlo, o podría aparecer una startup que sacuda el mercado inmobiliario.
No puedo creer que funcione de forma tan fluida en un smartphone.
Como feedback, creo que sería más natural si hubiera un modo para desplazarse usando la brújula y el giroscopio del teléfono.
Controlarlo con los dedos y entender cómo moverse en las dimensiones xyz se sintió un poco incómodo.
Como dijeron otros, un modo VR sería increíble.
La razón por la que se usan fotos cuidadosamente montadas y seleccionadas es para lograr que la gente vaya a ver la propiedad en persona.
Creo que es difícil enamorarse de una casa solo por verla en realidad virtual.
Creo que la experiencia de usuario para el movimiento puede mejorar más.
Es una tarea para resolver otro día.
Funciona impresionantemente bien incluso en un S21 FE de hace 2 años.
La forma en que va streameando más imágenes a medida que recorres el espacio fue realmente impresionante, y el reflejo de la TV en la demo de Berlin también fue excelente.
Sin embargo, tardó bastante en cargar todas las imágenes, y la escena no se renderizó hasta que se cargaron unas 40 imágenes iniciales.
Me pregunto si se podría empezar a renderizar parcialmente a medida que llegan las imágenes, o si necesariamente hay que esperar a que esté todo antes del primer renderizado grande.
MERF, la versión anterior de este enfoque, almacenaba vectores de características en imágenes PNG, pero aquí eso se reemplazó por arreglos binarios.
Lamentablemente, para renderizar el primer frame hay que cargar todos esos arreglos.
Aun así, como señalas, el gran tamaño del payload de SMERF es una debilidad.
Si encontramos una forma de comprimirlo 10 veces, la experiencia será completamente distinta.
Realmente sorprendente. Tengo algunas preguntas tomando como referencia la demo fulllivingroom.
Personalmente prefiero el modo FPS.
Esta escena forma parte del benchmark mip-NeRF 360 y se puede descargar desde el sitio del proyecto: https://jonbarron.info/mipnerf360/
Para el entrenamiento usamos 8x V100 o 16x A100.
No tengo un desglose detallado, pero sería aproximadamente 50/50.
Un hacker motivado podría modificar el código JavaScript y probarlo por su cuenta.
Si abres DevTools del navegador, está todo el código.
Son tiempos interesantes.
https://twitter.com/gracia_vr/status/1731731549886787634
https://www.gracia.ai
“Researchers create open-source platform for Neural Radiance Field development” (2023)
https://news.ycombinator.com/item?id=36966076
Included Methods y Third-party Methods de NeRF Studio:
https://docs.nerf.studio/#supported-methods
Neural Radiance Field:
https://en.wikipedia.org/wiki/Neural_radiance_field
He estado siguiendo esta tecnología a través de Two Minute Papers, y espero el día en que pueda probarla directamente.
Mi abuelo falleció hace 2 años, y en retrospectiva terminé tomando fotos como para usarlas en una demo como esta.
Gran trabajo.
Algún día será posible.
Un trabajo realmente sorprendente, y es increíble estar viéndolo en el navegador web de un teléfono
Al ver la escena de NYC en una desktop con la máxima calidad, me sorprendió que, por ejemplo, la calidad del mostrador y de los objetos sobre los estantes fuera bastante baja
Entonces abrí el modelo de Lego y ese sí era muy detallado, así que no parece ser una limitación del método en sí
Me pregunto si se debe a la calidad de las fotos de entrada o a alguna otra razón
Cuanto más grande es el espacio, más vóxeles (voxels) se necesitan para mantener una resolución fija, por ejemplo 1 mm^3
A partir de cierto punto, hay que sacrificar resolución espacial para representar escenas más grandes
La segunda limitación es el modelo maestro usado para la destilación
Zip-NeRF(https://jonbarron.info/zipnerf/) es bueno, pero no perfecto
El límite superior de la calidad de reconstrucción de SMERF lo determina Zip-NeRF, que actúa como maestro
Parece haber un mercado para que agentes inmobiliarios suban fotos y creen un walkthrough de una casa en venta
Me pregunto si existe una cadena de herramientas open source para capturar, procesar y alojar walkthroughs 3D navegables como estos
Algo como un Matterport open source, por ejemplo
El flujo actual es capturar con una DSLR, estimar los parámetros de la cámara con COLMAP, entrenar el modelo maestro con una base de código, entrenar SMERF con nuestra base de código y renderizar el modelo con un visor web
Suena como una oportunidad
Puedes recopilar los datos ahora y procesarlos cuando aparezcan mejores herramientas
Las guías de captura para fotogrametría y NeRF, en general, se aplican tal cual a lo que se necesita hacer
Lo que se ve en estas cosas se parece mucho a una imagen 3D muy precisa y navegable
Lo que todavía no he visto es detección de características y objetos, bloqueo y extracción
Si se vuelve necesario un códec más eficiente y capaz de hacer streaming, espero que también se requiera de forma natural una estructura fácil de analizar
Hay buena investigación en curso en esta área, pero falta mucho camino por recorrer
SMERF trata sobre “síntesis de vistas” para renderizar imágenes realistas, y no intenta comprensión semántica ni segmentación
Lo encontré buscando “nerf sam segment 3d” en DuckDuckGo
SMERF aborda otro problema, pero claramente hay formas de integrar información semántica y detección