碎碎念
之前AI作画用的都是别人直接弄好的,有的是网站,有的是webui。不管哪种形式,我仅作为试用者。
原因无非是:
-
我的笔记本集显,没GPU,甚至是A卡,CUDA都装不了。
-
我实验室台式机也无显卡。
那天师兄要给小朋友们讲ControlNet论文,师兄闲着没事自己把WebUI搞起来了,把我喊过去一起看效果。
那天师兄用的那个CheckPoint各方面都特别符合我审美,把我羡慕的,在那围观一下午。
师兄看我好可怜🙁,就把集群的上古服务器(没人用的那种,跑不起来代码那种)给我打开了图形化界面,让我去服务器自己弄一个。
然后我捣鼓了一天,搞出来了完全符合我审美的二次元人物。
效果对比
之前用别人搭好得的:
我自己搞得:
效果差别显而易见。所以真想要自己喜欢的,还是得自己捣鼓。
所以今天给大家分享一下捣鼓的插件之一ControlNet
。
ControlNet 效果
一句话说明ControlNet
最简单的作用: 上传一张照片控制你生成人物的动作。
比如:
配合ControlNet造老婆
这个漂亮姐姐叫曾黎
,中央戏剧学院表演系1996级本科(她上大学我还没出生)所以你们也可以叫她漂亮阿姨,我特别喜欢这样大姐姐的长相,那我们看看拿她照片丢进模型能出来什么结果:
?谁说的漂亮阿姨,我直接 hi 老婆
。
当然实际情况是曾黎姐姐至今未婚。既然未婚那我把prompt改成男的,是不是可以原地造老公:
have a try:
看来真的是可行的……
所以结果如下:
别说了。我直接hi 老公,结婚
。
至此,我用曾黎姐姐的一张照片,借助ControlNet生成了一组二次元老公老婆照。
效果图大家也看到了,心动不如行动,赶紧用起来:
WebUI如何使用ControlNet
-
把你下载的源码放到
stable-diffusion-webui/extensions/
目录。 -
下载模型:
lllyasviel/ControlNet at main (huggingface.co)
webui/ControlNet-modules-safetensors · Hugging Face
kohya-ss/ControlNet-diff-modules at main (huggingface.co)
从上边任意一个地址里下载模型,放到以下任意一个目录里:
stable-diffusion-webui/models/ControlNet
stable-diffusion-webui/extensions/sd-webui-controlnet-main/models
-
重启WebUI,开始使用:
勾选
Enable
让ControlNet生效,那个Preprocessor和Model就是你刚才下载的那些模型。那些模型具体能干嘛看我下一部分的简介。
简单介绍一下不同PreProcessor
-
ControlNet with User Scribbles
control_sd15_scribble
你可以直接新建白画布,在上边画线条。模型将你画的作为输入,获得对应的输出。Source 输入 输出 (no preprocessor) (no preprocessor) -
ControlNet with Canny Edge
control_sd15_canny
是你提供一张图片,预处理器使用Canny边缘检测可以给你提取出边缘线,使用这个边缘线作为输入,控制生成对应的输出。Source 输入 输出 -
ControlNet with HED Boundary
control_sd15_hed.pth
是你提供一张图片,预处理器获得对应的HED边缘检测(软边缘),使用这个边缘线作为输入,控制生成对应的输出。Source 输入 输出 -
ControlNet with M-LSD Lines
control_sd15_mlsd.pth
是你提供一张图片,预处理器使用M-LSD线检测,使用这个边缘线作为输入,控制生成对应的输出。Source 输入 输出 -
ControlNet with Human Pose
control_sd15_openpose.pth
是使用你提供的图片获得对应的姿势骨架图作为输入并生成对应的结果。Source 输入 输出 -
ControlNet with Depth
control_sd15_depth.pth
是你提供一张图片,预处理器会获得对应的使用Midas深度估计作为输入,使用使用Midas深度估计图生成输出图片。Source 输入 输出 -
ControlNet with Normal Map
control_sd15_normal
传入一张图片,生成对应的法线贴图。法线贴图看中间那张图,左边看起来是红色的,右边看起来是蓝色的,上边看是绿色的,下边看是紫色的。Source 输入 输出
附录 记一个搞笑的事
我说师兄给我开的那个服务器是上古服务器,跑代码根本跑不起来。
因为昨天下午我用着用着突然卡出去了……然后重新进去ps -ef | grep python
看一下,发现了师弟也在用:
本文正在参加「金石计划」