新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

在过去几年中,Text-to-Image 领域取得了巨大的进展,特别是在人工智能生成内容(AIGC)的时代。随着DALL-E模型的兴起,学术界涌现出越来越多的Text-to-Image模型,比如Imagen、Stable Diffusion、ControlNet等模型。然而,尽管Text-to-Image领域发展迅速,现有模型在稳定地生成包含文本的图像方面仍然面临一些挑战

尝试过现有 sota 文生图模型可以发现,模型生成的文字部分基本上是不可读的,类似于乱码,这非常影响图像的整体美观度。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

现有的sota文本生成模型生成的文本信息可读性较差

经过调研,学术界在这方面的研究较少。事实上,包含文本的图像在日常生活中十分常见,例如海报、书籍封面和路牌等。如果 AI 能够有效地生成这类图像,将有助于辅助设计师的工作,激发设计灵感,减轻设计负担。除此之外,用户可能只希望修改文生图模型结果的文字部分,保留其他非文本区域的结果。

为了不改变原始意思,需要将内容改写成中文。不需要出现原句

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

论文地址:https://arxiv.org/abs/2305.10855项目地址:https://jingyechen.github.io/textdiffuser/代码地址:https://github.com/microsoft/unilm/tree/master/textdiffuserDemo地址:https://huggingface.co/spaces/microsoft/TextDiffuser

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

TextDiffuser 的三个功能

本文提出了 TextDiffuser 模型,该模型包含两个阶段,第一阶段生成 Layout,第二阶段生成图像。

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

需要重新编写的是:TextDiffuser框架图

模型接受一段文本 Prompt,然后根据 Prompt 中的关键词确定每个关键词的 Layout(也就是坐标框)。研究者采用了 Layout Transformer,使用编码器-解码器的形式自回归地输出关键词的坐标框,并用 Python 的 PILLOW 库渲染出文本。在这个过程中,还可以利用 Pillow 现成的 API 得到每个字符的坐标框,相当于得到了字符级别的 Box-level segmentation mask。基于此信息,研究者尝试微调 Stable Diffusion。

他们考虑了两种情况,一种是用户想直接生成整张图片(称为 Whole-Image Generation)。另一种情况是 Part-Image Generation,在论文中也称之为 Text-inpainting,指的是用户给定一张图像,需要修改图里的某些文本区域。

为了实现上述两个目标,研究人员重新设计了输入特征,将维度从原来的4维增加到了17维。其中包括4维加噪图像特征、8维字符信息、1维图像掩码以及4维未被掩码的图像特征。如果是整体图像生成,研究人员将掩码区域设为整个图像;反之,如果是部分图像生成,只需对图像的一部分进行掩码。扩散模型的训练过程类似于LDM,对此感兴趣的同伴可以参考原文中的方法部分描述

在推理阶段,TextDiffuser具有非常灵活的使用方式,可以分为三种:

根据用户给定的指令生成图像。并且,如果用户不大满意第一步 Layout Generation 生成的布局,用户可以更改坐标也可以更改文本的内容,这增加了模型的可控性。直接从第二个阶段开始。根据模板图像生成最终结果,其中模板图像可以是印刷文本图像,手写文本图像,场景文本图像。研究者专门训练了一个字符集分割网络用于从模板图像中提取 Layout。同样也是从第二个阶段开始,用户给定图像并指定需要修改的区域与文本内容。并且,这个操作可以多次进行,直到用户对生成的结果感到满意为止。

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

构造的 MARIO 数据

为了训练TextDiffuser,研究人员收集了一千万张文本图像,如上图所示,包括三个子集:MARIO-LAION,MARIO-TMDB和MARIO-OpenLibrary

研究者在筛选数据时考虑了若干方面:例如在图像经过 OCR 后,只保留文本数量为 [1,8] 的图像。他们筛掉了文本数量超过 8 的文本,因为这些文本往往包含大量密集文本,OCR 的结果一般不太准确,例如报纸或者复杂的设计图纸。除此之外,他们设置文本的区域大于 10%,设置这个规则是为了让文本区域在图像的比重不要太小。

在对 MARIO-10M 数据集进行训练后,研究人员对 TextDiffuser 进行了定量和定性的比较,与现有方法进行了对比。例如,在整体图像生成任务中,本文方法生成的图像具有更清晰可读的文本,并且文本区域与背景区域的融合更好,如下图所示

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

与现有工作比较文本渲染性能

研究人员还进行了一系列定性实验,结果如表1所示。评估指标包括FID、CLIPScore和OCR。特别是OCR指标,本研究方法相对于对比方法有显著的提升

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

重写后的内容:实验结果见表1:定性实验

