Modelos e plataformas de IA
Paint3D: Modelo de Difusão sem Iluminação para Geração de Imagens
O rápido desenvolvimento de modelos gerativos de IA, especialmente modelos gerativos de IA profundos, avançou significativamente as capacidades em geração de linguagem natural, geração de 3D, geração de imagens e síntese de fala. Esses modelos revolucionaram a produção de 3D em várias indústrias. No entanto, muitos enfrentam um desafio: seus fios complexos e malhas geradas muitas vezes não são compatíveis com pipelines de renderização tradicionais, como a Renderização Física Baseada (PBR). Modelos baseados em difusão, notadamente sem texturas de iluminação, demonstram geração impressionante de ativos de 3D diversificados, melhorando os frameworks de 3D em cinematografia, jogos e AR/VR.
Este artigo apresenta o Paint3D, um framework novo para produzir mapas de textura de 2K UV diversificados e de alta resolução para malhas de 3D sem textura, condicionados em entradas visuais ou textuais. O desafio principal do Paint3D é gerar texturas de alta qualidade sem iluminação incorporada, permitindo que o usuário edite ou relume dentro de pipelines de gráficos modernos. Ele emprega um modelo de difusão de 2D pré-treinado para fusão de texturas multi-vista, gerando mapas de textura iniciais grosseiros. No entanto, esses mapas muitas vezes mostram artefatos de iluminação e áreas incompletas devido às limitações do modelo de 2D em desabilitar efeitos de iluminação e representar completamente formas de 3D. Vamos mergulhar no funcionamento, arquitetura e comparações do Paint3D com outros frameworks gerativos de IA profundas. Vamos começar.
Paint3D: Uma Introdução
As capacidades dos modelos de IA gerativos de profundidade em geração de linguagem natural, geração de 3D e síntese de imagens são bem conhecidas e implementadas em aplicações reais, revolucionando a indústria de geração de 3D. Apesar de suas capacidades notáveis, os frameworks de IA gerativos de profundidade modernos geram malhas caracterizadas por fios complexos e texturas de iluminação caóticas que são frequentemente incompatíveis com pipelines de renderização convencionais, incluindo PBR ou Renderização Física Baseada. Como os modelos de IA gerativos de profundidade, a síntese de texturas também avançou rapidamente, especialmente no uso de modelos de difusão de 2D. Os modelos de síntese de texturas empregam modelos de difusão de profundidade para imagem pré-treinados eficazmente para 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 de 3D e introduzir erros de iluminação quando as luzes são alteradas dentro dos fluxos de trabalho comuns, como demonstrado na imagem a seguir.

Como pode ser observado, a textura do mapa com iluminação livre funciona em sincronia com os pipelines de renderização tradicionais, entregando resultados precisos, enquanto a textura do mapa com pré-iluminação inclui sombras inapropriadas quando a re-iluminação é aplicada. Por outro lado, os frameworks de geração de texturas treinados em dados de 3D oferecem uma abordagem alternativa, na qual o framework gera as texturas compreendendo a geometria completa de um objeto de 3D específico. Embora possam entregar melhores resultados, os frameworks de geração de texturas treinados em dados de 3D carecem de capacidades de generalização que dificultam sua capacidade de aplicar o modelo a objetos de 3D fora de seus dados de treinamento.
Os modelos de geração de texturas atuais enfrentam dois desafios críticos: usar orientação de imagem ou prompts diversificados para alcançar um grau mais amplo de generalização em diferentes objetos e o segundo desafio sendo a eliminação da iluminação acoplada nos resultados obtidos a partir do pré-treinamento. As texturas pré-iluminadas podem potencialmente interferir nos resultados finais dos objetos texturizados dentro dos motores de renderização, e como os modelos de difusão de 2D pré-treinados fornecem resultados de 2D apenas no domínio da vista, carecem de compreensão abrangente das formas que leva a serem incapazes de manter a consistência da vista para objetos de 3D.
Devido aos desafios mencionados acima, o framework Paint3D tenta desenvolver um modelo de difusão de textura de dois estágios para objetos de 3D que se generaliza para diferentes modelos gerativos pré-treinados e preserva a consistência da vista enquanto aprende a geração de texturas sem iluminação.
O Paint3D é um modelo de geração de textura de dois estágios, de grosso a fino, que visa aproveitar a orientação de prompt forte e as capacidades de geração de imagens dos modelos de IA gerativos pré-treinados para texturizar objetos de 3D. No primeiro estágio, o framework Paint3D primeiro amostra imagens multi-vista de um modelo de difusão de imagem de 2D pré-treinado progressivamente para permitir a generalização de resultados de textura de alta qualidade e rica a partir de prompts diversificados. O modelo então gera um mapa de textura inicial projetando essas imagens na superfície da malha. No segundo estágio, o modelo se concentra em gerar texturas sem iluminação implementando abordagens empregadas por modelos de difusão especializados na remoção de influências de iluminação e refinamento de regiões incompletas com conhecimento de forma. Ao longo do processo, o framework Paint3D é consistentemente capaz de gerar texturas de alta qualidade semanticamente e elimina efeitos de iluminação intrínsecos.

