Controlnet是什么? 如何配合Canny算法生成图像

2023年 7月 11日 70.5k 0

Controlnet是什么?

ControlNet is a neural network structure to control diffusion models by adding extra conditions.

ControlNet 是一种神经网络结构,通过添加额外条件来控制扩散模型。

     Controlnet提供了一种增强稳定扩散的方法,在文本到图像生成过程中使用条件输入,如涂鸦、边缘映射、分割映射、pose关键点等。可以让生成的图像将更接近输入图像,这比传统的图像到图像生成方法有了很大的改进。

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet能干什么?

  • ControlNet with Canny Edge (Canny 边缘检测)
  • ControlNet with M-LSD Lines(M-LSD 直线检测)
  • ControlNet with HED Boundary(在输入图像中保留许多细节,使这个应用程序适合重新着色和风格化)
  • ControlNet with User Scribbles(用户涂鸦)
  • ControlNet with Fake Scribbles(基于涂鸦的模型)
  • ControlNet with Human Pose(可以摆Pose)
  • ControlNet with Semantic Segmentation(语义分割)
  • 等等还有很多。感兴趣可以深入研究

我并非专家,对于Controlnet理解比较浅显,一句话说明:

controlnet是基于智能绘画AI-stable diffusion推出的一款功能强大的插件,它为文生图功能引入了新的控制方式,可以额外控制人物的具体姿势,景深,线稿上色等等,可以更稳定的控制画面。

官方案例展示效果

Controlnet是什么? 如何配合Canny算法生成图像

如何安装?

三分钟学会-Stable Diffusion拓展的使用

通用功能

Controlnet是什么? 如何配合Canny算法生成图像

  • 启用
    • 勾选后,点击生成按钮时,将会实时通过ControlNet引导图像生成,否则不生效。
  • Invert Input Color
    • 将你用画笔涂抹的区域颜色进行反转。
  • RGB to BGR
    • 颜色通道反转
  • Low VRAM
    • 低显存模式如果你的显卡内存小于4GB,建议勾选此选项。
  • Guess Mode
    • 猜测(盲盒)模式,不需要任何正面与负面提示词,出图效果随机。 备注:经本站测试,盲盒效果极佳,很有可能产生意想不到的惊喜效果!
  • Preprocessor
    • 该列表是模型选择,每个ControlNet的模型都有不同的功能,后续将会单独介绍。
  • 模型
    • 该列表的模型选择,必须与预处理选项框内的模型名称一致。
    • 如果预处理与模型不致也可以出图,但效果无法预料,且并不理想。
  • Weight
    • 权重,代表使用ControlNet生成图片的权重占比影响。
  • Guidance strength(T)
    • 中文为引导强度,在理解此功能之前,我们应该先知道生成图片的步数功能,步数代表生成一张图片要刷新计算多少次。
    • 假如你设置的生成步数是20步,引导强度设置为1时,代表这20步中的每1步都会被ControlNet引导1次,个人认为引导强度数值为1,效果最佳。
  • Resize Mode
    • 调整图像大小模式:默认使用缩放至合适即可,将会自动适配图片。
  • Canvas Width与Canvas Height
    • 画布宽高:请注意这里的宽高,并不是指SD生成图片的图像宽高比。
    • 该宽高代表ControlNet引导图像时所使用的比例,假如你用SD生成的图片是1000*2000的分辨率,那么使用ControlNet引导图像时,对显存的消耗将是具大的;我们可以将该分辨率设置为500*1000,也就是缩放为你原本图像一半的分辨率尺寸去进行引导,有利于节省显存消耗。
  • Create blank canvas
    • 如果您之前使用过ControlNet功能,那么将会在ControlNet的图像区域留有历史图片,点击该按钮可以清空之前的历史,也就是创建一张空白的画布。
  • Preview annotator result
    • 点击该按钮可以预览注释器结果
    • 例如:如果您使用Canny作为预处理和模型,那么点击该按钮之后,可以看到一张通过Canny模型提取的边缘线图片。
    • 如何:如果您使用OpenPose作为预处理和模型,那么点击该按钮之后,可以看到一张通过OpenPose模型提取的人物骨骼图片。
    • 如果现在看不懂也没有关系,后续将会对该功能进行详细的补充。
  • Hide annotator result
    • 隐藏通过Preview按钮生成的预览图像窗口【建议不隐藏】

