我用diffusion把姐妹cos成了灭霸的模样

卷友们好,我是rumor。

关注早的朋友们应该知道,我有个姐妹,她去年回深圳老家了,本来我觉得还ok,还能再约着一起旅游。

谁知道一年多了,我还没出过北京(微笑。

以前有个快乐源泉,就是照她的黑照,但素材库已经好久没新增了。正好最近想学文生图,于是就只能对不起她了。

经过一番折腾,终于有了些效果,发到了B站上,欢迎大家验()收():

4c9016321191d267a823535947790fad.jpeg

点击文末阅读原文直达B站

下面,我分享一下这次可控生成的步骤,其实非常简单,有一点代码基础就能做。但请谨记,切勿滥用他人的照片,触犯隐私哦

实现流程

环境部署

这次是基于dreambooth这个算法做的,算法解读请见中森的总结。Github上已经有几个热门的dreambooth实现了,我直接用了我朋友做的库:

https://github.com/CrazyBoyM/dreambooth-for-diffusion

可以直接用他的镜像在autodl上创建实例,也可以部署到自己的机器,我直接用了autodl,创建完登录进去就可以用了。

预处理

我朋友提供了图像裁剪工具,但我建议手动截一下面部,不然自动居中后可能就没了。另外手动处理后记得把图片都保存为.png格式,不然读不到。

预训练模型下载

如果只用SDv1.5,可以直接:

git clone https://huggingface.co/runwayml/stable-diffusion-v1-5

它的生成风格偏写实,但很多写实照片都很阴间,于是我参考朋友建议,和二次元模型进行了融合,融合比例7:3。

如果要融合权重的话,需要下载这个版本的权重:

https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.ckpt

用我朋友的tools/ckpt_merge.py进行融合,然后再用tools/ckpt2diffusers.py转换成transformer库可读的版本。

如果要使用新出的SDv2版本,记得把diffusers库升级到0.9.0,同样是直接clone下来就能用:

git clone https://huggingface.co/stabilityai/stable-diffusion-2

P.S. 克隆下来之后发现巨大,24个G,直接把目录下的.git删掉就行,ckpt文件不融合也可以删掉。

但SDv2由于变化较大,很多SDv1的prompt都不适用了,所以我最终还是选择SDv1和二次元权重的融合。

训练与生成

图片和权重都准备好之后,直接用tools/train_dreambooth.py就可以训练啦,超参数可以用默认的,我语料多,就把学习率调低了点。

对于生成,直接输入自己写的prompt效果会比较差,细节也会比较阴间,比如她去看世界杯这张:

adc509f18ff28452e98933fe82ad63e9.jpeg

还有更多更阴间的,我自己看了都害怕。

这时候就要开启prompt大法了,我主要在lexica.art这个网站去搜索相关关键词,最终选出来生成漫威角色的prompt是:

[自定义] as thanos, realistic portrait, symmetrical, highly detailed, digital painting, artstation, concept art, smooth, sharp focus, illustration, cinematic lighting, art by artgerm and greg rutkowski and alphonse mucha

旅游照:

portrait of [自定义], sun glasses, taking a selfie, in front of colosseum, soft focus, 8 k, art by irakli nadar, hyperrealism, hyperdetailed, ultra realistic

最后,其实还是需要很多cherry pick的,大概生成几十张有一张还不错,感觉就是在「搜索模型的记忆」,看我姐妹的脸和哪张模型见过的差不多可以映射上,就会有很好的效果。

当然我认为还跟训练数据数量有关,在搜索prompt时我看过一些AI生成的名人照片,还都不错,但我自己尝试让姐妹跟马斯克握手还是有很大难度,结果都太阴间了。

最最后,欢迎大家投币支持哇!

51e32aefe741d297c5cc57525f4741d5.jpeg


我是朋克又极客的AI算法小姐姐rumor

北航本硕,NLP算法工程师,谷歌开发者专家

欢迎关注我,带你学习带你肝

一起在人工智能时代旋转跳跃眨巴眼

「我不允许有人还没看过我姐妹跳舞」085f7fe3f99393579045c2637a47b017.png

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值