卷友们好,我是rumor。

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

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

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

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

点击文末阅读原文直达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效果会比较差,细节也会比较阴间,比如她去看世界杯这张:

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

这时候就要开启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生成的名人照片,还都不错,但我自己尝试让姐妹跟马斯克握手还是有很大难度,结果都太阴间了。

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


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

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

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

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

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

我用diffusion把姐妹cos成了灭霸的模样相关推荐

  1. 电表检测部署应用:手把手教你把PPOCRLabel改成想要的模样

    0 项目背景 在之前的电表系列项目开展过程中,用户提出了这样一个需求: 给一批图片,希望有一个前端操作界面,应用训练的电表检测识别模型,实现批量预测待识别图片,并将识别后的电表编号.电表读数.文件名匹 ...

  2. 30 岁程序员生活图鉴,怎样算是活成了理想的模样?

    戳蓝字"CSDN云计算"关注我们哦! 文 | 年素清 来源 | 程序人生 第一批90后已近而立,相信他们中的每个人在年少的时候都曾经憧憬过长大后的图景:做医生当老师做大官,开飞机打 ...

  3. 社会会把你塑造成你讨厌的模样

    公司要做短信认证,就是输入手机号发个验证码,认证完成后可以上网. 鉴于平台限制的原因,选择一个自认为小公司的短信服务.个人注册个账号,发现最低套餐要3000块.在这时,有个客服打电话问了一下情况,给了 ...

  4. 【Paper Notes】DiffusionCLIP: Text-Guided Diffusion Models for Robust Image Manipulation

    论文链接 该论文发表在CVPR 2022上 目录 主要任务 方法介绍 DDPM/DDIM回顾 模型架构 Loss设计 Forward和Reverse过程 未知Domain之间的迁移 实验结果 参考文献 ...

  5. 简介:“筱家七姐妹”这名字奇奇怪怪

    好不容易抽出时间来写博客咯 关于"筱家七姐妹"这名字咋来的,应该从我一开始发布的"PYTHON大蟒蛇之添加机器人"起源的吧 一不小心在敲代码的时候打了" ...

  6. 天池csv转成grt代码里的luna的csv,pandas库来操作csv文件(pd.DataFrame,pd.concat,pd.Series,to_csv等)实现

    ps之前已经稍微处理过相关的csv文件,但是没有记录,发现基本忘光了看来记录还是一件非常重要的事情.碰巧DSB2017grt团队的代码里用的csv比较奇葩,我就把天池的数据的csv改成他们使用的模样. ...

  7. 中国空巢青年达2000万 一线城市成单身人群聚集地

    央广网北京4月8日消息(记者王晶 王晓蕾 高艺宁)这几天,临近毕业季,"空巢青年"这个词突然间又火了起来. 有人质疑,对年轻人来说,"空巢"的状态是普遍而正常的 ...

  8. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

  9. CCActionEase想说爱你也不难(上)

    尊重作者劳动,转载时请标明文章出处. 作者:Bugs Bunny 地址:http://www.cnblogs.com/cocos2d-x/archive/2012/03/13/2393898.html ...

最新文章

  1. CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式
  2. Spring Boot——HTTP访问重定向到HTTPS解决方案
  3. 《逻辑与计算机设计基础(原书第5版)》——3.9 二进制加法器
  4. maven 版本号插件_Maven内部版本号插件–用法示例
  5. 【渝粤教育】电大中专工程图学基础 (3)作业 题库
  6. 混合型面向对象语言和纯面向对象语言
  7. NumPy快速入门--形状操作
  8. npm包管理器小节一下
  9. ORA-01157: cannot identify/lock data file处理
  10. CentOS “libc.so.6: version ‘GLIBC_2.14‘ not found“解决方法,同理‘GLIBC_2.15‘ not found“
  11. C#实现Word批量转换Pdf
  12. 华科计算机专业课考研考什么,华科计算机考研专业课有哪些
  13. 【数据结构与算法分析1.2】编写一个程序求解字谜游戏问题
  14. html水平导航栏代码连接状态,水平导航栏1.html
  15. 积小胜为大胜 投资大师教你三种有效的投资方法
  16. flutter 保存图片
  17. 软件性能测试 容量测试,性能测试容量计算方法
  18. 【Android】之【WebView】
  19. php 获取目录分隔符,php目录分隔符DIRECTORY_SEPARATOR
  20. Myricetin/Myricitrin 杨梅素/杨梅苷98%,杨梅提取物

热门文章

  1. 关于请假申请的时间计算
  2. PTA L2-039 清点代码库
  3. opencv 角点检测
  4. pdf水印去除和word转换
  5. JAVA第二次作业《胖瘦程度计算》
  6. Sixth season fifteenth and sixteenth episode,things that could have been......(没有如果)
  7. subversion linux 服务器端搭建 源码安装
  8. 第一章第六题(数列求和)(Summation of a series)
  9. 全地形爆破赛小车的制作分享
  10. 基础篇 | 材质01 | 4种法线