IClight-demo / README.md
GreenGoat's picture
Update README.md
4fdc023 verified

A newer version of the Gradio SDK is available: 5.33.2

Upgrade
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。

功能特性

  • 背景条件重新打光: 使用前景图像和背景图像进行智能重新打光
  • 多种光照模式: 支持上传背景图像或选择预设光照方向(左、右、上、下、环境光)
  • 自动背景移除: 自动移除前景图像的背景
  • 高分辨率支持: 支持高分辨率图像生成和细化
  • 实时预览: 快速生成预览结果

使用方法

基本使用

  1. 上传前景图像: 上传包含人物或物体的图像
  2. 选择背景源:
    • Use Background Image: 上传自定义背景图像
    • Left Light/Right Light/Top Light/Bottom Light: 使用预设的方向性光照
    • Ambient: 使用环境光照
  3. 输入提示词: 描述期望的光照效果,如 "beautiful woman, cinematic lighting"
  4. 点击"✨ Relight Image": 生成重新打光的结果

高级设置

  • 图像尺寸: 调整输出图像的宽度和高度
  • 生成步数: 控制生成质量(更多步数 = 更高质量,但更慢)
  • CFG Scale: 控制提示词的影响强度
  • 高分辨率缩放: 启用高分辨率细化
  • 种子值: 控制随机性,相同种子产生相同结果

技术实现

模型架构

  • 基础模型: Stable Diffusion 1.5 (realistic-vision-v51)
  • IC-Light权重: iclight_sd15_fbc.safetensors (背景条件模型)
  • 背景移除: RMBG-1.4 或简化的边缘检测算法

核心功能

  1. UNet修改: 将输入通道从4扩展到12,以支持前景和背景条件
  2. 条件编码: 将前景和背景图像编码为潜在空间条件
  3. 提示词编码: 支持长提示词的分块编码
  4. 多阶段生成: 支持低分辨率生成 + 高分辨率细化

依赖项

diffusers==0.27.2
transformers==4.36.2
torch
gradio==3.41.2
pillow==10.2.0
safetensors
numpy
scipy

部署到Hugging Face Spaces

  1. 创建新的Gradio Space
  2. 上传所有文件到Space
  3. 确保requirements.txt包含所有依赖
  4. Space会自动构建和部署

示例用法

人像重新打光

前景: 人像照片
背景: 选择"Left Light"
提示词: "beautiful woman, cinematic lighting"

产品摄影

前景: 产品图片
背景: 上传工作室背景
提示词: "product photography, professional lighting"

艺术创作

前景: 任意物体
背景: 选择"Top Light"
提示词: "dramatic lighting, artistic photography"

注意事项

  • 首次运行会下载IC-Light模型文件(约2GB)
  • GPU环境下运行效果最佳
  • 背景移除功能可能需要手动调整
  • 生成时间取决于图像尺寸和步数设置

许可证

本项目基于IC-Light官方实现,遵循相应的开源许可证。

相关链接