阿里开源AnyText:可在图像中生成任意精准文本,支持中文!

‍随着Midjourney、Stable Difusion等产品的出现,文生图像领域获得了巨大突破。但是想在图像中生成/嵌入精准的文本却比较困难。

经常会出现模糊、莫名其妙或错误的文本,尤其是对中文支持非常差,例如,生成一张印有“2024龙年吉祥”的春联图像,就连著名的文生图模型都很难精准生成。

图片
由著名文生图模型生成:图像还行,提示词根本理解不了嵌入图像中的中文

为了解决这些难题阿里巴巴集团的研究人员开源了,多语言视觉文字生成与编辑模型——AnyText。

根据「AIGC开放社区」的实际使用体验,AnyText对生成文字的把控可媲美专业PS,用户可自定义规划文字出现的位置,图片的强度、力度、种子数等,目前在Github超2,400颗星非常受欢迎。

图片
由AnyText生成,完美理解中文提示词,同时可自定义文字出现的位置

值得一提的是,AnyText能以插件形式与其他开源扩散模型无缝集成,可全面强化其图像嵌入精准文本的能力

开源地址:https://github.com/tyxsspa/AnyText

论文地址:https://arxiv.org/abs/2311.03054

在线demo:https://huggingface.co/spaces/modelscope/AnyText

图片
AnyText测试界面,直观操作简单,可手动调节各种参数

AnyText支持中文、日文、韩文、英语等多种语言,可帮助电商、广告平面设计、电影制作、动画设计师、插画师、网页设计、UI设计师、数字营销等领域的人员,提供高精准、自定义的文生图像服务。

AnyText技术架构

目前,开源的扩散模型在生成的图像中嵌入精准文本表现不佳,**主要有3个原因:****1)**缺乏包含全面文本内容注释的大规模图像和文本配对数据集。现有的大规模图像扩散模型的训练数据集,如LAION-5B,缺乏手动注释或文本内容的OCR结果。

**2)**许多开源扩散模型使用的文本编码器,如CLIP文本编码器,采用基于词汇的分词器,无法直接访问字符级别的信息,导致对个别字符的敏感性降低。

**3)**大多数扩散模型的损失函数旨在提高整体图像生成质量,缺乏对文本区域的专门监督和优化。

针对上述难题,阿里的研究人员开发了AnyText模型和AnyWord-3M数据集。AnyText采用了文本控制的扩散流程,包括两个重要模块:辅助潜变量和文本嵌入

图片

辅助潜变量模块用于生成或编辑文本的潜在特征,作用是接受文本字形、位置和遮罩图像等输入,生成用于文本生成或编辑的潜在特征

这些潜在特征在生成或编辑文本时起到辅助作用,帮助确保文本的准确性和一致性。

辅助潜变量使得AnyText能够在图像中,生成或编辑曲线或不规则区域的文本。这也就是说,即便想生成弯曲、不规则的字体也没问题!

图片

文本嵌入模块利用OCR模型将笔画数据编码为嵌入向量,并与标记器生成的图像标题嵌入向量进行融合,从而生成与背景无缝融合的文本。

为了提高书写准确性,研究团队采用了文本控制的扩散损失和文本感知损失进行训练。

提升图像嵌入文本精准度

为了进一步提高生成文本的准确性,AnyText采用了文本控制扩散损失和文本感知损失进行训练。

文本控制扩散损失,用于控制生成的文本在指定位置和样式上的准确性。它通过比较生成文本与目标文本之间的差异,促使模型生成更准确、一致的文本。

文本感知损失,作用是进一步增强生成文本的准确性。它通过比较生成文本的特征表示与真实图像中相应区域的特征表示之间的差异,来衡量生成文本在视觉上的准确性。

AnyWord-3M数据集

这个数据集是提升AnyText文本能力的重要部分,一共包含了300万个图像-文本对,并提供了多种语言的OCR(光学字符识别)注释。

图片

AnyWord-3M中出现的文本行超过900万行,字符和词汇数总量超过2亿。文本涵盖中文、英文、日文、韩文等语言。这是目前公开的规模最大,也是第一个专门用于文本生成任务的多语种数据集

图片

**主要包含的数据集:**悟空数据集的中文部分,这是哩哩哩实验室构建的数亿级中文跨模态数据集。AnyWord-3M从中筛选出约154万张图像。

图片

LAION数据集的英文部分,由斯坦福大学等构建的大规模英文图像文字匹配数据集, AnyWord-3M选择了其中约140万张图像。

多个OCR识别数据集,包括文字定位和识别领域的标准数据集ArT、COCO-Text、RCTW等,提供了约10万张带标注的文本图像。

在获取这些源数据之后,AnyText研究人员还设计了严格的过滤规则,对图像和文本行进行过滤,确保训练数据的质量。

图片

文本行过滤的规则非常细致,例如,文本行高最小30像素、文本识别置信度超过0.7等。

所以,AnyWord-3M吸取了多个数据集的精华中的精华,也是AnyText能力非常强悍的重要原因之一。

技术交流

技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。

建立了大模型技术交流群,大模型学习资料、数据代码、技术交流提升, 均可加知识星球交流群获取,群友已超过2000人,添加时切记的备注方式为:来源+兴趣方向,方便找到志同道合的朋友。

方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流

在这里插入图片描述

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

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

相关文章

校招社招,认知能力测验,③如何破解语言常识类测试题?

作为认知能力测评中的一个环节,语言常识类,是大概率的出现,不同的用人单位可能略有不同,语言是一切的基础,而常识则意味着我们的知识面的宽度。 语言常识类的测试,如果要说技巧?难说....更多的…

IPv6路由协议---IPv6动态路由(RIPng)

