Connect with us

Lidando com ‘Maus Dias de Cabelo’ na Síntese de Imagem Humana

Inteligência artificial

Lidando com ‘Maus Dias de Cabelo’ na Síntese de Imagem Humana

mm

Desde a idade de ouro da estatuária romana, representar o cabelo humano tem sido um desafio espinhoso. A cabeça humana média contém 100.000 fios, tem índices de refração variados de acordo com sua cor e, além de uma certa longitude, se moverá e se reformará de maneiras que só podem ser simuladas por modelos físicos complexos – até o momento, apenas aplicáveis por meio de metodologias ‘tradicionais’ de CGI.

De uma pesquisa de 2017 da Disney, um modelo baseado em física tenta aplicar movimento realista a um estilo de cabelo fluido em um fluxo de trabalho de CGI. Fonte: https://www.youtube.com/watch?v=-6iF3mufDW0

De uma pesquisa de 2017 da Disney, um modelo baseado em física tenta aplicar movimento realista a um estilo de cabelo fluido em um fluxo de trabalho de CGI. Fonte: https://www.youtube.com/watch?v=-6iF3mufDW0

O problema é mal abordado pelos métodos de deepfakes modernos e populares. Por alguns anos, o pacote líder DeepFaceLab tem um modelo de ‘cabeça completa’ que só pode capturar encarnações rígidas de penteados curtos (geralmente masculinos); e recentemente, o DFL estável FaceSwap (ambos os pacotes são derivados do código-fonte DeepFakes controverso de 2017) ofereceu uma implementação do modelo de segmentação semântica BiseNet, permitindo que um usuário inclua orelhas e cabelo na saída de deepfake.

Mesmo ao representar penteados muito curtos, os resultados tendem a ser muito limitados em qualidade, com cabeças completas aparecendo superpostas em footagens, em vez de integradas a elas.

Cabelo GAN

As duas principais abordagens concorrentes para simulação humana são Campos de Radiância Neural (NeRF), que podem capturar uma cena de múltiplos pontos de vista e encapsular uma representação 3D desses pontos de vista em uma rede neural explorável; e Redes Adversárias Generativas (GANs), que são notavelmente mais avançadas em termos de síntese de imagem humana (nem menos porque NeRF só surgiu em 2020).

A compreensão inferida de geometria 3D do NeRF permite que ele replique uma cena com grande fidelidade e consistência, mesmo que atualmente tenha pouco ou nenhum escopo para a imposição de modelos físicos – e, de fato, escopo relativamente limitado para qualquer tipo de transformação nos dados coletados que não relate à mudança do ponto de vista da câmera. Atualmente, o NeRF tem capacidades muito limitadas em termos de reproduzir o movimento do cabelo humano.

As equivalentes baseadas em GAN ao NeRF começam com uma desvantagem quase fatal, desde que, ao contrário do NeRF, o espaço latente de um GAN não incorpora naturalmente uma compreensão de informações 3D. Portanto, a síntese de imagem facial 3D consciente de GAN se tornou uma perseguição quente na pesquisa de geração de imagens nos últimos anos, com o InterFaceGAN de 2019 uma das principais conquistas.

No entanto, mesmo os resultados apresentados e selecionados do InterFaceGAN demonstram que a consistência neural do cabelo permanece um desafio difícil em termos de consistência temporal, para possíveis fluxos de trabalho de VFX:

Cabelo 'chiando' em uma transformação de pose do InterFaceGAN. Fonte: https://www.youtube.com/watch?v=uoftpl3Bj6w

Cabelo ‘chiando’ em uma transformação de pose do InterFaceGAN. Fonte: https://www.youtube.com/watch?v=uoftpl3Bj6w

À medida que se torna mais evidente que a geração de visão consistente por meio da manipulação do espaço latente sozinho pode ser uma perseguição alquímica, um número crescente de artigos está surgindo que incorporam informações 3D baseadas em CGI em um fluxo de trabalho de GAN como uma restrição estabilizadora e normalizadora.

O elemento CGI pode ser representado por primitivos 3D intermediários, como um Modelo Linear de Múltiplas Pessoas com Pele (SMPL), ou adotando técnicas de inferência 3D de uma maneira semelhante ao NeRF, onde a geometria é avaliada a partir das imagens ou vídeo de origem.

Um novo trabalho nessa linha, lançado esta semana, é Redes Adversárias Generativas de Visão Múltipla para Síntese de Imagem 3D Consciente (MVCGAN), uma colaboração entre ReLER, AAII, Universidade de Tecnologia de Sydney, a Academia DAMO do Grupo Alibaba e a Universidade de Zhejiang.

Poses faciais novas e robustas geradas pelo MVCGAN em imagens derivadas do conjunto de dados CELEBA-HQ. Fonte: https://arxiv.org/pdf/2204.06307.pdf

Poses faciais novas e robustas geradas pelo MVCGAN em imagens derivadas do conjunto de dados CELEBA-HQ. Fonte: https://arxiv.org/pdf/2204.06307.pdf

O MVCGAN incorpora uma rede de radiação gerativa (GRAF) capaz de fornecer restrições geométricas em uma Rede Adversária Generativa, argumentando que alcança algumas das capacidades de pose mais autênticas de qualquer abordagem baseada em GAN semelhante.

Comparação entre MVCGAN e métodos anteriores GRAF, GIRAFFE e pi-GAN.

