Ferramenta de deepfake de substituição de rosto com um clique, basta uma imagem para substituir rostos em vídeos

GPL-3.0Pythonroops0md3v 30.1k Last Updated: August 19, 2024

Roop - Ferramenta de Substituição de Rosto com Um Clique

Visão Geral do Projeto

Roop é uma ferramenta de deepfake de código aberto, desenvolvida pelo usuário s0md3v no GitHub. A funcionalidade principal do projeto é substituir rostos em vídeos com apenas uma imagem, sem necessidade de conjuntos de dados ou treinamento. O projeto atualmente não está sendo atualizado, mas ainda pode ser usado normalmente.

Endereço do GitHub: https://github.com/s0md3v/roop

Principais Características

Funcionalidade Principal

  • Operação com Um Clique: Função de substituição de rosto simples e fácil de usar
  • Entrada de Imagem Única: Requer apenas uma imagem do rosto alvo
  • Processamento de Vídeo: Suporta a substituição de rosto em vídeos inteiros
  • Sem Necessidade de Treinamento: Não requer treinamento prévio do modelo ou preparação de grandes conjuntos de dados

Características Técnicas

  • Baseado em tecnologia de aprendizado profundo
  • Suporta aceleração de CPU e GPU
  • Utiliza modelos pré-treinados
  • Suporta vários formatos de saída

Requisitos de Instalação

A instalação do projeto requer certas habilidades técnicas e não é adequada para iniciantes. Existem principalmente duas formas de instalação:

Instalação Básica

  • Melhor compatibilidade, mas velocidade de processamento mais lenta
  • Adequado para ambientes com recursos computacionais limitados

Instalação Acelerada

  • Aproveita ao máximo o desempenho da CPU e GPU
  • Velocidade de processamento mais rápida, adequada para usuários com placas de vídeo dedicadas

Modo de Uso

Parâmetros de Linha de Comando

O programa é executado através da linha de comando, com a seguinte sintaxe básica:

python run.py [options]

Descrição dos Principais Parâmetros

Parâmetros Básicos

  • -h, --help: Exibe informações de ajuda
  • -s SOURCE_PATH, --source SOURCE_PATH: Seleciona a imagem de origem
  • -t TARGET_PATH, --target TARGET_PATH: Seleciona a imagem ou vídeo alvo
  • -o OUTPUT_PATH, --output OUTPUT_PATH: Seleciona o arquivo ou diretório de saída

Parâmetros de Processamento

  • --frame-processor: Seleção do processador de quadros (face_swapper, face_enhancer, etc.)
  • --keep-fps: Mantém a taxa de quadros alvo
  • --keep-frames: Mantém os quadros temporários
  • --skip-audio: Ignora o áudio alvo
  • --many-faces: Processa cada rosto

Parâmetros de Reconhecimento Facial

  • --reference-face-position: Posição do rosto de referência
  • --reference-frame-number: Número do quadro de referência
  • --similar-face-distance: Distância do rosto usada para reconhecimento

Configurações de Saída

  • --temp-frame-format {jpg,png}: Formato de imagem para extração de quadros
  • --temp-frame-quality [0-100]: Qualidade de imagem para extração de quadros
  • --output-video-encoder: Seleção do codificador de vídeo de saída
    • libx264, libx265, libvpx-vp9, h264_nvenc, hevc_nvenc
  • --output-video-quality [0-100]: Qualidade do vídeo de saída

Parâmetros de Desempenho

  • --max-memory MAX_MEMORY: Uso máximo de RAM (GB)
  • --execution-provider {cpu}: Provedor de execução disponível
  • --execution-threads: Número de threads de execução

Execução em Modo Headless

Usando os parâmetros -s/--source, -t/--target e -o/--output, você pode executar o programa em modo headless, adequado para processamento automatizado.

Arquitetura Técnica

Dependências Principais

  • InsightFace: O projeto utiliza a biblioteca insightface desenvolvida pela equipe deepinsight
  • Bibliotecas de Terceiros: Utiliza extensivamente modelos pré-treinados e bibliotecas de terceiros
  • Framework de Aprendizado Profundo: Baseado em tecnologia moderna de aprendizado profundo

Fluxo de Processamento

  1. Insere a imagem do rosto de origem e o vídeo alvo
  2. Detecta e analisa as características faciais
  3. Realiza o processamento de substituição de rosto
  4. Gera o arquivo de vídeo processado

Cenários de Uso

Usos Legítimos

  • Criação Artística: Auxilia artistas na produção de animação de personagens
  • Modelagem de Roupas: Fornece diferentes rostos para modelos de roupas
  • Conteúdo de Entretenimento: Cria conteúdo de vídeo divertido
  • Demonstração Educacional: Usado para demonstrações técnicas e ensino

Considerações Éticas e Declaração de Responsabilidade

Diretrizes de Uso Ético

Este software tem como objetivo contribuir positivamente para a indústria de mídia gerada por IA, auxiliando artistas na animação de personagens e tarefas de modelagem de roupas

Medidas de Segurança

  • Implementadas medidas para evitar que o software seja usado para conteúdo impróprio (como nudez)
  • Espera-se que os usuários cumpram as leis locais e usem o software de forma responsável

Responsabilidade do Usuário

  • Se usar rostos reais, é necessário obter consentimento e indicar claramente como conteúdo deepfake ao compartilhar
  • O desenvolvedor não se responsabiliza pelo comportamento do usuário
  • Os usuários devem cumprir as leis e regulamentos locais relevantes

Status do Projeto

Lembrete Importante: Este projeto ainda pode ser usado, mas não está mais recebendo atualizações. O desenvolvedor declarou que não tem interesse ou tempo para supervisionar o desenvolvimento adicional deste software

O desenvolvedor agradece a todos que contribuíram para o projeto, permitindo que ele atingisse sua forma final.

Documentação e Suporte

  • Documentação detalhada: https://github.com/s0md3v/roop/wiki
  • Não serão mais aceitas questões relacionadas à plataforma e instalação no GitHub
  • Os usuários devem pesquisar soluções para erros por conta própria

Conclusão

Roop é uma ferramenta de IA poderosa, mas que requer uso cuidadoso. Demonstra o potencial da tecnologia moderna de aprendizado profundo na área de processamento de vídeo, ao mesmo tempo que nos lembra da necessidade de assumir as responsabilidades éticas e legais correspondentes ao usar tais tecnologias. Os usuários devem entender completamente os riscos relevantes antes de usar e garantir que seu uso esteja em conformidade com as leis e padrões éticos.

Star History Chart