Stable Diffusion 从入门到企业级应用010

news/2024/7/10 19:20:25 标签: stable diffusion, 人工智能, controlnet

一、前言

本文是《Stable Diffusion 从入门到企业级应用实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》的第010篇 利用Stable Diffusion ControlNet 法线贴图模型精准控制图像生成。本部分内容,位于整个Stable Diffusion生态体系的位置如下图黄色部分所示:

        法线就是指模型表面的凹凸感,而凹凸感的产生是因为模型表面像素的光照条件不一样产生的。在逐像素计算光照时,每一个像素都会根据该点的法向量来计算最终该点的光照结果,那么,我们如果能够改变这个法线的方向,就可以改变这个点的光照结果,进而影响模型表面凹凸感。
         最早的法线贴图实现方式是使用凹凸贴图(Bump Map),简单来讲就是给一张灰度图,默认为黑色,越凸起的地方颜色越亮,通过采样点之间斜率决定像素是否位于边缘,从而影响光照明暗。
          Unity法线贴图一般都是存储在切线空间。切线空间的z轴就是顶点所在面的法线方向,该点的uv二维坐标系则用来表达该点的切线(tangent)和该点的次法线(binormal)方向。
This model can accept normal maps from rendering engines as long as the normal map follows ScanNet's protocol.

二、创作成果

三、生成过程

3.1 工作流程

整个创建,过程可以分为三个步骤:环境部署、模型下载、模型推理。

3.2 环境部署

我们的环境部署,没有采用webUI的方式,进行而是配置了基于ControlNet v1.1 进行了原始环境部署。源码资源如下图所示:

3.3 模型下载

3.4 模型推理

启动程序:

操作界面:

提示词:

提示通过图像 + Prompt组合的模式进行,本文,我们使用的提示为:cute toy. 

呆萌,呆萌的图像输出,是不是瞬间俘获了你的内心。

四、小结

本文是《Stable Diffusion 从入门到企业级应用实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》的第010篇 《利用Stable Diffusion ControlNet NormalBAE 法线贴图模型精准控制图像生成》。下一章,我们将要分享《Stable Diffusion ControlNet v1.1 图像精准控制》的第011篇《利用Stable Diffusion ControlNet Tile 磁贴模型精准控制图像生成 》。敬请期待。


http://www.niftyadmin.cn/n/4990846.html

相关文章

【AI】数学基础——数理统计(概念参数估计)

概率论 文章目录 3.6 数理统计概念与定理3.6.1 概率论与数理统计区别3.6.2 基本定理大数定理马尔科夫不等式切比雪夫不等式中心极限定理 3.6.3 统计推断的基本问题 3.7 参数估计3.7.1 频率派点估计法矩阵估计法极大似然估计点估计量的评估 区间估计 3.7.2 贝叶斯派贝叶斯定理条…

守护公信力:为何政府网站巡查是维护政策纯净与公正的前线防线?

在当今信息化社会,政府的每一项政策与决定都将通过多种渠道传达给公众,其中,政府官方网站是最直接、最权威的一种。如何确保其内容纯净、公正、无误,以维护政府的公信力,就显得尤为关键。政府网站巡查,正是…

卷积神经网络实现运动鞋识别 - P5

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:Pytorch实战 | 第P5周:运动鞋识别🍖 原作者:K同学啊 | 接辅导、项目定制🚀 文章来源:K同学的学习圈子 目录…

基于OV2640/ OV5640 的图像采集显示系统

基于OV2640/ OV5640 的图像采集显示系统系列文章目录: (1)基于 OV5640 摄像头理论知识讲解-成像和采样原理 (2)基于 OV5640 摄像头理论知识讲解-数字接口和控制接口 (3)基于 OV5640 摄像头理论知…

sed replace just once

sed 0,/a/s/a/b/ demoreplace first a to b0,/a is the range specifierbegin from 0 line to first occurance to a#!/bin/bashfor i in seq 0 30 do echo $ised -i "1,/func()/s/func()/func$i()/" func.c done

【Python】从入门到上头— IO编程(8)

文章目录 一.IO编程是什么二.文件读写1.读取文件2.file-like Object二进制文件字符编码 3.写文件file对象的常用函数常见标识符 三.StringIO和BytesIO1.StringIO2.BytesIO 四.操作文件和目录五.序列化和反序列化1.pickle.dumps()2.pickle.loads()3.JSON 一.IO编程是什么 IO在计…

【TrueType】Digitizing Letterform Designs(数字化字体设计思想)

本文档是个人翻译内容,仅供学习使用,翻译原文网址: https://developer.apple.com/fonts/TrueType-Reference-Manual/RM01/Chap1.html 如遇版权侵犯问题,请告知我,我将关闭此内容。 Digitizing Letterform Designs(数字化字体设计思想) 目录 1、Introduction(简介)2、P…

【PCL-10】PCL删除点云中x、y、z都为0的点

1、导入点云库 #include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/filters/extract_indices.h> 2、创建空的PointIndices对象&#xff0c;用于存储需要删除的点的索引 pcl::PointIndices::Ptr indices (new pcl::PointIndices); 3…