Meio Bit » Robótica e IA » Por que a Inteligência Artificial é tão ruim desenhando mãos?

Por que a Inteligência Artificial é tão ruim desenhando mãos?

A Inteligência Artificial é surpreendente, mas algumas tarefas parecem além de Seus poderes. Desenhar mãos. Por que é tão difícil?

49 semanas atrás

Inteligência Artificial está na moda, todos os holofotes estão apontando para Midjourney, Chat GPT e outros serviços. Todo canal do YouTube já fez um vídeo associando IA a seu conteúdo, e com tantos olhos voltados para o tema, as pessoas estão começando a perceber suas limitações.

Prompt: Smiling Vladmir Putin Making Heart Shape with Her HandsDetalhes: Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 2896531791, Size: 632x512, Model hash: 423e602e32, Model: clarity_clarity14-0038-0869-0679, Denoising strength: 0.7, ControlNet Enabled: True, ControlNet Preprocessor: openpose, ControlNet Model: control_openpose-fp16 [9ca67cc5], ControlNet Weight: 1, ControlNet Starting Step: 0, ControlNet Ending Step: 1, ControlNet Resize Mode: Crop and Resize, ControlNet Pixel Perfect: False, ControlNet Control Mode: Balanced, ControlNet Preprocessor Parameters: "(512, 100, 200)", Hires upscale: 2, Hires upscaler: Latent

A IA só traz a Paz! - detalhes de geração no ALT da imagem (Crédito: MeioBit / Stable Diffusion)

Com o tempo a gente começa a perceber onde a IA tem problemas. Quem gosta de brincar de gerar imagens com o Stable Diffusion, como eu, descobre que a Inteligência Artificial não gosta de sombras, de cenas com pouco contraste e, por algum motivo, ela tem uma extrema prevenção contra Hitler. É um viés negativo tão grande que ela se recusa até mesmo a desenhar o bigode do carcamano. Nem quando eu peço por Chaplin, ela topa o bigode, e não pára por aí.

Prompt: a picture of Charles ChaplinDetalhes: Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 4221274506, Face restoration: CodeFormer, Size: 512x512, Model hash: c35782bad8, Model: realisticVisionV13_v13

Ele se perde totalmente com o bigode. (Crédito: MeioBit / Stable Diffusion)

Outra coisa que ele não acerta de jeito nenhum são tesouras.

O que mais chama a atenção de todo mundo, claro, são as mãos. É a primeira coisa que salta aos olhos, o povo fica melindrado.

De certa forma é irritante, estamos demonstrando uma tecnologia fantástica, capaz de criar imagens do nada, e como a mão não está absolutamente perfeita, o sujeito desdenha e descarta como se fosse um player Betamax de soja.

a photo of a pair of scissorsSteps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3293046424, Size: 512x512, Model hash: 768a6b534b, Model: ProtoGen_X5-1455-0191-1397

Nada de tesouras via IA. (Crédito: MeioBit / Stable Diffusion)

Essa reação visceral tem uma origem biológica, vem direto do Vale da Estranheza. São milhares de gerações de pura Evolução em ação, nos tornamos especialmente bons em reconhecer rostos e identificar membros da nossa espécie. Em essência, o filhote de humano que corresse de braços abertos para um tigre ou um babuíno falando “babá...” tinha menos chance de deixar descendentes do que o que abrisse o berreiro.

Da mesma forma nós naturalmente reconhecemos corpos saudáveis. É uma característica que compartilhamos com a maioria dos animais. Cores vivas, penugem cheias, pele brilhosa, simetria. Deformidades, membros faltando geram reações nas outras pessoas.

Essas reações estão programadas profundamente em nossos cérebros, elas indicam que há algo errado, predadores, doenças, defeitos genéticos. Racionalmente hoje sabemos quando não é o caso, mas internamente u’a mão torta, com dedos a mais ou a menos gera estranheza.

Isso, claro, é só a origem do incômodo.

Mão não é fácil, minha gente

Eu confesso. Não sei desenhar, sou péssimo, se eu precisar desenhar uma linha reta, eu instalo o Autocad. Uma bola, preciso do 3D Studio, Blender e Lightwave. Sou tão ruim que cheguei a pensar que tinha algum problema neurológico, mas as Vozes me garantiram que é normal, nem todo mundo tem facilidade em desenhar.

O consolo é que mesmo quem desenha profissionalmente tem problema com mãos. Alguns desenhistas são especialmente ruins em partes anatômicas específicas. Uma semi-brincadeira na indústria é que Rob Liefeld, criador de Deadpool, Cable e vários outros personagens não consegue desenhar pés.

