让Ai帮你工作(4)--锁定图片生成角色

背景:

Gpt4多模态模型上来后,MJ也是紧接着发布了V5,微软发布自己Ai作图工具,Abode、unity这些传统老牌作图软件工具也是紧跟着发布自己的AI作图插件工具。这已经标志着Ai作图已经成为计算成像的另一条生成链。

各大厂都已经发布了这么多的工具,开箱即用。我们是否还需要学习Ai作图code层面东西?我个人的回答是必须要,确实是对于一般用户或者艺术家,只要利用工具做内容生成和创造就行,做好美的裁判和艺术的架构。但是对于想在这个行业深入发展的非艺术家和玩玩就可以的从业者,了解了底层模型原理,知道如何训练自己风格和要求的模型来为自己服务是必须的。至少有以下几大好处:

1.有自己的风格和素材积累

2.模型是自己的,想怎么用就怎么用,想怎么改就怎么改

3.可以提炼自己的生产工艺,做出自己特色

4.否则你不过是大厂模型迭代的免费标注员或者燃料而已

上面部分纯粹是自己一些想法,各位看官看看久罢。切入正题,几天前有个读者说是用想实现角色锁定,然后利用大模型的强大表征力生产不同场景和风格的图;他试了dreambooth产出图效果很差,让我帮他看看能不能训一个可用网络。这篇文章会结合这个案例来对角色锁定神器dreambooth做介绍。

技术点介绍:

角色锁定思路:

1.用需要锁定的图来调校图embbeding,调校后的embedding更好的表达要锁定的类:texual inverse

2.训练时候,在图表示的高纬空间,让每个物体元素embeding更好的解耦,这样每个embbding在高维空间就能够尽可能表示单一物体(ID),用的时候就可以锁定物体,修改背景:instructpix2pix

3.训练时候,用身份ID(特殊文字字符)和图的embedding空间anchor(为了学的更好,可以利用这类物体共享参数,相当于先锁定大类的emebbding,特殊个体在学习,锁定细节),同步会对网络参数修改;这个方法和2的区别在于2是对人类修改过程建模,这个方法是对图、文分布做调整:dreambootn

通常3-5张图像(要保证效果5-10张更好),和相应的类名(例如“狗”)作为输入,返回一个经过微调/“个性化”的文本到图像模型,该模型编码一个唯一的标识符,指代特定的主题(例如,特定的狗)。然后,在推理阶段,我们可以在不同的句子中插入唯一标识符(上图是[V]),以合成不同背景下的主题。

给定一组约3-5张主题图片,我们可以通过以下两个步骤对文本到图像扩散模型进行微调:

(a) 使用包含唯一标识符和主题类别名称的文本提示(例如,“一张[T]狗的照片”)与输入图像配对来微调低分辨率的文本到图像模型,同时并行应用类别特定的先验保持损失,利用模型对类别的语义先验,通过将类别名称注入文本提示来鼓励模型生成属于该主题类别的多样化实例(例如,“一张狗的照片”)。

(b) 使用从输入图像集中获取的低分辨率和高分辨率图像对来微调超分辨率组件,从而使我们能够保持对主题小细节的高保真度。通过微调模型,能够在不同环境下生成不同的图像,保留了主题细节并展现出场景与主题之间的真实互动。

对应两部分loss,在代码体现:

if args.with_prior_preservation:# Chunk the noise and noise_pred into two parts and compute the loss on each part separately.noise_pred, noise_pred_prior = torch.chunk(noise_pred, 2, dim=0)noise, noise_prior = torch.chunk(noise, 2, dim=0)# Compute instance lossloss = F.mse_loss(noise_pred.float(), noise.float(), reduction="none").mean([1, 2, 3]).mean()# Compute prior lossprior_loss = F.mse_loss(noise_pred_prior.float(), noise_prior.float(), reduction="mean")# Add the prior loss to the instance loss.loss = loss + args.prior_loss_weight * prior_loss
else:loss = F.mse_loss(noise_pred.float(), noise.float(), reduction="mean")accelerator.backward(loss)

