Project Icon

axodox-machinelearning

基于C++的Stable Diffusion图像生成库,支持ControlNet

该库是一款基于Stable Diffusion的图像生成工具,支持txt2img、img2img和图像修复功能,完全采用C++实现,无需依赖Python。其高性能和简化的部署过程非常适用于实时图形应用和游戏开发。库还支持ControlNet,通过输入图像来引导生成过程,并提供GPU加速的特征提取功能,如姿势估计、深度估计和边缘检测。此外,库包含多个代码示例和预编译模型,便于开发者快速集成和测试。

项目介绍

axodox-machinelearning 项目是一个基于 C++ 的稳定扩散图像合成库,它完整实现了文本到图像(txt2img)、图像到图像(img2img)以及修复能力,并包含了安全检查功能。这套解决方案完全不依赖于 Python,能够在单个进程中运行整个图像生成过程,并且性能表现优异。由于只是几个可执行文件和库文件再加上模型权重,因此极大地简化和减小了部署过程。该项目非常适合那些能够导入 C++ 或 C 函数的应用,尤其是实时图形应用和游戏开发者,它们通常都是用 C++ 实现的。

ControlNet 支持

库还支持 ControlNet,这使得可以使用输入图像来引导图像生成过程。例如:

  • 使用 OpenPose 和 OpenPose 条件控制的 ControlNet,可以通过指定姿势来引导 img2img 的生成,产生更佳的结果。
  • 使用 HED 边缘检测和边缘条件控制的 ControlNet,可以将图像风格改变为类似漫画插图,但保持布局不变。
  • 使用深度估计和深度图条件控制的 ControlNet,可以生成不同的角色,而保持原有的设置。

特征提取器

该库还提供 GPU 加速的功能提取器实现,包括:

  • 姿势估计:利用 OpenPose 从图像中提取人体骨架。
  • 深度估计:利用 MiDAS 从单个图像中估计每个像素的深度。
  • 边缘检测:利用整体嵌套的边缘检测从图像中提取边缘。

代码示例

提供了一些简单的代码示例,展示如何使用该库实现各种功能:

  • 稳定扩散测试
  • ControlNet 测试
  • 特征提取测试

参考模型

所需的 AI 模型以 ONNX 格式存储,并经过 Microsoft Olive 优化,适用于 DirectML。测试的模型包括:

  • 支持 ControlNet 的 Stable Diffusion 1.5
  • 支持 ControlNet 的 Realistic Vision 1.4
  • 具有特征提取器的 ControlNet

用户也可以根据指导转换自己的模型。需要注意的是,如果你计划将这些模型集成到产品中,请务必检查模型的原始许可证。

技术背景

实现中使用 ONNX 存储涉及图像生成的数学模型,这些 ONNX 模型通过 ONNX runtime 执行。ONNX runtime 支持多种平台及执行提供者(如 NVIDIA CUDA、AMD ROCm、Apple CoreML 等)。我们提供了一个示例集成,称为 Unpaint,展示了如何将库集成到一个简单的基于 WinUI 的用户界面中。

授权许可

该库的源代码以 MIT 许可证提供。

组件集成

可以从 Nuget 中获取预构建版本,并将其添加到 Visual Studio C++ 项目中(支持桌面和 UWP 项目)。简单集成步骤包括:

  • 添加 Axodox.CommonAxodox.MachineLearning 包到项目中。
  • 确保在项目中 仅使用 x64 平台
  • 确保编译器设定为 C++20,并建议启用所有警告和合规模式。
  • 添加 #include "Include/Axodox.MachineLearning.h" 到代码文件或预编译头中。
  • 参考示例代码完成管道集成。

构建项目

在库中测试更改需要去构建它。需要安装以下工具:

  • Visual Studio 2022,选择桌面及游戏开发相关组件。

构建流程可以通过运行 build_nuget.ps1 脚本或者直接在 Visual Studio 中打开并构建解决方案来执行,包括必要的环境配置和项目路径添加。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号