2-3 条件生图

使用 ControlNet 掌握 AI 图像生成。了解它的预处理器、工作原理以及如何使用它来创造AI艺术。

什么是条件生图(ControlNet)

ControlNet 是一个用于控制Al 图像生成的插件。它使用了一种称为"Conditional Generative Adversarial Networks”(条件生成对抗网络)的技术来生成图像。与传统的生成对抗网络不同,ControNet 允许用户对生成的图像进行精细的控制,例如,上传线稿让AI帮忙上色,或是控制人物的姿势、生成图片线稿等。

不同于传统的绘图模型,完整的 ControlNet 包括 预处理器控图模型 2个部分。

预处理器:负责提取原始图像的空间语义信息并将其转换为可视化预览图,如线稿图、深度图等。

控图模型:处理线条、景深等更为基础的结构化信息。

边缘检测(Canny)

基础信息

Canny 模型主要辨识输入图像的边缘信息,能从所上传的图片中提取出精准的线稿,随后根据指定关键词生成与原图构图一致的新画面

预处理器

canny:硬边缘检测

invert :白底黑线反色,将线稿颜色进行反转

invert并非 Canny 独有,可以配合大部分线稿模型使用,当我们选择线稿细化、线段识别等控制类型时,都存在invert

操作方法

  1. 操作顺序

a. 上传图片-选择模型Lora-选择控制网类型-填写提示词-点击生成

b. 智能分析:反推图片提示词和模型,如果需要和原图风格不同的图片,建议关闭智能分析

  1. 参数设置

a. 预处理分辨率

预处理器分辨率影响预览图的输出分辨率。由于图片长宽比被固定,并且默认输出为一倍图,分辨率的设置实质上决定了预览图的横向尺寸。

例如,若原图尺寸及目标图像尺寸均为512x768,当我们将预处理器分辨率设置为128、256、512、1024时,预处理后的图像尺寸将相应变为128x192(原图0.25倍)、256x384(原图0.5倍)、512x768(原图)及1024x1536(原图2倍)。

总的来说,分辨率设置越大,生成的图像细节越丰富。

*有时当预处理检测图和最终图像尺寸不一致时会导致绘制图像受损,最终绘制的画面中人物边缘出现明显的像素颗粒。

b. 控制权重

决定控制网的强度,强度越高控制图像效果越明显,生图效果越接近原图。

c. 控制模式

用于切换 ControlNet 和提示词的权重占比,默认使用平衡即可。

出图更遵循提示词:则控图效果会削弱

出图更遵循预处理图:则控图效果会被加强

  1. 生成结果

从生成效果可以看出来,基本构图和原图一模一样,但是细节完全不同,如果你需要其他变化的图片,比如说头发颜色,面部细节,服饰等,可以调整关键词、参数来实现效果。

姿态识别(openpose)

基础信息

姿势识别可以实现对人体动作和表情特征的精准控制,不仅可以生成单人的姿势,还可以生成多人的姿势。

姿态识别能够识别人体关键结构点如头部、肩部、手肘、膝部等,同时忽略服饰、发型和背景的细节,确保姿势和表情的真实再现。

预处理器

人物姿态识别

默认处理器openpose系列,openpose、face、faceonly、full、hand这 5 种预处理器,分别用于检测五官、四肢、手部等人体结构。

动物姿态识别

建议使用animal_openpose处理器,它能配合专门的预处理模型使用,如control_sd15_animal_openpose_fp16。

一般情况下直接使用默认的openpose_full 预处理器即可

线稿细化/动漫线稿细化

基础信息

线稿细化同样也是对图像边缘线稿的提取,但它的使用场景会更加细分,包括真实系和动漫系2个方向

预处理器

线稿细化

更适合真实系图片,图片提取的线稿更为还原,在检测时会保留较多的边缘细节,因此控图效果会更加显著

动漫线稿细化

相对比较随机

线稿细化与边缘检测区别

边缘检测:硬直线,粗细统一

线稿细化:明显笔触痕迹线稿,类似现实的手绘稿,可以明显观察到不同边缘下的粗细过渡

线稿细化保留更多细节,画面相对柔和一些,也更适合线稿上色功能

边缘检测的线条更精准,会简化画面内容

