目录
关键学习点
目录
什么是MGP-STR?
MGP-STR的应用和用例
关键特征和好处
MGP-STR入门
步骤1:导入必要的库
步骤2:加载预训练的模型
步骤3:图像处理和文本预测功能
示例(使用原始文本的图像URL):
结论
资源
关键点
常见问题
首页 科技周边 人工智能 使用基于视觉的文本识别的场景文本识别

使用基于视觉的文本识别的场景文本识别

Mar 14, 2025 am 09:45 AM

由于现实世界中各种各样的文字出现,场景文本识别(STR)仍然是研究人员的重大挑战。例如,识别文档上的文本不同于识别T恤上的文本。在ECCV 2022上引入的场景文本识别(MGP-STR)模型的多粒性预测提供了一种开创性的方法。 MGP-STR将视觉变压器(VIT)的鲁棒性与创新的多晶格语言预测相结合,显着提高了其处理复杂的STR任务的能力。这导致了更高的准确性和在各种现实世界中挑战的各种情况,提供了一个简单而强大的解决方案。

关键学习点

  • 掌握MGP-STR的结构和组件,包括视觉变压器(VIT)。
  • 了解多粒性预测如何提高场景文本识别的准确性和适应性。
  • 探索MGP-STR在现实世界光学特征识别(OCR)任务中的实际应用。
  • 获得实施和将MGP-STR与Pytorch一起实施的实用经验,以进行场景文本识别。

*本文是***数据科学博客马拉松的一部分。

目录

  • 什么是MGP-STR?
  • MGP-STR的应用和用例
  • MGP-STR入门
    • 步骤1:导入依赖关系
    • 步骤2:加载基本模型
    • 步骤3:来自图像的文本预测的辅助功能
  • 结论
  • 常见问题

什么是MGP-STR?

MGP-STR是一种基于视觉的STR模型,而无需单独的语言模型。它使用多粒性预测(MGP)策略将语言信息直接集成到其体系结构中。这种隐式方法允许MGP-STR胜过纯粹的视觉模型和语言增强方法,从而实现最新的STR结果。

该体系结构由两个关键组成部分组成:

  • 视觉变压器(VIT)
  • A³模块

通过简单而有效的策略,在字符,子词和单词级别上进行预测的融合可确保MGP-STR捕获视觉和语言细节。

使用基于视觉的文本识别的场景文本识别

MGP-STR的应用和用例

MGP-STR主要用于文本图像上的OCR任务。它隐式结合语言知识的独特能力使其在不同文本和扭曲文本的现实情况中特别有用。示例包括:

  • 从自然场景中读取文字(街头标志,广告牌)。
  • 从扫描的表格和文档(手写或打印)中提取文本。
  • 分析工业环境中的文本(产品标签,条形码)。
  • 增强现实(AR)应用中的文本翻译/转录。
  • 从扫描文档或印刷材料照片中提取信息。
  • 协助可访问性解决方案(屏幕读取器)。

使用基于视觉的文本识别的场景文本识别

关键特征和好处

  • 无需独立语言模型
  • 多粒性预测
  • 最先进的表现
  • 方便使用的

MGP-STR入门

本节将在示例图像上使用MGP-STR进行场景文本识别。您需要Pytorch,Transformers库和依赖项(PIL,请求)。

步骤1:导入必要的库

导入所需的库:用于模型处理的变压器,用于图像操纵的PIL以及获取在线图像的请求。

 <code>from transformers import MgpstrProcessor, MgpstrForSceneTextRecognition import requests import base64 from io import BytesIO from PIL import Image from IPython.display import display, Image as IPImage</code>
登录后复制

步骤2:加载预训练的模型

通过拥抱面部变压器来加载MGP-STR基本型号及其处理器。

 <code>processor = MgpstrProcessor.from_pretrained('alibaba-damo/mgp-str-base') model = MgpstrForSceneTextRecognition.from_pretrained('alibaba-damo/mgp-str-base')</code>
登录后复制

步骤3:图像处理和文本预测功能

创建一个函数来输入图像URL,使用MGP-STR处理它们,然后返回文本预测。此处理图像转换,base64编码和文本解码。

 <code>def predict(url): image = Image.open(requests.get(url, stream=True).raw).convert("RGB") pixel_values = processor(images=image, return_tensors="pt").pixel_values outputs = model(pixel_values) generated_text = processor.batch_decode(outputs.logits)['generated_text'] buffered = BytesIO() image.save(buffered, format="PNG") image_base64 = base64.b64encode(buffered.getvalue()).decode("utf-8") display(IPImage(data=base64.b64decode(image_base64))) print("\n\n") return generated_text</code>
登录后复制

示例(使用原始文本的图像URL):

这里省略了带有图像URL和预测的示例以节省空间,但是它们将遵循与原始文本相同的结构,以不同的图像URL调用predict功能。

