Um guia completo sobre Deepfakes e como criá-los facilmente com o Faceswap.
A Inteligência Artificial (IA) já não parece tão “artificial”. Ela se aproximou de nós, humanos, de maneira preocupante.
A IA agora pode sugerir ideias, redigir textos, gerar obras de arte e, o que é mais impressionante, pode imitar a aparência e a voz de pessoas reais.
Este é um dos avanços mais recentes nesse campo, e precisamos estar atentos a ele. No entanto, é também um desenvolvimento que exige cautela e responsabilidade.
O que são Deepfakes?
O termo “Deepfake” é uma junção de “deep learning” (aprendizado profundo) e “fake” (falso). Em resumo, refere-se a mídias que foram habilidosamente manipuladas ou falsificadas de forma convincente.
De acordo com a Wikipedia, Deepfakes são também conhecidos como mídia sintética, onde uma imagem, áudio ou vídeo existente é alterado para simular outra pessoa completamente diferente.
Geralmente, deepfakes fazem com que figuras públicas pareçam proferir declarações que jamais fariam na realidade.
A qualidade de um deepfake depende da perícia do seu criador, o que pode tornar extremamente difícil distinguir entre o real e o falso.
Como Deepfakes funcionam?
Em termos simples, uma parte de um vídeo original (como um rosto) é substituída por uma versão falsificada com aparência similar. Esse processo pode ser chamado de “faceswap”, como visto em vídeos falsos com a imagem de ‘Obama’.
No entanto, a técnica não se limita a vídeos; também existem deepfakes em formato de imagens e áudios (e, quem sabe, avatares deepfake em realidade virtual no futuro próximo).
Fonte: Disney
A metodologia por trás desses truques varia dependendo do aplicativo e do algoritmo utilizado.
Conforme um estudo da Disney, há várias técnicas envolvidas, como codificadores-decodificadores, Redes Adversariais Generativas (GANs) e deepfakes baseados em geometria.
As próximas seções focam principalmente no funcionamento do Faceswap. Trata-se de um software de código aberto e gratuito que oferece vários algoritmos para alcançar os resultados desejados.
A criação de deepfakes com o Faceswap envolve três etapas principais: extração, treinamento e conversão.
#1. Extração
Esta fase envolve a identificação e a separação da área de interesse em amostras de mídia, tanto no material original quanto naquele que será usado para a troca.
Dependendo das capacidades do hardware, é possível escolher entre vários algoritmos para uma detecção eficiente.
O Faceswap, por exemplo, oferece diferentes opções de extração, alinhamento e mascaramento com base na capacidade da CPU ou GPU.
A extração, essencialmente, identifica o rosto no vídeo. O alinhamento destaca características faciais importantes (olhos, nariz, queixo, etc.). E o mascaramento isola a área de interesse, bloqueando outros elementos da imagem.
O tempo necessário para processar a saída é um fator importante na seleção das opções, já que algoritmos que demandam muitos recursos em um hardware fraco podem resultar em falhas ou em um tempo muito longo para gerar resultados aceitáveis.
A escolha também depende de outros fatores, como a presença de obstruções faciais no vídeo, como óculos ou movimentos das mãos.
Um elemento crucial no final é a limpeza (explicada mais adiante) da saída, já que a extração pode gerar alguns resultados falsos positivos.
Por fim, o processo de extração é repetido tanto para o vídeo original quanto para o vídeo que será usado para a troca.
#2. Treinamento
Esta é a etapa central na criação de um deepfake.
O treinamento envolve o uso de uma rede neural, composta por um codificador e um decodificador. Nessa fase, os algoritmos são alimentados com os dados extraídos para criar um modelo para a conversão posterior.
O codificador converte a entrada em uma representação vetorial, e o algoritmo é treinado para recriar os rostos a partir desses vetores usando o decodificador.
Posteriormente, a rede neural avalia as suas iterações, comparando-as com a original e atribuindo uma pontuação de perda. Esse valor de perda diminui com o tempo, à medida que o algoritmo continua iterando. O treinamento é interrompido quando as visualizações são consideradas aceitáveis.
O treinamento é um processo demorado e os resultados geralmente melhoram com base no número de iterações realizadas e na qualidade dos dados de entrada.
O Faceswap, por exemplo, sugere um mínimo de 500 imagens cada, originais e para a troca. Além disso, as imagens devem ser bem diferentes entre si, abrangendo todos os ângulos possíveis em condições de iluminação variadas para uma melhor recriação.
Devido à duração do treinamento, alguns aplicativos, como o Faceswap, permitem interromper o processo e continuar mais tarde.
O realismo da saída também depende da eficiência do algoritmo e da qualidade da entrada, além de ser limitado pelas capacidades do hardware.
#3. Conversão
Este é o último passo na criação do deepfake. Os algoritmos de conversão utilizam o vídeo original, o modelo treinado e o arquivo de alinhamento da fonte.
Posteriormente, o usuário pode ajustar algumas opções relacionadas à correção de cores, tipo de máscara, formato de saída desejado, etc.
Após configurar essas opções, basta aguardar a renderização final.
Como já foi dito, o Faceswap trabalha com diversos algoritmos, permitindo que o usuário explore diferentes combinações até encontrar um “faceswap” adequado.
É só isso?
Não!
O que foi descrito aqui é apenas a troca de rosto, um subconjunto da tecnologia deepfake. A troca de rosto, como o próprio nome sugere, apenas substitui uma parte do rosto para dar uma vaga ideia do que os deepfakes podem fazer.
Para uma troca convincente, pode ser necessário simular o áudio (clonagem de voz) e todo o corpo, incluindo tudo que está no quadro, conforme este exemplo:
Então, o que está em jogo aqui?
Neste caso, o autor do deepfake gravou o vídeo (como mostrado nos últimos segundos), sincronizou o diálogo com uma voz sintética de Morgan Freeman e fez a substituição da cabeça.
Em resumo, não se trata apenas de trocar o rosto, mas sim todo o quadro, incluindo o áudio.
É possível encontrar muitos deepfakes no YouTube, o que pode gerar preocupação sobre o que realmente é confiável. E tudo o que é necessário para começar é um computador poderoso com uma placa de vídeo eficiente.
No entanto, a perfeição é difícil de alcançar, e isso é especialmente verdade quando se trata de deepfakes.
Para criar um deepfake convincente que engane ou impressione o público, é preciso habilidade e alguns dias ou semanas de processamento para um vídeo de um ou dois minutos.
Curiosamente, esse é o nível de capacidade desses algoritmos atualmente. Mas o futuro, incluindo a eficácia desses aplicativos em hardwares mais acessíveis, é algo que está causando preocupação em diversos governos.
Porém, não vamos nos aprofundar em suas possíveis consequências futuras. Em vez disso, vamos verificar como você pode criar um deepfake para se divertir um pouco.
Criando vídeos deepfake (básicos)
Há muitos aplicativos deepfake para criar memes nesta lista.
Um deles é o Faceswap, que usaremos neste guia.
Antes de começarmos, vamos nos certificar de que temos tudo o que precisamos. Primeiro, um vídeo de boa qualidade do alvo com uma variedade de expressões. Em seguida, um vídeo de origem para trocar com o destino.
Além disso, feche todos os aplicativos que consomem muita placa gráfica, como navegadores ou jogos, antes de executar o Faceswap. Isso é fundamental se você tiver menos de 2 GB de VRAM (memória RAM da placa de vídeo).
Passo 1: Extraindo Rostos
O primeiro passo é extrair os rostos do vídeo. Para isso, selecionamos o vídeo alvo em “Input Dir” e listamos um “Output Dir” para as extrações.
Há também outras opções, incluindo detector, alinhador e mascarador; as explicações para cada um estão no FAQ do Faceawap e seria redundante repetir as informações aqui.
Fonte: FAQ do Faceswap
É sempre recomendável revisar a documentação para entender melhor o processo e obter um resultado decente. No entanto, o Faceswap oferece textos de ajuda ao passar o mouse sobre cada opção.
Não há uma fórmula universal. O ideal é começar com os melhores algoritmos e ajustar as configurações até conseguir um deepfake satisfatório.
No meu caso, usei Mtcnn (detector), Fan (alinhador) e Bisenet-Fp (mascarador), mantendo todas as outras opções como estavam.
Inicialmente, tentei usar S3Fd (o melhor detector) e outras máscaras combinadas. Mas a minha placa de vídeo Nvidia GeForce GTX 750Ti de 2 GB não suportou a carga e o processo falhou repetidamente.
Por fim, reduzi minhas expectativas e as configurações para fazer o processo funcionar.
Além de selecionar o detector, mascaradores etc. adequados, há mais algumas opções em “Settings” > “Set settings” que ajudam a ajustar as configurações para otimizar o uso do hardware.
Simplificando, selecione o menor tamanho de lote, tamanho de entrada e tamanho de saída possíveis e ative opções como “LowMem”. Essas opções não estão disponíveis universalmente e variam dependendo da seção específica. Os textos de ajuda auxiliam ainda mais na seleção das melhores opções.
Embora esta ferramenta faça um excelente trabalho ao extrair rostos, os quadros de saída podem ter mais elementos do que o necessário para treinar o modelo (que será discutido adiante). Por exemplo, ele pode incluir todos os rostos do vídeo (se houver mais de um) e algumas detecções incorretas que não correspondem ao rosto de destino.
Isso leva à etapa de limpeza dos conjuntos de dados. O usuário pode verificar a pasta de saída e excluir manualmente os elementos desnecessários ou usar a ferramenta de classificação do Faceswap.
Com essa ferramenta, você pode organizar os diferentes rostos em sequência, agrupando os necessários em uma pasta separada e excluindo o restante.
Como um lembrete, você também precisa repetir o processo de extração para o vídeo de origem.
Etapa 2: Treinando o modelo
Esta é a parte mais demorada da criação de um deepfake. Aqui, a entrada A se refere ao rosto de destino e a entrada B se refere ao rosto de origem. O “Model Dir” é onde os arquivos de treinamento serão salvos.
A opção mais importante aqui é o “Trainer”. Há várias opções individuais de dimensionamento; no entanto, os que funcionaram melhor no meu hardware foram os treinadores “Dfl-H128” e “Lightweight” com as configurações mais baixas.
Em seguida, vem o tamanho do lote. Um tamanho maior reduz o tempo de treinamento, mas consome mais VRAM. O número de iterações não tem um efeito fixo na saída, então é preciso definir um valor alto o suficiente e interromper o treinamento quando as visualizações forem aceitáveis.
Há também algumas configurações, incluindo a criação de um timelapse com intervalos predefinidos; no entanto, eu treinei o modelo com o mínimo necessário.
Passo 3: Trocar no Original
Este é o último passo na criação do deepfake.
Normalmente, ele não leva muito tempo e é possível explorar várias opções para obter a saída desejada rapidamente.
Conforme indicado na imagem acima, essas são algumas das opções que você precisa escolher para iniciar a conversão.
A maioria das opções já foi discutida, como o diretório de entrada e saída, o diretório do modelo etc. Um fator crucial são os alinhamentos, que se referem ao arquivo de alinhamento (.fsa) do vídeo de destino. Ele é criado no diretório de entrada durante a extração.
O campo “Alinhamentos” pode ser deixado em branco caso esse arquivo não tenha sido movido. Caso contrário, você pode selecionar o arquivo e prosseguir para outras opções. No entanto, lembre-se de limpar o arquivo de alinhamento se tiver limpado as extrações anteriormente.
Para isso, há uma miniferramenta em “Ferramentas” > “Alinhamentos”.
Comece selecionando “Remove-Faces” na seção “Job”, selecione o arquivo de alinhamento original e a pasta de rostos de destino limpos e clique em “Alinhamentos” no canto inferior direito.
Isso criará um arquivo de alinhamento modificado, correspondendo à pasta de rostos otimizados. Lembre-se de que precisamos disso para o vídeo de destino, para o qual queremos fazer a troca.
Outras configurações incluem o ajuste de cor e o tipo de máscara. O ajuste de cor determina a mistura da máscara, e você pode testar algumas opções, verificar a pré-visualização e selecionar a ideal.
O tipo de máscara é mais importante. Ele também depende das suas expectativas e do hardware disponível. Normalmente, é preciso considerar as características do vídeo de entrada. Por exemplo, “Vgg-Clear” funciona bem com rostos frontais sem obstruções, enquanto “Vgg-Obstructed” funciona melhor com obstruções, como gestos com as mãos ou óculos.
O “Writer” oferece algumas opções com base na saída desejada. Por exemplo, selecione “Ffmpeg” para renderizar um vídeo.
No geral, a chave para um deepfake bem-sucedido é visualizar algumas saídas e otimizar o processo de acordo com o tempo disponível e as capacidades do hardware.
Aplicações do Deepfake
Há aplicações boas, ruins e perigosas para deepfakes.
As boas incluem a recriação de aulas de história com pessoas que estiveram presentes nos eventos para aumentar o engajamento.
Além disso, estão sendo utilizadas por plataformas de aprendizagem online para gerar vídeos a partir de textos.
Um dos maiores beneficiados será a indústria cinematográfica. Agora, será mais fácil imaginar o ator principal fazendo as cenas de ação, mesmo que seja o dublê que está arriscando sua vida. Além disso, fazer filmes em diversos idiomas será mais fácil do que nunca.
As aplicações ruins, infelizmente, são muitas. A principal utilização de deepfakes até hoje, de fato 96% (conforme este relatório da Deeptrace), é na indústria pornográfica para trocar os rostos de celebridades por atores pornográficos.
Além disso, deepfakes também são usados contra mulheres “comuns”. Normalmente, essas vítimas têm fotos ou vídeos de alta qualidade em seus perfis nas redes sociais, que são usados para criar deepfakes.
Outra aplicação assustadora é o “vishing”, que é o phishing por voz. Em um caso, o CEO de uma empresa no Reino Unido transferiu US$ 243.000 sob as ordens do “CEO” de sua matriz alemã. Mais tarde, ele descobriu que o telefonema era, na verdade, um deepfake.
Mas o que é ainda mais perigoso são os deepfakes que podem provocar guerras ou exigir rendições. Recentemente, um deepfake mostrava o presidente da Ucrânia, Volodymyr Zelenskyy, dizendo para suas forças e povo se renderem na guerra. No entanto, a baixa qualidade do vídeo revelou que era uma falsificação.
Concluindo, há muitas aplicações para deepfakes, e isso é apenas o começo.
Isso nos leva à pergunta de um milhão de dólares…
Deepfakes são legais?
Isso depende principalmente das leis locais. No entanto, ainda não existem leis bem definidas sobre o que é permitido e o que não é.
Ainda assim, é óbvio que tudo depende de como você usa os deepfakes – da sua intenção. Não há problema em usar deepfakes para entreter ou educar alguém sem prejudicar o alvo da troca.
Por outro lado, os usos maliciosos devem ser punidos por lei, independentemente da jurisdição. Outra área cinzenta é a violação de direitos autorais, que precisa ser considerada adequadamente.
Mas, para reiterar, consulte as autoridades governamentais locais sobre as aplicações legais de deepfakes.
Fique atento!
Os Deepfakes usam inteligência artificial para fazer com que qualquer pessoa diga o que quiser.
Não confie em tudo o que você vê na internet. Há muita desinformação, e sua eficácia só aumenta.
À medida que se torna mais fácil criar deepfakes, é hora de aprendermos a identificá-los.