Entre em contato

Paint3D: modelo de difusão sem iluminação para geração de imagens

Inteligência artificial

Paint3D: modelo de difusão sem iluminação para geração de imagens

mm

O rápido desenvolvimento de modelos generativos de IA, especialmente modelos generativos profundos de IA, avançou significativamente as capacidades de geração de linguagem natural, geração 3D, geração de imagens e síntese de fala. Esses modelos revolucionaram a produção 3D em diversos setores. No entanto, muitos enfrentam um desafio: suas complexas conexões e malhas geradas frequentemente não são compatíveis com pipelines de renderização tradicionais, como a Renderização Baseada em Física (PBR). Modelos baseados em difusão, notavelmente sem texturas de iluminação, demonstram uma impressionante diversidade na geração de ativos 3D, aprimorando estruturas 3D em produção cinematográfica, jogos e RA/RV.

Este artigo apresenta o Paint3D, um novo framework para a produção de mapas de textura UV 2K diversificados e de alta resolução para malhas 3D sem textura, condicionados a entradas visuais ou textuais. O principal desafio do Paint3D é gerar texturas de alta qualidade sem iluminação incorporada, permitindo a reedição ou a reiluminação pelo usuário em pipelines gráficos modernos. Ele emprega um modelo de difusão 2D pré-treinado para fusão de texturas em múltiplas visualizações, gerando mapas de textura iniciais grosseiros. No entanto, esses mapas frequentemente apresentam artefatos de iluminação e áreas incompletas devido às limitações do modelo 2D em desabilitar efeitos de iluminação e representar completamente as formas 3D. Vamos nos aprofundar no funcionamento, na arquitetura e nas comparações do Paint3D com outros frameworks generativos profundos. Vamos começar.

Paint3D: uma introdução

As capacidades dos modelos Deep Generative AI em tarefas de geração de linguagem natural, geração 3D e síntese de imagens são bem conhecidas e implementadas em aplicações da vida real, revolucionando a indústria de geração 3D. Apesar de suas capacidades notáveis, os sistemas profundos modernos IA generativa frameworks geram malhas caracterizadas por fiação complexa e texturas de iluminação caóticas que muitas vezes são incompatíveis com pipelines de renderização convencionais, incluindo PBR ou renderização baseada em física. Assim como os modelos de IA generativos profundos, a síntese de textura também avançou rapidamente, especialmente na utilização de modelos de difusão 2D. Modelos de síntese de textura empregam profundidade de imagem pré-treinada modelos de difusão efetivamente usar condições de texto para gerar texturas de alta qualidade. No entanto, essas abordagens enfrentam problemas com texturas pré-iluminadas que podem impactar significativamente as renderizações finais do ambiente 3D e introduzir erros de iluminação quando as luzes são alteradas dentro dos fluxos de trabalho comuns, conforme demonstrado na imagem a seguir. 

Como pode ser observado, o mapa de textura com iluminação livre funciona em sincronia com os pipelines de renderização tradicionais, entregando resultados precisos, enquanto o mapa de textura com pré-iluminação inclui sombras inadequadas quando a reiluminação é aplicada. Por outro lado, frameworks de geração de texturas treinados em dados 3D oferecem uma abordagem alternativa na qual o framework gera as texturas compreendendo toda a geometria de um objeto 3D específico. Embora possam fornecer melhores resultados, as estruturas de geração de texturas treinadas em dados 3D carecem de capacidades de generalização que dificultam a sua capacidade de aplicar o modelo a objetos 3D fora dos seus dados de treino. 

Os modelos atuais de geração de textura enfrentam dois desafios críticos: usar orientação de imagem ou diversos prompts para alcançar um grau mais amplo de generalização entre diferentes objetos, e o segundo desafio é a eliminação da iluminação acoplada nos resultados obtidos no pré-treinamento. As texturas pré-iluminadas podem interferir potencialmente nos resultados finais dos objetos texturizados nos mecanismos de renderização e, como os modelos de difusão 2D pré-treinados fornecem resultados 2D apenas no domínio de visualização, eles carecem de uma compreensão abrangente das formas, o que os leva a serem incapazes para manter a consistência da visualização de objetos 3D. 

