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个不同的边界框,几乎覆盖了图像中物体的所有常见可能位置。

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

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

相关文章

[数据集][目标检测]减速带检测数据集VOC+YOLO格式5400张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):5400 标注数量(xml文件个数):5400 标注数量(txt文件个数):5400 标注…

运营必看!精细化运营的四个通用策略

在当今竞争激烈的市场环境中,精细化运营是企业取得成功的关键。 接下来,就和大家聊聊精细化运营的四个通用策略,帮助大家更好地满足不同群体的需求,提高用户满意度。 1、心智差异 由于每个人的背景、经历和价值观都不同&#x…

使用docker构建java应用

1、docker简介 Docker是一个开源的容器化平台,可以帮助开发人员将应用程序及其依赖项打包成一个可移植的容器。容器化是一种轻量级的虚拟化技术,可以使应用程序在不同的操作系统和环境中具有一致的运行方式。 使用Docker带来的好处包括: 简…

军事武器3D数字化交互展示创作平台大大降低成本

军事力量和装备是一个国家国防安全的重要支柱,这在全球范围内得到广泛认同,为了让入伍的新兵能快速熟悉和掌握武器装备操作流程,基于创新型的华锐3D云展平台工具,搭建的3D军事武器展示搭建编辑器,让部队的军事武器展示…

Solidity智能合约事件(event)

文章目录 Solidity智能合约事件(event)什么是event事件event有什么作用日志内容位于区块链的什么地方?【重要】以太坊交易获取如何在 Solidity 中使用事件?参考 Solidity智能合约事件(event) 什么是event EVM有一个日志功能,用于将数据“写…

C++中的值传递和引用传递

在C中,函数参数传递主要有两种方式:值传递(Pass by Value)和引用传递(Pass by Reference)。这两种方式在参数传递时处理数据的方式有所不同,下面我将详细解释它们。 1. 值传递(Pass…

2024最新D卷 华为OD统一考试题库清单(按算法分类),如果你时间紧迫,就按这个刷

目录 专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、链表5、栈6、滑动窗口7、二叉树8、并查集9、矩阵 三、算法1、基础算法① 贪心思维② 二分查…

C#批量设置海康和大华录像机NVR,GB28181的通道编码.

我经常要把小区海康或者大华的硬盘录像机推送到自己搭建的gb28181监控平台,每次几百个摄像头编码,有点头大,就用了1个多周写了个批量设置海康和大华硬盘录像机的通道编码的程序,海康和大华的SDK简直不是人看的. 太乱了. 大华读取通道编码的代码 /// <summary>/// 获取通道…

自动生成企业培训视频:创新与效率的完美结合

前言 随着人工智能技术的飞速发展&#xff0c;大模型技术在各个领域的应用日益广泛。在企业培训领域&#xff0c;大模型技术的应用为培训视频的生成带来了革命性的变革。本文将探讨如何利用大模型技术自动生成企业培训视频&#xff0c;以及这一技术为企业培训带来的创新和效率…

Javaweb8 数据库Mybatis+JDBC

Mybatis Dao层&#xff0c;用于简化JDBC开发 1步中的实体类 int类型一般用Integer &#xff1a;如果用int类型 默认值为0,会影响数据的判断,用Integer默认值是null,不会给数据的判断造成干扰 2.在application .properties里配置数据库的链接信息-四要素 #驱动类名称 #URL #用…

mmdeploy环境部署流程

参考&#xff1a;mmdeploy/docs/zh_cn/01-how-to-build/linux-x86_64.md at main open-mmlab/mmdeploy (github.com) 从零入门《openmmlab》mmdeploy[1]环境安装及简单上手_哔哩哔哩_bilibili 我的环境&#xff1a; docker容器&#xff0c;ubuntu20.04&#xff0c;cuda11.7…

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台

OPNsense 24.1 - 基于 FreeBSD 的开源防火墙和路由平台 请访问原文链接&#xff1a;https://sysin.org/blog/opnsense/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 关于 OPNsense OPNsense 是一个开源、易于使用且易于构建…

PS通过GTX实现SFP网络通信1

将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接&#xff0c; 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…

利用flask + pymysql监测数据同步中的数据是否完整

一、背景 最近项目搞重构&#xff0c;将原有的系统拆分成了多个子系统。但是有数据表需要在不同系统中数据&#xff0c;同时为了解决项目性能最了一个很简单的方案&#xff0c;就是公共数据存在每个系统之中。 二、分析 分析这些表&#xff0c;这些表相比源数据表&#xff0c;表…

行为型-观察者模式(Observer)

观察者模式&#xff08;Observer Pattern&#xff09;是一种软件设计模式&#xff0c;主要用于在对象之间建立一对多的依赖关系&#xff0c;以便当一个对象的状态发生改变时&#xff0c;其所有依赖的对象都会得到通知并自动更新。观察者模式属于行为型模式。以下是关于观察者模…

lvgl手势事件判断为点击事件问题

lvgl手势事件判断为点击事件问题处理方法 1.打开文件lvgl\src\core\lv_indev.c 2. 修改函数 static void indev_proc_release(_lv_indev_proc_t * proc)2.1 由原来的 /*** Process the released state of LV_INDEV_TYPE_POINTER input devices* @param proc pointer to an …

学习笔记——交通安全分析05

目录 前言 当天学习笔记整理 交通行为、心理与安全 结束语 前言 #随着上一轮SPSS学习完成之后&#xff0c;本人又开始了新教材《交通安全分析》的学习 #整理过程不易&#xff0c;喜欢UP就点个免费的关注趴 #本期内容接上一期04笔记 当天学习笔记整理 交通行为、心理与…

关于Flutter doctor里两个警告的消除

在终端里输入 flutter doctor 是我们检查flutter是否配置好的方法。 在输出信息里常碰到两个警告 ! Warning: dart on your path resolves to /usr/local/Cellar/dart/2.18.6/libexec/bin/dart,which is not inside your current Flutter SDK checkout at /Users/dengpeng/fl…

三运放仪表放大器通过设置单个电阻器的值来调整增益

从公式 1 中可以看出&#xff0c;我们可以通过调整单个电阻器 R G的值来调整仪表放大器的差分增益。这很重要&#xff0c;因为与电路中的其他电阻器不同&#xff0c; RG的值不需要与任何其他电阻器匹配。 例如&#xff0c;如果我们尝试通过更改 R 5的值来设置增益&#xff0c;…

TGI模型- 同期群-评论文本

用户偏好分析 TGI 1.1 用户偏好分析介绍 要分析的目标&#xff0c;在目标群体中的均值 和 全部群体里的均值进行比较&#xff0c; 差的越多说明 目标群体偏好越明显 TGI&#xff08;Target Group Index&#xff0c;目标群体指数&#xff09;用于反映目标群体在特定研究范围内…