Comparação entre MVCGAN e métodos anteriores GRAF, GIRAFFE e pi-GAN.

No entanto, o material suplementar do MVCGAN revela que obter consistência de volume, disposição, colocação e comportamento do cabelo é um problema que não é facilmente abordado por meio de restrições baseadas em geometria 3D externamente imposta.

Do material suplementar não publicado no momento da escrita, vemos que, enquanto a síntese de pose facial do MVCGAN representa um avanço notável no estado da arte atual, a consistência temporal do cabelo permanece um problema.

Do material suplementar não publicado no momento da escrita, vemos que, enquanto a síntese de pose facial do MVCGAN representa um avanço notável no estado da arte atual, a consistência temporal do cabelo permanece um problema.

Como os fluxos de trabalho de CGI ‘diretos’ ainda encontram a reconstrução temporal do cabelo como um desafio, não há razão para acreditar que abordagens convencionais baseadas em geometria dessa natureza vão trazer síntese de cabelo consistente para o espaço latente em breve.

Estabilizando o Cabelo com Redes Neurais Convolucionais

No entanto, um artigo futuro de três pesquisadores do Instituto de Tecnologia Chalmers na Suécia pode oferecer um avanço adicional na simulação neural do cabelo.

À esquerda, a representação do cabelo estabilizada pela CNN, à direita, a verdade de referência. Veja o vídeo incorporado no final do artigo para melhor resolução e exemplos adicionais. Fonte: https://www.youtube.com/watch?v=AvnJkwCmsT4

À esquerda, a representação do cabelo estabilizada pela CNN, à direita, a verdade de referência. Veja o vídeo incorporado no final do artigo para melhor resolução e exemplos adicionais. Fonte: https://www.youtube.com/watch?v=AvnJkwCmsT4

O sistema compreende uma rede baseada em autoencoder capaz de avaliar a resolução do cabelo, incluindo auto-sombreamento e considerando a espessura do cabelo, em tempo real, com base em um número limitado de amostras estocásticas semeadas por geometria OpenGL.

A abordagem renderiza um número limitado de amostras com transparência estocástica e, em seguida, treina uma U-net para reconstruir a imagem original.

Sob o MVCGAN, uma CNN filtra fatores de cor estocásticos amostrados, realces, tangentes, profundidade e alfas, montando os resultados sintetizados em uma imagem composta.

Sob o MVCGAN, uma CNN filtra fatores de cor estocásticos amostrados, realces, tangentes, profundidade e alfas, montando os resultados sintetizados em uma imagem composta.

A rede é treinada no PyTorch, convergindo em um período de seis a doze horas, dependendo do volume da rede e do número de recursos de entrada. Os parâmetros treinados (pesos) são, em seguida, usados no implementação em tempo real do sistema.

Os dados de treinamento são gerados renderizando várias centenas de imagens para penteados retos e ondulados, usando distâncias e poses aleatórias, bem como condições de iluminação diversas.

Vários exemplos de entrada de treinamento.

Vários exemplos de entrada de treinamento.

A translucidez do cabelo nas amostras é média de imagens renderizadas com transparência estocástica em resolução supersampleada. Os dados de alta resolução originais são reduzidos para acomodar limites de rede e hardware e, posteriormente, aumentados, em um fluxo de trabalho típico de autoencoder.

O aplicativo de inferência em tempo real (o software ‘ao vivo’ que aproveita o algoritmo derivado do modelo treinado) emprega uma mistura de NVIDIA CUDA com cuDNN e OpenGL. Os recursos de entrada iniciais são descarregados em buffers de cor multisampleados do OpenGL e o resultado é encaminhado para tensores cuDNN antes do processamento na CNN. Esses tensores são, em seguida, copiados de volta para uma textura ‘ao vivo’ do OpenGL para imposição na imagem final.

O sistema em tempo real opera em um NVIDIA RTX 2080, produzindo uma resolução de 1024×1024 pixels.

Como os valores de cor do cabelo são completamente desacoplados nos valores finais obtidos pela rede, mudar a cor do cabelo é uma tarefa trivial, embora efeitos como gradientes e listras permaneçam um desafio futuro.

Os autores liberaram o código usado nas avaliações do artigo no GitLab. Confira o vídeo suplementar para o MVCGAN abaixo.

Conclusão

Navegar pelo espaço latente de um autoencoder ou GAN ainda é mais semelhante a navegar do que dirigir com precisão. Somente nesse período recente estamos começando a ver resultados credíveis para geração de pose de ‘geometria mais simples’, como faces, em abordagens como NeRF, GANs e frameworks de autoencoder não deepfake (2017).

A complexidade arquitetônica significativa do cabelo humano, combinada com a necessidade de incorporar modelos físicos e outros traços para os quais as abordagens atuais de síntese de imagem não têm provisão, indica que a síntese de cabelo é improvável de permanecer como um componente integrado na síntese facial geral, mas vai exigir redes dedicadas e separadas de certa sofisticação – mesmo que essas redes possam eventualmente se tornar incorporadas em frameworks de síntese facial mais amplos e complexos.

 

Publicado pela primeira vez em 15 de abril de 2022.

Escritor sobre aprendizado de máquina, especialista em síntese de imagem humana. Ex-chefe de conteúdo de pesquisa da Metaphysic.ai.