网友们在线求教程
金磊 发自 凹非寺
非常AI | 公众号 QbitAI
四位美少女,带着AI画画在ChatGPT的热浪中杀出了一片天地。
新“魔法”一出,瞬间吸引全场目光:
原本是一张四个闺蜜在沙滩边上的普通合影照:
在新魔法的加持下,“啪的一下”画风两极反转,瞬间进入唯美动漫风:
还有效果截然不同的,例如酱紫:
不仅是动漫画风效果上的惊艳,就连人物的pose也是保持得“原汁原味”,美女们这下子算是分分钟实现了动漫自由。
如此效果一出,也是引来了不少网友们的围观,直呼“在线求教程”:
也有不少人呼吁可以将这套玩法商业化了:
两大AI高手联动
使出这套AI组合拳的,是一位叫“viggo”的华人小哥博主。
他所持的两大法宝分别是:左手StableDiffusion,右手ControlNet。
StableDiffusion,相信很多友友们都已经很熟悉了,是根据输入提示的文本,就可以快速出图的AI作画神器。
ControlNet,则是新晋当红AI插件(GitHub上线2天狂揽4.6K星),相当于给AI作画这事加了buff,可以精准控制手部细节和整体结构等。
小哥的做法说起也是比较简单,就是先将原图导入进去,用StableDiffusion图片转文字。
再用Text2Prompt插件拓展找到对应的关键词;最后用ControlNet插件绑定骨骼开始换关键词试效果。
当然,原图中四位美女的姿势,也可以根据小哥绘制骨骼结构的不同发生相应的改变。例如这样的:
相比原图中人物的位置,上面这张中的人物更分散了一些,也站到了一排;以及上半身手臂的姿势也发生了变化。
也是得益于StableDiffusion的能力,AI生成画作在画风上也能产出截然不同的效果:
效果之惊艳,已经有网友按耐不住,照着小哥的说法“复现”了一遍,并表示:
第一次接触,很好玩,尝试复现下,感觉良好。
不过有一说一,这位新晋AI作画顶流插件ControlNet的“神通”可不仅于此。
简单几笔也可画出真人效果
例如微博博主“海辛Hyacinth”便分享了他用ControlNet插件后“草图变美女”的玩法。
他先是找了一张线稿:
然后是开启了ControlNet的scribble模细化效果,便得到了这样的结果:
效果之逼真,也是令人叹服了。
“海辛Hyacinth”还测试了在同一seed下不同参数的效果:
有小伙伴就要问了,那如果关闭了ControlNet,效果会如何?别急,博主也做了测试,效果是这样的:
“海辛Hyacinth”的这波操作也是得到了ControlNet作者的认可:
这也把博主本人激动坏了,直呼“尖叫”:
当然,ControlNet还可以实现其它诸多的功能,例如在装修设计上,可以输入一张拍好的卧室图,分分钟输出草图和换了风格的效果图:
以及在ControlNet的在线网站中,也提供了许多不同功能玩法体验,感兴趣的小伙伴可以去尝试哦:
给AI画画模型加buff
ControlNet的原理,本质上是给预训练扩散模型增加一个额外的输入,控制它生成的细节。
这里可以是各种类型的输入,作者给出来的有8种,包括草图、边缘图像、语义分割图像、人体关键点特征、霍夫变换检测直线、深度图、人体骨骼等。
那么,让大模型学会“按输入条件生成图片”的原理是什么呢?
ControlNet整体思路和架构分工如下:
具体来说,ControlNet先复制一遍扩散模型的权重,得到一个“可训练副本”(trainable copy)。
相比之下,原扩散模型经过几十亿张图片的预训练,因此参数是被“锁定”的。而这个“可训练副本”只需要在特定任务的小数据集上训练,就能学会条件控制。
据作者表示,即使数据量很少(不超过5万张图片),模型经过训练后条件控制生成的效果也很好。
“锁定模型”和“可训练副本”通过一个1×1的卷积层连接,名叫“0卷积层”。
0卷积层的权重和偏置初始化为0,这样在训练时速度会非常快,接近微调扩散模型的速度,甚至在个人设备上训练也可以。
例如一块英伟达RTX 3090TI,用20万张图像数据训练的话只需要不到一个星期:
作者基于当前大火的Stable Diffusion进行了具体实现,主要架构如下:
针对不同的输入,作者也给出了对应不同的模型,生成效果也都不错。
具体效果,就如我们刚才所展示的那样了。
One More Thing
最后来一个温馨提示……男同胞们不要觉得2月14日这个情人节过完就安全了。
接下来还可能有白色情人节(3月14日)、黑色情人节(4月14日)、玫瑰情人节(5月14日)、亲亲情人节(6月14日)……
赶紧把这套“AI组合拳”学起来,送自己的老婆/女朋友一张唯美的礼物吧!
参考链接:
[1] https://twitter.com/decohack/status/1627378506857611264
[2] https://weibo.com/timerainer1015
[3] https://github.com/lllyasviel/ControlNet
[4] https://twitter.com/lvminzhang/status/1627142848788463616