Ângulo de Anderson
Criação de Ambientes de Busca e Resgate com Neural NeRF e Mega-NeRF

Uma nova colaboração de pesquisa entre a Carnegie Mellon e a empresa de tecnologia de direção autônoma Argo AI desenvolveu um método econômico para gerar ambientes de vôo dinâmicos baseados em Campos de Radiância Neural (NeRF), usando imagens capturadas por drones.

A nova abordagem, chamada Mega-NeRF, obtém uma aceleração de 40x em relação ao padrão de renderização de Campos de Radiância Neural, além de oferecer algo notavelmente diferente dos padrões tanks e templos que se repetem em novos artigos de NeRF.
O novo artigo é intitulado Mega-NeRF: Construção Escalável de NeRFs de Grande Escala para Vôos Virtuais, e vem de três pesquisadores da Carnegie Mellon, um dos quais também representa a Argo AI.
Modelagem do Paisagem NeRF para Busca e Resgate
Os autores consideram que a busca e resgate (SAR) é um caso de uso ótimo para sua técnica. Ao avaliar um paisagem de SAR, os drones estão atualmente limitados tanto por restrições de largura de banda quanto de vida útil da bateria, e portanto não conseguem obter cobertura detalhada ou abrangente antes de precisar retornar à base, após o que os dados coletados são convertidos em mapas aéreos estáticos 2D.
Os autores afirmam:
‘Imaginamos um futuro em que a renderização neural eleva essa análise para 3D, permitindo que as equipes de resposta inspecionem o campo como se estivessem voando um drone em tempo real, com um nível de detalhe muito além do que é possível com a técnica clássica de Estrutura-a-Partir-do-Movimento (SfM).’
Encarregados dessa tarefa, os autores buscaram criar um modelo NeRF complexo que possa ser treinado dentro de um dia, considerando que a expectativa de vida dos sobreviventes em operações de busca e resgate diminui até 80% durante as primeiras 24 horas.
Os autores observam que os conjuntos de dados de captura de drone necessários para treinar um modelo Mega-NeRF são “ordens de magnitude” maiores do que um conjunto de dados padrão para NeRF, e que a capacidade do modelo deve ser notavelmente maior do que em um fork ou derivado padrão de NeRF. Além disso, a interatividade e a explorabilidade são essenciais em um mapa de terreno de busca e resgate, enquanto os renders de NeRF em tempo real estão esperando um alcance de movimento pré-calculado muito mais limitado.
Dividir e Conquistar
Para resolver esses problemas, os autores criaram um algoritmo de agrupamento geométrico que divide a tarefa em submódulos, e efetivamente cria uma matriz de sub-NeRFs que são treinados contemporaneamente.
No momento do render, os autores também implementam um algoritmo de visualização em tempo real que é responsivo o suficiente para facilitar a interatividade total sem pré-processamento excessivo, semelhante à forma como os jogos de vídeo aumentam o detalhe dos itens à medida que se aproximam do ponto de vista do usuário, mas que permanecem em uma escala de energia economizada e mais rudimentar quando estão à distância.
Essas economias, os autores argumentam, levam a um detalhe melhor do que os métodos anteriores que tentam abordar áreas de assunto muito amplas em um contexto interativo. Em termos de extrapolar detalhes de footage de vídeo de resolução limitada, os autores também observam a melhoria visual do Mega-NeRF em relação à funcionalidade equivalente em PlenOctrees da UC Berkeley.

O uso de sub-NeRFs encadeados pelo projeto é baseado nas capacidades de renderização em tempo real do KiloNeRF, os autores reconhecem. No entanto, o Mega-NeRF se afasta dessa abordagem ao realizar efetivamente um “sharding” (desvio discreto de facetas de uma cena) durante o treinamento, em vez da abordagem de pós-processamento do KiloNeRF, que leva uma cena NeRF já calculada e a transforma subsequentemente em um espaço explorável.

