File size: 3,242 Bytes
d150fcc
055eaca
 
d150fcc
055eaca
d150fcc
4fdc023
d150fcc
 
055eaca
d150fcc
 
055eaca
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4fdc023
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
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官方实现,遵循相应的开源许可证。

## 相关链接

- [IC-Light官方仓库](https://github.com/lllyasviel/IC-Light)
- [IC-Light论文](https://openreview.net/forum?id=u1cQYxRI1H)
- [Hugging Face Spaces](https://huggingface.co/spaces)