Devido aos desafios mencionados acima, a estrutura Paint3D tenta desenvolver um modelo de difusão de textura de dois estágios para objetos 3D que generaliza para diferentes modelos generativos pré-treinados e preserva a consistência da visualização enquanto aprende a geração de textura sem raios. 

Paint3D é um modelo de geração de textura grossa a fina de dois estágios que visa aproveitar a forte orientação imediata e recursos de geração de imagem de pré-treinados IA generativa modelos para texturizar objetos 3D. No primeiro estágio, a estrutura Paint3D primeiro testa imagens de visualização múltipla de um modelo de difusão de imagem 2D pré-treinado com reconhecimento de profundidade progressivamente para permitir a generalização de resultados de textura ricos e de alta qualidade a partir de diversos prompts. O modelo então gera um mapa de textura inicial projetando essas imagens na superfície da malha 3D. Na segunda etapa, o modelo concentra-se na geração de texturas sem iluminação, implementando abordagens empregadas por modelos de difusão especializados na remoção de influências de iluminação e no refinamento consciente da forma de regiões incompletas. Ao longo do processo, a estrutura Paint3D é consistentemente capaz de gerar semanticamente texturas 2K de alta qualidade e elimina efeitos de iluminação intrínsecos. 

Resumindo, Paint3D é um novo modelo de IA generativo grosso a fino que visa produzir mapas de textura UV 2K diversos, sem iluminação e de alta resolução para malhas 3D não texturizadas para obter desempenho de última geração na texturização de objetos 3D com diferentes condicionais. entradas, incluindo texto e imagens, e oferece vantagens significativas para tarefas de síntese e edição de gráficos. 

Metodologia e Arquitetura

A estrutura Paint3D gera e refina mapas de textura progressivamente para gerar mapas de textura diversos e de alta qualidade para modelos 3D usando entradas condicionais desejadas, incluindo imagens e prompts, conforme demonstrado na imagem a seguir. 

No estágio grosseiro, o modelo Paint3D usa modelos de difusão de imagens 2D pré-treinados para amostrar imagens de múltiplas visualizações e, em seguida, cria os mapas de textura iniciais projetando essas imagens na superfície da malha. No segundo estágio, ou seja, o estágio de refinamento, o modelo Paint3D usa um processo de difusão no espaço UV para aprimorar mapas de textura grosseira, alcançando assim uma função de alta qualidade, pintura interna e sem iluminação que garante o apelo visual e a integridade da textura final. . 

Estágio 1: Geração Progressiva de Textura Grossa

No estágio de geração progressiva de textura grossa, o modelo Paint3D gera um mapa de textura UV grosseiro para as malhas 3D que usam um modelo de difusão 2D pré-treinado com reconhecimento de profundidade. Para ser mais específico, o modelo primeiro usa diferentes visualizações de câmera para renderizar o mapa de profundidade, depois usa condições de profundidade para amostrar imagens do modelo de difusão de imagem e, em seguida, projeta essas imagens na superfície da malha. A estrutura executa as abordagens de renderização, amostragem e retroprojeção alternadamente para melhorar a consistência das malhas de textura, o que ajuda na geração progressiva do mapa de textura. 

O modelo começa a gerar a textura da região visível com as visualizações da câmera focando na malha 3D e renderiza a malha 3D em um mapa de profundidade a partir da primeira visualização. O modelo então amostra uma imagem de textura para uma condição de aparência e uma condição de profundidade. O modelo então projeta a imagem na malha 3D. Para os pontos de vista, o modelo Paint3D executa uma abordagem semelhante, mas com uma ligeira alteração, realizando o processo de amostragem de textura usando uma abordagem de pintura de imagem. Além disso, o modelo leva em consideração as regiões texturizadas de pontos de vista anteriores, permitindo que o processo de renderização não apenas produza uma imagem de profundidade, mas também uma imagem RGB parcialmente colorida com uma máscara sem cor na vista atual. 

