paint-brush
Como criar conteúdo 3D baseado em IApor@artlabs
2,071 leituras
2,071 leituras

Como criar conteúdo 3D baseado em IA

por artlabs7m2023/03/03
Read on Terminal Reader

Muito longo; Para ler

Nossa equipe mergulhou no fascinante mundo de como as metodologias de IA representam e lidam com o conteúdo 3D e as várias maneiras pelas quais a IA aproveita essas representações para a criação de conteúdo 3D. Também exploramos as vantagens e desvantagens dessas técnicas.
featured image - Como criar conteúdo 3D baseado em IA
artlabs HackerNoon profile picture

Oi! Bem-vindo ao 'Inside the Lab', o blog de pesquisa e engenharia da artlabs . O tópico desta semana é como o conteúdo 3D é representado e tratado por metodologias de IA, como a IA utiliza essas representações para a criação de conteúdo 3D, bem como os prós e contras dessas técnicas.


Os modelos de aprendizado de máquina são treinados usando várias representações de conteúdo 3D, como voxels, nuvens de pontos, campos de distância assinados, campos de radiância neural (NeRF), malhas poligonais… Falaremos sobre representações de voxels, nuvens de pontos, NeRF e polígonos neste post. Vamos examinar estes, um por um.

Voxels

A imagem foi tirada do Voxel Grid por Matthias Humt


Você conhece elementos de imagem (também conhecidos como pixels), mas já ouviu falar sobre elementos de volume (também conhecidos como voxels)? Agora você fez! Os pixels são representados como valores de intensidade de cor vermelha, verde e azul com um valor de opacidade adicional entre 0 e 255 em uma grade 2D representada pelas coordenadas x e y. Os voxels também consistem em valores de vermelho, verde, azul e opacidade em uma grade 3D. Os modelos de IA visam aprender esses 4 valores para cada voxel para representar a cena com eficiência.

A imagem é tirada da Fig. 2 do papel EVoIT


Modelos de aprendizado de máquina como 3D-R2N2 (2016), Pix2Vox / ++ (2019/2020) e EVoIT (2021) aproveitam a simplicidade da representação de voxel e utilizam imagens multivisualização de um objeto para reconstruir esse objeto como um voxel grade.

Vantagens da representação de voxels

  1. Representação mais simples possível para conteúdo 3D. A representação é simplesmente valores de vermelho, verde, azul e opacidade para cada cubo dentro da grade.
  2. Fácil de construir um modelo de aprendizado de máquina. Como a representação é simples, é mais fácil para o modelo aprender.

Desvantagens da representação de voxels

  1. A resolução, e essa é grande! Uma grade de voxels com comprimento de borda de 512 contém, na verdade, mais de 134 milhões de pontos de dados, enquanto uma imagem de 4096x4096 contém pouco mais de 16 milhões, e sabemos quão grande pode ser o tamanho de um arquivo de imagem 4K. Existem muitos métodos para compactar arquivos voxel para reduzir seu tamanho de arquivo. No entanto, os atuais modelos de aprendizado de máquina ainda lutam para acompanhar tanta informação. Claro, pode-se superar essa limitação não armazenando os voxels vazios na memória ou indo além e comprimindo mais. Mas essas compressões não podem ser aplicadas durante o aprendizado de máquina, pois as compressões podem ser feitas depois que uma grade de voxels é construída , e o que está sendo feito com o aprendizado de máquina ainda é “construção”.
  2. Renderização. As GPUs são otimizadas para renderizar polígonos e não há hardware específico para renderizar voxels de alta resolução com eficiência.

Possíveis casos de uso da indústria

Voxels são muito bons se você quiser representar formas cúbicas. Assim como existe pixel art, também existe arte 3D baseada em voxels. Além disso, quem não quer gerar mundos tipo Minecraft ?! Metaversos como o Sandbox também utilizam representações de voxels, e a criação de voxels baseada em IA também pode ajudar a melhorá-los.

Nuvens de Pontos

A imagem é tirada de Point Cloud por Matthias Humt


Bem, você adivinhou: nuvens de pontos são nuvens formadas por pontos coloridos no espaço 3D. Ao contrário dos voxels, eles não estão contidos em uma grade, então você pode representar melhor uma gama mais ampla de objetos com nuvens de pontos. No entanto, como não há grade, você também precisa considerar a posição de cada ponto no espaço 3D. Isso significa que você precisa manter mais dados em comparação com voxels para cada ponto de dados.

A imagem é tirada da Fig. 2 do papel Point-E.


Modelos como o Point-E (2022) da OpenAI demonstraram sucesso na criação de conteúdo 3D baseado em nuvem de pontos. No entanto, como tudo de bom no mundo, as nuvens de pontos têm suas vantagens e desvantagens.

Vantagens da representação em nuvem de pontos

  1. Melhor manipulação de detalhes finos em comparação com voxels. As nuvens de pontos podem ser densas ou esparsas. Quando esparsa, é fácil perder a maioria dos detalhes, mas quando uma nuvem de pontos é densa, pode-se representar muito bem o objeto/forma original.
  2. Ótimo em representar grandes cenas! Os LiDARs são uma ótima maneira de adquirir nuvens de pontos e são amplamente utilizados em veículos inteligentes. Existem vários exemplos de um drone que escaneia uma área inteira, incluindo florestas, fábricas, estádios, praças da cidade, etc. Eles até criaram uma nuvem de pontos de toda a cidade de Düsseldorf !

