Dreambooth-Stable-Diffusion es una herramienta basada en Stable Diffusion que permite entrenar modelos de IA para generar representaciones 3D altamente personalizadas a partir de un número reducido de imágenes de referencia. Esta guía detallará el proceso para que pueda empezar a crear sus propios modelos únicos.
Capacidades Clave de Dreambooth-Stable-Diffusion
La principal fortaleza de Dreambooth reside en su capacidad para "memorizar" las características de un objeto o sujeto específico, integrándolo luego en diversas escenas y estilos creativos. Con este proyecto, puede entrenar a la IA para reconocer y generar sus modelos 3D personalizados, ya sean objetos cotidianos, personajes o creaciones artísticas, logrando resultados distintivos.
Configuración del Entorno
1. Clonar el Repositorio
Descargue el código del proyecto a su máquina local:
git clone https://gitcode.com/gh_mirrors/dr/Dreambooth-Stable-Diffusion
cd Dreambooth-Stable-Diffusion
2. Configurar un Entorno Virtual
Se recomienda utilizar Conda para crear un entorno aislado y gestionar las dependencias:
conda env create -f environment.yaml
conda activate ldm
3. Descargar Modelos Pre-entrenados
Utilice los scripts proporcionados para obtener los modelos pre-entrenados necesarios:
bash scripts/download_models.sh
bash scripts/download_first_stages.sh
Entrenamiento de su Modelo Personalizado
Preparación de Datos de Entrenamiento
La calidad de las imágenes de entrada es crucial para un entrenamiento exitoso. Se sugiere:
- Recolectar entre 5 y 10 fotografías del mismo objeto desde distintos ángulos.
- Utilizar fondos sencillos para centrar la atención en el sujeto.
- Asegurar una iluminación uniforme y detalles nítidos.
Ejecutar el Proceso de Entrenamiento
Inicie el entrenamiento con el script main.py. El comando básico es el siguiente:
python main.py \
--base configs/stable-diffusion/v1-finetune.yaml \
-t \
--actual_resume models/ldm/stable-diffusion-v1/model.ckpt \
-n my_custom_model \
--gpus 0, \
--data_root ./path/to/your/training/images \
--class_word "object"
Generación de Modelos 3D Personalizados
Una vez completado el entrenamiento, puede generar modelos 3D personalizados utilizando el siguiente script:
python scripts/stable_txt2img.py \
--prompt "a photo of [V] in a futuristic city" \
--plms \
--ckpt ./logs/my_custom_model/checkpoints/last.ckpt \
--outdir ./outputs/my_custom_model
Optimización y Técnicas Avanzadas
Ajuste de Parámetros de Entrenamiento
Modifique el archivo de configuración configs/stable-diffusion/v1-finetune.yaml para refinar el entrenamiento. Parámetros importantes incluyen:
learning_rate: Tasa de aprendizaje.max_train_steps: Número de pasos de entrenamiento.batch_size: Tamaño del lote.
Fusión de Embeddings
Utilice la herramienta merge_embeddings.py para combinar varios embeddings entrenados y obtener efectos más ricos:
python merge_embeddings.py \
--embedding_path1 ./embeddings/embedding1.pt \
--embedding_path2 ./embeddings/embedding2.pt \
--output_path ./embeddings/merged_embedding.pt
Solución de Problemas Comunes
Sobreactivación (Overftiting) del Modelo
- Aumente la diversidad de los datos de entrenamiento.
- Reduzca el número de pasos de entrenamiento.
- Disminuya la tasa de aprendizaje.
Mejora de la Nitidez en la Generación
- Incremente la resolución de las imágenes generadas.
- Ajuste el parámetro
CFG scale. - Utilice imágenes de entrenamiento de mayor calidad.