stable diffusion中,ControlNet主要是用来控制图像中物体的姿态。
在5月份的时候,ControlNet迎来了重大更新,新更新的功能叫“reference-only”,它不需要任何的控制模型,只需要在文本提示词的指导下,调节图像的细节。
这就相当于让软件自己学会了PS,我们只需要在旁边给指导提示词就可以了。不得不感叹一句,AI终于学会自己P图了
比如你给定了一张狗的图片,然后给定提示词语:一只狗在草地上奔跑
这种方法很想Stable-Diffusion中的inpaint功能,但是区别在于,inpaint功能往往需要先在图片上mask掉需要替换的部分,而且生成的部分和原始图像风格不太一致。比如我之前生成的图片:
但是ControlNet的这个新功能,在图像风格上保持了统一,同时细节上更能够进行调节,比inpaint功能好用很多。
在二次元领域方面,只要你给他输入原图,ControlNet就会给你返回不同姿势的图片,且其风格保持一致:
而在真人图像领域上,作者lllyasviel 首先利用Midjourney生成一张真人图片
然后再用ControlNet生成不同姿态的图片,其过程仅仅只输入了简单的提示词:woman in street, masterpiece, best quality
打开网页的“扩展”,利用URL下载ControlNet插件:
https://github.com/Mikubill/sd-webui-controlnet.git
同时要下载对应的ControlNet模型,可以跳转到:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main 进行下载
然后把模型放到stable-diffusion-webui\extensions\sd-webui-controlnet\models路径下
其中不同模型有不同的功能,在具体使用的时候可以选择不同的模型进行导入:
首先可以去C站(https://civitai.com)任意下载一个生成人物的模型,比如我这里选择一个叫majicMIX的模型:
下载完成后放置到models/Stable-diffusion目录下:
提示词:best quality, masterpiece, ultra high res, photorealistic, 1girl, offshoulder, smile
反向提示词:ng_deepnegative_v1_75t, (badhandv4:1.2), (worst quality:2), (low quality:2), (normal quality:2), lowres, bad anatomy, bad hands, ((monochrome)), ((grayscale)) watermark, moles
把生成的图片保存后,可以导入到ControlNet中:
然后点击生成,就可以看到不同姿态的同一个人物的形象:
想要同一个人物,换不同的背景也很简单,只需要在提示词上限定“in street”就可以:
这种方法,能够很方便的让你在保持图像的同时,调节细节部分,因此有人称
虽然这个方法目前还不是很完美,但是假以时日,技术的不断进步将会更加方便我们。