ControlNet作者新作Omost 一句话将LLM的编码能力转化为图像生成能力,秒变构图小作文,再也不用为不会写提示词担心了!

近日,ControlNet的作者推出了一个全新的项目—Omost。Omost是一个将LLM的编码能力转化为图像生成能力的项目。对现有图像模型的提示词理解有着巨大的帮助。通过很短的提示词,就可以生成非常详细并且空间表现很准确的图片。

完美解决新手小白不会写提示词的痛点。现在只需一句超简单的提示词说明意图,Agent就会自己开始“构图”。

这个名字Omost有两层含义:

  • 每次使用 Omost 后,你的图像几乎就完成了;

  • O意思是omni多模式,most意味着我们想最大限度地利用它。

Omost提供LLM模型,该模型将编写代码以使用Omost的虚拟Canvas代理来组合图像视觉内容。这Canvas可以通过图像生成器的特定实现来渲染以实际生成图像。

所有模型都使用以下混合数据进行训练:

  • 包括 Open-Images 在内的多个数据集的真实注释,

  • 通过自动注释图像提取的数据

  • 来自 DPO(直接偏好优化,“代码是否可以由 python 3.10 编译”作为直接偏好)的强化

  • 来自 OpenAI GPT4o 多模态功能的少量调整数据。

相关链接

Github:https://github.com/lllyasviel/Omost HuggingFace:https://huggingface.co/spaces/lllyasviel/Omost

效果展示

以下结果全部采用随机种子:12345

提示词:衣衫褴褛的人:19世纪穿着破夹克的衣衫褴褛的人。

提示词:世界末日后最伟大的逃亡,全人类的希望。

提示词:拥有无尽魔法的最高统治者坐在哥特王座上,不死军团跪着。

提示词:生成战士与龙激烈战斗的图像

参数:description和Detailed_descriptions

我们引入一个概念,叫“子提示”,如果一个提示少于 75 个 token,并且不依赖其他提示就能独立描述某件事,我们就称其为“子提示”。

如description是一个子提示,detailed_descriptions是子提示的列表。

请注意,每个子提示严格少于 75 个标记(通常少于 40 个标记),您可以安全地使用任何剪辑对它们进行编码,而不必担心截断位置会影响语义。

子提示符的设计还允许基于贪婪合并的更令人满意的文本编码。

例如,如果你有

  • sub-prompt A: 25 tokens

  • sub-prompt B: 35 tokens

  • sub-prompt C: 5 tokens

  • sub-prompt D: 60 tokens

  • sub-prompt E: 15 tokens

  • sub-prompt F: 25 tokens

由于每个子提示都保证能够独立描述某件事,我们可以使用贪婪方法将它们合并到类似

  • bag 1 {A, B, C} : 65 tokens

  • bag 2 {D} : 60 tokens

  • bag 1 {E, F} : 40 tokens

每个袋子少于 75 个标记,并且可以一次性通过任何剪辑进行编码(然后将它们连接起来)。

以这种方式对文本进行编码将确保文本编码器永远不会犯语义截断错误。

有人可能会问 - 如果所有子提示都少于 75 个具有独立语义的标记,为什么不直接对它们进行编码而不进行合并然后再连接呢?这主要是因为我们希望文本嵌入更加连贯。例如,假设子提示 A 是“一个男人”,而子提示 B 是“英俊,专业”,那么在编码之前合并它们将为您提供一个更加混合的文本嵌入概念,其中包含英俊专业男人的连贯特征。

所有 Omost LLM 都经过训练,可以提供严格定义的子提示。您可以利用这些定义来设计无损文本编码方法。

参数:位置、偏移、面积

这三个参数定义了一个边界框。首先我们将画布分成33=9个位置:

然后我们进一步将每个位置划分为 33 偏移量,从而得到 9*9=81 个位置:

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

我们可以看到,该方法允许999=729个不同的边界框,几乎覆盖了图像中物体的所有常见可能位置。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构01 栈及其相关问题讲解

栈是一种线性数据结构,栈的特征是数据的插入和删除只能通过一端来实现,这一端称为“栈顶”,相应的另一端称为“栈底”。 栈及其特点 用一个简单的例子来说,栈就像一个放乒乓球的圆筒,底部是封住的,如果你想…

QField测量功能

QField提供开箱即用的测量功能,可以灵活更改工程中测量距离和面积的单位。您可以在 "常规" 部分导航到 "工程" 菜单,并选择 "工程属性..." 完成此操作。 要启用测量工具,请打开主菜单并选择 测量工具 。 启…

JS 描述二叉树(含二叉树的前、中、后序遍历)

JS 对象描述二叉树 const binaryTreeNode {value: A,left: {value: B,left: {value: C,right: {value: G}},right: {value: D}},right: {value: E,left: {value: F,left: { value: H },right: { value: L }}} }前、中、后序遍历结果 前序遍历(中在前)&a…

网络的下一次迭代:AVS 将为 Web2 带去 Web3 的信任机制

撰文:Sumanth Neppalli,Polygon Ventures 编译:Yangz,Techub News 本文来源香港Web3媒体:Techub News AVS (主动验证服务)将 Web2 的规模与 Web3 的信任机制相融合,开启了网络的下…

vue中使用emit

