Você pode ter ouvido falar sobre como os modelos de IA de conversão de texto em imagem se tornaram poderosos nos últimos dois anos. Mas você sabia que a mesma tecnologia poderia ajudar a passar do 2D para o 3D?
Os modelos 3D gerados por IA têm um amplo caso de uso no cenário digital atual. Jogos de vídeo e filmes contam com artistas 3D qualificados e software de modelagem, como o Blender, para criar recursos 3D para preencher cenas geradas por computador.
No entanto, é possível que a indústria possa usar o aprendizado de máquina para criar ativos 3D com menos esforço, semelhante à forma como os artistas 2D hoje estão começando a adotar tecnologias como DALL-E e Meio da jornada?
Este artigo explorará um novo algoritmo que tenta criar um modelo de conversão de texto em 3D eficaz usando modelos de difusão.
O que é a fusão dos sonhos?
Um grande problema com a criação de um modelo de difusão que gera recursos 3D diretamente é que simplesmente não há muitos dados 3D disponíveis. Os modelos de difusão 2D tornaram-se tão poderosos por causa do vasto conjunto de dados de imagens encontrados na internet. O mesmo não pode ser dito com ativos 3D.
Algumas técnicas generativas 3D contornam essa falta de dados aproveitando essa abundância de dados 2D.
DreamFusion é um modelo generativo que pode criar modelos 3D com base em uma descrição de texto fornecida. O modelo DreamFusion usa um modelo de difusão de texto para imagem pré-treinado para gerar modelos tridimensionais realistas a partir de prompts de texto.
Apesar de não ter dados de treinamento 3D, essa abordagem gerou recursos 3D coerentes com aparência e profundidade de alta fidelidade.
Como isso funciona?
O algoritmo DreamFusion consiste em dois modelos principais: um modelo de difusão 2D e um rede neural que pode converter imagens 2D em uma cena 3D coesa.
Modelo de imagem de texto para imagem do Google
A primeira parte do algoritmo é o modelo de difusão. Este modelo é responsável por converter texto em imagens.
Imagem é um modelo de difusão que pode gerar uma grande amostra de variações de imagem de um determinado objeto. Nesse caso, nossas variações de imagem devem cobrir todos os ângulos possíveis do objeto fornecido. Por exemplo, se quisermos gerar um modelo 3D de um cavalo, queremos imagens 2D do cavalo de todos os ângulos possíveis. O objetivo é usar o Imagen para fornecer o máximo de informações possível (cores, reflexos, densidade) para o próximo modelo em nosso algoritmo.
Criando modelos 3D com NeRF
Em seguida, Dreamfusion usa um modelo conhecido como Campo de Radiância Neural ou NeRF para realmente criar o modelo 3D a partir do conjunto de imagens gerado. Os NeRFs são capazes de criar cenas 3D complexas a partir de um conjunto de dados de imagens 2D.
Vamos tentar entender como funciona um NeRF.
O modelo visa criar uma função de cena volumétrica contínua otimizada a partir do conjunto de dados fornecido de imagens 2D.
Se o modelo cria uma função, quais são a entrada e a saída?
A função de cena aceita um local 3D e uma direção de visualização 2D como entrada. A função então gera uma cor (na forma de RGB) e uma densidade de volume específica.
Para gerar uma imagem 2D a partir de um ponto de vista específico, o modelo gerará um conjunto de pontos 3D e executará esses pontos por meio da função de cena para retornar um conjunto de valores de densidade de cor e volume. As técnicas de renderização de volume converterão esses valores em uma saída de imagem 2D.
Usando NeRF e Modelos de Difusão 2D Juntos
Agora que sabemos como funciona um NeRF, vamos ver como esse modelo pode gerar modelos 3D precisos de nossas imagens geradas.
Para cada prompt de texto fornecido, o DreamFusion treina um NeRF inicializado aleatoriamente do zero. Cada iteração escolhe uma posição de câmera aleatória em um conjunto de coordenadas esféricas. Pense no modelo envolto em uma esfera de vidro. Cada vez que gerarmos uma nova imagem de nosso modelo 3D, escolheremos um ponto aleatório em nossa esfera como o ponto de vista de nossa saída. DreamFusion também escolherá uma posição de luz aleatória l usar para renderização.
Assim que tivermos uma câmera e uma posição de luz, um modelo NeRF será renderizado. O DreamFusion também escolherá aleatoriamente entre uma renderização colorida, uma renderização sem textura e uma renderização do albedo sem nenhum sombreamento.
Mencionamos anteriormente que queremos que nosso modelo de texto para imagem (Imagen) produza imagens suficientes para criar uma amostra representativa.
Como Dreamfusion consegue isso?
O Dreamfusion simplesmente modifica ligeiramente o prompt de entrada para atingir os ângulos pretendidos. Por exemplo, podemos obter altos ângulos de elevação acrescentando “overhead view” ao nosso prompt. Podemos gerar outros ângulos acrescentando frases como “vista frontal”, “vista lateral” e “vista traseira”.
As cenas são renderizadas repetidamente a partir de posições de câmera aleatórias. Essas renderizações então passam por uma função de perda de destilação de pontuação. Uma abordagem simples de gradiente descendente irá melhorar lentamente a Modelo 3D até corresponder à cena descrita pelo texto.
Depois de renderizar o modelo 3D usando o NeRF, podemos usar o Algoritmo de cubos em marcha para produzir uma malha 3D do nosso modelo. Essa malha pode ser importada para renderizadores 3D populares ou software de modelagem.
Limitações
Embora o resultado do DreamFusion seja impressionante o suficiente, pois usa modelos existentes de difusão de texto para imagem de uma maneira inovadora, os pesquisadores observaram algumas limitações.
Observou-se que a função de perda SDS produz resultados supersaturados e supersuavizados. Você pode observar isso na coloração não natural e na falta de detalhes precisos encontrados nas saídas.
O algoritmo DreamFusion também é limitado pela resolução da saída do modelo Imagen, que é de 64 x 64 pixels. Isso faz com que os modelos sintetizados careçam de detalhes mais refinados.
Por fim, os pesquisadores notaram que há um desafio inerente em sintetizar modelos 3D a partir de dados 2D. Existem muitos modelos 3D possíveis que podemos gerar a partir de um conjunto de imagens 2D, o que torna a otimização bastante difícil e até ambígua.
Conclusão
As renderizações 3D do DreamFusion funcionam tão bem devido à capacidade dos modelos de difusão de texto para imagem de criar qualquer objeto ou cena. É impressionante como uma rede neural pode entender uma cena no espaço 3D sem nenhum dado de treinamento 3D. recomendo a leitura do papel inteiro para saber mais sobre os detalhes técnicos do algoritmo DreamFusion.
Esperançosamente, esta tecnologia irá melhorar para, eventualmente, criar modelos 3D fotorrealistas. Imagine videogames inteiros ou simulações que usam ambientes gerados por IA. Isso poderia diminuir a barreira de entrada para os desenvolvedores de videogames criarem mundos 3D imersivos!
Que papel você acha que os modelos de texto para 3D desempenharão no futuro?
Deixe um comentário