O modelo então usa um modelo de pintura de imagem com reconhecimento de profundidade com um codificador de pintura para preencher a área não colorida na imagem RGB. O modelo então gera o mapa de textura a partir da visualização retroprojetando a imagem pintada na malha 3D sob a visualização atual, permitindo que o modelo gere o mapa de textura progressivamente e chegue a todo o mapa de estrutura grosseira. Finalmente, o modelo estende o processo de amostragem de textura para uma cena ou objeto com múltiplas visualizações. Para ser mais específico, o modelo utiliza um par de câmeras para capturar dois mapas de profundidade durante a amostragem inicial de textura a partir de pontos de vista simétricos. O modelo então combina dois mapas de profundidade e compõe uma grade de profundidade. O modelo substitui a imagem de profundidade única pela grade de profundidade para realizar amostragem de textura com reconhecimento de profundidade de múltiplas visualizações. 

Etapa 2: Refinamento de Textura no Espaço UV

Embora a aparência de mapas de textura grosseira seja lógica, ela enfrenta alguns desafios, como buracos de textura causados ​​durante o processo de renderização por autooclusão ou sombras de raios devido ao envolvimento de modelos de difusão de imagem 2D. O modelo Paint3D visa realizar um processo de difusão no espaço UV com base em um mapa de textura grosseiro, tentando mitigar os problemas e melhorar ainda mais o apelo visual do mapa de textura durante o refinamento da textura. No entanto, o refinamento do modelo de difusão de imagem principal com os mapas de textura no espaço UV introduz descontinuidade de textura, uma vez que o mapa de textura é gerado pelo mapeamento UV da textura da superfície 3D que corta a textura contínua em uma série de fragmentos individuais no espaço UV. espaço. Como resultado da fragmentação, o modelo tem dificuldade em aprender as relações de adjacência 3D entre os fragmentos, o que leva a problemas de descontinuidade de textura. 

O modelo refina o mapa de textura no espaço UV realizando o processo de difusão sob a orientação das informações de adjacência dos fragmentos de textura. É importante notar que no espaço UV, é o mapa de posição que representa a informação de adjacência 3D dos fragmentos de textura, com o modelo tratando cada elemento não-fundo como uma coordenada de ponto 3D. Durante o processo de difusão, o modelo funde as informações de adjacência 3D adicionando um codificador de mapa de posição individual ao modelo de difusão de imagem pré-treinado. O novo codificador se assemelha ao design da estrutura ControlNet e possui a mesma arquitetura do codificador implementado no modelo de difusão de imagem com a camada de convolução zero conectando os dois. Além disso, o modelo de difusão de textura é treinado em um conjunto de dados que compreende mapas de textura e posição, e o modelo aprende a prever o ruído adicionado ao ruído latente. O modelo então otimiza o codificador de posição e congela o denoiser treinado para sua tarefa de difusão de imagem. 

O modelo então usa simultaneamente a posição do codificador condicional e de outros codificadores para realizar tarefas de refinamento no espaço UV. Nesse aspecto, o modelo possui duas capacidades de refinamento: UVHD ou UV de Alta Definição e pintura UV. O método UVHD é estruturado para aprimorar o apelo visual e a estética do mapa de textura. Para obter UVHD, o modelo usa um codificador de aprimoramento de imagem e um codificador de posição com o modelo de difusão. O modelo utiliza o método de pintura UV para preencher os buracos de textura dentro do plano UV, o que é capaz de evitar problemas de autooclusão gerados durante a renderização. No estágio de refinamento, o modelo Paint3D primeiro executa a pintura UV e depois executa o UVHD para gerar o mapa de textura refinado final. Ao integrar os dois métodos de refinamento, a estrutura Paint3D é capaz de produzir mapas de textura UV completos, diversos, de alta resolução e sem iluminação. 