1. vue中使用emit 1.1. 在子组件中触发事件 1.1.1. 子组件示例 (ChildComponent.vue) 1.2. 在父组件中监听事件 1.2.1. 父组件示例 (ParentComponent.vue) vue3中使用emit 1.3. 使用 setup 函数和 defineEmits 1.3.1. 子组件示例 (ChildComponent.vue)1.3.2. 父组件示例 (Pare…

Node.js进阶——数据库

文章目录 一、步骤1、安装操作 MySQL数据库的第三方模块(mysql)2、通过 mysql 模块连接到 MySQL 数据库3、测试 二、操作 mysql 数据库1、查询语句2、插入语句3、插入语句快捷方式4、更新数据5、更新语句快捷方式6、删除数据7、标记删除 二、前后端的身份认证1、web开发模式1&a…

AIRNet模型使用与代码分析(All-In-One Image Restoration Network)

AIRNet提出了一种较为简易的pipeline,以单一网络结构应对多种任务需求(不同类型,不同程度)。但在效果上看,ALL-In-One是不如One-By-One的,且本文方法的亮点是batch内选择patch进行对比学习。在与sota对比上…

尚品汇-(一)

(1)技术介绍 (2)业务介绍 (3)虚拟机安装 可以稍后配置镜像:选第二个 采用第二项NET模式: 安装完成:开启 不选择界面的,选择基础的 分配了ip: 测试网络 为…

Debain12 离线安装docker

官网教程&#xff1a;https://docs.docker.com/engine/install/debian/ 步骤 1. 解压 docker-deb.7z 安装包并上传Linux &#xff08;资源在PC端文章顶部&#xff09; 2. 安装 .deb 包 sudo dpkg -i ./containerd.io_<version>_<arch>.deb \./docker-ce_<vers…

贪心+构造,CF1153 C. Serval and Parenthesis Sequence

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 Problem - 1153C - Codeforces 二、解题报告 1、思路分析 对于括号匹配问题我们经典做法是左括号当成1&#xff0c;右括号当成-1 那么只要任意前缀非负且最终总和为0那么该括号序列就是合法 对于本题&…

ThinkPHP+Bootstrap简约自适应网址导航网站源码

使用 ThinkPHPbootstrap 开发&#xff0c;后台采用全局 ajax 无刷新加载&#xff0c;前后台自适应&#xff0c;前台页面非常简洁适合自己收藏网站或做导航网站。 搭建教程&#xff1a; 1.整个主机 2.绑定解析域名 3.上传源码&#xff0c;解压 把解压出来的 nav.sql 文件导入数…

Linux进程间通信---使用【共享内存+信号量+消息队列】的组合来实现服务器进程与客户进程间的通信

IPC结合实现进程间通信实例 下面将使用【共享内存信号量消息队列】的组合来实现服务器进程与客户进程间的通信。 共享内存用来传递数据&#xff1b;信号量用来同步&#xff1b;消息队列用来 在客户端修改了共享内存后通知服务器读取。 server.c&#xff1a;服务端接收信息 …

解决linux jenkins要求JDK版本与项目版本JDK不一致问题

背景–问题描述&#xff1a; 新入职公司&#xff0c;交接人说jenkins运行有问题&#xff0c;现在都是手动发布&#xff0c;具体原因让我自己看&#xff08;笑哭&#xff09;。我人都蒙了&#xff0c;测试环境都手动发布&#xff0c;那不是麻烦的要死&#xff01; 接手后&am…

【后端开发】服务开发场景之高可用(冗余设计,服务限流,降级熔断,超时重试,性能测试)

【后端开发】服务开发场景之高可用&#xff08;冗余设计&#xff0c;服务限流&#xff0c;降级熔断&#xff0c;超时重试&#xff0c;性能测试&#xff09; 文章目录 序&#xff1a;如何设计一个高可用的系统&#xff1f;可用性的判断指标是什么&#xff1f;哪些情况会导致系统…

人工智能(三)AI是怎么学习的

一、引言 通过之前的人工智能架构分析和Transformer模型的原理介绍&#xff0c;读者应该对人工智能有了一个初步的了解。 但是很多读者不是很想知道那么多软件方面的专业知识&#xff0c;通过大家的问题&#xff0c;大家关心的主要是三个方面&#xff1a; ai是怎么学习的&#…

数字政府与大模型

1. 什么是数字政府&#xff1f; 数字政府是指运用信息技术&#xff0c;如互联网、大数据、云计算等&#xff0c;来改革政府的服务提供方式、决策过程和内部管理&#xff0c;以提升效率、透明度和公众参与度的新型政府形态。 2. 大模型在数字政府中的作用是什么&#xff1f; …

htb_Blurry

端口扫描 8 按照教程注册安装clear ml 加载configuration的时候会报错 将json里的API&#xff0c;File Store的host都添加到/etc/hosts中 即可成功初始化 查找clear ml漏洞 发现一个cve-2024-24590 下面是一个利用脚本&#xff0c;但不能直接用 ClearML-vulnerability-e…

partially initialized module ‘charset_normalizer‘ has no attribute ‘md__mypyc‘

django项目运行报错&#xff1a; partially initialized module ‘charset_normalizer‘ has no attribute ‘md__mypyc‘…… 解决办法 pip install --force-reinstall charset-normalizer3.1.0

OpenCV 的模板匹配

OpenCV中的模板匹配 模板匹配&#xff08;Template Matching&#xff09;是计算机视觉中的一种技术&#xff0c;用于在大图像中找到与小图像&#xff08;模板&#xff09;相匹配的部分。OpenCV提供了多种模板匹配的方法&#xff0c;主要包括基于相关性和基于平方差的匹配方法。…

【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】线性分类模型损失函数对比

本节均以二分类问题为例进行展开&#xff0c;统一定义类别标签 y ∈ { 1 , − 1 } y\in\{1,-1\} y∈{1,−1}&#xff0c;则分类正确时 y f ( x ; w ) > 0 yf(x;w)>0 yf(x;w)>0&#xff0c;且值越大越正确&#xff1b;错误时 y f ( x ; w ) < 0 yf(x;w)<0 yf(x;…