从图像示例可以明显看出该模型的准确性。它的效率值得注意,在使用低RAM使用情况的CPU上运行。这使其很容易适应针对特定领域的任务的微调。

使用基于视觉的文本识别的场景文本识别

结论

MGP-STR有效地结合了愿景和语言理解。其创新的多晶型预测为不带外部语言模型的情况提供了一种全面的方法,提高准确性和适应性。它简单而准确的体系结构使其成为OCR和STR中研究人员和开发人员的宝贵工具。它的开源性质促进了该领域的进一步进步。

资源

  • Google合作:[链接](替换为实际链接)
  • arxiv:[link](替换为实际链接)
  • github:[link](替换为实际链接)
  • 拥抱面:[链接](替换为实际链接)

关键点

  • MGP-STR在没有单独的语言模型的情况下整合视觉和语言。
  • 多跨性预测增强了其在各种挑战中的表现。
  • MGP-STR通过简单的体系结构实现最新的结果。
  • 它很容易适应各种OCR任务。

常见问题

  • Q1:什么是MGP-STR,它与传统STR模型有何不同? A1: MGP-STR使用MGP将语言预测直接整合到基于视觉的框架中,从而消除了对传统方法中单独的语言模型的需求。

  • Q2:用于培训MGP-STR的哪些数据集? A2:基本模型在MJSynth和Synthtext上进行了培训。

  • Q3:MGP-STR可以将变形或低质量的文本图像处理吗? A3:是的,它的多粒性预测机制使其可以应对此类挑战。

  • 问题4:MGP-STR适合英语以外的其他语言? A4:虽然对英语进行了优化,但可以通过适当的培训数据适应其他语言。

  • Q5:A³模块如何促进MGP-STR的性能? A5: A³模块可以完善VIT输出,实现子词级预测并嵌入语言信息。

注意:图像占位符与原始输入相同。切记用实际链接替换包围的链接。

以上是使用基于视觉的文本识别的场景文本识别的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
如何使用AGNO框架构建多模式AI代理? 如何使用AGNO框架构建多模式AI代理? Apr 23, 2025 am 11:30 AM

在从事代理AI时,开发人员经常发现自己在速度,灵活性和资源效率之间进行权衡。我一直在探索代理AI框架,并遇到了Agno(以前是Phi-

OpenAI以GPT-4.1的重点转移,将编码和成本效率优先考虑 OpenAI以GPT-4.1的重点转移,将编码和成本效率优先考虑 Apr 16, 2025 am 11:37 AM

该版本包括三种不同的型号,GPT-4.1,GPT-4.1 MINI和GPT-4.1 NANO,标志着向大语言模型景观内的特定任务优化迈进。这些模型并未立即替换诸如

如何在SQL中添加列? - 分析Vidhya 如何在SQL中添加列? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQL的Alter表语句:动态地将列添加到数据库 在数据管理中,SQL的适应性至关重要。 需要即时调整数据库结构吗? Alter表语句是您的解决方案。本指南的详细信息添加了Colu

Andrew Ng的新简短课程 Andrew Ng的新简短课程 Apr 15, 2025 am 11:32 AM

解锁嵌入模型的力量:深入研究安德鲁·NG的新课程 想象一个未来,机器可以完全准确地理解和回答您的问题。 这不是科幻小说;多亏了AI的进步,它已成为R

火箭发射模拟和分析使用Rocketpy -Analytics Vidhya 火箭发射模拟和分析使用Rocketpy -Analytics Vidhya Apr 19, 2025 am 11:12 AM

模拟火箭发射的火箭发射:综合指南 本文指导您使用强大的Python库Rocketpy模拟高功率火箭发射。 我们将介绍从定义火箭组件到分析模拟的所有内容

Google揭示了下一个2025年云上最全面的代理策略 Google揭示了下一个2025年云上最全面的代理策略 Apr 15, 2025 am 11:14 AM

双子座是Google AI策略的基础 双子座是Google AI代理策略的基石,它利用其先进的多模式功能来处理和生成跨文本,图像,音频,视频和代码的响应。由DeepM开发

您可以自己3D打印的开源人形机器人:拥抱面孔购买花粉机器人技术 您可以自己3D打印的开源人形机器人:拥抱面孔购买花粉机器人技术 Apr 15, 2025 am 11:25 AM

“超级乐于宣布,我们正在购买花粉机器人,以将开源机器人带到世界上,” Hugging Face在X上说:“自从Remi Cadene加入Tesla以来,我们已成为开放机器人的最广泛使用的软件平台。

DeepCoder-14b:O3-Mini和O1的开源竞赛 DeepCoder-14b:O3-Mini和O1的开源竞赛 Apr 26, 2025 am 09:07 AM

在AI社区的重大发展中,Agentica和AI共同发布了一个名为DeepCoder-14B的开源AI编码模型。与OpenAI等封闭源竞争对手提供代码生成功能

See all articles