ControlNet作者搞起大模型!解决大家不会写提示词的痛点!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【Mamba/扩散/多模态】交流群

添加微信:CVer5555,小助手会拉你进群!

扫描下方二维码,加入CVer学术星球!可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文/搞科研/涨薪,强烈推荐!

a82c8e0cecbb6c123034176a7ac18143.jpeg

梦晨 西风 发自 凹非寺
转载自:量子位(QbitAI)

ControlNet作者新项目,居然也搞起大模型和Agent了。

当然还是和AI绘画相关:解决大伙不会写提示词的痛点。

现在只需一句超简单的提示词说明意图,Agent就会自己开始“构图”:

a funny cartoon batman fights joker(一幅有趣的卡通蝙蝠侠与小丑战斗的图画)

2f3cbcac5ae15971e7c6ec8584a4b31b.png
9e4cc185a7356ab74e0a5c21f36c04b7.png

这就是ControlNet作者Lvmin Zhang的新玩具Omost。Omost这个名字有双层含义:

  • 发音与英文单词almost(几乎)相似,意味着每次使用Omost后,用户所需的图像几乎就完成了;

  • “O”代表“omni”(全能的),“most”表示希望最大限度地利用它。

这个新项目让网友直呼:也太强了!

f7f0877f1eeae0f63d18e37d7b1709f2.png

放大翻译成中文来看,用户简短的提示词会被拆解扩展,从图像全局描述到局部每个元素的都会详细说明,直观地指定图像中各个元素的位置和大小。

之后,特定图像生成器根据LLM描绘的“蓝图”创建最终的图像。

cbe36063c1a7b6032cf06f89978a6d20.png

而且,已经完成的图像整体布局可以保留,想修改画面中的某个元素,也只需一句提示词。

原版是这样婶儿的:

generate an image of the fierce battle of warriors and the dragon(生成勇士与龙的激烈战斗的图像)

09468e494eefda49af621ff02bdb12a2.png

然后把龙变成恐龙:

642c4b8e47962a1187e92e3d2c79bfe5.png

00c0fa82d907b4b58948f6618202828e.gif

目前,Omost用来生成代码的LLM有基于Llama3和Phi3变体的三种模型,Lvmin Zhang还放出了Demo大伙儿可以试玩。

网友们第一时间也纷纷上手尝试:

46d325c25a65c7c7754e2b59cd415594.png

不禁感慨Lvmin Zhang的项目都很鹅妹子嘤:

fd2871ac4c048b804cd71b738b75d5f6.png

729个框,设定图像所有元素的位置

Omost目前提供基于Llama3和Phi3变体的三种LLM。

下面扒开Omost看看里面有什么。

首先,所有的Omost LLM都经过训练,可以提供严格定义的子提示,大伙儿可以利用其来设计无损文本编码方法。

“子提示”(sub-prompt)指的是如果一个提示少于75个token,并且能够独立描述一个事物,不依赖于其他提示,就是“子提示”。

Omost通过预定义的位置、偏移量和区域这三大参数来简化图像元素的描述。

首先将图像划分为3*3=9个位置:

54fff15ed3592f901269be0192b03bd2.png

然后进一步将每个位置划分为33个偏移量,得到99=81个位置:

1dc7d13a79905390ad7614bd7cc92500.png

以这些位置为中心,进一步定义了 9 种类型的边界框:

d02673fed60158abead694213f882fe1.png

如此一来就涵盖了999=729个不同的边界框,几乎涵盖了图像中元素的所有常见可能位置。

接下来,distance_to_viewer和HTML_web_color_name两大参数调整视觉表现。

组合distance_to_viewer和HTML_web_color_name可以绘制出非常粗糙的构图。

例如,如果LLM效果良好,“在暗室的木桌上的红瓶子前面有一个绿色瓶子”应该可以计算出如下图像:

fdb2df171da9851d984124661610ff34.png

此外,ControlNet作者Lvmin Zhang还提供了一个基于注意力操纵的Omost LLM的baseline渲染器。并总结了目前要实现区域引导的扩散系统的一些选择。

基于注意力分数操作,他编写了一个baseline公式,并认为这种无参数公式是一个非常标准的baseline实现,几乎会引入zero style偏移或质量下降。将来,他们可能会考虑为Omost训练一些参数化方法。

具体来说,现在考虑一个只有2*2=4像素的极简化图像:

3bdaaf007df9352c667b7fe50bfd0d9c.png

有三个提示“两只猫”、“一只黑猫”、“一只白猫”,有它们的掩码:

34121117c4e97697fba834bf28b2f328.png

然后就可以画出这个注意力分数表:

9da8e84f6a9d23bf65d6c8d131a312a3.png

简而言之,就是通过调整注意力分数来控制模型在不同区域的关注度,来实现更精细的图像生成。

此外,Lvmin Zhang还发现了另一种可以提高提示理解的技巧,并称其为提示前缀树(Prompt Prefix Tree)。

因为现在所有的提示都是可以任意合并的子提示(所有子提示严格少于75个token,通常少于40个标记,描述独立的概念,并且可以任意合并为clip编码的常规提示),找到一种更好的方法来合并这些子提示可能会改进结果和提示描述。

例如,下面是一个全局/局部整体/详细描述的树结构:

a635944e4bcb222485b503b7358ac54e.png

由于所有子提示都可以任意合并,因此可以将此树形图中的路径用作提示。

例如,下面的路径将给出提示“一只猫和一只狗。沙发上的猫”。

b9ff3a8fec26c7602bbd0b33ed4f5666.png

感兴趣的家银亲自上手玩玩吧~

GitHub链接:https://github.com/lllyasviel/Omost
Demo链接:https://huggingface.co/spaces/lllyasviel/Omost

何恺明在MIT授课的课件PPT下载

在CVer公众号后台回复:何恺明,即可下载本课程的所有566页课件PPT!赶紧学起来!

CVPR 2024 论文和代码下载

在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集

Mamba、多模态和扩散模型交流群成立

 
 
扫描下方二维码,或者添加微信:CVer5555,即可添加CVer小助手微信,便可申请加入CVer-Mamba、多模态学习或者扩散模型微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF、3DGS、Mamba等。
一定要备注:研究方向+地点+学校/公司+昵称(如Mamba、多模态学习或者扩散模型+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

 
 
▲扫码或加微信号: CVer5555,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!

▲扫码加入星球学习
 
 
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值