Introdução geral
O FaceFusion é uma plataforma em nuvem de última geração que integra recursos de troca e aprimoramento facial, otimizando o processo de troca de imagem para vídeo e de imagem para imagem com 5 modelos profissionais para garantir um resultado impecável. Além disso, realiza o aprimoramento facial com 7 modelos, melhora a qualidade de vídeo e imagem com 3 modelos diferentes e oferece uma variedade de recursos avançados, incluindo substituição de rosto, aprimoramento de rosto, sincronização de lábios e muito mais.
O objetivo do FaceFusion é oferecer aos usuários uma solução de substituição de face por IA fácil de usar, eficiente e rica em recursos. Ele também oferece suporte à execução on-line e à detecção de faces de vários modelos, etc. O projeto do GitHub contém instruções de instalação e uso que exigem conhecimento técnico relevante.
O FaceFusion foi atualizado para a versão 3.0 com mais otimizações. Recomenda-se atualizá-lo, e uma variedade de instaladores do FaceFusion com um clique é fornecida no final do artigo. Se a configuração do computador não puder ser executada, escolha uma opção mais excelente que possa ser executada on-line gratuitamente!ferramenta de troca de rosto.
Lista de funções
- Suporte a vários modelos: forneça vários modelos de troca e aprimoramento de faces, como InSwapper_128, GFPGAN, etc.
- Processamento de alta definição: oferece suporte ao processamento de imagens e vídeos de alta resolução para garantir a clareza e a qualidade dos resultados de saída.
- Processamento de oclusão: por meio da tecnologia avançada de detecção e processamento de oclusão, ele resolve com eficácia o problema de mudança de rosto no caso de oclusão parcial.
- Compatibilidade com várias plataformas: suporta as principais plataformas gráficas, como NVIDIA e AMD.
- Lip Sync: fornece sincronização labial de áudio para vídeo.
- Código aberto e gratuito: permite que os usuários usem e personalizem livremente.
Usando a Ajuda
Guia de instalação
Implementação local do Win11 FaceFusion3, a mais forte troca de faces de IA, aceleração de inferência Tensorrt10.4 integrada
A instalação do FaceFusion requer um certo nível de conhecimento técnico. Para os usuários que estão familiarizados com operações de linha de comando, siga as etapas abaixo para fazer a instalação:
O FaceFusion3.0.0 é, de modo geral, o projeto de troca de faces de IA mais forte no momento, compartilhando como implantar localmente o projeto FaceFusion3.0.0 no sistema Win11, com base no cuda12.6 mais recente, com o cudnn9.4 mais recente e com o Tensorrt10.4, para melhorar a velocidade e a eficiência da inferência, de modo que as placas gráficas de nível de sobremesa possam explodir com produtividade.
Instale a versão mais recente do Cuda 12.6 e do Cudnn 9.4.
CUDA é uma tecnologia desenvolvida pela NVIDIA que permite que as GPUs sejam programadas como CPUs, permitindo que as GPUs participem da computação, acelerando assim o processo de computação. Você pode pensar nela como uma "linguagem" que permite aos programadores direcionar os "trabalhadores" da GPU para trabalharem juntos.
O cuDNN é uma "caixa de ferramentas" projetada especificamente para a aprendizagem profunda. A aprendizagem profunda é como a construção de uma casa, que requer muitos "blocos", como convolução, pooling etc. O cuDNN fornece esses "blocos" pré-otimizados, que os programadores podem usar diretamente sem precisar escrever esses códigos complexos do zero, melhorando muito a velocidade de treinamento e inferência dos modelos de aprendizagem profunda. Isso melhora muito a velocidade de treinamento e inferência dos modelos de aprendizagem profunda. É como um construtor experiente que pode terminar a construção de uma casa com rapidez e eficiência.
O instalador pode ser baixado do site oficial da Nvidia, mas você deve estar conectado à sua conta da Nvidia, e o instalador mais recente foi baixado aqui para você:
https://pan.quark.cn/s/bc3ab3494596
Em primeiro lugar, clique duas vezes em cuda_12.6.1_560.94_windows.exe para instalar; preste atenção para não instalar na unidade C, pois ela ocupa muito espaço; é recomendável criar um diretório 12.6 na outra letra de unidade e, em seguida, instalá-lo.
Após a instalação bem-sucedida, execute o comando para verificar:
(base) PS C:\Users\zcxey> nvcc -V
nvcc: NVIDIA (R) Driver do compilador Cuda
Direitos autorais (c) 2005-2024 NVIDIA Corporation
Construído em Wed_Aug_14_10:26:51_Pacific_Daylight_Time_2024
Ferramentas de compilação do Cuda, versão 12.6, V12.6.68
Build cuda_12.6.r12.6/compiler.34714021_0
(base) PS C:\Users\zcxey>
Você pode ver que a versão exibida é 12.6
Em seguida, abra o diretório cudnn-windows-x86_64-9.4.0.58_cuda12-archive e copie e sobrescreva os diretórios bin, include e lib diretamente no diretório de instalação do cuda. Nesse ponto, o cuda12.6 e seu correspondente cudnn9.4 estão instalados; observe que os números de versão devem corresponder.
Instalação do Tensorrt 10.4
Com relação ao Tensorrt, imagine que você treinou um cão muito inteligente (seu modelo de aprendizagem profunda) que aprendeu a reconhecer várias imagens de gatos e cães. No entanto, o cão leva muito tempo para reconhecer as imagens a cada vez, o que não é muito eficiente.
O TensorRT é como um treinador que o ajudará a treinar esse cão para ser mais eficiente. Ele otimizará o cão para que ele possa reconhecer imagens com mais rapidez e precisão e usar menos energia. Portanto, com um modelo otimizado do TensorRT, ele será capaz de raciocinar (reconhecer imagens) mais rapidamente em seu computador ou servidor, economizando tempo e recursos.
O Tensorrt se concentra em modelos que já foram treinados, em vez de treinar o próprio modelo. É como um otimizador profissional para fazer com que seus modelos sejam executados mais rapidamente e com menos esforço em aplicativos do mundo real.
Abra o diretório do TensorRT-10.4.0.26 e copie todos os arquivos dll da biblioteca dinâmica no diretório lib para o diretório bin do diretório de instalação do cuda12.6:
Diretório de D:\12.6\bin
2024/09/27 11:08 .
2024/09/27 10:48 ..
2024/08/15 02:14 228,352 bin2c.exe
2024/08/15 02:01 66 compute-sanitizer.bat
2024/09/27 10:48 crt
2024/08/15 02:11 202,752 cu++filt.exe
2024/08/15 02:34 100,806,656 cublas64_12.dll
2024/08/15 02:34 510,903,296 cublasLt64_12.dll
2024/08/15 02:14 7,739,904 cudafe++.exe
2024/08/15 02:11 556,544 cudart64_12.dll
2023/11/30 16:26 288,296 cudnn64_8.dll
2024/09/01 04:24 265,272 cudnn64_9.dll
2024/09/01 04:24 243,945,512 cudnn_adv64_9.dll
2023/11/30 16:26 125,217,320 cudnn_adv_infer64_8.dll
2023/11/30 16:26 116,558,888 cudnn_adv_train64_8.dll
2024/09/01 04:24 4,002,872 cudnn_cnn64_9.dll
2023/11/30 16:26 582,690,344 cudnn_cnn_infer64_8.dll
2023/11/30 16:26 122,242,104 cudnn_cnn_train64_8.dll
2024/09/01 04:24 432,804,904 cudnn_engines_precompiled64_9.dll
2024/09/01 04:24 16,297,000 cudnn_engines_runtime_compiled64_9.dll
2024/09/01 04:25 2,063,400 cudnn_graph64_9.dll
2024/09/01 04:25 44,681,784 cudnn_heuristic64_9.dll
2024/09/01 04:25 107,492,904 cudnn_ops64_9.dll
2023/11/30 16:26 89,759,272 cudnn_ops_infer64_8.dll
2023/11/30 16:26 70,162,472 cudnn_ops_train64_8.dll
2024/08/15 03:03 275,258,368 cufft64_11.dll
2024/08/15 03:03 163,328 cufftw64_11.dll
2024/08/15 02:45 1,513,984 cuinj64_126.dll
2024/08/15 02:11 11,713,024 cuobjdump.exe
2024/08/15 02:25 63,279,104 curand64_10.dll
2024/08/15 04:12 116,768,256 cusolver64_11.dll
2024/08/15 04:11 77,813,248 cusolverMg64_11.dll
2024/08/15 03:09 287,497,216 cusparse64_12.dll
2024/08/15 02:14 881,664 fatbinary.exe
2024/08/15 03:20 292,352 nppc64_12.dll
2024/08/15 03:20 16,235,008 nppial64_12.dll
2024/08/15 03:20 6,234,624 nppicc64_12.dll
2024/08/15 03:20 9,865,728 nppidei64_12.dll
2024/08/15 03:20 96,892,416 nppif64_12.dll
2024/08/15 03:20 39,228,416 nppig64_12.dll
2024/08/15 03:20 9,341,952 nppim64_12.dll
2024/08/15 03:20 36,831,232 nppist64_12.dll
2024/08/15 03:20 265,728 nppisu64_12.dll
2024/08/15 03:20 4,221,440 nppitc64_12.dll
2024/08/15 03:20 12,687,872 npps64_12.dll
2024/08/15 02:34 331,776 nvblas64_12.dll
2024/08/15 02:14 14,029,824 nvcc.exe
2024/08/15 02:14 343 nvcc.profile
2024/08/15 02:11 50,708,480 nvdisasm.exe
2024/08/15 02:14 838,656 nvfatbin_120_0.dll
2024/08/30 19:47 215,426,088 nvinfer_10.dll
2024/08/30 19:46 5,688 nvinfer_10.lib
2024/08/30 19:48 1,436,593,704 nvinfer_builder_resource_10.dll
2024/08/30 19:47 616,488 nvinfer_dispatch_10.dll
2024/08/30 19:46 4,362 nvinfer_dispatch_10.lib
2024/08/30 19:46 29,457,448 nvinfer_lean_10.dll
2024/08/30 19:46 5,104 nvinfer_lean_10.lib
2024/08/30 19:47 30,986,792 nvinfer_plugin_10.dll
2024/08/30 19:46 2,564 nvinfer_plugin_10.lib
2024/08/30 19:47 565,288 nvinfer_vc_plugin_10.dll
2024/08/30 19:46 2,374 nvinfer_vc_plugin_10.lib
2024/08/15 02:13 38,856,192 nvJitLink_120_0.dll
2024/08/15 02:23 4,901,888 nvjpeg64_12.dll
2024/08/15 02:14 20,608,000 nvlink.exe
2024/08/30 19:47 3,064,872 nvonnxparser_10.dll
2024/08/30 19:46 2,524 nvonnxparser_10.lib
2024/08/15 02:45 2,210,304 nvprof.exe
2024/08/15 02:11 254,464 nvprune.exe
2024/08/15 02:11 5,345,792 nvrtc-builtins64_126.dll
2024/08/15 02:11 45,535,744 nvrtc64_120_0.alt.dll
2024/08/15 02:11 45,475,328 nvrtc64_120_0.dll
2024/08/15 03:45 129 nvvp.bat
2024/08/15 02:14 20,220,416 ptxas.exe
2024/08/15 02:14 84,480 __nvcc_device_query.exe
71 Arquivo(s) 5,612,029,986 bytes
3 Diretor(es) 128,267,644,928 bytes gratuito
Isso conclui a instalação do Tensorrt 10.4.
Instalação e implementação do FaceFusion 3.0.0
Primeiro, certifique-se de que você tenha uma instalação local do Python 3.11 e, em seguida, clone o projeto oficial.
git clone https://github.com/facefusion/facefusion.git
cd fusão facial
Instalação de dependências básicas.
pip3 install -r requirements.txt
Em seguida, instale o onnxruntime-gpu.
pip3 install onnxruntime-gpu
O ONNX Runtime-GPU é um mecanismo de inferência de alto desempenho capaz de executar modelos de aprendizado de máquina representados no formato ONNX (Open Neural Network Exchange). A chave é a parte "GPU", o que significa que ele é otimizado para a unidade de processador gráfico (GPU) da NVIDIA para executar modelos com mais rapidez e eficiência do que em uma CPU.
Observe que a versão padrão do onnxruntime-gpu instalada é a 19.2, que é especificamente adaptada para o cuda12.
Instale a biblioteca tensorrt:
pip3 install tensorrt==10.4.0 --extra-índice-url https.//pypi.nvidia.com
Aqui está a biblioteca de tempo de execução do python 3.11 para o tensorrt.
Por fim, instale o maçarico.
pip3 install torch torchvision torchaudio --índice-url https.//download.pytorch.org/whl/cu124
Observe que o sufixo é cu124, não cu118 ou cu121
Após a instalação bem-sucedida, vá para o terminal do python 3.11:
>>> importação em tempo de execução como ort
>>> impressão(ort.get_available_providers())
['TensorrtExecutionProvider', 'CUDAExecutionProvider', 'CPUExecutionProvider']
Se todos os três suportes de back-end forem impressos, cpu, cuda e Tensorrt, então a configuração e a instalação foram bem-sucedidas.
Executar comando.
python3 facefusion.py run
Acesse a interface principal da troca de faces.
Graças ao Tensorrt, ele também suporta a troca de faces em tempo real, vá para a interface de troca de faces da câmera:
python3 facefusion.py executar --ui-layouts webcam
Efeito de troca de rosto da câmera:
Por fim, observe que o FaceFusion 3.0.0 requer uma instalação local do software ffmpeg:
winget install -e --id Gyan.FFmpeg
Para usuários não familiarizados com a linha de comando, o FaceFusion fornece um instalador do Windows para concluir rapidamente o processo de instalação.
Diretrizes para uso
operação básica
- Inicie o FaceFusion:
python run.py
- Selecione Source Image (Imagem de origem): Carregue uma imagem que contenha o rosto que você deseja substituir.
- Selecione Target Image or Video (Imagem ou vídeo de destino): Faça upload de uma imagem ou vídeo do rosto a ser substituído.
- Parâmetros de ajuste: Ajuste parâmetros como detecção de face, modelo de troca, configurações de aprimoramento, etc., conforme necessário.
- Iniciar processamento: Clique no botão "Start" (Iniciar) e aguarde a conclusão do processamento.
Recursos avançados
- Tratamento de mascaramento:
- começar a usar
depurador facial
Opções. - Selecione o modo de mascaramento apropriado (caixa, oclusão, região).
- adaptar
Desfoque da máscara facial
para otimizar o efeito de oclusão.
- começar a usar
- Processamento em HD:
- começar a usar
aprimorador facial
Opções. - Escolha um modelo de aprimoramento adequado, como o GFPGAN1.4 ou o codeformer.
- adaptar
Tamanho do detector de faces
para aprimorar as habilidades de detalhamento.
- começar a usar
- Sincronização labial:
- começar a usar
sinusite labial
Opções. - Faça upload de arquivos de áudio.
- Selecione o modelo de sincronização labial apropriado.
- começar a usar
habilidade prática
- Otimização do desempenho:
- Escolha a opção correta de acordo com o tipo de placa de vídeo
Provedor de execução
(A NVIDIA usa CUDA, a AMD usa DirectML). - adaptar
Contagem de threads de execução
para equilibrar a velocidade de processamento e o uso da memória.
- Escolha a opção correta de acordo com o tipo de placa de vídeo
- Processamento de múltiplas faces:
- fazer uso de
Modo seletor de rosto
Selecione para processar uma ou várias faces. - adaptar
Distância da face de referência
para melhorar a precisão da correspondência de faces com vários ângulos.
- fazer uso de
- Processamento de faces de desenhos animados:
- fazer uso de
simswap_256
modelo para substituição da face do desenho animado. - começar a usar
aprimorador facial
E concentre-se em realçar a área dos olhos, nariz e boca.
- fazer uso de
Perguntas frequentes
- O FaceFusion é compatível com o processamento em tempo real? Atualmente, o FaceFusion está otimizado para processamento off-line, mas a velocidade de processamento pode ser aumentada com o ajuste dos parâmetros.
- Como posso melhorar a naturalidade dos resultados do meu transplante facial? Os ajustes podem ser tentados
Desfoque da máscara facial
e use uma imagem de origem de alta qualidade. Além disso, ative o parâmetroaprimorador facial
Os resultados podem ser melhorados ainda mais. - O FaceFusion é compatível com o processamento em lote? Sim, o FaceFusion suporta o processamento em lote de imagens e vídeos. Isso pode ser definido por meio de parâmetros da linha de comando ou da interface gráfica.