Para resumir, o Paint3D é um modelo gerativo de IA novo e de dois estágios que visa produzir mapas de textura de 2K UV diversificados, sem iluminação e de alta resolução para malhas de 3D sem textura para alcançar o desempenho de ponta na texturização de objetos de 3D com diferentes entradas condicionais, incluindo texto e imagens, e oferece uma vantagem significativa para tarefas de síntese e edição gráfica.
Metodologia e Arquitetura
O framework Paint3D gera e refina mapas de textura progressivamente para gerar mapas de textura diversificados e de alta qualidade para modelos de 3D usando entradas condicionais desejadas, incluindo imagens e prompts, como demonstrado na imagem a seguir.

No estágio grosso, o modelo Paint3D usa modelos de difusão de imagem de 2D pré-treinados para amostrar imagens multi-vista e criar 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 melhorar os mapas de textura grosseiros, alcançando assim uma função de alta qualidade, inpainting e sem iluminação que garante o apelo visual e a completude da textura final.
Etapa 1: Geração de Textura Grosseira Progressiva
Na etapa de geração de textura grosseira progressiva, o modelo Paint3D gera um mapa de textura UV grosso para as malhas de 3D que usam um modelo de difusão de 2D consciente de profundidade pré-treinado. Para ser mais específico, o modelo primeiro usa diferentes vistas de câmera para renderizar o mapa de profundidade, então 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. O framework executa as abordagens de renderização, amostragem e projeçã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 vistas de câmera focadas na malha de 3D e renderiza a malha de 3D para um mapa de profundidade a partir da primeira vista. 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 de 3D. Para as vistas, o modelo Paint3D executa uma abordagem semelhante, mas com uma mudança sutil, realizando o processo de amostragem de textura usando uma abordagem de pintura de imagem. Além disso, o modelo leva em conta as regiões texturizadas de vistas anteriores, permitindo que o processo de renderização não apenas saída uma imagem de profundidade, mas também uma imagem RGB parcialmente colorida com uma máscara não colorida na vista atual.
O modelo então usa um modelo de inpainting de imagem consciente de profundidade com um codificador de inpainting para preencher a área não colorida dentro da imagem RGB. O modelo então gera o mapa de textura da vista projetando a imagem inpintada na malha de 3D sob a vista atual, permitindo que o modelo gere o mapa de textura progressivamente e chegue à estrutura de mapa de textura grosso completa. Finalmente, o modelo estende o processo de amostragem de textura para uma cena ou objeto com múltiplas vistas. Para ser mais específico, o modelo utiliza um par de câmeras para capturar dois mapas de profundidade durante a amostragem de textura inicial a partir de vistas simétricas. 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 a amostragem de textura consciente de profundidade multi-vista.
Etapa 2: Refinamento de Textura no Espaço UV
Embora a aparência dos mapas de textura grosseiros seja lógica, eles enfrentam alguns desafios, como buracos de textura causados durante o processo de renderização por auto-ocultação ou sombras de iluminação devido à participação de modelos de difusão de imagem de 2D. O modelo Paint3D visa realizar um processo de difusão no espaço UV com base em um mapa de textura grosso, tentando mitigar os problemas e melhorar ainda mais o apelo visual do mapa de textura durante o refinamento de textura. No entanto, refinar o modelo de difusão de imagem mainstream com os mapas de textura no espaço UV introduz descontinuidade de textura, pois o mapa de textura é gerado pelo mapeamento UV da textura da superfície de 3D que corta a textura contínua em uma série de fragmentos individuais no espaço UV. Como resultado da fragmentação, o modelo encontra dificuldade em aprender as relações de adjacência de 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 as informações de adjacência de 3D dos fragmentos de textura, com o modelo tratando cada elemento não de fundo como uma coordenada de ponto de 3D. Durante o processo de difusão, o modelo funde as informações de adjacência de 3D adicionando um codificador de mapa de posição individual ao modelo de difusão de imagem pré-treinado. O novo codificador assemelha-se ao design do framework ControlNet e tem a mesma arquitetura que o 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 inclui mapas de textura e mapas de posição, e o modelo aprende a prever o ruído adicionado ao latente ruidoso. O modelo então otimiza o codificador de posição e congela o desnoisificador treinado para sua tarefa de difusão de imagem.
O modelo então usa simultaneamente a posição do codificador condicional e outros codificadores para realizar tarefas de refinamento no espaço UV. Nesse aspecto, o modelo tem duas capacidades de refinamento: UVHD ou UV Alta Definição e UV inpainting. O método UVHD é estruturado para melhorar o apelo visual e a estética do mapa de textura. Para alcançar UVHD, o modelo usa um codificador de melhoria de imagem e um codificador de posição com o modelo de difusão. O modelo usa o método UV inpainting para preencher os buracos de textura dentro do plano UV, que é capaz de evitar problemas de auto-ocultação gerados durante a renderização. No estágio de refinamento, o modelo Paint3D primeiro realiza o UV inpainting e, em seguida, realiza o UVHD para gerar o mapa de textura refinado final. Ao integrar os dois métodos de refinamento, o framework Paint3D é capaz de produzir mapas de textura UV completos, diversificados, de alta resolução e sem iluminação.
Paint3D: Experimentos e Resultados
O modelo Paint3D emprega o modelo de texto para imagem Stable Diffusion para ajudá-lo com tarefas de geração de textura, enquanto emprega o componente codificador de imagem para lidar com condições de imagem. Para melhorar ainda mais seu controle sobre controles condicionais, como inpainting de imagem, profundidade e alta definição de imagem, o framework Paint3D emprega codificadores de domínio ControlNet. O modelo é implementado no framework PyTorch, com renderização e projeções de textura implementadas no Kaolin.
Comparações de Texto para Texturas
Para analisar seu desempenho, começamos avaliando o efeito de geração de textura do Paint3D quando condicionado usando prompts textuais e o comparamos com frameworks de ponta, incluindo Text2Tex, TEXTure e LatentPaint. Como pode ser observado na imagem a seguir, o framework Paint3D não apenas se sai bem em gerar detalhes de textura de alta qualidade, mas também sintetiza um mapa de textura sem iluminação de forma razoável.

