Lembra-se das cenas 3D incríveis dos filmes de ficção científica? O vasto universo, castelos fantásticos, cidades futuristas... Agora você também pode criar essas cenas facilmente! A mais recente tecnologia de "linguagem de cena" da equipe de Jiajun Wu da Universidade de Stanford permite que você gere modelos 3D realistas com apenas uma frase descrevendo a cena, uma verdadeira bênção para designers e desenvolvedores de jogos!

O que exatamente é a linguagem de cena?

Imagine que você precisa descrever as misteriosas estátuas Moai de Ahu Akivi na Ilha de Páscoa. Você diria: "Há uma fileira de sete estátuas Moai voltadas para a mesma direção". Mas se a outra pessoa não sabe o que são estátuas Moai, você teria que explicar: "As estátuas Moai são estátuas de pedra sem pernas, mas cada uma parece um pouco diferente".

image.png

Este exemplo nos mostra que, para descrever completamente uma cena, precisamos de pelo menos três tipos de informações:

Informações estruturais: como "uma fileira de sete estátuas", que podem ser descritas usando uma linguagem semelhante a uma linguagem de programação;

Semântica categórica: como "estátua Moai", que pode ser resumida em palavras;

Detalhes de instância: como a forma, cor e textura específicas de cada estátua, difíceis de descrever com palavras, mas que podem ser capturadas por meio de reconhecimento de imagem.

A linguagem de cena combina perfeitamente essas três informações! Ela contém três elementos principais:

Programa: usa uma sintaxe semelhante à linguagem de programação para definir a hierarquia e o layout espacial dos objetos na cena, como o arranjo das estátuas Moai;

Texto: usa linguagem natural para descrever a semântica categórica de cada objeto, como "estátua Moai";

Vetor incorporado: usa vetores gerados por redes neurais para capturar as características visuais de cada objeto, como a aparência única de cada estátua.

image.png

O mais incrível é que a linguagem de cena pode ser gerada automaticamente por meio de modelos de linguagem pré-treinados! Você só precisa inserir uma descrição de texto ou uma imagem, e o modelo pode deduzir automaticamente o programa, o texto e o vetor incorporado, e então usar vários renderizadores para gerar cenas 3D de alta qualidade.

Quais são as vantagens da linguagem de cena?

Em comparação com a representação tradicional de gráficos de cena, a linguagem de cena pode gerar cenas mais complexas e realistas, e pode controlar e editar precisamente a estrutura da cena. Por exemplo, você pode usar um comando de uma frase para modificar os atributos de um objeto na cena, adicionar novos objetos ou até mesmo mudar o estilo da cena inteira.

Quais são as aplicações da linguagem de cena?

A linguagem de cena tem amplas perspectivas de aplicação na geração e edição de cenas 3D, como:

Texto gerando cenas 3D: inserir uma descrição de texto para gerar automaticamente a cena 3D correspondente, como "um castelo no topo de uma montanha, cercado por uma floresta densa";

Imagem gerando cenas 3D: inserir uma foto para reconstruir a cena 3D na foto, como gerar um modelo 3D de uma sala a partir de uma foto de uma sala;

Geração de cenas 4D: pode gerar cenas 4D que incluem informações dimensionais temporais, como simular a rotação de uma turbina eólica;

Edição de cenas: modificando o programa, texto ou vetor incorporado da linguagem de cena, a cena pode ser editada com precisão, como alterar a cor, posição ou tamanho de um objeto.

Para onde se dirige o futuro da linguagem de cena?

A linguagem de cena ainda está em estágio inicial de desenvolvimento, e há muito espaço para desenvolvimento futuro, como:

Capacidade de geração mais poderosa: pode gerar cenas mais complexas e realistas, como incluir mais detalhes e elementos interativos mais ricos;

Métodos de edição mais convenientes: pode usar uma linguagem mais natural e intuitiva para editar cenas, como controlar por voz ou gestos;

Campos de aplicação mais amplos: pode ser aplicado em realidade virtual, realidade aumentada, desenvolvimento de jogos, produção cinematográfica e muitos outros campos.

Página inicial do projeto: https://ai.stanford.edu/~yzzhang/projects/scene-language/

Endereço do artigo: https://arxiv.org/abs/2410.16770