对于 Part-Image Generation 任务,研究者尝试着在给定的图像上增加或修改字符,实验结果表明 TextDiffuser 生成的结果很自然。

新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染

文本修复功能可视化

总的来说,本文提出的 TextDiffuser 模型在文本渲染领域取得了显著的进展,能够生成包含易读文本的高质量图像。未来,研究者将进一步提升 TextDiffuser 的效果。

以上就是新标题:TextDiffuser:无惧图像中的文字,提供更高质量的文本渲染的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/815512.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月27日 00:44:27
下一篇 2025年11月27日 00:50:50

相关推荐

  • 解决PhpStorm代码高亮显示异常的问题

    代码高亮异常通常由缓存、设置或插件引起,解决方法如下:1. 清除 phpstorm 缓存并重启,删除 c:\users\用户名\.cache\jetbrains\phpstorm2023.x 或 macos 对应目录下的内容;2. 检查配色方案,切换至默认主题 darcula 或 intellij …

    2025年12月10日 好文分享
    000
  • 从连接到插入:PHP操作MySQL全流程

    1.使用mysqli扩展建立与mysql数据库的连接;2.编写sql语句准备操作数据;3.执行sql语句完成数据插入等操作;4.通过预处理语句防止sql注入攻击;5.使用try…catch块处理连接错误;6.通过持久连接、索引、避免select *、批量插入、缓存和优化sql语句提升性能…

    2025年12月10日 好文分享
    000
  • 批量安装PhpStorm插件的脚本编写

    要快速批量安装phpstorm插件,可通过脚本自动复制.jar文件到插件目录。1. 插件本质为.jar文件,存储路径因系统和版本而异,可手动安装确认路径;2. 编写脚本将插件复制到目标目录,建议使用-v参数查看复制情况,并加入判断逻辑避免冲突及支持多版本;3. 可通过解析插件市场链接自动下载插件,但…

    2025年12月10日 好文分享
    000
  • PHP报错怎样捕获?try-catch异常处理

    php中捕获报错主要通过try-catch结构处理可预见的异常,并结合set_exception_handler和set_error_handler应对未捕获异常及php错误。1. try-catch用于捕获开发者主动抛出或外部调用引发的exception,支持多层级catch匹配不同异常类型;2.…

    2025年12月10日 好文分享
    000
  • 连接MySQL后PHP添加数据的三种方式

    php连接mysql添加数据有3种方式:传统mysql_query(不推荐)、mysqli和pdo。其中mysqli和pdo均支持预处理语句,可有效防止sql注入。mysqli是专为mysql设计的扩展,提供面向对象和过程两种api,性能较优;pdo则提供统一的数据库抽象接口,便于切换不同数据库类型…

    2025年12月10日 好文分享
    000
  • PHP怎样解析CRX扩展文件 CRX插件文件解析方法详解

    php解析crx文件的核心思路是将其视为zip文件处理,先跳过文件头再解压读取manifest.json。1.读取crx文件头:识别magic number和版本号,获取公钥与签名长度;2.解压zip数据:使用ziparchive类解压跳过头部后的压缩内容;3.读取manifest.json:解析插…

    2025年12月10日 好文分享
    000
  • PHP与MongoDB交互时如何处理查询性能的处理方法?

    要提升php与mongodb交互时的查询性能,关键在于优化查询方式、索引设计和数据结构。1. 合理使用索引,根据查询频率创建单字段或复合索引,注意索引方向,并避免过度索引;2. 控制返回字段,通过投影减少数据传输量,提升响应速度;3. 优化查询条件,避免全集合扫描,确保查询明确具体,合理使用索引支持…

    2025年12月10日 好文分享
    000
  • Redis怎样集成?缓存与Session存储

    1.引入redis客户端库;2.配置连接参数;3.实现缓存逻辑,优先读取redis,未命中则查询数据库并写回缓存;4.设置合理的过期时间;5.对于session存储,使用专门的session管理库如spring session data redis;6.redis优势包括高速读写、可扩展性、多样化数…

    2025年12月10日 好文分享
    000
  • 修复PHPCMSSQL注入漏洞的详细步骤

    修复php cms中的sql注入漏洞,核心在于使用预处理语句或参数化查询以彻底分离用户输入与sql逻辑,并结合输入验证、最小权限原则和错误信息控制。1. 使用预处理语句(如pdo或mysqli)确保数据与指令分离;2. 对所有输入进行严格验证和过滤,确保符合预期格式;3. 应用最小权限原则,限制数据…

    2025年12月10日 好文分享
    000
  • 如何优化PHPMyAdmin操作数据库的查询性能

    优化phpmyadmin查询性能的核心在于优化底层数据库和sql语句,而非phpmyadmin本身。1. sql语句精细化:避免select *,仅选取必要字段;确保join条件使用索引,避免在where子句的索引列上使用函数;合理使用like和union all。2. 索引合理构建:在频繁查询的w…

    2025年12月10日 好文分享
    000
  • 数据库增删改查如何操作?PHP+MySQL完整CRUD示例

    php和mysql实现crud操作的步骤如下:1.添加数据使用insert into语句结合pdo预处理防止注入;2.查询数据用select语句配合query()和fetchall()获取结果;3.更新数据通过update语句并指定where条件避免全表更新;4.删除数据用delete语句同样需加w…

    2025年12月10日 好文分享
    000
  • 定时任务如何执行?Crontab配置

    crontab是linux/unix系统中最核心的定时任务工具,通过编辑cron表实现任务调度,使用crontab -e命令添加任务,格式为“分钟 小时 日期 月份 星期 命令路径”,支持星号、斜杠、逗号、连字符等符号进行灵活配置;常见问题包括路径错误、权限不足、环境变量缺失、脚本错误及输出未重定向…

    2025年12月10日 好文分享
    000
  • PHP怎样解析Protocol Buffers 解析Protobuf的5个详细步骤

    php解析protocol buffers的5个步骤是:1.安装protobuf编译器protoc,可通过包管理工具安装并验证版本;2.定义.proto文件,用proto3语法描述数据结构如user消息;3.使用protoc命令生成php代码,需安装官方库并正确配置输出参数;4.安装php prot…

    2025年12月10日 好文分享
    000
  • PHP怎样处理SAML属性 SAML属性断言方法详解

    php处理saml属性的核心步骤包括接收、解码、解析、验证签名、提取属性及使用属性。1. 接收samlresponse:通过http post请求获取base64编码的saml响应内容;2. 解码samlresponse:使用base64_decode()函数进行解码;3. xml解析:利用domd…

    2025年12月10日 好文分享
    000
  • 处理PHPCMS数据库表结构变更的问题

    处理phpcms数据库表结构变更,核心在于确保数据迁移平滑、减少停机时间,并维护系统完整性。1. 备份数据库是首要步骤;2. 分析变更需求明确影响范围;3. 制定包含sql语句、数据迁移策略、回滚方案和测试计划的迁移方案;4. 选择合适的迁移工具如phinx或doctrine migrations;…

    2025年12月10日 好文分享
    000
  • 配置PHPCMS手机端访问的Nginx规则

    要让phpcms在手机上快速运行,关键在于nginx规则配置。1. 通过定义map变量$is_mobile识别移动设备user-agent,实现精准的设备判断;2. 主域名配置中利用$is_mobile进行301重定向至手机站,提升seo与用户体验;3. 手机站与桌面站共用一套代码但分开配置,确保内…

    2025年12月10日 好文分享
    000
  • Redis缓存如何集成使用?PHP+Redis配置方法

    php 集成 redis 缓存可通过安装 phpredis 扩展并配置连接实现性能优化。1. 安装步骤包括使用 pecl 安装 redis 扩展、在 php.ini 添加 extension=redis.so 并重启服务;2. 连接时通过 new redis() 实例化,调用 connect 方法指…

    2025年12月10日 好文分享
    000
  • 如何生成验证码?GD库图形处理教程

    生成验证码的核心在于服务器端图像处理技术,常用php的gd库实现。其步骤包括:1.创建画布并定义尺寸;2.分配背景、文字及干扰颜色;3.生成随机字符并存入session;4.绘制文字(可用imagettftext增加自然扭曲);5.添加干扰元素如点、线;6.输出图片并销毁资源。传统验证码仍有价值在于…

    2025年12月10日 好文分享
    000
  • 图片水印如何添加?GD库图像处理详细教程

    使用php的gd库可以灵活地为图片添加水印。1. 首先确保环境支持gd库,并建议使用png格式的水印图片;2. 使用imagettftext()函数可直接添加文字水印,通过imagecolorallocate()设置颜色和透明度;3. 通过加载主图和水印图并调用imagecopymerge()函数实…

    2025年12月10日 好文分享
    000
  • PHP如何调用Erlang程序 通过端口调用Erlang节点的技巧

    php调用erlang程序的核心方式是通过端口进行通信。1. 选择通信方式:使用端口程序,php通过proc_open启动erlang节点并建立双向管道;2. 数据序列化:采用json格式进行数据交换,也可选用protocol buffers等二进制格式提升效率;3. 协议设计:建议定义消息长度前缀…

    2025年12月10日 好文分享
    000

发表回复

登录后才能评论
关注微信