Em comparação, o framework Latent-Paint é propenso a gerar texturas borradas que resultam em efeitos visuais subótimos. Por outro lado, embora o framework TEXTure gere texturas claras, ele carece de suavidade e exibe costuras e juntas notáveis. Finalmente, o framework Text2Tex gera texturas suaves de forma notável, mas falha em replicar o desempenho para gerar texturas finas com detalhes intricados.
A imagem a seguir compara o framework Paint3D com frameworks de ponta quantitativamente.

Como pode ser observado, o framework Paint3D supera todos os modelos existentes e por uma margem significativa, com cerca de 30% de melhoria na linha de base FID e aproximadamente 40% de melhoria na linha de base KID. A melhoria nos escores de linha de base FID e KID demonstra a capacidade do Paint3D de gerar texturas de alta qualidade em objetos e categorias diversificados.
Comparações de Imagem para Textura
Para gerar as capacidades gerativas do Paint3D usando prompts visuais, usamos o modelo TEXTure como a linha de base. Como mencionado anteriormente, o modelo Paint3D emprega um codificador de imagem proveniente do modelo de texto para imagem do Stable Diffusion. Como pode ser visto na imagem a seguir, o framework Paint3D sintetiza texturas exquisitas de forma notável e ainda é capaz de manter alta fidelidade em relação à condição de imagem.

Por outro lado, o framework TEXTure é capaz de gerar uma textura semelhante ao Paint3D, mas falha em representar os detalhes de textura na condição de imagem com precisão. Além disso, como demonstrado na imagem a seguir, o framework Paint3D entrega melhores escores de linha de base FID e KID em comparação com o framework TEXTure, com o primeiro diminuindo de 40,83 para 26,86, enquanto o segundo mostrando uma queda de 9,76 para 4,94.

Pensamentos Finais
Neste artigo, falamos sobre o Paint3D, um framework novo e de dois estágios capaz de produzir mapas de textura de 2K UV diversificados, sem iluminação e de alta resolução para malhas de 3D sem textura, condicionados em entradas visuais ou textuais. O destaque principal do framework Paint3D é que ele é capaz de gerar texturas de alta resolução sem iluminação que são semanticamente consistentes sem serem condicionados em entradas de imagem ou texto. Devido à sua abordagem de grosso a fino, o framework Paint3D produz mapas de textura sem iluminação, diversificados e de alta resolução e entrega um desempenho melhor do que os frameworks de ponta atuais.












