综合介绍
SHMT(Self-supervised Hierarchical Makeup Transfer)是一个基于潜在扩散模型的自我监督分层化妆迁移项目,旨在通过无监督学习方法实现化妆效果的高质量迁移。该项目采用“解耦与重建”范式,摒弃了不准确的伪配对数据带来的误导。同时,为了适应多样化的化妆风格,通过拉普拉斯金字塔分解层次纹理细节,并选择性地引入到内容表示中。SHMT项目的研究成果已在NeurIPS 2024发表,展示了在处理简单和复杂化妆风格时的出色效果。
功能列表
- 自我监督学习:无需配对数据即可实现化妆迁移。
- 分层纹理细节:利用拉普拉斯金字塔分解和重建纹理细节。
- 高效迁移:在处理多种化妆风格时保持高效和高质量。
- 多样化应用:适用于图像处理、风格迁移、计算机视觉等多个领域。
使用帮助
安装流程
- 克隆SHMT项目仓库:
git clone https://github.com/Snowfallingplum/SHMT.git cd SHMT
2. 创建并激活虚拟环境:
```bash
python -m venv venv
source venv/bin/activate # on Windows use `venv\Scripts\activate`
- 安装项目依赖:
pip install -r requirements.txt
- (可选)安装CUDA以支持GPU加速。
使用教程
1. 运行主程序
主程序位于main.py
文件中,运行以下命令即可启动:
python main.py --input your_image_path --style your_desired_style
上述命令中,--input
参数指定输入图像路径,--style
参数指定目标化妆风格。
2. 细节调整
在config.yaml
文件中,可以调整模型参数和细节设置。例如,可以调整拉普拉斯金字塔的层数和重建细节的强度。
3. 结果输出
运行主程序后,结果将保存在指定的输出文件夹中。可以通过图像查看工具打开并查看化妆迁移效果。
示例
以下是一个简单的示例代码:
from shmt import SHMT
# 初始化模型
model = SHMT()
# 加载输入图像和目标风格
input_image = 'path/to/input/image.jpg'
style = 'glamorous'
# 进行化妆迁移
output_image = model.transfer(input_image, style)
# 保存结果
output_image.save('path/to/output/image.jpg')
常见问题
- 如何处理输入图像质量不高的问题?
确保输入图像清晰、高分辨率。低质量图像可能影响化妆迁移效果。 - 如何调整化妆风格的强度?
在配置文件config.yaml
中调整相关参数,例如style_strength
。