Desvantagens da representação da nuvem de pontos

  1. Sem volume. Mesmo quando uma nuvem de pontos é densa, ela é construída de pontos, e os pontos não podem representar um volume.
  2. Renderização. Como não há polígonos em uma nuvem de pontos, as GPUs atuais não podem renderizar nuvens de pontos. Eles também não podem ser utilizados para fabricação. As nuvens de pontos podem ser convertidas em malhas poligonais, no entanto, os algoritmos atuais reconstroem saídas irregulares.

Possíveis casos de uso da indústria

Na verdade, as nuvens de pontos são amplamente utilizadas em vários setores. Eles podem ser adquiridos por LiDARs instalados em drones ou carros inteligentes. Pode-se criar objetos e ambientes de nuvem de pontos com IA para serem utilizados em simulações para melhorar os algoritmos que estão sendo executados para melhores veículos sem motorista. Além disso, eles também são usados em imagens médicas. A criação baseada em IA de nuvens de pontos médicos também pode melhorar a detecção de doenças e traumas físicos em pacientes.

Campos de radiação neural (NeRF)

Dado um conjunto de imagens e informações de pose de câmera correspondentes, um NeRF pode reconstruir uma cena 3D descobrindo onde cada pixel em uma imagem corresponde no espaço 3D. Depois que a cena é reconstruída, um NeRF pode fornecer uma visão 3D completa de uma cena, mesmo de ângulos invisíveis. Além disso, a própria representação é AI! Basicamente, é uma rede neural que contém todas as informações necessárias para renderizar uma cena 3D. A cena é representada na rede neural e, quando consultada com uma nova pose de câmera, a rede neural pode responder com uma nova renderização dessa visualização. Enquanto a rede NeRF original teve que ser treinada por horas (dias em algumas ocasiões), várias novas variantes de NeRF podem reconstruir uma cena 3D de alta qualidade em poucos segundos.

Vantagens da representação NeRF

  1. A cena é representada como a percebemos com nossa câmera, e podemos vê-la por ângulos nunca antes vistos. Pode-se dizer facilmente que você pode recuperar detalhes finos com NeRFs.
  2. Renderização. Todo o propósito do modelo é renderizar uma cena de um novo ângulo de visão.

Desvantagens da representação NeRF

  1. Sem volume. As cenas 3D reconstruídas por um Neural Radiance Field são, na verdade, uma renderização. Portanto, eles não podem ser utilizados para simulações físicas, fabricação, etc.
  2. São uma reconstrução de uma cena 3D, mas não permitem edição de cena. Existem métodos para separar um objeto do fundo, mas ainda assim, você ainda não pode colocar um NeRF dentro de outro NeRF como você pode fazer com polígonos, voxels ou nuvens de pontos.

Possíveis casos de uso da indústria

Os campos de radiação neural podem renderizar cenas de qualquer ângulo e podem ser usados amplamente pelas artes cinematográficas. É amplamente conhecido que o ângulo e o movimento da câmera são muito importantes na cinematografia, e os NeRFs podem criar renderizações a partir de ângulos com os quais um operador de câmera pode ter problemas.

malha poligonal

A imagem é tirada de UPenn 3D Graphics Tutorials


As malhas poligonais consistem em pontos (ou seja, vértices), linhas que conectam esses pontos entre si (ou seja, arestas) e polígonos que são construídos entre essas arestas. Os vértices são representados por suas coordenadas; arestas são representadas por quais vértices estão se conectando, e polígonos são representados por quais arestas estão sendo construídas. Além disso, existem várias maneiras de representar cores em malhas, desde simplesmente colorir cada vértice com valores de intensidade de vermelho, verde e azul até decidir como essa cor irá interagir com qualquer luz, fornecendo propriedades de materiais como difusão, especularidade, opacidade, refração índices, normais de superfície, etc.

A imagem é tirada da página do projeto Magic3D


Métodos como o NVDiffrec-MC (2022) podem inferir uma trinca de malha, luz e material utilizando conjuntos de imagens. Ultimamente, muitos outros métodos foram desenvolvidos para reconstruir malhas e texturas a partir de entradas de texto ou imagem: GET3D , DreamFusion , Score Jacobian Chaining , Magic3D

Vantagens da representação de malha poligonal

  1. O hardware da GPU é otimizado para representações poligonais, portanto, as malhas poligonais são as mais fáceis de renderizar e visualizar. Eles são amplamente utilizados para jogos, CGI, VFX, AR/VR… Você escolhe!
  2. Os designers podem brincar com diferentes malhas e parâmetros de materiais para criar designs únicos com detalhes muito finos.
  3. O nível de detalhe pode ser controlado facilmente alterando a contagem de vértices e polígonos.
  4. Existem ferramentas muito avançadas para edição de malhas e, hoje em dia, as malhas podem ser modificadas com relativa facilidade.

Desvantagens da representação de malha poligonal

  1. A estrutura é complexa. Para que os modelos de IA criem malhas, os modelos neurais precisam ser capazes de gerar vértices, arestas, polígonos, materiais e cores.
  2. O design e a criação de malhas do zero sem IA são especialmente demorados e muito difíceis de lidar em escala.

Possíveis casos de uso da indústria

As malhas poligonais já são utilizadas em jogos, artes cinematográficas, Web3 e XR. Muitos setores, como o comércio eletrônico, se beneficiam muito das malhas poligonais ao visualizar seus produtos em 3D. Ao criar conteúdo com IA, todos esses setores podem gerar conteúdo em escala e impressionar seu público.

No artlabs , utilizamos todas essas representações e IA em diferentes seções de nosso pipeline. Veja mais sobre como o artlabs utiliza IA para criar conteúdo em escala aqui .


Obrigado por ler! Nos vemos no próximo post de “Dentro do Laboratório” 👋🏻


Autor: Doğancan Kebude , líder de P&D da artlabs