简介
新功能:Unpaint在Xbox主机上的演示,可在YouTube上观看。
这个仓库包含了一个完全用C++实现的基于Stable Diffusion的图像合成工具,名为Unpaint。它支持基本和ControlNet增强的txt2img、img2img、图像修复管道以及安全检查器的实现。该解决方案不依赖Python,并在单个进程中运行整个图像生成过程,使部署变得更加简单和小巧,基本上只包含几个可执行文件和库文件(约30MB)以及模型权重(每个模型约2.5GB)。使用这个库可以将Stable Diffusion集成到几乎任何可以导入C++或C函数的应用程序中。
有关技术细节,请查看Unpaint所基于的C++ Stable Diffusion库的页面此处。
系统要求
该应用程序使用DirectML,支持当前的NVIDIA和AMD GPU,但也应该可以在其他支持DirectML的硬件上运行。我们鼓励你在不同的硬件上尝试,如果遇到问题,请在此页面提出问题。请确保安装最新的Windows更新,特别是最新的GPU驱动程序,因为Unpaint从微软最近Build大会宣布的优化中受益匪浅。
请注意,基于ONNX的管道可能还没有直接使用pytorch和CUDA那样优化,但使用最新驱动程序时,它们的性能已经非常接近。
如何安装应用程序?
Unpaint现已在Microsoft Store上架,如果你不需要最新的开发版本,请从那里安装。
你可以在发布页面找到应用程序安装程序。
首次安装应用程序时,请按以下步骤操作:
- 下载
.msix
和.crt
文件 - 右击
.crt
文件并选择安装证书 - 在向导中选择"本地计算机"并点击下一步
- 然后选择"将所有证书放入以下存储"并点击"浏览"
- 选择"受信任的根证书颁发机构"并点击"确定"
- 点击"下一步"然后"完成"
这将安装Unpaint的自签名安全证书,这是新的MSIX安装程序管道对测试版本的要求,如果你从商店安装应用程序则不需要此步骤。
如果你感到不安全,可以考虑使用SignTool用自己的证书重新签名Unpaint包(你需要导入自己的证书),你可以参考这个文件末尾的操作方法。
完成这些步骤后,只需打开.msix
文件,应该就能顺利安装并启动应用程序。
安装模型
要使用Unpaint,你至少需要安装一个图像生成模型。你可以从硬盘或HuggingFace安装模型。我们制作了一个方便的教程,介绍如何转换现有模型,你可以在这里找到。
构建项目
开发环境
- 安装Visual Studio 2022
- 选择以下工作负载:
- 使用C++的桌面开发
- 通用Windows平台开发
- 使用C++的游戏开发
- 还要选择这些单独的包:
- C++ (v143) 通用Windows平台工具
- 选择以下工作负载:
- 如果你还没有安装git,请从这里安装
- 我使用Windows 11进行项目开发,早期Windows版本可能有效,也可能无效
安装好Visual Studio后,首次构建请按以下步骤操作:
- 使用
git clone https://github.com/axodox/unpaint
克隆仓库 - 用Visual Studio打开
Unpaint.sln
- 如果Visual Studio提示你还需要安装某些内容,请按照其说明操作
- 你可能还会收到启用Windows"开发者模式"的提示,可以在"设置"应用中进行设置
- 在"解决方案资源管理器"中打开
Unpaint
项目的Config
文件夹,双击Package.appxmanifest
- 转到"打包"选项卡,选择"选择证书"
- 按"创建"并按照向导操作
完成这些步骤后,你就可以启动项目,构建并运行了。祝你使用愉快 :)