Rob Liefeldnão é IA mas também desenha muito mal. (Crédito: Marvel Comics)

Claro, olhando o trabalho dele a gente percebe que a dificuldade anatômica de Liefeld é geral.

Mãos, em especial, são um problema pra todo mundo. Pouca gente desenha mãos de cabeça. Nos primórdios da animação, os personagens em quadrinhos ganharam luvas e perderam um dedo por mão para facilitar o trabalho dos animadores. Manter uma anatomia coerente com cinco dedos e falanges não é fácil.

Um bom desenhista leva anos pra aprender a transpor uma imagem mental de uma mão para o papel, e ele ainda vai usar e abusar de referências.

Quer ver como é difícil? Feche os olhos, imagine sua mão segurando um lápis. Faça a pose com a mão real, consegue visualizar os dedos, os ângulos, certo? Parabéns, isso é um sentido chamado cinestesia, a capacidade do cérebro manter um modelo mental da posição do corpo.

(A condição mental que faz um sentido se manifestar no lugar de outro é Sinestesia, com S, de esperança)

Agora tente visualizar uma mão segurando um lápis, mas de outra pessoa, na sua frente. Não tão fácil visualizar os detalhes, né?

Mas e a Inteligência Artificial?

Para entendermos o motivo da IA ter problemas desenhando mãos, precisamos entender como a Inteligência Artificial aprendeu a desenhar.

Já falamos sobre nossa capacidade inata de reconhecer formas humanas. Somos tão bons que reconhecemos rostos até onde eles não existem, em um efeito chamado pareidolia. E não só rostos, milhões de anos de evolução treinaram as redes neurais em nosso cérebro para reconhecer e identificar padrões com extrema facilidade.

Um efeito colateral disso é que colocamos no céu todos os nossos heróis, mitos e deuses. Desde a antiguidade acompanhamos as estrelas, imutáveis (da nossa fugaz percepção) e as linhas imaginárias entre elas deram forma a nossos sonhos.

Esse reconhecimento de padrões é treinável. Nós identificamos os padrões com os quais estamos culturalmente acostumados. Na imagem abaixo qualquer um que tenha consumido cultura pop nos últimos 50 anos reconhecerá Godzilla.

GOJIRA! (Crédito: Reprodução Internet)

Já um camponês medieval verá outra coisa. As constelações chinesas são diferentes das polinésias, que nada têm a ver com as Européias. Ou pode até não ver nenhum padrão, como essa nuvem, se aparecer na Ilha Paraíso.

Essa capacidade de reconhecer padrões surpreendentemente pode ser ensinada a mecanismo de Inteligência Artificial e redes neurais, e funcionam muito bem.

Um dos algoritmos usados, como você pode ler no paper High-Resolution Image Synthesis with Latent Diffusion Models, funciona “destruindo” imagens, mas calma, eu explico.

O modelo treinado pela rede neural da IA é primeiro ensinado a “destruir” uma imagem, adicionando ruído aleatório. Ele é ensinado que aquela é a imagem de, digamos, um gato. Adiciona ruído, tenta identificar o gato. Todos os neurônios que identificam corretamente o gato mesmo com o ruído em volta, são bonificados. Os que não conseguem, são penalizados.

A imagem recebe mais ruído ainda, e o processo se repete, até o ponto em que a imagem final é composta de 100% ruído aleatório, e é quase impossível identificar algo.

O treinamento é repetido com centenas de milhares de imagens de gatos, todas únicas, algumas parecidas, outras completamente diferentes, com poses, iluminação, estilo, tudo variando. Temos de estátuas a desenhos animados, pinturas clássicas e quadrinhos. A Inteligência Artificial aprendeu a “desconstruir” todas essas imagens. Só que ela não guarda a imagem em si. Ela tem um “conceito” de “gato”, formado por uma amálgama de todas aquelas imagens.

 

Em termos leigos, ela aprendeu como um gato se parece. Se alguém mostrar uma foto de um gato, a Inteligência Artificial é capaz de dizer se é um gato ou não. Ou um cachorro-quente.

Agora a segunda fase: A IA recebe uma imagem formada por ruído aleatório. Ela é ordenada a achar no meio daquele monte de pixels, algo que remotamente lembre um gato.

Lembre-se, ela aprendeu a desconstruir um gato até quase uma imagem aleatória, e ela entende como um gato se parece. Para nós são só pontos coloridos, para os bilhões de neurônios artificiais da IA, são incontáveis combinações testadas até ela achar uma forma que remotamente lembre um gato.