Um conjunto de treinamento discreto é criado para submódulos, composto por pixels de imagens de treinamento cuja trajetória pode abranger a célula que representa. Consequentemente, cada módulo é treinado inteiramente separado dos células adjacentes. Fonte: https://arxiv.org/pdf/2112.10703.pdf
Os autores caracterizam o Mega-NeRF como ‘uma reformulação da arquitetura NeRF que esparsifica as conexões de camada de forma espacialmente consciente, facilitando melhorias de eficiência no tempo de treinamento e renderização’.

Comparação conceitual do treinamento e da discretização de dados em NeRF, NeRF++, e Mega-NeRF. Fonte: https://meganerf.cmusatyalab.org/
Os autores afirmam que o uso de estratégias de coerência temporal novas pelo Mega-NeRF evita a necessidade de pré-processamento excessivo, supera limites intrínsecos de escala e atinge um nível de detalhe mais alto do que trabalhos anteriores semelhantes, sem sacrificar a interatividade ou necessitar de vários dias de treinamento.
Os pesquisadores também estão disponibilizando conjuntos de dados de grande escala contendo milhares de imagens de alta definição obtidas a partir de footage de drone capturado sobre 100.000 metros quadrados de terra ao redor de um complexo industrial. Os dois conjuntos de dados disponíveis são ‘Building’ e ‘Rubble’.
Melhorando o Trabalho Anterior
O artigo observa que esforços anteriores semelhantes, incluindo SneRG, PlenOctree e FastNeRF, todos dependem de algum tipo de cache ou pré-processamento que adiciona sobrecarga de computação e/ou tempo que é inadequado para a criação de ambientes virtuais de busca e resgate.
Enquanto o KiloNeRF deriva sub-NeRFs de uma coleção existente de perceptrons multicamada (MLPs), ele está arquitetonicamente limitado a cenas interiores com extensibilidade limitada ou capacidade de lidar com ambientes de maior escala. O FastNeRF, por outro lado, armazena uma versão “assada”, pré-calculada do modelo NeRF em uma estrutura de dados dedicada e permite que o usuário final navegue por ela via um MLP dedicado ou por meio de computação de base esférica.
No cenário do KiloNeRF, a resolução máxima de cada faceta na cena já é calculada, e nenhuma resolução maior estará disponível se o usuário decidir “zoomar”.
Em contraste, o NeRF++ pode lidar naturalmente com ambientes externos não limitados, dividindo o espaço explorável potencial em regiões de primeiro plano e segundo plano, cada uma supervisionada por um modelo MLP dedicado, que realiza ray-casting antes da composição final.
Finalmente, o NeRF no Mundo, que não aborda diretamente espaços ilimitados, no entanto, melhora a qualidade da imagem no conjunto de dados Phototourism, e suas incorporações de aparência foram seguidas na arquitetura do Mega-NeRF.
Os autores também admitem que o Mega-NeRF é inspirado por projetos de Estrutura-a-Partir-do-Movimento (SfM), notadamente o projeto Building Rome in a Day da Universidade de Washington.
Coerência Temporal
Assim como o PlenOctree, o Mega-NeRF pré-calcula um cache aproximado de cor e opacidade na região do foco atual do usuário. No entanto, em vez de calcular caminhos cada vez que estão na vizinhança do caminho calculado, como o PlenOctree faz, o Mega-NeRF “salva” e reutiliza essas informações subdividindo a árvore calculada, seguindo uma tendência crescente de desvincular a etiqueta de processamento estreitamente ligada do NeRF.

À esquerda, cálculo de uso único do PlenOctree. Meio, expansão dinâmica da árvore octal do Mega-NeRF, relativa à posição atual do vôo. Direita, a árvore octal é reutilizada para navegação subsequente.
Essa economia de cálculo, de acordo com os autores, reduz notavelmente a sobrecarga de processamento ao usar cálculos em tempo real como um cache local, em vez de estimar e armazenar todos pré-emptivamente, de acordo com a prática recente.
Amostragem Orientada
Após a amostragem inicial, de acordo com os modelos padrão até o momento, o Mega-NeRF executa uma segunda rodada de amostragem orientada de raios após a refinamento da árvore octal, a fim de melhorar a qualidade da imagem. Para isso, o Mega-NeRF usa apenas uma passagem baseada nos pesos existentes na estrutura de dados da árvore octal.

