Home
Login

FaceSwap é uma ferramenta de troca de rostos baseada em aprendizado profundo que pode identificar e trocar rostos em imagens e vídeos.

GPL-3.0Python 54.2kdeepfakesfaceswap Last Updated: 2025-05-21

FaceSwap - Ferramenta de Troca de Rostos com Aprendizado Profundo

Visão Geral do Projeto

FaceSwap é uma ferramenta que utiliza técnicas de aprendizado profundo para identificar e trocar rostos em imagens e vídeos. O projeto é de código aberto e pode ser executado em vários sistemas operacionais, como Windows, Linux e MacOS.

Propósito do Projeto

O projeto FaceSwap possui padrões éticos e propósitos de uso claros:

Usos Positivos

  • Para experimentação e descoberta de tecnologias de IA
  • Comentários sociais ou políticos
  • Produção de filmes
  • Outros usos éticos e razoáveis
  • Fornecer educação e experiência para qualquer pessoa que queira aprender IA em primeira mão

Usos Proibidos

  • Não deve ser usado para criar conteúdo impróprio
  • Não deve trocar rostos sem consentimento ou com intenção de ocultar o uso
  • Não deve ser usado para qualquer propósito ilegal, antiético ou questionável

Características Técnicas

Requisitos do Sistema

  • Programa Python
  • Suporte a múltiplos sistemas operacionais (Windows, Linux, MacOS)
  • Requer GPU moderna e suporte CUDA para melhor desempenho
  • Suporte a muitas GPUs AMD via DirectML (Windows) e ROCm (Linux)

Principais Módulos Funcionais

  1. Extração de Rosto: Extrai rostos de fotos originais
  2. Treinamento de Modelo: Treina um modelo baseado nos rostos extraídos
  3. Conversão de Rosto: Usa o modelo treinado para realizar a troca de rostos
  4. Interface GUI: Fornece uma interface gráfica do usuário

Fluxo de Uso

Passos Básicos

  1. Coletar Material: Prepare fotos e/ou vídeos
  2. Extração de Rosto: Extrai rostos das fotos originais
  3. Treinamento de Modelo: Treina um modelo nos rostos extraídos
  4. Aplicação da Conversão: Usa o modelo para converter o material de origem

Operações de Linha de Comando

Extração de Rosto

python faceswap.py extract

Este comando extrairá fotos da pasta src e extrairá os rostos para a pasta extract.

Treinamento de Modelo

python faceswap.py train

Este comando usará pastas contendo duas imagens de rosto para treinar, e o modelo treinado será salvo na pasta models.

Conversão de Rosto

python faceswap.py convert

Este comando obterá fotos da pasta original e aplicará o novo rosto na pasta modified.

Interface GUI

python faceswap.py gui

Processamento de Vídeo

Os vídeos podem ser processados da seguinte forma:

python tools.py effmpeg -h

Ou use ffmpeg para converter o vídeo em fotos, processar as imagens e, em seguida, converter as imagens de volta em vídeo.

Arquitetura do Projeto

Principais Modelos

  • Modelo Phaze-A
  • Modelo Villain
  • Modelo Unbalanced
  • Modelo OHR
  • Modelo DFL-H128
  • Modelo DFaker

Componentes Principais

  • Alinhador FAN
  • Detector MTCNN
  • Interface GUI

Obtenha Ajuda

Recursos de Documentação

  • INSTALL.md: Instruções completas de instalação
  • USAGE.md: Instruções detalhadas de uso
  • Todos os scripts têm opções -h / --help

Princípios de Aprendizado de Máquina

O FaceSwap funciona com base em aprendizado profundo e tecnologias de redes neurais. Simplificando, ele opera da seguinte forma:

  • Dados de Treinamento + Tentativa e Erro = Processo de Aprendizagem

O computador aprende a reconhecer e moldar rostos por meio de grandes quantidades de dados de treinamento, que é um processo complexo de aprendizado de máquina envolvendo treinamento profundo de redes neurais.

Contexto Técnico

Quando a tecnologia de troca de rostos foi desenvolvida e lançada pela primeira vez, foi inovadora e um grande passo no desenvolvimento da IA. Antes dos "deepfakes", essas tecnologias eram como magia negra, praticadas apenas por aqueles que conseguiam entender todos os seus mecanismos internos. O surgimento do FaceSwap mudou tudo isso, permitindo que qualquer pessoa participasse do desenvolvimento de IA sem a necessidade de um doutorado em matemática, teoria da computação, psicologia, etc.

Notas

  • Reutilizar modelos existentes é muito mais rápido do que treinar do zero
  • Se os dados de treinamento forem insuficientes, você pode começar com pessoas semelhantes e, em seguida, alternar os dados
  • O projeto segue rigorosamente os padrões éticos e adota tolerância zero para qualquer uso indevido
  • Todas as questões relacionadas ao código de execução devem ser levantadas no fórum FaceSwap

Star History Chart