1 puntos por GN⁺ 2023-12-14 | 1 comentarios | Compartir por WhatsApp
  • 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

 
GN⁺ 2023-12-14
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.

    • En la escena de NYC, el refrigerador cambia de forma muy fluida el efecto de iluminación especular según el ángulo desde el que se mira, y si uno entra “dentro” del refrigerador, en realidad está generando toda una escena 3D borrosa en gris y blanco.
      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.
    • Si entras en el librero, también puedes tener la experiencia Matthew McConaughey definitiva.
    • Si atraviesas la TV de la sala de Berlin con noclip, se vuelve agradablemente inquietante.
    • En superficies muy reflectantes tiene exactamente la misma debilidad que la fotogrametrí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.

    • No sé si esto sea realmente una función que quiera el mercado inmobiliario.
      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.
    • Gracias por el feedback.
      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.

    • Llamar “imágenes” a los elementos que se cargan actualmente es impreciso.
      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.

    1. ¿Cuántas imágenes de entrada son?
    2. ¿Cuánto tarda calcular un modelo así?
    3. ¿Cuánto tarda prepararlo como modelo para navegador, incluyendo las distintas etapas?
    4. ¿Lo probaron también en VR?
    • Me alegra que te haya gustado.
      1. Si no recuerdo mal, son unas 100 a 150.
        Esta escena forma parte del benchmark mip-NeRF 360 y se puede descargar desde el sitio del proyecto: https://jonbarron.info/mipnerf360/
      2. Según la escena, tarda entre 12 y 48 horas.
        Para el entrenamiento usamos 8x V100 o 16x A100.
      3. El tiempo de preparación de los assets está incluido en 2).
        No tengo un desglose detallado, pero sería aproximadamente 50/50.
      4. Todavía no.
        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.
    • No es exactamente lo que preguntaste, pero hace poco vi un ejemplo de VR que usa Gaussian Splatting.
      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.

    • El sueño es que capturar recuerdos en 3D sea tan fácil y natural como tomar fotos 2D con un smartphone.
      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

    • El impacto de la resolución espacial es mayor
      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

    • Hasta donde sé, todavía no existe
      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
    • No necesariamente se necesita una cadena de herramientas para la captura; basta con tener los datos
      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

    • El campo de la comprensión 3D todavía está en una etapa muy temprana
      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
    • ¿Te refieres a algo como esto? https://jumpat.github.io/SA3D/
      Lo encontré buscando “nerf sam segment 3d” en DuckDuckGo
    • Conviene ver el trabajo LERF del equipo de NerfStudio de UC Berkeley
      SMERF aborda otro problema, pero claramente hay formas de integrar información semántica y detección