ControlNet|V1.1版模型下载安装部署使用教程【中】
此次所讲解的ControlNet
版本为V1.1
【中
】,也就是最新的版本,本站之前的ControlNet
教程已不再适用,新版本增加了较多新模型算法和预处理器,我们将会如同之前一样,对每一个模型和预处理器以及相关参数进行一一讲解,方便大家对每一个用法都能够快速掌握。
注意事项
您的Stable Diffusion WebUI
版本必须在2023年2月份之后,不然可能安装插件后无法正常使用。
因为Stable Diffusion WebUI
的新版有很多变化,以及所需的依赖环境更新;为避免出现不可预见的问题,强烈建议您根据上面的文章重新安装部署一遍。
前情提要
此篇教程为【中篇】,如果您看的不是很清白,建议先看【上篇】。
技术交流
本站已开放AI技术交流论坛,如果您在学习过程当中遇到问题,可在本论坛发帖求助。
【点击这里前往论坛】
本文示例
为方便大家阅读以及对比各模型之间的效果区别,本文后续将会尽量使用此案例和参数进行各模型的教程以及测试。
SD参数
(extremely detailed CG unity 8k wallpaper), (masterpiece), (best quality), (ultra-detailed), (best illustration), (best shadow), (photorealistic:1.4), 1girl on street, Kpop idol, ((very oversize sweater, buttoned sweater, open sweater)), (grey hair:1.1), collarbone, (midel breasts:1.3), looking at viewer, smile,<lora:HinaIAmYoung22_zny10:1> Negative prompt: paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), low res, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans, bad legs, error legs, bad feet, malformed limbs, extra limbs Steps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 2557016082, Size: 320x520, Model hash: 7234b76e42, Model: chilloutmix_Ni, Denoising strength: 0.25, Hires upscale: 2, Hires upscaler: R-ESRGAN 4x+ Anime6B
效果展示
动漫线性图
动漫线稿lineart_anime
预处理器,一个单独列出来训练了的模型,更适合动漫图的生成!
错误示范
其实该预处理器所对应的模型应该是control_v11p_sd15s2_lineart_anime
,但是站长比较好奇该模型如果使用control_v11p_sd15_lineart
效果如何,所以添加错误示范案例。
该模型的设置和预处理器设置如下图所示:
真人效果展示
虽然此模型和算法更适合动漫效果,但是我们为了严谨的测试,我们依然使用真人测试一下效果。
可以线稿的效果并不是很好,但是通过该线稿引导生成的效果还不错。
动漫效果展示
以下我们使用该模型真正的正确用法,也就是通过卡通角色风格来提取线稿,然后尝试重新引导生成。
我们一共测试了两张动漫图片,然后分别对其提取线稿,再根据该线稿更换角色模型。
可以看到动漫线稿的提取非常非常棒,和旧版的ControlNet各线稿模型和预处理器来讲,已经达到了另一个顶峰。
正确用法
这次我们使用control_v11p_sd15s2_lineart_anime
模型来测试效果,这才是该预处理器应该对应的模型。
该模型的设置和预处理器设置如下图所示:
效果展示
总结
个人感觉两个模型都挺合适的,没有什么太大区别,反而control_v11p_sd15_lineart
模型的效果好像更惊艳一些,大家可以多测试一下,各取所需吧。
线性图
lineart_coarse
|lineart_realistic
|lineart_standard
这三个线性图预处理器我们一起讲,因为这样方便对比效果。
参数设置
该模型的设置和预处理器设置如下图所示:
lineart_coarse
|lineart_realistic
|lineart_standard
,这三个预处理器的模型全部使用同一模型,模型都为control_v11p_sd15_lineart
。
效果展示
总结
- lineart_coarse
- 线稿比较简洁,线条相比较于其它预处理器,的确更粗一些,效果也很不错,生成的图像各趋于真实。
- lineart_realistic
- 该预处理的名称虽为写实线稿提取,但是生成的图像看起来却比较梦幻一些,可能是个例效果。
- lineart_standard
- 个人认为该预处理的线稿提取很糟糕,但其生成的图像光影效果却很真实。
人脸轮廓
使用mediapipe_face
处理器可以提取图像中的人脸轮廓,但是本站没找到相对应的模型,暂时使用control_v11p_sd15_openpose
模型。
参数设置
该模型的设置和预处理器设置如下图所示:
效果展示
直线条检测
mlsd
可以识别建筑、室内设计,对建筑行业非常友好。但是对人物没有效果,所以不要在角色图像上使用。
参数设置
该模型的设置和预处理器设置如下图所示:
错误示范|效果展示
虽然生成的线条不相关,但是根据这错误的线稿生成的角色居然还挺好看?
正确用法|效果展示
正确的使用方法应该是给一张建筑的图像,然后根据该图像提取线稿,最后再重新引导生成。
法线图
normal_bae
|normal_midas
这两个法线图预处理器一样,根据图像生成法线贴图,适合CG建模师。我们放在一起讲,因为这样方便对比效果。
参数设置
该模型的设置和预处理器设置如下图所示:
normal_bae
|normal_midas
,这两个预处理器的模型全部使用同一模型,模型都为control_v11p_sd15_normalbae
。
效果展示
站长之前从事CG工作行业十年,个人认为其实normal_bae
的效果更好一些。
下面是一些更换角色的示例,请自行对比效果,取其需要即可。
总结
经过对比我们可以发现,normal_bae算法所提取的法线更加贴近于原图,但是normal_bae曝光过高。
不知道为什么,总感觉效果怪怪的,好像还不如上个版本。
身体姿态识别
openpose
|openpose_face
|openpose_full
|openpose_hand
这几个处理器都支持识别身体姿态,我们有一些支持面部识别,我们先统一测试支持身体姿态识别的预处理器,后续再统一测试其它。
参数设置
该模型的设置和预处理器设置如下图所示:
因为openpose
|openpose_face
|openpose_faceonly
|openpose_full
|openpose_hand
这几个预处理器使用的都是control_v11p_sd15_openpose
模型,所以就不一一截图了。
效果展示
因为我们这次使用的是姿态识别,对于人物的全身图像识别效果较好,所以这次更换全身的模特图为例子。
可以看到,这些都是可以识别到身体姿态的,而且效果也都是大同小异。关于后面两个是可以识别到身体
+手部
的预处理器,
以下是这些骨骼更新角色,但不更换参数的情况下,重新引导生成的图像。
总结
通过对比我们可以发现,我们可以发现,即使我们所提取的Pose骨骼难以分辨那些细微的差距,但是生成图片时也会有很大的区别。
- openpose
- 所提取的骨骼还是比较贴近于原图的,生成效果也大差不差,可能头有点歪。
- openpose_face
- 可能该预处理器支持识别面部,而身体的识别效果也比较好,和openpose差不多,但是生成时使用已识别到的面部信息做为头部角度,所以个人感觉如果该预处理器效果更佳。
- openpose_full
- 因为模特图的手部不太明显,所以识别到的手势有点奇怪,但是抛开左手不谈,右手的姿势也是不对的,退也没有完全入镜,和模特姿势差异巨大,不建议使用。
- openpose_hand
- 左手的骨骼明明提取是正确的,但是生成的图像却是向上的,明显有问题,不推荐使用。
手势姿态识别
openpose_full
|openpose_hand
这两个预处理器都支持识别手势,放在一起来讲,方便对比效果。
参数设置
该模型的设置和预处理器设置如下图所示:
openpose_full
|openpose_hand
这两个预处理器使用的都是control_v11p_sd15_openpose
模型,所以就不一一截图了。
效果展示
总结
可以看到对于手部的骨骼提取效果是非常非常不错的,但是经过重新引导二次生成的图像却一言难尽了,AI画手通过OpenPose还是比较局限的,后续我将会教大家用深度图来调整手部姿态。
面部识别
openpose_face
|openpose_faceonly
|openpose_full
这三个预处理器都支持面部识别,放在一起来讲,方便对比效果。
参数设置
该模型的设置和预处理器设置如下图所示:
openpose_face
|openpose_faceonly
|openpose_full
这三个预处理器使用的都是control_v11p_sd15_openpose
模型,所以就不一一截图了。
效果展示
总结
站长在这里一直有个误会,以为是可以识别表情的,原来是我太天真了,只是面部角度的识别和五官定位而已。
个人更推荐使用openpose_full
,因为该有的信息全部都有,但如果你只希望定位头部角度的话,openpose_faceonly
也不错。
涂鸦效果
scribble_hed
|scribble_pidinet
|scribble_xdog
这三个预处理器都是用于涂鸦功能的,目前可以识别1像素以上的线条 ,对粗线条也有了较好的识别。放在一起来讲,方便对比效果。
参数设置
该模型的设置和预处理器设置如下图所示:
scribble_hed
|scribble_pidinet
|scribble_xdog
这三个预处理器使用的都是control_v11p_sd15_seg
模型,所以就不一一截图了。
效果展示
既然是涂鸦效果,我们删除所有正向Prompt来生成重新引导。
总结
我们通过对比可以看到,scribble_hed
和scribble_pidinet
的预处理效果线条很粗,而scribble_xdog
的细节会更多一些。
课程提示
本文已经介绍较多知识点,剩余模型和预处理器将在下一期讲解。
点击下文前往Stable Diffusion的教程总目录,学习其它内容。
昨天按照新版本的V1.1后进入启动器 发现版本更新中控制网已经可以在线更新到V1.1.112 又更新了
@摄绘人 还好,这次是小更新,1.1相比于1.0是大更新,我写了三天……