Essa imagem é selecionada, e enviada pro início do processo. Agora ela vai estudar uma imagem que lembre remotamente um gato, e tentar extrair dali algo mais felino. Isso se repete até a Inteligência Artificial ter confiança de que a imagem resultante é um gato.

QUAL gato? Essa é a beleza da coisa. É um gato que não existe, um gato que é baseado no que a IA aprender ser como um gato se parece. E com isso, ela pode ser solicitada a encontrar no Espaço Latente um gato em qualquer pose, em qualquer estilo.

Steps: 25, Sampler: Euler a, CFG scale: 7, Seed: 719169838, Face restoration: CodeFormer, Size: 512x512, Model hash: 6e6683719a, Model: timelessDiffusion_timelessDiffusion, Denoising strength: 0.7, Hires upscale: 2, Hires upscaler: Latent

Um gato por Basquiat, Da Vinci, Van Gogh e -deus me perdoe - Romero Brito (Crédito: MeioBit / Stable Diffusion)

Isso não se restringe a gatos, claro. O modelo do Stable Diffusion foi treinado com 2.3 bilhões de imagens do arquivo LAION-5B, um agregado de dados com imagens organizadas com tags e descrições. Essa quantidade inclusive é uma das provas que o Stable Diffusion não guarda imagens. A menos que seja razoável comprimir 2.3 bilhões de imagens em um modelo que ocupa 4GB.

Claro, não são apenas fotos de gatos, há pessoas, celebridades, todo tipo de objetos, paisagens, pinturas famosas. A IA cria um modelo com todos esses conceitos armazenados em seus neurônios, e como eles são apenas abstrações matemáticas, é simples combinar conceitos normalmente distintos, como um porco e um coelho.

Todos esses conceitos podem ser combinados e recombinados, e a beleza e elegância é que aa complexidade da imagem gerada não afeta o tempo de geração! Um ovo em um fundo preto é gerado no mesmo tempo em que uma batalha do Senhor dos Anéis.

OK, mas e as mãos?

a beautiful pair of female hands, hyperrealism| highly detailed| intricate details| delightful,dithering(extreme detail) NG_DeepNegative_V1_75T, lowres, worst quality, low quality, blurry, fake, 3d, anime, bad anatomy, disabled body,disgusting,ugly, text, watermark, Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 3156011180, Size: 512x512, Model hash: 8343ae9085, Model: megaModel11_megaModel11-0795-0651-0514

Eu pedi "a beautiful pair of female hands", imagine se pedisse feias. (Crédito: MeioBit / Stable Diffusion)

Apesar de toda essa capacidade quase mágica, a IA tem um problema: Ela não entende os conceitos que sabe identificar. Ela não sabe o que é um porco, um telefone ou a Scarlett Johansson. Ele sabe como eles se parecem, consegue identificar esses conceitos no Espaço Latente, extraí-los do ruído aleatório, mas ele não os entende.

Para você a Scarlett Johansson é uma coisa maravilhosa. Para a Inteligência Artificial, ela é uma matriz multidimensional, a IA fica feliz quando os números da imagem que ela identificou se aproximam dos números da matriz original, e fica triste quando eles se distanciam.

Mãos, para a IA, são apenas isso, números, mas ao contrário de Scarlett Johanssons, cabeças, pernas e outras partes anatômicas, mãos existem em um número imenso de variações.

Quando a IA é treinada com rostos, há um resultado médio do total de imagens, onde rostos em geral têm uma boca, dois olhos, um nariz. Claro, há infinitas variações, mas esses elementos, por mais diferente que seja o rosto, tendem a ficar no mesmo lugar.

Já mãos, bem, vamos pegar as 20 primeiras imagens de mãos em uma pasta escolhida aleatoriam-é a Vendramini, você sabe que é a Vendramini:

Mãos mãos mãos (Crédito: Coleção Pessoal)

Como podemos perceber, as poses são as mais variadas, e em praticamente nenhuma vemos as mãos espalmadas, com os cinco dedos espalmados e devidamente separados. Para nós são poses naturais, o formato das mãos não nos espanta, mas estudemos uma dessas imagens: Só vemos 4 dedos, um deles nem dá pra saber de qual mão é. O indicador da mão esquerda faz uma curva de 90 graus e fica paralelo com o que pode ser o anular, enquanto isso o dedo médio está oculto, e a outra mão, desaparece totalmente.

