前面我们已经介绍了ControlNet使用OpenPose控制人物的动作姿态,因为姿态节点图使用点来描述的,所以可能有时控制不是很精确。
ControlNet是一种神经网络结构,它通过添加额外的条件来控制扩散模型,从而提高AI绘图的可控性。ControlNet公开了八种不同类别的输入条件,它们分别是:
1.Canny:边缘检测,通过从原始图片中提取线稿,来生成同样构图的画面。
2.Depth:深度检测,通过提取原始图片中的深度信息,生成具有相同表面几何形状的图片。
3.HED:全卷积边缘检测网络,与Canny类似,但更加精确。
4.MLSD:最小二乘直线检测(Minimum Line Segment Detection),用于识别建筑物等线段结构。
5.Normal:法线检测,用于提取原始图片中3D物体的法线向量,用于法线贴图和立体效果。
6.Openpose:姿势识别,用于人物动作,提取人体姿势的骨架特征。
7.Scribble:涂鸦识别,用于将简单的涂鸦转化为完整的插画。
8.Seg:语义分割识别(Semantic Segmentation),用于将原始图片划分为不同区域,并标注其语义类别。
简单了解ContorlNet的原理,对我们进行AI绘画还是有帮助的,这样我们在选择参数时就不会手足无措了。
它的控制原理一句话概括就是:用ControlNet的某一种模型加上输入图控制AI绘图的输出。
深度图控制与上次介绍过的OpenPose控制原理相同,两者区别就是使用不同的控制模型和输入图。本次采用深度图和深度控制模型控制AI绘图的输出内容。
控制原理
从上面的原理我们可以知道,完成目标需要分两步:第一步,由原始图片生成一张深度图,第二步使用ControlNet的模型control_sd15_depth.pth控制AI绘图生成的人物。
深度图目前应用已经非常广泛了,例如一张图片生成3d街景。如何得到一个图片的深度图,方法有很多种,网上有各式各样的生成软件,免费的收费的都有。有些专门提取人物,有的专门提取房间的家具等等。这里只介绍其中最简单的一种,它已经作为扩展插件集成在了UI里。对人物的处理还可以,当然效果比不上某些专业的软件,不过作为AI绘画试验已经够用了。
插件名:depthmap2mask
https://github.com/Extraltodeus/depthmap2mask.git
如果你的AI绘图包是傻瓜包,多半已经包含了这个,如果没有就需要安装这个插件,如下图
深度图提取插件
很多人装了后不知道这个插件装在哪里,找半天找不到。
它在img2img里,因为第一步从图生成一个深度图是处理。最下面有个Script,下拉框选择脚本:Depth aware img2img mask
下拉框选择
下拉框选择后就出现了配置框,都使用默认就行。
配置框
注意这里也有ControlNet,因为我们是生成一张深度图,不是去控制AI绘画,所以不要启用它。
深度图也是用神经网络模型提取图片的内容的,这里选择的midas,第一次运行会自动下载这个模型,比较费时。想了解midas的可以参考
https://github.com/isl-org/MiDaS
到目前一切工作准备就绪,找一张图片放进去,按一下生成按钮,就会出现图片的深度图。
深度图
第一步到此就完成了,下面开始第二步,前面的介绍可以知道需要下载control_sd15_depth.pth,5.7G的模型放到model/ControlNet目录下面(AI绘图傻瓜包的很多已经下好了)。
下载地址:
https://huggingface.co/lllyasviel/ControlNet/tree/main/models
8种控制模式的模型
下载好后就可以进行AI绘图了然后,还是三步走:
3步步骤
今天的绘图的主题是《打太极的女弟子们》,太极拳深受大家喜爱,修炼之后身体好。。。这里选了一些
1.亚丝娜,来自《刀剑神域》
亚丝娜
2.塞尔达公主,来自《塞尔达传说-旷野之息》
塞尔达
3.2B小姐姐,来自《尼尔机器纪元》
2B
4.蒂法,来自《最终幻想VII》
蒂法
在三次元小姐姐中深受喜爱,因为能够强身健体。
最后是他们的祖师爷(原图)
原图
今天的介绍就到这里,我们下回见,关注我不迷路。
联系客服