StableNormal
我们提出了StableNormal,它为单目法线估计定制了扩散先验。与之前基于扩散的工作不同,我们专注于通过减少扩散模型(即Stable Diffusion)固有的随机性来提高估计的稳定性。这实现了"稳定且清晰"的法线估计,优于多个基准(试试比较),并改进了各种现实应用(试试演示)。
安装:
请运行以下命令来构建包:
git clone https://github.com/Stable-X/StableNormal.git
cd StableNormal
pip install -r requirements.txt
或直接构建包:
pip install git+https://github.com/Stable-X/StableNormal.git
使用
要使用StableNormal流程,你可以按如下方式实例化模型并将其应用于图像:
import torch
from PIL import Image
# 加载图像
input_image = Image.open("path/to/your/image.jpg")
# 创建预测器实例
predictor = torch.hub.load("Stable-X/StableNormal", "StableNormal", trust_repo=True)
# 将模型应用于图像
normal_image = predictor(input_image)
# 保存或显示结果
normal_image.save("output/normal_map.jpg")
额外选项:
- 如果需要更快的推理速度(快10倍),使用
StableNormal_turbo
:
predictor = torch.hub.load("Stable-X/StableNormal", "StableNormal_turbo", trust_repo=True)
- 如果终端无法访问Hugging Face,你可以将预训练权重下载到
weights
目录:
predictor = torch.hub.load("Stable-X/StableNormal", "StableNormal", trust_repo=True, local_cache_dir='./weights')