1 pontos por GN⁺ 2023-12-14 | 1 comentários | Compartilhar no WhatsApp
  • SMERF é um método de síntese de vistas para explorar grandes cenas 3D em tempo real no navegador, visando áreas de até 300m² e resolução volumétrica de 3.5mm³
  • A cena é dividida em vários submodelos independentes, e apenas os modelos necessários são selecionados conforme a origem da câmera, reduzindo o custo computacional e o uso de memória durante a renderização
  • Primeiro, um campo de radiância offline Zip-NeRF é treinado; depois, ele é destilado em SMERF usando previsões de RGB e diferenças nos pesos de renderização volumétrica para elevar a qualidade
  • Na síntese em tempo real de novas vistas, mostrou melhora de 0.78dB em benchmark padrão e de 1.78dB em cenas grandes, além de renderizar quadros centenas de vezes mais rápido que os modelos de campo de radiância mais recentes
  • Suporta navegação 6DOF baseada em navegador, permitindo explorar grandes cenas em tempo real mesmo em dispositivos de consumo como smartphones e notebooks comuns

Gargalo da exploração em tempo real de cenas grandes

  • As técnicas de síntese de vistas em tempo real avançaram rapidamente, tornando possível renderizar cenas quase fotográficas mesmo em taxas de quadros interativas
  • Ainda assim, permanece um trade-off claro entre representações explícitas de cena, que se adaptam bem à rasterização, e campos neurais (neural fields) baseados em ray marching
    • Os métodos mais recentes de campos neurais superam as representações explícitas em qualidade, mas têm custo computacional alto para aplicações em tempo real
  • SMERF é uma abordagem de síntese de vistas voltada a atingir um dos mais altos níveis de precisão entre os métodos em tempo real para cenas grandes
    • Espaços de até 300m²
    • Resolução volumétrica de 3.5mm³
    • Exploração 6DOF dentro do navegador
    • Renderização em tempo real em smartphones e notebooks comuns

Representação baseada em submodelos e aprendizado por destilação

  • Grandes cenas com vários cômodos são representadas ao serem divididas em vários submodelos independentes, garantindo capacidade de representação
    • Cada submodelo é atribuído a uma região diferente da cena
    • Durante a renderização, os submodelos a usar são escolhidos de acordo com a origem da câmera
  • Para lidar com efeitos complexos dependentes do ponto de vista, cada submodelo também inclui cópias de parâmetros deferred MLP alinhados em grade
    • Esses parâmetros são interpolados trilinearmente com base na origem da câmera
  • Cada submodelo representa a cena inteira, mas modela em alta resolução apenas as células de grade associadas a ele
    • Isso é implementado por um método de contração das coordenadas locais de cada submodelo
  • A fidelidade da imagem é aumentada por destilação (distillation)
    • Primeiro, é treinado o campo de radiância offline de última geração Zip-NeRF
    • As previsões de cor RGB do modelo professor são usadas como sinal de supervisão para o SMERF
    • Os valores de densidade volumétrica do professor pré-treinado são usados para minimizar a diferença entre os pesos de renderização volumétrica do professor e do aluno

Resultados de desempenho e materiais públicos

  • O SMERF supera o estado da arte anterior na síntese em tempo real de novas vistas
    • Melhora de 0.78dB em benchmark padrão
    • Melhora de 1.78dB em cenas grandes
    • Renderização de quadros centenas de vezes mais rápida que os modelos de campo de radiância mais recentes
  • A demonstração do visualizador interativo em tempo real inclui as cenas Berlin, NYC, Alameda, London, Gardenvase, Bicycle, Kitchen Lego, Stump, Office Bonsai, Full Living Room, Kitchen Counter, Treehill & Flower
  • Estão disponíveis Paper, Video e Code
  • O modelo SMERF é destilado a partir de checkpoints do Zip-NeRF treinados nas cenas Mip-NeRF 360 e Zip-NeRF
    • Os dois datasets e checkpoints são disponibilizados sob licença CC-BY 4.0
    • Os checkpoints do Mip-NeRF 360 são usados para resultados quantitativos e qualitativos, e os checkpoints do Zip-NeRF são treinados por 50,000 steps
    • Os dados fisheye do Zip-NeRF incluem Alameda, Berlin, London e NYC, são usados para resultados qualitativos e são treinados por 100,000 steps
    • Os dados undistorted do Zip-NeRF são usados para resultados quantitativos e são treinados por 100,000 steps

