Spaces:
Running
on
Zero
Running
on
Zero
A newer version of the Gradio SDK is available:
5.33.2
metadata
title: IC-Light Background Conditional Relighting Demo
emoji: ✨
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 5.31.0
app_file: app.py
pinned: false
license: apache-2.0
IC-Light Background Conditional Relighting Demo
这是一个基于IC-Light的背景条件重新打光演示应用,适用于Hugging Face Spaces。
功能特性
- 背景条件重新打光: 使用前景图像和背景图像进行智能重新打光
- 多种光照模式: 支持上传背景图像或选择预设光照方向(左、右、上、下、环境光)
- 自动背景移除: 自动移除前景图像的背景
- 高分辨率支持: 支持高分辨率图像生成和细化
- 实时预览: 快速生成预览结果
使用方法
基本使用
- 上传前景图像: 上传包含人物或物体的图像
- 选择背景源:
Use Background Image
: 上传自定义背景图像Left Light/Right Light/Top Light/Bottom Light
: 使用预设的方向性光照Ambient
: 使用环境光照
- 输入提示词: 描述期望的光照效果,如 "beautiful woman, cinematic lighting"
- 点击"✨ Relight Image": 生成重新打光的结果
高级设置
- 图像尺寸: 调整输出图像的宽度和高度
- 生成步数: 控制生成质量(更多步数 = 更高质量,但更慢)
- CFG Scale: 控制提示词的影响强度
- 高分辨率缩放: 启用高分辨率细化
- 种子值: 控制随机性,相同种子产生相同结果
技术实现
模型架构
- 基础模型: Stable Diffusion 1.5 (realistic-vision-v51)
- IC-Light权重: iclight_sd15_fbc.safetensors (背景条件模型)
- 背景移除: RMBG-1.4 或简化的边缘检测算法
核心功能
- UNet修改: 将输入通道从4扩展到12,以支持前景和背景条件
- 条件编码: 将前景和背景图像编码为潜在空间条件
- 提示词编码: 支持长提示词的分块编码
- 多阶段生成: 支持低分辨率生成 + 高分辨率细化
依赖项
diffusers==0.27.2
transformers==4.36.2
torch
gradio==3.41.2
pillow==10.2.0
safetensors
numpy
scipy
部署到Hugging Face Spaces
- 创建新的Gradio Space
- 上传所有文件到Space
- 确保requirements.txt包含所有依赖
- Space会自动构建和部署
示例用法
人像重新打光
前景: 人像照片
背景: 选择"Left Light"
提示词: "beautiful woman, cinematic lighting"
产品摄影
前景: 产品图片
背景: 上传工作室背景
提示词: "product photography, professional lighting"
艺术创作
前景: 任意物体
背景: 选择"Top Light"
提示词: "dramatic lighting, artistic photography"
注意事项
- 首次运行会下载IC-Light模型文件(约2GB)
- GPU环境下运行效果最佳
- 背景移除功能可能需要手动调整
- 生成时间取决于图像尺寸和步数设置
许可证
本项目基于IC-Light官方实现,遵循相应的开源许可证。