可在图像中生成任意精准文本,支持中文!阿里开源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能力非常强悍的重要原因之一。

本文素材来源AnyText论文,如有侵权请联系删除

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

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

相关文章

Java学习苦旅(二十七)——Java中的集合框架

本篇博客将初略讲解Java中的集合框架及背后的数据结构。 集合框架介绍 Java 集合框架 Java Collection Framework,又被称为容器 (container),是定义在java.util包下的一组接口 interfaces 和其实现类 classes 。其主要表现为将多…

【Linux】宝塔端口不通

1.问题描述:端口不通 以端口16588为例: 服务器16588端口是关闭的,防火墙规则是放通的,是由于服务器内的对应程序没有监听到 对应 的公网上 图1:端口检测 图2: 端口已放行 此时访问仍然不通,但…

Vue-6、Vue事件处理

1、点击事件 <!DOCTYPE html> <html lang"en" xmlns:v-model"http://www.w3.org/1999/xhtml" xmlns:v-bind"http://www.w3.org/1999/xhtml"xmlns:v-on"http://www.w3.org/1999/xhtml"> <head><meta charset&quo…

ip协议历史

今天的互联网&#xff0c;是万维网&#xff08;WWW&#xff09;一家独大。而在上世纪七八十年代&#xff0c;人们刚开始尝试网络连接时&#xff0c;那时出现了计算机科学研究网络、ALOHA 网、因时网、阿帕网等不同类型的网络&#xff0c;这些网络之间互相通信是个难题。 于是&…

openssl3.2 - 编译

文章目录 openssl3.2 - 编译概述OpenSSL源码下载编译目标如何编译前置环境 - perl前置环境 - VS前置环境 - NASM快速编译步骤编译 - Quick startInstall PerlInstall NASMUse Visual Studio Developer Command Prompt with administrative privilegesFrom the root of the Open…

SV-7042T 15W网络有源音箱 商场广播音箱 酒店广播音箱

SV-7042T 15W网络有源音箱 商场广播音箱 酒店广播音箱 一、描述 SV-7042T是深圳锐科达电子有限公司的一款壁挂式网络有源音箱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;可达到功率15W。同时它可以外接一个15W的无源…

【已解决】Pytorch RuntimeError: expected scalar type Double but found Float

本文作者&#xff1a; slience_me 文章目录 项目场景&#xff1a;问题描述原因分析&#xff1a;解决方案&#xff1a; 项目场景&#xff1a; 在训练模型时候&#xff0c;将数据集输入到网络中去&#xff0c;在执行卷积nn.conv1d()的时候&#xff0c;报出此错误 问题描述 报错…

IEDA中tomcat日志乱码解决

文章目录 乱码样式原因解决方案参考 乱码样式 原因 乱码原因是编码格式的问题&#xff0c;编码格式不统一&#xff0c;导致显示乱码。 解决方案 统一编码格式。 打开tomcat的配置文件&#xff0c;conf/logging.properties,进行如下修改 进入idea的安装文件中&#xff0c;b…

【docker笔记】Docker网络

Docker网络 容器间的互联和通信以及端口映射 容器IP变动时候可以通过服务名直接网络通信而不受到影响 常用命令 查看网络 docker network ls创建网络 docker network create XXX网络名字查看网络源数据 docker network inspect XXX网络名字删除网络 docker network rm…

竞赛保研 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…

Linux基础知识点-(七-线程)

目录 一、线程和进程 1.1 线程的基本概念 1.2 线程的优缺点 二、创建线程 2.1 pthread_create() - 创建线程函数 三、线程属性 3.1 pthread_attr_t类型 3.2 phread_t类型 四、线程退出 4.1 pthread_exit() 4.2 pthread_join() 4.3 pthread_detach() 一、线程和进…

2019数据结构----单链表真题

思路&#xff1a; (1)找到中间节点,将原链表一分为二 (2)后半段链表原地逆置 (3)合并链表 #include <stdio.h> #include <stdlib.h>//定义节点类型 typedef struct LNode {int data;//数据域struct LNode *next;//指针域 } LNode, *LinkList;void tailList(Link…

Rational rose 安装和使用 教程

前言 win10和win11都可以用&#xff0c;亲测了win10 Unified Modeling Language (UML)又称统─建模语言或标准建模语言&#xff0c;是始于1997年一个OMG标准&#xff0c;它是一个支持模型化和软件系统开发的图形化语言&#xff0c;为软件开发的所有阶段提供模型化和可视化支持…

Spark---RDD算子(单值类型转换算子)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…

15K star! 搭建个人PDF工具箱,和广告、泄密说拜拜

我相信很多人都曾经遇到过这样的麻烦&#xff1a;一大堆PDF文档摆在面前要处理&#xff0c;拆分、标页码、调顺序、加签名。手忙脚乱的在网上找了几个工具&#xff0c;但是要么需要付费&#xff0c;要么各种广告还不好用&#xff0c;更容易出现隐私泄露的问题。 今天我们推荐的…

轨迹合并 合并轨迹

搜索微信小程序 merge gpx

测试电脑的公网ip

发现ip地址总是变化&#xff0c;想要了解变化规律 操作 反复关闭打开浏览器&#xff0c;查询ip地址&#xff0c;共查询了15次。出现了5种不同的地址&#xff0c;还好&#xff0c;不是无穷的。

python 各级目录文件读取

目录结构 import pytestdef test_01():# 同级文件with open(1.txt, r, encodingutf-8) as file:content file.read()print(content)def test_02():# 同级目录的下的文件with open(rupfile/2.txt, r, encodingutf-8) as file:content file.read()print(content)def test_03():…

IDEA[Debug]简单说明

目录 &#x1f95e;1.打断点 &#x1f32d;2.第一组按钮 &#x1f9c2;3.第二组按钮 &#x1f953;4.参数查看 1.打断点 1.在需要断点处打上断点&#xff0c;然后点击debug运行 2.执行debug&#xff0c;直接执行到断点处 2.第一组按钮 共有8按钮&#xff0c;从左往右依…

Linux实验——页面置换算法模拟

页面置换算法模拟 【实验目的】 &#xff08;1&#xff09;理解虚拟内存管理的原理和技术。 &#xff08;2&#xff09;掌握请求分页存储管理的思想。 &#xff08;3&#xff09;理解常用页面置换算法的思想。 【实验原理/实验基础知识】 存储器是计算机系统的重要资源之…