AI绘图模型不会写字的难题解决了

2024-01-05 04:12

本文主要是介绍AI绘图模型不会写字的难题解决了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

大家好,最近有个开源项目比较有意思,解决了图像中不支持带有中文的问题。
https://github.com/tyxsspa/AnyText。

为什么不能带有中文?

数据集局限

Stable Diffusion的训练数据集以英文数据为主,没有大量包含其他语言文本的图像数据。这导致模型对非英文语言的理解和生成能力比较弱。

DALL·E 3 也是类似情况,带有英文情况可以,带有其它语言效果不理想。

多语言处理能力有限

Stable Diffusion的底层语言模型是英文预训练的,没有经过中文细化。它对中文词汇、语法、语义的理解和生成能力有限。

文本渲染能力有限

将文本渲染成逼真图像方面存在局限性,较难生成自然、连贯的中文文本。

DALL·E 3

AnyText的绘图工具

阿里巴巴推出开源项目,指定位置精准地向图中加入文字。

项目支持中英日韩四种语言,如图。

https://github.com/tyxsspa/AnyText/blob/main/docs/sample.jpg

快速使用

官网提供两个环境。
https://huggingface.co/spaces/modelscope/AnyText
https://modelscope.cn/studios/damo/studio_anytext/summary
https://modelscope.cn/studios/damo/studio_anytext/summary
https://modelscope.cn/studios/damo/studio_anytext/summary

在这里插入图片描述

架构

AnyText
AnyText的架构,一个基于扩散方法设计的文本生成和编辑系统。

  1. 辅助潜在模块:

    • 输入包括文本字形、位置和遮蔽图像。
    • 生成有助于在图像中创建或修改文本的潜在特征。
  2. 文本嵌入模块:

    • 利用光学字符识别(OCR)模型将笔画数据编码成嵌入。
    • 这些嵌入与由分词器产生的图像标题嵌入相结合。
    • 结果是与图像背景无缝融合的文本。

为了训练这个模型,使用了特定的损失函数:

  • 文本控制扩散损失: 旨在确保生成的文本准确地遵循控制条件(如位置、风格)。
  • 文本感知损失: 提高文本的感知精度,确保其与图像的视觉方面(如字体和比例)保持一致。

这个系统允许准确地生成文本,与图像内容的上下文和视觉效果协调一致。

总结

现在不支持stable diffusion webui 插件,使用只能在官方Demo或者写代码执行。

欢迎交流分享这方面问题,我也深入再尝试下。

朋友们帮忙点赞关注收藏!

这篇关于AI绘图模型不会写字的难题解决了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/571619

相关文章

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

Mysql DATETIME 毫秒坑的解决

《MysqlDATETIME毫秒坑的解决》本文主要介绍了MysqlDATETIME毫秒坑的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 今天写代码突发一个诡异的 bug,代码逻辑大概如下。1. 新增退款单记录boolean save = s