Se a IA gerar uma imagem asssim todo mundo vai criticar (Crédito: Arquivo Pessoal)

Um bom artista dificilmente acertaria essa imagem apenas com a descrição.

Sendo que um bom artista tem a noção do que é uma mão, para que serve, como se parece, como funciona e quais seus limites anatômicos. Nosso cérebro consegue inferir, imaginar onde os outros dedos estão, quais os passos para chegar naquela pose.

Já a Inteligência Artificial não tem nenhum desses conceitos. Isoladamente, mãos são apenas números em uma matriz, e como não há uma forma prevalente para mais, ela não consegue “consertar” a imagem.

A IA não tem nenhuma noção de funcionalidade, anatomia. Ela sabe que estatisticamente braços costumam terminar em algo parecido com um bolo de tentáculos, mas ela não tem noção de que cada mão deve ter cinco dedos, mesmo que ocultos. Não é como orelhas, que dificilmente haverá mais de uma em cada lado do rosto nas imagens de treinamento.

Às vezes a IA erra o número de dedos (Crédito: Meiobit / Stable Diffusion)

Nós estamos tirando todo o conhecimento humano, senciência, observação, tudo que um artista usa para (tentar) desenhar mãos, e deixando somente o modelo matemático, que atualmente não é bom o suficiente.

Estatisticamente a Inteligência Artificial irá acertar as mãos, mas isso demanda geração de muitas imagens, ou sorte.

Em resumo, a IA terá problemas com mãos, relógios, tesouras e todo tipo de conceito que seja vago demais. Se você conseguir um excelente resultado de primeira, foi pura sorte.

Então a Inteligência Artificial não tem jeito?

Tem sim, pequeno gafanhoto, tem sim.

Usando as compilações como a AUTOMATIC1111, temos acesso ao recurso IMG2IMG, onde a Inteligência Artificial do Stable Diffusion usa uma imagem como base, e com as configurações certas, as mãos saem bem na maioria dos casos.

O problema do IMG2IMG é que ele não dá muita flexibilidade, mas então surgiu uma nova ferramenta chamada ControlNet, que consegue analisar uma imagem e extrair a pose da pessoa nela. Com ControlNet você pode usar uma imagem e extrair toda a composição da cena, transportando-a para uma situação completamente diferente.

Também é possível usar editores online de poses 3D, para coreografar perfeitamente a imagem que você quer gerar, passar para o ControlNet e tudo ficar no exato lugar.

Interface do OpenPose (Crédito: AUTOMATIC1111)

Dentro do Stable Diffusion, é possível instalar uma extensão como a 3D Open Pose Editor, que permite controle total da figura, com um nível de granularidade que chega aos dedos individuais.

Prompt:a photo of a beautiful princess warrior, blonde, full moon, a flying dragon spewing fire, emerald necklace, long hair, insanely detailed and intricate, realistic, super detailed, 4k, 8k, cinematic, intricate, sharp lines, sharp focus, fascinating, 4k, award Detalhes: Steps: 30, Sampler: Euler a, CFG scale: 7, Seed: 595454437, Size: 512x512, Model hash: 768a6b534b, Model: ProtoGen_X5-1455-0191-1397, ControlNet Enabled: True, ControlNet Preprocessor: lineart_standard (from white bg & black line), ControlNet Model: control_scribble-fp16 [c508311e], ControlNet Weight: 1, ControlNet Starting Step: 0, ControlNet Ending Step: 1, ControlNet Resize Mode: Crop and Resize, ControlNet Pixel Perfect: True, ControlNet Control Mode: Balanced, ControlNet Preprocessor Parameters: "(512, 0.4, 200)"

Um rabisco horrendo mais um prompt (no ALT da imagem) e com ControlNet tenho minha cena (Crédito: MeioBit / Stable Diffusion)

IA gera mãos corretas, é só a gente querer (Crédito: MeioBit / Stable Diffusion)

 

Ela gera até mais ruins de propósito 😉 (Crédito: Meiobit / Stable Diffusion)

 

Transferência de poses e estilos usando ControlNet (Crédito: MeioBit / Stable Diffusion)

Óbvio que todos esses recursos auxiliam a Inteligência Artificial, mas demandam trabalho, tempo, tentativa e erro. Faz parte, se você quer algo que com um simples botão surja com a imagem perfeita e irretocável que só existia na sua mente, você não quer tecnologia, quer magia. E a tecnologia ainda não é suficientemente avançada para que as duas se confundam.

 

relacionados


Comentários