IPv6动态路由协议 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。缺点是配置对用户要求比较高,对系统的要求高于静态路由,并将占用一定的网络资源和系统资源。 路由表和FIB表 路由器转发数据包的关键是路由表和FIB表,每…

AI变现项目:刚做五天收益突破单日破50+,干货经验谈

今日是我单号操作的第五天。 打开今日头条,发现收益破新高了。 我这是一个号操作,10个号,20个号呢? 下面主要说说我的操作经验。 先确定领域 我是做的情感故事领域。 为什么做这个领域?(简单,原创度高…

计算机视觉技术-语义分割

讨论的目标检测问题中,我们一直使用方形边界框来标注和预测图像中的目标。 本节将探讨语义分割(semantic segmentation)问题,它重点关注于如何将图像分割成属于不同语义类别的区域。 与目标检测不同,语义分割可以识别并…

AUTOSAR开发文档

目录 目录 状态机电源管理开发... I 文档... I 1. 综述... 1 2. 系统硬件架构图... 1 3. 状态机设计方案... 2 4. 电源管理方案... 4 综述 本文档主要描述了MCU芯片TC297的AUTOSAR方案。MCU的基础软件由AUTOSAR软件实现&#xff0…

基于JAVA+SpringBoot的咖啡商城

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着互联网的普及和发…

电子学会2023年12月青少年软件编程(图形化)等级考试试卷(一级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(一级) 分数:100 题数:37 一、单选题(共25题,共50分) 1. 观察下列每个圆形中的四个数,找出规律,在括号里填上适当的数?( )

P1262 间谍网络

1、思路 阅读题目,发现有些间谍可以是被前面的点更新,也就是说,在一开始的时候,把能贿赂的人员从小到达排个序,再使用bfs算法,把他们能到达的人员的贿赂价钱设置为0。 有解的情况: 首先如果有…

QT DAY1作业

1.QQ登录界面 头文件代码 #ifndef MYWIDGET_H #define MYWIDGET_H#include <QWidget> #include <QIcon> #include <QLabel> #include <QPushButton> #include <QMovie> #include <QLineEdit>class MyWidget : public QWidget {Q_OBJECTpu…

SQL必知必会笔记(9~12章)

第九章 汇总数据 1、聚集函数用来进行记录数据的加工&#xff0c;然后再进行返回。 2、SQL的聚集函数&#xff1a; 函数 说明 AVG() 返回某列的平均值 COUNT() 返回某列的行数 MAX() 返回某列的最大值 MIN() 返回某列的最小值 SUM() 返回某列值之和 3、AVG()函数 A…

2道经典的C语言练习题(解答超详细)

文章目录 每日一言12结语⭐如果发现自己做错了&#xff0c;请不要气馁&#xff0c;做题就是一个查漏补缺的过程。每个人不是天生就会写代码的&#xff0c;给自己一些时间&#xff0c;不要放弃&#xff0c;加油陌生人&#xff01; 每日一言 当你关注到自己行为背后的意图时&…

其他出库单保存时仓库无可用量无法保存

文章目录 其他出库单保存时仓库无可用量无法保存报错界面方案设计解决方案 其他出库单保存时仓库无可用量无法保存 报错界面 方案设计 保存不校验可用量&#xff0c;审核不允许超额。 解决方案 或者直接取消

电商API-获取拼多多商品详情数据精准价格API测试示例

pinduoduo.item_get_app_pro获取拼多多商品详情数据 如何获取apikey&#xff1f; 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff…

jenkins通过流水线自动部署项目(k8s部署)

参考&#xff1a;https://www.cnblogs.com/rb2010/p/16195443.html docker 拉取镜像到本地&#xff1a; docker pull docker.io/jenkins/jenkins:2.164配置卷挂载&#xff1a;使用nfs 参考&#xff1a;https://www.kuboard.cn/learning/k8s-intermediate/persistent/nfs.htm…

Spring见解4 基于注解的AOP配置

5.基于注解的AOP配置 5.1.创建工程 5.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation…

Java学习苦旅(二十五)——哈希表

本篇博客将详细讲解哈希表。 文章目录 哈希表概念冲突概念避免冲突哈希函数设计常见哈希函数 负载因子调节解决冲突闭散列开散列&#xff08;哈希桶&#xff09; 和java类集的关系 结尾 哈希表 概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关…

Leetcod面试经典150题刷题记录 —— 链表篇

Leetcod面试经典150题刷题记录-系列Leetcod面试经典150题刷题记录——数组 / 字符串篇Leetcod面试经典150题刷题记录 —— 双指针篇Leetcod面试经典150题刷题记录 —— 矩阵篇Leetcod面试经典150题刷题记录 —— 滑动窗口篇Leetcod面试经典150题刷题记录 —— 哈希表篇Leetcod面…

【设计模式-01】Singleton单利模式

一、方式1(最常用&#xff0c;推荐使用) 单例实现方式一: 饿汉式 类加载到内存后&#xff0c;就实例化一个单例&#xff0c;JVM保证线程安全 简单实用&#xff0c;推荐使用。 唯一缺点: 不管用到与否&#xff0c;类装载时就完成加载。 /*** description: 单例实现方式一: 饿汉…

Python之Selenium自动化浏览器测试详解

Python之Selenium(自动化浏览器测试) 1.安装selenium 1 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple 2.下载对应版本的浏览器驱动 CNPM Binaries Mirror 这是我的。 把解压后的驱动放在自己的python.exe 目录下。 3.测试code&#xff0c;打开一个网页…

大甩卖——代码全家桶!!!

Python-凯斯西储大学&#xff08;CWRU&#xff09;轴承数据解读与分类处理 Python轴承故障诊断 (一)短时傅里叶变换STFT Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客 Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客 Pytorch-…