Como pode ser visto na imagem acima, do novo artigo, a amostragem padrão desperdiça recursos de cálculo avaliando uma quantidade excessiva da área de destino, enquanto o Mega-NeRF limita os cálculos com base no conhecimento de onde a geometria está presente, limitando os cálculos acima de um limite pré-definido.
Dados e Treinamento
Os pesquisadores testaram o Mega-NeRF em vários conjuntos de dados, incluindo os dois mencionados anteriormente, conjuntos de dados criados manualmente a partir de footage de drone sobre solo industrial. O primeiro conjunto de dados, Mill 19 – Building, apresenta footage capturada em uma área de 500 x 250 metros quadrados. O segundo, Mill 19 – Rubble, representa footage semelhante capturada sobre um canteiro de obras adjacente, no qual os pesquisadores colocaram bonecos representando possíveis sobreviventes em um cenário de busca e resgate.

Do material suplementar do artigo: Esquerda, os quadrantes a serem cobertos pelo drone Parrot Anafi (foto no centro e à distância na foto da direita).
Além disso, a arquitetura foi testada contra várias cenas do UrbanScene3D, do Centro de Pesquisa de Computação Visual da Universidade de Shenzhen, na China, que consiste em footage de drone de alta definição de grandes ambientes urbanos; e o conjunto de dados Quad 6k, do Laboratório de Visão Computacional da Universidade de Indiana.
O treinamento ocorreu em 8 submódulos, cada um com 8 camadas de 256 unidades ocultas, e uma camada subsequente de 128 canais ReLU. Ao contrário do NeRF, o mesmo MLP foi usado para consultar amostras grossas e refinadas, reduzindo o tamanho geral do modelo e permitindo a reutilização de saídas de rede grossa na etapa de renderização subsequente. Os autores estimam que isso economiza 25% das consultas de modelo para cada raio.
1024 raios foram amostrados por lote sob Adam com uma taxa de aprendizado inicial de 5×104, decaindo para 5×10-5. As incorporações de aparência foram tratadas da mesma forma que as mencionadas anteriormente em NeRF no Mundo. Amostragem de precisão mista (treinamento com precisão inferior a 32 bits de ponto flutuante) foi usada, e a largura do MLP foi fixada em 2048 unidades ocultas.
Testes e Resultados
Nos testes dos pesquisadores, o Mega-NeRF foi capaz de superar consistentemente o NeRF, NeRF++ e DeepView após treinamento por 500.000 iterações nos conjuntos de dados mencionados. Como o cenário de destino do Mega-NeRF é limitado no tempo, os pesquisadores permitiram que os quadros anteriores mais lentos tivessem tempo extra além do limite de 24 horas, e relatam que o Mega-NeRF ainda superou-os, mesmo com essas vantagens.

As métricas usadas foram a Razão de Sinal para Ruído de Pico (PSNR), a versão VGG do LPIPS e SSIM. O treinamento ocorreu em uma única máquina equipada com oito V100 GPUs – efetivamente, em 256GB de VRAM e 5120 núcleos Tensor.

Resultados de amostra dos experimentos do Mega-NeRF (por favor, consulte o artigo para resultados mais extensivos em todos os quadros e conjuntos de dados) mostram que o PlenOctree causa uma notável voxelização, enquanto o KiloNeRF produz artefatos e resultados geralmente mais borrados.
A página do projeto está em https://meganerf.cmusatyalab.org/, e o código liberado está em https://github.com/cmusatyalab/mega-nerf.
Publicado pela primeira vez em 21 de dezembro de 2021.












