Faceswap

Categorias: , , ,

Descrição

Aviso: Este repositório não é operado ou mantido por / u / deepfakes. Por favor, leia a explicação abaixo para detalhes.

deepfakes_faceswap

O Faceswap é uma ferramenta que utiliza aprendizado profundo para reconhecer e trocar faces em fotos e vídeos. Screenshots


Jennifer Lawrence / Steve Buscemi Faceswap usando o modelo de vilão

Certifique-se de verificar o INSTALL.md antes de começar.


Manifesto

Faceswap não é pornografia.

Quando o desenvolvimento de faces foi desenvolvido e publicado pela primeira vez, a tecnologia foi inovadora, foi um grande passo no desenvolvimento da IA. Também foi completamente ignorado fora da academia porque o código era confuso e fragmentado. Isso exigia uma compreensão completa de técnicas complicadas de IA e exigia muito esforço para descobrir isso. Até que um indivíduo juntou tudo em uma coleção única e coesa. Funcionou, funcionou e, como tantas vezes acontece com a nova tecnologia surgindo na internet, foi imediatamente usada para criar pornografia. O problema era que esse era o primeiro código de AI que qualquer um poderia baixar, executar e aprender por experimentação sem ter um Ph.D. em matemática, teoria da computação, psicologia e muito mais. Antes de “deepfakes” essas técnicas eram como magia negra,praticada apenas por aqueles que conseguiam entender todo o funcionamento interno descrito em livros e papéis esotéricos e infinitamente complicados.

“Deepfakes” mudou tudo isso e qualquer um poderia participar do desenvolvimento da IA. Para nós, desenvolvedores, o lançamento deste código abriu uma fantástica oportunidade de aprendizado. Isso nos permitiu construir ideias desenvolvidas por outros, colaborar com uma variedade de codificadores habilidosos, experimentar IA ao mesmo tempo em que aprendemos novas habilidades e, finalmente, contribuímos para uma tecnologia emergente que só verá um uso mais mainstream à medida que avança.

Existem alguns por aí fazendo coisas horríveis com software similar? Sim.E por causa disso, os desenvolvedores têm seguido rigorosos padrões éticos. Muitos de nós nem mesmo o usam para criar vídeos, apenas mexemos no código para ver o que ele faz. Infelizmente, a mídia se concentra apenas nos usos antiéticos deste software. Essa é, infelizmente, a natureza de como ela foi exposta pela primeira vez ao público, mas não é representativa do motivo pelo qual ela foi criada, como a usamos agora ou o que vemos em seu futuro. Como qualquer tecnologia, pode ser usada para o bem ou pode ser abusada. A nossa intenção é desenvolver faceswap de uma maneira que seu potencial para o abuso seja minimizado enquanto maximiza seu potencial como uma ferramenta para aprender, experimentar e, sim, para faceswapping legítimo.

Não estamos tentando denegrir celebridades ou rebaixar ninguém. Nós somos programadores, somos engenheiros, somos artistas VFX de Hollywood, somos ativistas, somos amadores, somos seres humanos. Para este fim, sentimos que é hora de sair com uma declaração padrão do que este software é e não é tanto quanto nós, desenvolvedores.

  • Faceswap não é para criar pornografia
  • Faceswap não é para mudar de rosto sem consentimento ou com a intenção de esconder seu uso.
  • Faceswap não é para fins ilícitos, antiéticos ou questionáveis.
  • Faceswap existe para experimentar e descobrir técnicas de IA, para comentários sociais ou políticos, para filmes e para qualquer número de usos éticos e razoáveis.

Estamos muito preocupados com o fato de que faceswap pode ser usado para coisas antiéticas e desonestos. No entanto, apoiamos o desenvolvimento de ferramentas e técnicas que podem ser usadas eticamente, bem como fornecer educação e experiência em IA para quem quer aprender de maneira prática. Adotaremos uma abordagem de tolerância zero a qualquer pessoa que use este software para quaisquer fins antiéticos e desencorajará ativamente esses usos.

Como configurar e executar o projeto

O Faceswap é um programa em Python que será executado em vários sistemas operacionais, incluindo Windows, Linux e MacOS.

Veja INSTALL.md para instruções completas de instalação. Você precisará de uma GPU moderna com suporte CUDA para melhor desempenho.

visão global

O projeto tem vários pontos de entrada. Voce terá que:

  • Reúna fotos (ou use a fornecida nos dados de treinamento fornecidos abaixo)
  • Extrai rostos de suas fotos cruas
  • Treine um modelo em suas fotos (ou use o fornecido nos dados de treinamento fornecidos abaixo)
  • Converta suas fontes com o modelo

Confira USAGE.md para instruções mais detalhadas.

Extrair

Na sua pasta de configuração, execute python faceswap.py extract. Isso tirará fotos da srcpasta e extrairá faces na extractpasta.

Trem

Na sua pasta de configuração, execute python faceswap.py train. Isso tirará fotos de duas pastas contendo fotos de ambas as faces e treinará um modelo que será salvo dentro da modelspasta.

Converter

Na sua pasta de configuração, execute python faceswap.py convert. Isso tirará fotos da originalpasta e aplicará novas faces na modifiedpasta.

GUI

Como alternativa, você pode executar a GUI executando python faceswap.py gui

