太实用了!关于ControlNet,这篇你一定要看

一篇文章教会你,从入门到使用。

这里是行者AI,我们专注于人工智能在游戏领域的研究和应用,凭借自研算法,推出游戏AI、智能内容审核、数据平台等产品服务。

controlNet控制生成

anypaint

让我们通过设置各种条件来让AI更可控地生成最终图像结果。这些条件就是通过调节预处理器参数来实现的,所以我们首先要先了解下 ControlNet 各种预处理器的功能,展示部分预处理器效果如下:

每个 ControlNet 的预处理器都有不同的功能接下来我们具体一个一个来看,他们究竟是什么?怎么用?什么时候用哪个?或者那些合适?

(表格太长,完整表格已放评论区,需要自取)

1.Canny 边缘检测

Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,帮助我们标注轮廓、动作、衣服褶皱、表情等等画面的细节,多用在3转2;常用于生成线稿。
缺点:主体容易被其他的背景影响
 

Depth 深度检测

通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。

MiDaS 深度信息估算

● 用来表示空间距离,也就是前后距离,体现透视关系;越白的就越靠前,越黑的就越往后
● 可以用来更换背景、主体、还有画风之类的东西;有时我们也可以用于生成遮罩蒙版。
● 深度图可由3D软件生成,也可以使用PS
● 如果用人像来检测的话,边缘轮廓没问题,但白色里面是没有细节的,所以单独使用的话一般就用风景,或者能表示纵深关系的图。

LeReS 深度信息估算


LeReS 深度信息估算比 MiDaS 深度信息估算方法的成像焦点在中间景深层,这样的好处是能有更远的景深,且中距离物品边缘成像会更清晰,但近景图像的边缘会比较模糊,具体实战中需用哪个估算方法可根据需要灵活选择。
如下图能看出我们很好地控制住了生成结果的整体结构,这与原图基本保持一致。

HED 边缘检测

HED 边缘检测可保留更多柔和的边缘细节,类似手绘效果。

参数也是分辨率越高越精细,但也越吃显存。
相对于使用普通的 img2img ,边缘线提取的方式可以生成更加清晰完整的图,黑色描边也得到了很好的重绘。

M-LSD 线条检测

  • 适用于四四方方的场景,建筑物,物体,房间、车辆等,生成的预览图就是很正直的线条
  • 非常适合搞建筑和室内设计的朋友用

  • 直线检测mlsd与canny区别 mlsd只会检测直线,而canny会检测所有边缘线条 如图里的人物,canny会检测出来并生成灯

Normal Map 法线贴图

Normal Map 法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。

  • RGB 转 BGR

如需要把 Normal map 从 RGB 反转成 BGR 的可把这个选项勾上。(注:因坐标系问题,有时需要反转下通道信息,如生成结果的光照信息和你预期是反的,可能需要勾选此选项)

OpenPose 姿态及手部检测解决了姿态检测手的问题。如下图有了手部骨骼控制生成的手部效果会更好。

除了生成单人的姿势,它甚至可以生成多人的姿势,这点非常关键,在此之前AI生成的画面里多个人物的特定动作是几乎无法靠提示词来实现的。
通过控制人物姿势,在人物角色设计时也可以得到很好应用。

PiDiNet 边缘检测(像素差分网络,配合 hed 模型)

PiDiNet 边缘检测生成的线条较粗壮,类似雕刻效果。这个预处理器要配合选择 hed 模型效果才会比较好。

Scribble 涂鸦(要配合 scribble 模型)

Fake_Scribble 伪涂鸦

不用自己画,扔个图片给AI,生成类似涂鸦效果的草图线条。
该算法提取了曝光对比度比较明显的区域,以此来重新引导。可以看到提取的涂鸦,仅保留了曝光度对比较大的部分,但是细节保留的很不错,细节保留的越多,那么重新引导时所能更改的部分就越小。

Reference 参考原图

参考原图的风格或角色
reference只有预处理器,不需要模型,该功能对于保持人物角色也有不错的效果。

anypaint中界面具体操作解释:

  • 启用
    勾选此选项后,点击 “生成” 按钮时,ControlNet 才会生效。
  • 反色模式(Invert Input Color)
    将图像颜色进行反转后应用。
  • RGB 转 BGR(RGB to BGR)
    把颜色通道进行反转,在 NormalMap 模式可能会用到。
  • 低显存优化(Low VRAM)
    低显存模式,如果你的显卡内存小于等于4GB,建议勾选此选项。
  • 无提示词的猜测模式(Guess Mode)
    也就是盲盒模式,不需要任何正面与负面提示词,出图效果随机,很有可能产生意想不到的惊喜效果!
  • 预处理器(Preprocessor)
    在此列表我们可选择需要的预处理器,每个 ControlNet 的预处理器都有不同的功能,后续将会详细介绍。
  • 模型(Model)
    配套各预处理器需要的专属模型。该列表内的模型必须与预处理选项框内的名称选择一致,才能保证正确生成预期结果。如果预处理与模型不致其实也可以出图,但效果无法预料,且一般效果并不理想。
  • 权重(Weight)
    权重,代表使用 ControlNet 生成图片时被应用的权重占比。
  • 引导介入时机(Guidance Start(T))
    在理解此功能之前,我们应该先知道生成图片的 Sampling steps 采样步数功能,步数代表生成一张图片要刷新计算多少次,Guidance Start(T) 设置为 0 即代表开始时就介入,默认为 0,设置为 0.5 时即代表 ControlNet从 50% 步数时开始介入计算。
  • 引导退出时机(Guidance End(T))
    和引导介入时机相对应,如设置为1,则表示在100%计算完时才会退出介入也就是不退出,默认为 1,可调节范围 0-1,如设置为 0.8 时即代表从80% 步数时退出介入。
  • 缩放模式(Resize Mode)
    用于选择调整图像大小的模式:默认使用(Scale to Fit (Inner Fit))缩放至合适即可,将会自动适配图片。
    一共三个选项:Just Resize,Scale to Fit (Inner Fit),Envelope (Outer Fit)
  • 画布宽度和高度(Canvas Width 和 Canvas Height)
    画布宽高设置,请注意这里的宽高,并不是指 SD 生成图片的图像宽高比。该宽高代表 ControlNet 引导时所使用的控制图像的分辨率,假如你用 SD 生成的图片是 1000x2000 分辨率,那么使用 ControlNet 引导图像时,对显存的消耗将是非常大的;我们可以将引导控制图像的分辨率设置为 500x1000 ,也就是缩放为原本图像一半的分辨率尺寸去进行引导,这有利于节省显存消耗。
  • 创建空白画布(Create Blank Canvas)
    如果之前使用过 ControlNet 功能,那么将会在 ControlNet 的图像区域留有历史图片,点击该按钮可以清空之前的历史,也就是创建一张空白的画布。
  • 预览预处理结果(Preview Annotator Result)
    点击该按钮可以预览生成的引导图。例如:如果使用 Canny 作为预处理器,那么点击该按钮之后,可以看到一张通过 Canny 模型提取的边缘线图片。
  • 隐藏预处理结果(Hide Annotator Result)
    点击该按钮可以隐藏通过 Preview 按钮生成的预览图像窗口(不建议隐藏
  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值