ControlAnimate
- Combinando AnimateDiff com Multi-ControlNet e Img2Img para aplicativos Vid2Vid. Esta pequena biblioteca é especialmente focada em aplicações Vid2Vid usando ControlNet (ou Multi-ControlNet) para orientar a geração de vídeo e AnimateDiff para consistência.
- Além disso, utiliza Img2Img para criar vídeos mais consistentes (após a primeira época). Semelhante ao AnimateDiff, permite o uso de modelos DreamBooth/LoRA além do modelo básico Stable Diffusion 1.5.
- Esta é uma versão inicial, portanto, espere possíveis problemas e bugs. Comentários, sugestões e solicitações de recursos são bem-vindos.
Notícias
- 20 de novembro de 2023 – Agora com suporte para adaptador IP, xformers e correspondência de cores!
- 12 de novembro de 2023 – Agora com suporte para LCM-LoRA e ControlNet para todas as combinações!
- 7 de novembro de 2023 – Agora com suporte para Modelo de Consistência Latente (LCM) – Alcançando ganho de desempenho de 10X!
Recursos suportados
- ? Adaptador IP (usado para aumentar a similaridade de lotes de quadros AnimateDiff)
- ? Modelo de consistência latente LoRA (LCM-LoRA)
- ? Modelo de consistência latente (LCM) nativo
- ? Multi-ControlNet pode ser combinado com LCM, etc.
- ? Ponderação de prompts e prompts longos (Obrigar)
- ? DreamBooth e LoRA
- ? Interpolação FFMPEG
- ? Correspondência de cores entre lotes para maior consistência
- ? Sobreposição latente (Img2Img e ControlNet) e sobreposição de quadros (combinação)
- ? Aprimoramento e aumento de escala facial (GFPGAN e RealESRGAN)
- ? Taxa de quadros arbitrária, duração e amostragem de resolução do vídeo de entrada
- ? xformers habilitados
Compatibilidade e Requisitos
- Esta base de código foi testada apenas no Linux (Ubuntu 22.04). Foi testado em uma máquina Intel com NVIDIA Gefore RTX 3090 (24 GB VRAM) e requer pelo menos 16 GB de RAM.
Instalação
- Certifique-se de ter o Anaconda instalado (https://www.anaconda.com/download).
- Certifique-se também de que o FFMPEG está instalado e configurado corretamente (você pode seguir estes guias para a instalação: "Guia 1" e se ainda houver problemas: "Guia 2" - Você pode definir o caminho do FFMPEG no yaml configs/prompts arquivos)
git clone [email protected]:intellerce/controlanimate.git
cd ControlAnimate
bash download.sh
conda env create -f env.yml
Vid2Vid
- Depois de definir o arquivo de configuração 'configs/prompts/SampleConfig.yaml', basta executar o seguinte (não se esqueça de apontar para um arquivo de vídeo de entrada válido):
conda activate controlanimate
bash start.sh
Testado em uma máquina com um único RTX 3090.
Ponderação imediata
- A ponderação imediata é baseada no Compel. Você pode usar + ou (...)+ para importância ou adicionar pesos como este: (cat)1.2 Da mesma forma, você pode usar o sinal negativo (-) para reduzir o peso ou usar pesos abaixo de 1. Consulte https:// github.com/damian0815/compel/blob/main/Reference.md para mais informações.
Resultados
- Quatro ControlNets e sobreposição latente (configs/prompts/SampleConfig.yaml)
- LCM (sem ControlNet) (configs/prompts/SampleConfigLCM.yaml)
- LCM-LoRA + Multi-ControlNet (configs/prompts/SampleConfigLCMLoRA.yaml)
- Adaptador IP + LCM-LoRA + Multi-ControlNet (configs/prompts/SampleConfigIPAdapter.yaml)
Pendência
Contate-nos
Hamed Omidvar, Ph.D. : [email protected]
Vahideh Akhlaghi, Ph.D. : [email protected]
Licença
Esta base de código é lançada sob a licença Apache v2.0. Para as licenças das bases de código nas quais este repositório se baseia, consulte as páginas correspondentes do Github/Website.
Agradecimentos
Esta base de código foi construída e/ou inspirada nos seguintes repositórios: AnimateDiff Difusores IP-Adapter Video2Video Color Matcher
Os autores gostariam de agradecer a Kalin Ovtcharov (Extropolis Corp.) pelos valiosos comentários e sugestões.