实操教程

因果推论仿佛让机器具有了人一样的思考能力。

不使用Controllnet

使用以下prompt

prompt ,best quality ,masterpiece, illustration, an extremely delicate and beautiful, extremely detailed ,CG ,unity ,8k wallpaper, Amazing, finely detail, masterpiece,best quality,official art,extremely detailed CG unity 8k wallpaper,absurdres, incredibly absurdres, huge filesize , ultra-detailed, highres, extremely detailed,beautiful detailed girl, extremely detailed eyes and face, beautiful detailed eyes,light on face,(Hanfu:1.1),1girl, full body,full-body shot,
negative prompt sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, bad anatomy,(long hair:1.4),DeepNegative,(fat:1.2),facing away, looking away,tilted head, {Multiple people}, lowres,bad anatomy,bad hands, text, error, missing fingers,extra digit, fewer digits, cropped, worstquality, low quality, normal quality,jpegartifacts,signature, watermark, username,blurry,bad feet,cropped,poorly drawn hands,poorly drawn face,mutation,deformed,worst quality,low quality,normal quality,jpeg artifacts,signature,watermark,extra fingers,fewer digits,extra limbs,extra arms,extra legs,malformed limbs,fused fingers,too many fingers,long neck,cross-eyed,mutated hands,polar lowres,bad body,bad proportions,gross proportions,text,error,missing fingers,missing arms,missing legs,extra digit, extra arms, extra leg, extra foot,

查看作品:

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

这里发现,我们生成的图片动作都是随机的,即使使用了动作描述也可能无法满足我们的需要,这时候我们就是使用到拓展Controlnet

使用Controllnet

  • 第一步找到想要动作的图片,比如ikun
  • 下载ControlNet模型
  • 将参照图拖入ControlNet,配置相关参数
  • 生成测试

第一步:找图片就随意,就这个动作吧

Controlnet是什么? 如何配合Canny算法生成图像

第二步:下载ControlNet模型

下载地址:https://huggingface.co/lllyasviel/ControlNet/tree/main/models

选择如下:

 

Controlnet是什么? 如何配合Canny算法生成图像

本次测试选择:control_sd15_canny.pth

将模型放在model/ControlNet目录下

Controlnet是什么? 如何配合Canny算法生成图像

第三步:拖入ControlNet,配置相关参数

Controlnet是什么? 如何配合Canny算法生成图像

配置页面如下

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

拖入我们准备的图片

Controlnet是什么? 如何配合Canny算法生成图像

其他配置选择

Controlnet是什么? 如何配合Canny算法生成图像

注意:预处理选项要和model保持一致

Controlnet是什么? 如何配合Canny算法生成图像

点击最下方 预览预处理结果/Preview annotator result

Controlnet是什么? 如何配合Canny算法生成图像

预览结果如下:

Controlnet是什么? 如何配合Canny算法生成图像

生成测试

1.直接点击生成(未写提示词)

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

2.增加提示词(提示词如上)

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

Controlnet是什么? 如何配合Canny算法生成图像

动作和原图基本一致

小结

本文只介绍ControlNet配合Canny算法的使用,其他算法希望朋友们自行测试,好玩的地方还有很多,值得你好好探索,加油吧!

相关文章

班迪录屏怎么取消截图水印设置
班迪录屏怎么改存储位置
bandicam录制的视频默认存储在哪
网易云音乐电脑怎么设置播放器样式
酷狗音乐如何创建歌单
酷狗音乐如何单曲循环播放

发布评论