Paint3D: Experimentos e Resultados

O modelo Paint3D emprega o Difusão Estável modelo text2image para auxiliá-lo nas tarefas de geração de textura enquanto emprega o componente codificador de imagem para lidar com as condições da imagem. Para aprimorar ainda mais seu controle sobre controles condicionais, como pintura interna de imagem, profundidade e alta definição de imagem, a estrutura Paint3D emprega codificadores de domínio ControlNet. O modelo é implementado na estrutura PyTorch com renderização e projeções de textura implementadas em Kaolin. 

Comparação de texto com texturas

Para analisar seu desempenho, começamos avaliando o efeito de geração de textura do Paint3D quando condicionado usando prompts textuais e comparando-o com estruturas de última geração, incluindo Text2Tex, TEXTure e LatentPaint. Como pode ser observado na imagem a seguir, o framework Paint3D não apenas se destaca na geração de detalhes de textura de alta qualidade, mas também sintetiza razoavelmente bem um mapa de textura sem iluminação. 

Em comparação, a estrutura Latent-Paint tende a gerar texturas borradas que resultam em efeitos visuais abaixo do ideal. Por outro lado, embora a estrutura TEXTure gere texturas claras, ela carece de suavidade e exibe emendas e costuras perceptíveis. Finalmente, a estrutura Text2Tex gera texturas suaves notavelmente bem, mas não consegue replicar o desempenho para gerar texturas finas com detalhes complexos. 

A imagem a seguir compara quantitativamente a estrutura Paint3D com estruturas de última geração. 

Como pode ser observado, a estrutura Paint3D supera todos os modelos existentes, e por uma margem significativa, com quase 30% de melhoria na linha de base do FID e aproximadamente 40% de melhoria na linha de base do KID. A melhoria nas pontuações básicas do FID e KID demonstra a capacidade do Paint3D de gerar texturas de alta qualidade em diversos objetos e categorias. 

Comparação de imagem com textura

Para gerar os recursos generativos do Paint3D usando prompts visuais, usamos o modelo TEXTure como linha de base. Conforme mencionado anteriormente, o modelo Paint3D emprega um codificador de imagem proveniente do modelo text2image da Stable Diffusion. Como pode ser visto na imagem a seguir, a estrutura Paint3D sintetiza texturas requintadas notavelmente bem e ainda é capaz de manter alta fidelidade em relação à condição da imagem. 

Por outro lado, o framework TEXTure é capaz de gerar uma textura semelhante ao Paint3D, mas é insuficiente para representar com precisão os detalhes da textura na condição da imagem. Além disso, conforme demonstrado na imagem a seguir, a estrutura Paint3D oferece melhores pontuações de linha de base FID e KID quando comparada à estrutura TEXTure, com a primeira diminuindo de 40.83 para 26.86, enquanto a última mostrando uma queda de 9.76 para 4.94. 

Considerações Finais

Neste artigo, falamos sobre Paint3D, uma nova estrutura de grosso a fino capaz de produzir mapas de textura 2K UV sem iluminação, diversos e de alta resolução para malhas 3D não texturizadas condicionadas a entradas visuais ou textuais. O principal destaque da estrutura Paint3D é que ela é capaz de gerar texturas UV 2K de alta resolução e sem iluminação, que são semanticamente consistentes, sem serem condicionadas a entradas de imagem ou texto. Devido à sua abordagem grosseira a fina, a estrutura Paint3D produz mapas de textura sem iluminação, diversos e de alta resolução e oferece melhor desempenho do que as estruturas de última geração atuais. 

"Engenheiro de profissão, escritor de coração". Kunal é um escritor técnico com profundo amor e compreensão de IA e ML, dedicado a simplificar conceitos complexos nesses campos por meio de sua documentação envolvente e informativa.