实操:

1.下载代码

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

下载完文件夹如上

2.把图片下载放到 项目datasets下的test文件夹,执行以下代码做尺寸放缩

python tools/handle_images.py ./datasets/test ./datasets/test2 --width=512 --height=512

需要训练数据放标蓝的文件夹

3.对裁剪放缩好的图片打标

python tools/label_images.py  --path=./datasets/test2 

txt文件就模型是对每张图自动打的标签,右边文件显示英文就是打的标签样子

4.开始训练

a.如果需要训练特定人、事物: (推荐准备5-10张风格统一、特定对象的图片)

sh train_object.sh

5.Lora实现

现在每个锁定角色就要一个模型,很浪费资源,后面文章会详细介绍如何用lora(几十M)增量学习,用更小的存储实现一样效果

小结:

1.介绍了角色锁定的三种思路

2.介绍了dreambooth为何能够通过特殊符号实现角色锁定、细节锁定

3.给了一个github,4步操作就可以实现自己的dreambooth模型

4.这个github属于几个月前项目,diffuser已经把dreambooth项目封装进库,后面在介绍lora时候会用diffuser更精简干净带大家实现dreambooth角色锁定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22147.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LLM】大模型值得探索的十个研究方向

note 基础理论:大模型的基础理论是什么? 网络架构:Transformer是终极框架吗? 高效计算:如何使大模型更加高效? 高效适配:大模型如何适配到下游任务? 可控生成:如何实…

R语言 星相图和stars函数的用法