1 comentários

 
GN⁺ 2023-12-14
Opiniões no Hacker News
  • No demo de Berlin, o espelho na parede do banheiro parece dar para a cozinha do cômodo ao lado
    O algoritmo de estimativa de profundidade parece usar paralaxe, e isso parece acontecer porque ele confunde o espelho com uma janela
    Do lado da cozinha, surge uma massa borrada, como se a parte de trás do espelho invadisse a cozinha, mas dá para ver os dois cômodos através desse borrão
    Foi bem assustador, como se eu tivesse virado um fantasma atravessando paredes

    • Na cena de NYC, os efeitos de iluminação especular da geladeira mudam de forma muito suave conforme o ângulo de visão e, se você entra “dentro” da geladeira, ela na verdade gera uma cena 3D inteira borrada em cinza e branco
      Isso imita com precisão o efeito da luz da janela refletida no metal, e também dá para ver o cômodo inteiro “para fora” de dentro da geladeira
      O espelho de corpo inteiro no quarto da mesma cena é parecido: há um cômodo espelhado virtual criado atrás do espelho, o que dá uma sensação de profundidade ao olhar para dentro
      É um resultado muito legal e peculiar dessa tecnologia
    • Se você entrar dentro da estante, também dá para ter a experiência definitiva de Matthew McConaughey
    • Se você atravessar a TV da sala de Berlin em modo noclip, fica agradavelmente assustador
    • Em superfícies muito reflexivas, ela tem exatamente a mesma fraqueza da fotogrametria
  • Meu Deus, isso é realmente impressionante
    Dá para imaginar a Matterport pegando isso e impulsionando a tecnologia, ou então uma startup surgindo para chacoalhar o mercado imobiliário
    É difícil acreditar que rode tão suavemente em um smartphone
    Como feedback, acho que seria mais natural ter um modo de movimentação usando a bússola e o giroscópio do celular
    Foi um pouco estranho operar com os dedos e entender como se mover nas dimensões xyz
    Como outros disseram, um modo VR seria incrível

    • Não sei se isso é realmente o que o mercado imobiliário quer
      O motivo de usarem fotos cuidadosamente encenadas e selecionadas é fazer as pessoas irem ver o imóvel pessoalmente
      Acho difícil alguém se apaixonar por uma casa só por tê-la visto em realidade virtual
    • Obrigado pelo feedback
      Acho que a experiência de navegação pode melhorar
      É um problema para resolver em outro dia
  • Roda impressionantemente bem até em um S21 FE de 2 anos
    A forma como ele faz streaming de mais imagens conforme você explora o espaço foi realmente impressionante, e o reflexo da TV no demo de Berlin também ficou excelente
    Mas demorou bastante para carregar todas as imagens, e a cena não foi renderizada até que cerca de 40 imagens iniciais tivessem sido todas carregadas
    Fiquei curioso se seria possível começar uma renderização parcial conforme as imagens chegam, ou se é necessário esperar por tudo antes da primeira renderização grande

    • Chamar os itens carregados atualmente de “imagens” é impreciso
      A versão anterior desta abordagem, MERF, armazenava vetores de características em imagens PNG, mas aqui isso foi substituído por arrays binários
      Infelizmente, para renderizar o primeiro frame, é preciso carregar todos esses arrays
      Ainda assim, como você apontou, o tamanho grande do payload do SMERF é um ponto fraco
      Se encontrarmos uma forma de comprimir 10 vezes, a experiência será completamente diferente
  • Realmente impressionante. Tenho algumas perguntas com base no demo fulllivingroom
    Pessoalmente, prefiro o modo FPS

    1. Quantas imagens de entrada são usadas?
    2. Quanto tempo leva para calcular um modelo desses?
    3. Quanto tempo leva para prepará-lo como modelo para o navegador, incluindo várias etapas etc.?
    4. Vocês já tentaram em VR?
    • Fico feliz que tenha gostado
      1. Se me lembro bem, são cerca de 100–150 imagens
        Essa cena faz parte do benchmark mip-NeRF 360 e pode ser baixada no site do projeto: https://jonbarron.info/mipnerf360/
      2. Leva algo em torno de 12 a 48 horas, dependendo da cena
        Para o treinamento, usamos 8x V100 ou 16x A100
      3. O tempo de preparação dos ativos está incluído em 2)
        Não tenho uma divisão detalhada, mas é mais ou menos 50/50
      4. Ainda não
        Acho que um hacker motivado poderia modificar o código JavaScript e testar por conta própria
        Se abrir o DevTools do navegador, todo o código está lá
    • Não é exatamente o que você perguntou, mas vi recentemente um exemplo em VR usando Gaussian Splatting
      São tempos interessantes
      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 e Third-party Methods do NeRF Studio:
    https://docs.nerf.studio/#supported-methods
    Neural Radiance Field:
    https://en.wikipedia.org/wiki/Neural_radiance_field

  • Venho acompanhando essa tecnologia pelo Two Minute Papers e estou ansioso pelo dia em que poderei usá-la pessoalmente
    Meu avô faleceu há 2 anos e, olhando para trás, acabei tirando fotos dele como se fossem para usar em um demo como este
    Belo trabalho

    • O sonho é que capturar memórias em 3D se torne tão fácil e natural quanto tirar fotos 2D com um smartphone
      Um dia isso será possível
  • Um trabalho realmente impressionante, e é incrível estar vendo isso no navegador do celular
    No desktop, ao ver a cena de NYC na qualidade máxima, fiquei surpreso porque, por exemplo, a qualidade dos objetos sobre o balcão e as prateleiras era bem baixa
    Então abri o modelo Lego e ele era muito detalhado, então não parece ser uma limitação do método em si
    Fiquei curioso se isso se deve à qualidade das fotos de entrada ou a algum outro motivo

    • O impacto da resolução espacial é maior
      Quanto maior o espaço, mais voxels são necessários para manter uma resolução fixa, por exemplo 1 mm^3
      A partir de certo ponto, é preciso abrir mão da resolução espacial para representar cenas maiores
      A segunda limitação é o modelo professor usado na destilação
      Zip-NeRF(https://jonbarron.info/zipnerf/) é bom, mas não é perfeito
      O limite superior da qualidade de reconstrução do SMERF é determinado pelo Zip-NeRF, que é o professor
  • Parece haver um mercado para corretores de imóveis enviarem fotos e criarem um walkthrough de casas à venda

  • Fico me perguntando se existe uma cadeia de ferramentas open source para capturar, processar e hospedar walkthroughs 3D navegáveis desse tipo
    Algo como um Matterport open source, por exemplo

    • Até onde sei, ainda não existe
      O fluxo atual é capturar com uma DSLR, estimar os parâmetros da câmera com o COLMAP, treinar um modelo professor em uma base de código, treinar o SMERF na nossa base de código e renderizar o modelo em um visualizador web
      Soa como uma oportunidade
    • Uma cadeia de ferramentas para captura não é necessariamente necessária; basta ter os dados
      Reúna os dados agora e, quando ferramentas melhores surgirem, processe-os então
      Guias de captura para fotogrametria e NeRF geralmente se aplicam diretamente ao que é preciso fazer
  • O que se vê nessas coisas é algo muito preciso, mais próximo de uma única imagem 3D navegável
    O que ainda não vi são detecção de características e objetos, bloqueio e extração
    Se codecs mais eficientes e aptos a streaming se tornarem necessários, espero que estruturas fáceis de analisar também passem a ser naturalmente exigidas

    • A área de compreensão 3D ainda está em um estágio muito inicial
      Há boas pesquisas em andamento nessa área, mas ainda há um longo caminho pela frente
      O SMERF trata de “síntese de vistas” para renderizar imagens realistas, e não tenta fazer compreensão semântica nem segmentação
    • Você está falando de algo assim? https://jumpat.github.io/SA3D/
      Encontrei procurando por “nerf sam segment 3d” no DuckDuckGo
    • Vale ver o trabalho LERF da equipe NerfStudio da UC Berkeley
      O SMERF aborda outro problema, mas certamente há formas de integrar informações semânticas e detecção