Notas gerais:

  • Todos os scripts mencionados possuem -h/ --helpopções com argumentos que eles aceitarão. Você é inteligente, você pode descobrir como isso funciona, certo ?!

Nota: existe uma ferramenta de conversão para vídeo. Isso pode ser acessado executando python tools.py effmpeg -h. Alternativamente, você pode usar o ffmpeg para converter vídeo em fotos, processar imagens e converter imagens de volta ao vídeo.

Algumas dicas:

Reutilizar modelos existentes irá treinar muito mais rápido do que começar do nada. Se não houver dados de treinamento suficientes, inicie com alguém que pareça semelhante e, em seguida, alterne os dados.

Ajuda eu preciso de apoio!

Servidor de Discórdia

Sua melhor aposta é entrar no servidor Faceswap Discord, onde há muitos usuários dispostos a ajudar. Por favor, note que, como este repo, este é um servidor SFW!

Faceswap-Playground

Alternativamente, você pode postar perguntas no Playground Faceswap . Por favor, não poste questões gerais de suporte neste repo.

Doar

Os desenvolvedores trabalham incansavelmente para melhorar e desenvolver faceswap. Muitas horas foram colocadas para fornecer o software como é hoje, mas este é um processo extremamente demorado, sem recompensa financeira. Se você gosta de usar o software, considere doar para os desenvolvedores, para que eles possam dedicar mais tempo à implementação de melhorias.

@torzdf

Há muito pouco código faceswap que não foi tocado pelo torzdf. Ele é responsável por implementar o GUI, o alinhador FAN, o detector MTCNN e portar os modelos Villain, DFL-H128 e DFaker para faceswap, bem como melhorar significativamente muitas áreas do código.

Bitcoin: 385a1r9tyZpt5LyZcNk1FALTxC8ZHta7yq

Ethereum: 0x18CBbff5fA7C78de7B949A2b0160A0d1bd649f80

Paypal: torzdf

@andenixa

Criador dos modelos Desbalanceado e OHR, além de expandir várias capacidades dentro do processo de treinamento. A Andenixa está atualmente trabalhando em novos modelos e receberá pedidos de doações.

Paypal: andenixa

@kvrooman

Responsável pela consolidação dos conversores, adicionando muito código para corrigir problemas de estabilidade do modelo e ajudando significativamente a tornar o processo de treinamento mais modular, a kvrooman continua a ser um colaborador muito ativo.

Ethereum: 0x18CBbff5fA7C78de7B949A2b0160A0d1bd649f80

Como contribuir

Para pessoas interessadas nos modelos generativos

  • Vá para o ‘modelo faceswap’ para discutir / sugerir / confirmar alternativas ao algoritmo atual.

Para devs

  • Leia este README inteiramente
  • Bifurcar o repo
  • Faça o download dos dados com o link fornecido acima
  • Brincar com isso
  • Verificar problemas com a tag ‘dev’
  • Para desenvolvedores mais interessados ​​em visão computacional e openCV, veja os problemas com a tag ‘opencv’. Também fique à vontade para adicionar suas próprias alternativas / melhorias

Para usuários avançados não-dev

  • Leia este README inteiramente
  • Clone o repo
  • Faça o download dos dados com o link fornecido acima
  • Brincar com isso
  • Verificar problemas com a tag ‘advuser’
  • Vá também ao repositório ‘faceswap-playground’ e ajude os outros.

Para usuários finais

  • Obtenha o código aqui e jogue com ele se puder
  • Você também pode ir ao repositório ‘faceswap-playground’ e ajudar ou obter ajuda de outras pessoas.
  • Seja paciente.Esta é uma tecnologia relativamente nova para desenvolvedores também. Muito esforço já está sendo feito para tornar este programa fácil de usar para o usuário comum. Leva tempo!
  • Aviso Qualquer problema relacionado à execução do código deve estar aberto no projeto ‘faceswap-playground’!

Para os inimigos

Desculpe, não há tempo para isso.

Sobre github.com/deepfakes

O que é esse repo?

É um repositório da comunidade para usuários ativos.

Por que esse repo?

O repo joshua-wu parece não estar ativo. Bugs simples como a falta de http: // na frente de URLs não foram resolvidos desde dias.

Por que é chamado ‘deepfakes’ se não for / u / deepfakes?

  1. Porque um typosquat teria acontecido mais cedo ou mais tarde, à medida que o projeto cresce
  2. Porque nós queríamos reconhecer o autor original
  3. Porque é melhor federar contribuidores e usuários

E se / u / deepfakes se sentir mal com isso?

Este é um typosquat amigável, e é totalmente dedicado ao projeto. Se / u / deepfakes quiser assumir esse repo / user e conduzir o projeto, ele será bem-vindo (elabore um problema e ele será contatado no Reddit). Por favor, não envie mensagens de / u / deepfakes para obter ajuda com o código que você encontra aqui.

Sobre aprendizado de máquina

Como um computador sabe reconhecer / moldar faces? Como funciona o aprendizado de máquina? O que é uma rede neural?

É complicado. Aqui está um bom vídeo que torna o processo compreensível:Como as máquinas aprendem

Aqui está um vídeo um pouco mais profundo que tenta explicar o funcionamento básico de uma rede neural: Como as máquinas aprendem

tl; dr: dados de treinamento + tentativa e err