星相图是雷达图的多元表达形式,每个变量在图中都占据着一定的位置,想绘制一幅星相图,需要用到Rstudio中自带的graphic包得stars()函数 其用法如下: stars(x,full TRUE,draw.segments FALSE,key.locc(xcoo…

r语言绘制星相图

星相图是雷达图的多元表达形式,每个变量在图中都占据着一定的位置,想绘制一幅星相图,需要用到Rstudio中自带的graphic包得stars()函数 其用法如下: stars(x,full TRUE,draw.segments FALSE,key.locc(xcoo…

r语言中将茎叶图旋转90度_R语言(02)绘图

基本图形的绘制 在R语言(01)中,最后的一个综合训练,我们生成了一部分数据,现在我们就用这些数据为例,来展示R是如何绘制一些图表的。 数据的导入 通过读取数据文件,我们可以导入之前产生的数据。 1 2 3 4 5 6 7 8 9 10…

R语言小总结(基础篇)

🐱‍🐉🐱‍🐉🐱‍🐉一起来干R语言,冲冲冲!!! 🤗🤗🤗欢迎大佬们来指点指点鸭~~~ 参考资料: 1.多元统计分析及R语…

APISpace 生日密码API

APISpace 的 生日密码 API,根据出生日期查询生日密码。每个人的生日都是个迷,星相命理给我们生命的启示,不同的生日都会有不同的命运。生日总有神奇的暗示,凭出生日期的数字测出内在性格和潜在力量。这里帮你揭开【生日密码】的神秘面纱。 返…

R 多元数据可视化

多元数据可视化 1.数据描述2.调入数据3.条图3.1 按行做均值条图3.2 按列做均值条图 4.箱尾图5.星相图5.1具有图例的360度星相图5.2具有图例的180度星相图 6. 脸谱图(需加载aplpack)7. 调和曲线图(需加载mvstats包)8. 案例全部程序…

R(现代统计图形)软件的使用

1.R软件的下载安装 1.R官网地址:https://www.r-project.org/ 2.下载流程: 3.安装: 双击运行,语言简体中文,问题不大,都懂的,能不装C盘就不装: 后面我都默认。 4.安装成功&…

面向IoT的协议选择思考

对于使用传感器和保持连接性的IoT系统而言,如何使用这些元素和多种互联网技术相结合呢? 互联网协议并不陌生, 但是IoT相关的互联网协议可能是有不同, 有些协议被用来辅助塑造系统。TCP/IP协议栈上有多个应用层协议, 每种协议都有自己的优势和…

【多元统计分析与R语言】【详解】使用教材P84页表3-2进行多元数据简单R分析:定量变量的分析(直方图、散点图)、定性变量的分析并绘制绘制均值条图、箱尾图、星相图、调和曲线图

可视化[教材P84页表3-2] 1.题目2.题目详解2.1.多元数据简单R分析:定量变量的分析(直方图、散点图)、定性变量的分析(单因素分析、多维列联表)。参考教材P45-P52页。2.2.绘制均值条图、箱尾图、星相图、调和曲线图。参考…

星相

今天看了一个死于白血病17岁男孩的盘,心情沉重。人逃不过宿命,当这个宿命是死亡的时候,就额外让人无奈。尤其是,你看到命运已经这样写下了。我还是比较喜欢卜卦盘,简单直接。问的问题也比较不关痛痒,跟这个…

R语言实战--R语言数据可视化中各种图形的函数命令及含义(散点图,星相图,箱线图等)

散点图 > plot(x1,x2)直方图 可以用来表示不同值出现的频率 > hist(x$x1)箱线图 > boxplot(x$x1,x$x2,x$x3)箱子中间的黑色粗线为样本的中位数。比如第一个图为90箱子的上下横线分别表示样本的25%分位线以及75%分位线,意思是有25%的样本数在上横线以上。…

R以国民CPI数据为例绘制箱尾/条状/星相/饼图

本博文源于暨南大学的mooc课程《多元数据统计分析》,如果大家没有装R语言的,可以查看此博文,手把手带你装R R语言安装 下面我们就开始今天的学习吧(ps:博主看matlab看哭了,太难了)。 国民CPI数据分析准备 我会把这个数据上传至资…

取代ChatGPT,腾讯的二次元生成器居然成海外网友新宠​

海外爆红,服务器被挤垮,还顺手普及了点中文? —— 文|杜晨 编辑|VickyXiao 图片来源 | 腾讯 还在沉溺于 ChatGPT 无法自拔? 外国网友早就 move on 了! 这两天,另一个AIGC&#…

当 ChatGPT 教我学操作系统

还记得 2021 年 11 月 8 号我开始写 Linux 0.11 的源码解读系列。 当初为了写这个系列,把 Linux 0.11 源码和相关解读的书籍都翻烂了,查阅资料理解代码的过程非常痛苦,有的时候一个小的卡点就要好几天才能整明白。 就比如最开头的位于 boots…

《花雕学AI》你知道人工智能ChatGPT在10秒钟里能写出多少种标题吗?我试了24次,惊呆了!

今天准备测试AI绘画,使用几个不同的AI平台来生成猫娘图片,以此具体学习绘图的AI咒语。这篇博客用什么标题好呢?于是,我开始关心如何优化标题,还是老办法,不懂就问ChatGPT(没有正式账号&#xff…

【固收研究】资金面分析

资金面,参考了一些友商的研究,主要是看货币政策,一般是从两个角度出发,一个是回购市场方面,也就是央行的公开操作;另一个是利率方面,主要是分析同业存单利率,也叫从存单市场方面进行…

建议设计师一定要尝试的副业排名TOP1!

要说这年头最苦逼的职业,我觉得非建筑设计师不可! 每次项目结束,甲方嗨了,领导爽了,只有咱们设计师继续爆肝下一个需求。 毕竟在项目里,甲方爸爸就负责拍拍脑袋,抛个时间,再闭着眼…

Python+Qt桌面端与网页端人工客服沟通工具

程序示例精选 PythonQt桌面端与网页端人工客服沟通工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt桌面端与网页端人工客服沟通工具>>编写代码&#xff0c;代码整洁…

科技云报道:“火到爆炸”的ChatGPT,为何当不了智能客服?

科技云报道原创。 任何新兴技术都像一个奇点&#xff0c;充满无限可能、无限想象。你永远无法想到它将以怎样的姿态呈现在人们的面前。 21世纪以前&#xff0c;“AI大爆炸”的设想似乎还只是科幻小说家们杞人忧天的设想。 如今&#xff0c;却有越来越多的人开始严肃地思考一…