可在图像中生成任意精准文本,支持中文!阿里开源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,一经查实,立即删除!

相关文章

Arrays 数组工具类常用方法

java.util.Arrays类即为操作数组的工具类,包含了用来操作数组(比如排序和搜索)的各种方法 equals:比较两个数组是否相等 int[] arr1 new int[]{1,2,3}; int[] arr2 new int[]{1,2,3}; boolean equals Arrays.equals(arr1, ar…

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

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

【Linux】宝塔端口不通

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

基于SpringBoot的考务报名平台的设计与实现,java

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的考务报名平台的设计与实…

EM算法求解男女升高-Python

EM算法求解男女升高-Python 目前关于EM算法理论分析很全了,代码还比较少,一般就停留在最后的似然函数。 问题 现在一个班里有100个男生和女生。我们假定男生的身高服从正态分布,女生的身高则服从另一个正态分布。 求解两个正态分布的参数。…

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…

详细介绍如何微调 T5 Transformer 模型:用于构建 Stack Overflow 标签生成器的 Text2Text 传输转换器-含源码

在不断发展的自然语言处理 (NLP) 领域,T5(文本到文本传输转换器)模型已成为一种多功能模型。针对特定任务对该模型进行微调可以释放其全部潜力,使其成为人工智能爱好者和专业人士的一项关键技能。本文深入研究了T5 Transformer 模型的微调,特别是针对基于 Stack Overflow …

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;报出此错误 问题描述 报错…

SpringBoot打造高效多级缓存体系

在数据密集型的应用中&#xff0c;缓存是提高性能的关键工具之一。SpringBoot提供了强大的缓存抽象&#xff0c;允许开发者轻松地实现多级缓存&#xff0c;从而显著提升应用性能。本文将带你深入了解SpringBoot中的多级缓存解决方案&#xff0c;并通过详细的Java示例&#xff0…

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…

【力扣100】33.搜索旋转排序数组

添加链接描述 class Solution:def search(self, nums: List[int], target: int) -> int:left,right0,len(nums)-1while left<right:mid left(right-left)//2if nums[mid]target:return midelif nums[mid]<nums[right]:if target>nums[mid] and target<nums[ri…

计算机基础专升本笔记八-操作系统概述

计算机基础专升本笔记八-操作系统概述 操作系统(OS,Operating System)是计算机系统中的核心软件之一&#xff0c;它管理和控制计算机的硬件和软件资源&#xff0c;为用户和应用程序提供一个友好且高效的环境。操作系统的主要功能包括处理器管理、存储管理、设备管理、文件管理和…

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

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

【docker】一文讲完docker核心概念

文章目录 一、什么是docker二、docker和虚拟机有什么区别三、docker基本概念1、镜像&#xff08;Image&#xff09;2、docker 容器&#xff08;container&#xff09;3、docker 仓库&#xff08;Repository&#xff09;4、dockerfile简介5、网络&#xff08;Network&#xff09…

寒假刷题记录,第二天

PTA甲级 1006 Sign In and Sign Out 经典的排序算法 #include<iostream> #include<algorithm> #include<vector>using namespace std;int n; struct node {string id;int ti , to; }; vector<node>v; bool cmpin(node a , node b) {return a.ti <…

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() 一、线程和进…