MeshGPT: tecnologia de geração de malhas triangulares com um transformer somente decodificador
(nihalsid.github.io)MeshGPT: transformer somente decodificador para geração de malhas triangulares
- O MeshGPT gera malhas triangulares ao amostrar de forma autorregressiva um modelo transformer que produz tokens a partir de um vocabulário geométrico aprendido.
- Esses tokens podem ser decodificados em faces de uma malha triangular, e as malhas geradas se caracterizam por serem limpas, consistentes, com arestas nítidas e alta fidelidade.
Resumo
- O MeshGPT é um novo método de geração de malhas triangulares que reflete a compacidade característica das malhas feitas por artistas, em contraste com as malhas triangulares densas extraídas de campos neurais.
- Inspirado pelos avanços recentes de poderosos large language models, ele adota uma abordagem baseada em sequência que gera malhas triangulares de forma autorregressiva como uma sequência de triângulos.
- Primeiro, ele aprende um vocabulário de embeddings potencialmente quantizados usando convolução em grafos, e esses embeddings são sequenciados e decodificados em triângulos por um decodificador para reconstruir malhas de forma eficiente.
Comparação em vídeo e outras aplicações
- A abordagem do MeshGPT gera malhas compactas com detalhes geométricos nítidos, enquanto métodos existentes tendem a perder esses detalhes, gerar malhas excessivamente trianguladas ou produzir formas simples demais.
- Quando uma malha parcial é fornecida, esse método pode inferir várias conclusões possíveis para a forma.
- Esse método pode ser usado para gerar ativos 3D para uma cena, e aqui é mostrado um cômodo preenchido com ativos gerados usando esse método.
Visão geral do método
- Primeiro é aprendido um vocabulário para malhas triangulares, que depois é usado para realizar a geração autorregressiva da malha.
- Ele aprende um vocabulário de embeddings geométricos a partir de uma coleção de formas variadas, com uma rede encoder-decoder com quantização vetorial.
- Depois de totalmente treinado, esse transformer passa a poder amostrar diretamente uma malha como uma sequência de tokens do vocabulário aprendido.
Opinião do GN⁺
O MeshGPT apresenta uma abordagem inovadora que supera métodos existentes de geração de malhas, mostrando melhorias notáveis em cobertura de formas e pontuação FID. Essa tecnologia representa um grande avanço nas áreas de modelagem 3D e computação gráfica, sendo especialmente interessante por sua capacidade de gerar diretamente malhas compactas com arestas nítidas que imitam melhor os padrões eficientes de triangulação de malhas criadas por humanos. Esse avanço oferece novas ferramentas para criadores de conteúdo 3D e abre a possibilidade de gerar ativos 3D de melhor qualidade de forma mais rápida e eficiente.
1 comentários
Comentários do Hacker News
Pesquisa que mostra o potencial de uma ideia revolucionária, com muitos detalhes incluídos no artigo. Já se sabe que modelos Transformer são escaláveis, e espera-se que essa ideia seja usada por muitas empresas para treinar pipelines gerais de geração de assets 3D.
Para alguém que trabalha como engenheiro de machine learning e se interessa por Blender e desenvolvimento de jogos como hobby, esta pesquisa é impressionante, mas não é tão útil de forma prática para exemplos limitados de móveis. Um modelador experiente consegue criar essas malhas em menos de 5 minutos, e ainda é preciso ter polígonos para a geração. O próximo passo provavelmente será o controle de geração de seed usando LLM e a adição de um modelo de imagem à parte autoregressiva da arquitetura. Aí sim poderemos ver assets realmente adequados para jogos mobile.
Como alguém que trabalha com produção 3D/cinema, a situação atual parece ao mesmo tempo muito interessante e assustadora.
Fiquei curioso sobre qual é a entrada. Seria converter uma consulta em texto como "cadeira" em uma malha? Edit: parece que o principal método de entrada e saída é conclusão de malha, não uma funcionalidade simples.
Parece que problemas difíceis remanescentes, nos quais não houve grandes avanços desde os anos 90, de algum modo serão resolvidos com Transformers. É fascinante viver nesta era.
A próxima inovação será uma UX para gerar cenas 3D como estas diante de você em VR. Isso vai nos permitir gerar ambientes 3D persistentes e arbitrários para qualquer tipo de ambiente do qual tenhamos dados de treinamento. Modelos de difusão podem ser usados para gerar texturas.
Mesmo que isso seja "apenas" autocompletar de malha, ainda assim é muito útil para artistas 3D. Hoje existe uma lacuna entre a forma de esculpir personagens e a forma de animá-los. Fazer retopologia de um modelo consome muito tempo. Uma retopologia baseada em Transformer que pegue uma malha bruta e forneça uma topologia limpa seria uma enorme economia de tempo.
Adoro esta área. O artigo inclui um site incrível, exemplos e vídeos. É muito mais revigorante do que o estilo de artigo com resumo, introdução e resultados densos.
Essa tecnologia está ficando muito boa! Ainda há algumas arestas estranhas, mas agora isso parece mais um problema de "detalhes repetitivos" do que algo algorítmico ou complexo. Se fosse possível colocar todas as malhas em uma pasta, treinar a rede e depois pedir outra coisa naquele estilo, sem precisar fazer retopologia do que foi criado nem aplicar outras influências criativas, seria incrível. Claro, até chegarmos totalmente a esse ponto, procgen ainda atende melhor, mas estou muito empolgado com a rapidez com que essa tecnologia está avançando! Espero que no showcase da Unreal do próximo ano possamos ouvir falar de uma nova funcionalidade de "Asset Generator".
Essa tecnologia realmente parece muito legal! Parece que será uma ajuda enorme para desenvolvedores de jogos indie gerarem muitos assets.