ControlNet作者新名目,居然也搞起大模型和Agent了。
当然还是和AI绘画关系:处置大伙不会写提醒词的痛点。
如今只要一句超便捷的提醒词说明用意,Agent就会自己开局“构图”:
这就是ControlNet作者Lvmin Zhang的新玩具。Omost这个名字有双层含意:
这个新名目让网友直呼:也太强了!
加大翻译成中文来看,用户冗长的提醒词会被拆解裁减,从图像全局形容到部分每个元素的都会详细说明,直观地指定图像中各个元素的位置和大小。
之后,特定图像生成器依据LLM描画的“蓝图”创立最终的图像。
而且,曾经成功的图像全体规划可以保管,想修正画面中的某个元素,也只要一句提醒词。
原版是这样婶儿的:
而后把龙变成恐龙:
目前,Omost用来生成代码的LLM有基于Llama3和Phi3变体的三种模型,Lvmin Zhang还放出了Demo大伙儿可以试玩。
网友们第一期间也纷繁上手尝试:
不由感叹Lvmin Zhang的名目都很鹅妹子嘤:
729个框,设定图像一切元素的位置
Omost目前提供基于Llama3和Phi3变体的三种LLM。
上方扒开Omost看看外面有什么。
首先,一切的Omost LLM都经过训练,可以提供严厉定义的子提醒,大伙儿可以应用其来设计无损文本编码方法。
“子提醒”(sub-prompt)指的是假设一个提醒少于75个token,并且能够独立形容一个事物,不依赖于其余提醒,就是“子提醒”。
Omost经过预约义的位置、偏移量和区域这三大参数来简化图像元素的形容。
首先将图像划分为3*3=9个
而后进一步将每个位置划分为33个偏移量,获取99=81个
以这些位置为核心,进一步定义了 9 种类型的边界框:
如此一来就涵盖了999=729个不同的边界框,简直涵盖了图像中元素的一切经常出现或者位置。
接上去,distance_to_viewer和HTML_web_color_name两大参数调整视觉体现。
组合distance_to_viewer和HTML_web_color_name可以绘制出十分毛糙的构图。
例如,假设LLM成果良好,“在暗室的木桌上的红瓶子前面有一个绿色瓶子”应该可以计算出如下图像:
此外,ControlNet作者Lvmin Zhang还提供了一个基于留意力操纵的Omost LLM的baseline渲染器。并总结了目前要成功区域疏导的分散系统的一些选用。
基于留意力分数操作,他编写了一个baseline公式,并以为这种无参数公式是一个十分规范的baseline成功,简直会引入zero style偏移或品质降低。未来,他们或者会思考为Omost训练一些参数化方法。
详细来说,如今思考一个只要2*2=4像素的极简化图像:
有三个提醒“两只猫”、“一只黑猫”、“一只白猫”,有它们的掩码:
而后就可以画出这个留意力分数表:
简而言之,就是经过调整留意力分数来控制模型在不同区域的关注度,来成功更精细的图像生成。
此外,Lvmin Zhang还发现了另一种可以提高提醒了解的技巧,并称其为提醒前缀树(Prompt Prefix Tree)。
由于如今一切的提醒都是可以恣意兼并的子提醒(一切子提醒严厉少于75个token,通常少于40个标志,形容独立的概念,并且可以恣意兼并为clip编码的惯例提醒),找到一种更好的方法来兼并这些子提醒或者会改良结果和提醒形容。
例如,上方是一个全局/部分全体/详细形容的树结构:
由于一切子提醒都可以恣意兼并,因此可以将此树形图中的门路用作提醒。
例如,上方的门路将给出提醒“一只猫和一只狗。沙发上的猫”。
感兴味的家银亲身上手玩玩吧~
GitHub链接:链接:
原文链接: