Stability-AI/generative-modelsView GitHub Homepage for Latest Official Releases
Uma biblioteca de modelos de IA generativa desenvolvida pela Stability AI, incluindo Stable Diffusion XL, Stable Video Diffusion e vários outros modelos de geração de imagem e vídeo.
MITPythongenerative-modelsStability-AI 26.3k Last Updated: May 20, 2025
Detalhes do Projeto de Modelos Generativos da Stability AI
Visão Geral do Projeto
A biblioteca de modelos generativos da Stability AI é um projeto de código aberto que oferece uma variedade de modelos de IA generativos avançados, incluindo geração de imagens, geração de vídeos e síntese multi-view. O projeto adota um design modular, suportando o treinamento e a inferência de vários modelos de difusão.
Principais Características
1. Arquitetura Modular
- Abordagem Orientada à Configuração: Construção e combinação de sub-módulos através da chamada da função
instantiate_from_config()
- Classe de Modelo de Difusão Limpa: Refatoração de
LatentDiffusion
paraDiffusionEngine
- Tratamento Unificado de Condições: A classe
GeneralConditioner
lida com todos os tipos de entradas condicionais
2. Arquitetura de Modelo Aprimorada
- Framework de Denoiser: Suporta modelos de tempo contínuo e tempo discreto
- Samplers Independentes: Separação do guiador do sampler
- Modelo de Auto-Codificação Limpo: Arquitetura de codificador otimizada
Modelos Suportados
Série SDXL (Stable Diffusion XL)
- SDXL-base-1.0: Modelo base, suporta geração de imagens com resolução de 1024x1024
- SDXL-refiner-1.0: Modelo de refinamento, usado para pós-processamento de imagens
- SDXL-Turbo: Modelo de geração rápida
Série SVD (Stable Video Diffusion)
- SVD: Modelo de imagem para vídeo, gera vídeos de 14 frames com resolução de 576x1024
- SVD-XT: Versão estendida, suporta geração de 25 frames
Série SV3D (Stable Video 3D)
- SV3D_u: Geração de vídeo orbital baseada em imagem única
- SV3D_p: Suporta geração de vídeo 3D com caminho de câmera especificado
Série SV4D (Stable Video 4D)
- SV4D: Modelo de difusão de vídeo para 4D, usado para síntese de vídeo de nova perspectiva
- Gera 40 frames (5 frames de vídeo × 8 perspectivas de câmera) com resolução de 576x576
Arquitetura Técnica
Framework de Denoiser
- Modelos de Tempo Contínuo: Suporta amostragem de tempo mais flexível
- Modelos de Tempo Discreto: Caso especial de modelos de difusão tradicionais
- Componentes Configuráveis:
- Peso da função de perda (
denoiser_weighting.py
) - Pré-condicionamento da rede (
denoiser_scaling.py
) - Amostragem de nível de ruído (
sigma_sampling.py
)
- Peso da função de perda (
Instalação e Uso
Requisitos de Ambiente
- Python 3.10+
- PyTorch 2.0+
- GPU com suporte CUDA
Passos de Instalação
git clone https://github.com/Stability-AI/generative-models.git
cd generative-models
# Criar ambiente virtual
python3 -m venv .pt2
source .pt2/bin/activate
# Instalar dependências
pip3 install -r requirements/pt2.txt
pip3 install .
pip3 install -e git+https://github.com/Stability-AI/datapipelines.git@main#egg=sdata
Início Rápido
Geração de Imagem a partir de Texto (SDXL)
# Baixar os pesos do modelo para a pasta checkpoints/
# Executar a demonstração do Streamlit
streamlit run scripts/demo/sampling.py --server.port <your_port>
Geração de Vídeo a partir de Imagem (SVD)
# Baixar o modelo SVD
# Executar amostragem de vídeo simples
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png>
Síntese Multi-View (SV3D)
# SV3D_u (Vídeo Orbital)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_u
# SV3D_p (Caminho de Câmera Especificado)
python scripts/sampling/simple_video_sample.py --input_path <path/to/image.png> --version sv3d_p --elevations_deg 10.0
Síntese de Vídeo 4D (SV4D)
python scripts/sampling/simple_video_sample_4d.py --input_path assets/sv4d_videos/test_video1.mp4 --output_folder outputs/sv4d
Configuração de Treinamento
Tipos de Treinamento Suportados
- Modelos de Difusão em Nível de Pixel: Treinamento diretamente no espaço de pixels
- Modelos de Difusão Latente: Treinamento no espaço latente, requer VAE pré-treinado
- Modelos de Geração Condicional: Suporta várias condições, como texto, categorias, etc.
Exemplo de Treinamento
# Treinamento de geração condicional MNIST
python main.py --base configs/example_training/toy/mnist_cond.yaml
# Treinamento de texto para imagem
python main.py --base configs/example_training/txt2img-clipl.yaml
Processamento de Dados
Pipeline de Dados
- Pipeline de dados para treinamento em larga escala
- Arquivos tar no formato WebDataset
- Suporte para conjuntos de dados Map-style
Formato de Dados
example = {
"jpg": x,
"txt": "a beautiful image"
}
Licença do Modelo
- SDXL-1.0: Licença CreativeML Open RAIL++-M
- SDXL-0.9: Licença de pesquisa
- Série SVD: Licença para fins de pesquisa
Detecção de Marca D'água
O projeto usa a biblioteca invisible-watermark para incorporar marcas d'água invisíveis nas imagens geradas:
# Instalar o ambiente de detecção de marca d'água
python -m venv .detect
source .detect/bin/activate
pip install "numpy>=1.17" "PyWavelets>=1.1.1" "opencv-python>=4.1.0.25"
pip install --no-deps invisible-watermark
# Detectar marca d'água
python scripts/demo/detect.py <filename>
Características Técnicas
1. Geração de Alta Qualidade
- SDXL suporta geração de imagens de alta resolução de 1024x1024
- SVD suporta geração de vídeo de alta qualidade
- SV3D/SV4D suporta síntese de vídeo multi-view e 4D
2. Controle de Condição Flexível
- Suporta várias entradas de condição, como texto, imagem, vetores, etc.
- Guiamento livre de classificador (Classifier-free Guidance)
- Taxa de dropout condicional configurável
3. Técnicas de Amostragem Avançadas
- Vários solucionadores numéricos
- Número de passos de amostragem e métodos de discretização configuráveis
- Suporte para wrappers de guiamento
4. Amigável à Pesquisa
- Relatórios técnicos e artigos detalhados
- Código fonte e pesos do modelo abertos
- Suporte ativo da comunidade
Cenários de Aplicação
- Criação Artística: Geração de imagens artísticas a partir de texto
- Produção de Conteúdo: Geração de conteúdo de vídeo a partir de imagens
- Modelagem 3D: Geração de imagens multi-view
- Pesquisa e Desenvolvimento: Pesquisa de algoritmos de modelos de difusão
- Educação e Treinamento: Aprendizado de tecnologias de geração de IA
Vantagens do Projeto
- Design Modular: Fácil de expandir e personalizar
- Alto Desempenho: Código de treinamento e inferência otimizado
- Suporte Multimodal: Várias tarefas de geração, como imagem, vídeo, 3D, etc.
- Atualização Contínua: Lançamento regular de novos modelos e funcionalidades
- Comunidade Ativa: Documentação e código de exemplo ricos
Este projeto representa a tecnologia mais avançada no campo da IA generativa, fornecendo aos pesquisadores e desenvolvedores ferramentas poderosas para explorar e aplicar tecnologias de IA generativa.