*线稿细化可用于草稿图上色,完全遵循草稿图

深度检测

基础信息

深度图,也称为距离影像,直观地反映了画面物体的三维深度信息。深度图以黑白两色展示,物体离镜头越近,颜色越浅(白色);反之,则颜色越深(黑色)。

深度检测可从图像中提取出物体的前景和背景关系,创建深度图,并应用于图像绘制中。因此,当需要明确画面中物体的前后层次时,深度检测可以作为一个有力的辅助工具。

推荐使用depth_midas预处理器,以获得更好的出图效果。

模型识别

Basic Information

模型识别就是根据画面中的光影信息生成一张法线贴图,从而模拟出物体表面的凹凸细节,实现准确还原画面内容布局,因此模型识别多用于体现物体表面更加真实的光影细节。下图案例中可以看到使用模型识别绘图后画面的光影效果立马有了显著提升。

使用时建议选择normal_bae预处理器,光影效果提升比较明显。

语义分割

基础信息

语义分割可以在检测内容轮廓的同时将画面划分为不同区块,并对区块赋予语义标注,从而实现更加精准的控图效果。

观察下图我们可以看到,语义分割检测后的图像包含了不同颜色的板块图,画面中不同的内容会被赋予不同的颜色,比如人物被标注为红色、地面是棕色、灯牌是粉色等,在生成图像时模型会在对应色块范围内生成特定对象,从而实现更加准确的内容还原。

使用时建议选择默认的seg_ufade20k预处理器,大家也可以对预处理图填充色块来修改图片内容。

超清重绘

基础信息

超清重绘功能可以将低分辨率的图像转换为更高分辨率的版本,同时尽量减少质量损失。

三个预处理器:tile_resample(重采样)、tile_colorfix(色彩修正)、tile_colorfixsharp(锐化)。

*相较之下默认的resample在绘制时会提供更多发挥空间,内容上和原图差异不会很大。

线段识别

基础信息

线段识别提取的都是画面中的直线边缘,因此线段识别多用于提取物体的线型几何边界,最典型的就是几何建筑、室内设计等领域。

涂鸦上色

基础信息

检测生成的预处理图更像是蜡笔涂鸦的线稿,在控图效果上更加自由

预处理器

共四种:HED、PiDiNet、XDoG和t2ia_sketch_pidi

从下图可以看出前两者检测得到的轮廓线更粗,更符合涂鸦的手绘效果,后两种线条较细,适合写实风格

*可用于草稿图上色,具有一定随机性

边缘检测(hed)

基础信息

Hed 在物体周围创建清晰和精细的边界,输出类似于 Canny,它的有效性在于能够捕捉复杂的细节和轮廓,同时保留细节特征(面部表情、头发、手指等)。Hed 预处理器可用于修改图像的风格和颜色。

和canny相比,hed的线条更加柔和,保留的细节更多,使用时可以根据实际选取合适的预处理器。

色彩格子

基础信息

通过预处理器,我们可以得到色块处理结果,生成出来的图像会根据原有的色彩重新出图。

内容重组

基础信息

将参考图的所有信息特征随机打乱再进行重组,生成的图像在结构、内容等方面和原图都可能不同,但在风格上依旧能看到一丝关联。

内容重组使用场景并不多,因为它的控图稳定性比较差,用它来获取灵感可能是不错的选择

参考生成

基础信息

参考原图生成一张新的图像,建议使用默认的only预处理

控制权重:数值越大则画面的稳定性越强,原图的风格保留痕迹会越明显

重上色(recolor)

基础信息

给图片填充颜色,非常适合修复一些黑白老旧照片。但无法保证颜色准确出现特定位置上,可能会出现相互污染的情况

预处理器:intensity和luminance,推荐使用luminance

图片风格迁移(ip_adpter)

基础信息

将上传的图像转化为图像提示词,它可以识别参考图的艺术风格和内容,然后生成相似的作品,并且还可以搭配其他控制器使用。

操作方法

  1. 上传需要生成的原图A,选择控制网边缘检测、姿势控制、深度检测等

  1. 新增控制网ip_adapter,上传想继承的风格图B,最后点击生成

成品图:有B风格的图A

Last updated