ModelScope DIY 多种场景文字识别(2)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: ModelScope DIY 多种场景文字识别

此外,我们还上线了业界流行的CRNN模型

https://www.modelscope.cn/models/damo/cv_crnn_ocr-recognition-general_damo/summary),相比于Transformer模型,它更加轻便,性能稳定。不久后,我们将上线CRNN模型的训练代码,以便开发者训练自己的数据。

通用文字检测模型采用的是自底向上的一个文字检测网络:SegLink++,该方法基本的原理是检测出文字行中的文字块和文字块之间的吸引排斥的连接关系,最后组成每行文字的多边形外接框。它不仅可以对各种形状、长度的文本行检测,同时调参也较为方便。对于文本弯曲、粘连、密集等检测效果更好。(seglink++模型:https://modelscope.cn/models/damo/cv_resnet18_ocr-detection-line-level_damo/summary

image.png

此外,我们也上线了DBNet文字检测模型,该模型是基于文字区域像素分割的方法,通过多尺度特征学习文字中心区域响应图和边缘区域响应图,经过处理之后可以得到文字区域四边形外接框。DBNet模型的特点是后处理简单,速度快,能够支持不同形状和长度的文字行的检测。

(DB模型:https://modelscope.cn/models/damo/cv_resnet18_ocr-detection-db-line-level_damo/summary)

image.png

▌DIY手写OCR  

接下来介绍DIY 手写OCR。文字手写用的较多的两个场景是课堂笔记,另外一个是成人手写。相比于通用文字识别,手写它通常有一些笔划、笔锋等不规范写法,同时也会有文字超出文本行区域的情况。同样它的DIY流程与上面通用流程类似。

https://www.modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-handwritten_damo/summary

image.png

这里要使用读光手写行识别模型。

image.png

下面是一个示例,图中手写文档如果用通用识别模型识别的结果较差,语句也不通顺,切换为手写识别模型,准确率高了很多。

image.png

▌DIY表格OCR  

最后一部分介绍如何DIY表格OCR。表格特别是在文档 OCR 领域较为常见,如发票、证件、 Excel转图片等。

image.png

表格模型选择有线表格模型。检测模型可以思考一下用行识别还是单词力度的检测模型更好。识别模型视情况选择手写或者通用模型。DIY过程中首先要做表格的检测,然后再做文字的检测和识别,最后要把文字再嵌入单元格。

image.png

红色是用文表格结构识别模型检测出来的结果。然后调用基础的文字的检测和识别,把文字放置回所属单元格中,最终形成一个完整的表格。

image.png

最后介绍一下表格 OCR 的原理。与大部分视觉任务所见即所得不同,表格结构识别需要获取单元格与其他单元格的关系才能推出该单元格在表格中的位置(逻辑坐标),因此表格结构识别的第一个难点在于关系的学习。

除此之外,在表格OCR场景,需要精确的得到单元格在图片中的位置(物理坐标)才能精确的获取文字与表格的关系,因此第二个难点是需要非常精准的得到表格线的位置。我们表格结构识别模型使用了一个双向回归的表格类检测网络,基于自底向上的思路,将基础元素的检测,还有关系的学习放在了一个网络中,使得关系的学习变成了一个回归问题,这样可以使网络很简单地学习出来表格的基础结构,同时也可以学习到这些基础结构之间的关系。

首先,基于关键点检测得到单元格的顶点以及中心点的位置;其次,用一个关系学习模块,基于单元格中心点学习到顶点的距离,获得单元格bbox,并基于单元格顶点学习出到共用该顶点的单元格的中心点距离,获得gbox(group box)。其实,gbox表征的即是单元格之间的关系。由于关键点检测可以获得非常精确的单元格顶点坐标,因此基于gbox将bbox拼接起来,可以获得非常精准的单元格bbox。从而分别解决了表格结构识别的两个难点。

除此之外,我们加入了一个Pair Loss,让模型关注与bbox与gbox的协同学习并挖掘其中的难样本。

image.png

其主要原理为结合视觉特征与单元格检测结果直接对单元格的逻辑坐标进行预测。模型设置了两个级联的回归器使得网络可以兼顾全局与局部的注意力。同时模型显式地利用了单元格间与单元格内的逻辑约束来对网络进行优化。

image.png

与有线表格类似,这里同样可以调用基础的文字的检测和识别,把文字放置回所属单元格中,最终形成一个完整的表格。

表格模型下载:https://modelscope.cn/models/damo/cv_dla34_table-structure-recognition_cycle-centernet/summary

表格体验创空间:https://modelscope.cn/studios/damo/cv_table-ocr/summary

▌OCR预训练技术-文档预训练  

文档具有丰富的内容和多变的形态,是重要的信息载体。借助文档领域OCR技术的成熟应用,文档理解逐渐成为泛OCR领域的重要技术方向。为面向未来的数字化、智能化进程提供可能,具有巨大的研究价值和广泛的应用价值。近年来,伴随文档理解预训练技术的快速发展,相比传统方法在文档理解下游任务上取得巨大的效果提升,文档预训练模型已逐渐成为学术界的热点研究问题,也是工业界重点发展的技术领域。

读光OCR团队针对现有文档预训练模型没有充分利用视觉和语言两个模态信息之间的交互,以及过分侧重语义、对版式(layout)建模较弱的问题,提出了 VLDoc 系列模型,通过提出视觉-语言双向特征精准对齐的文档预训练方法,充分利用视觉和语言两个模态信息之间的交互。同时融合一种基于文档文字结构的预训练方法,以实现对文档版式信息更充分的建模。VLDoc系列模型在包括在FUNSD (表格理解)、CORD (发票信息提取)、RVL-CDIP (文档分类)、DocVQA (文档VQA)等学术界公共数据集上取得SOTA效果。

在真实业务场景中,VLDoc系列模型也被证明具有良好的泛化性以及小样本学习能力。因此,作为基座模型,在达摩院文档AI产品(包括IDP和自学习平台)中获得广泛应用。

image.png

为方便用户使用文档理解多模态预训练模型,考虑到用户对模型效果以及使用场景的要求,读光OCR团队结合已提出的 VLDoc 系列文档预训练模型的优势预训练任务以及模型结构,推出了中英文文档理解多模态预训练模型VLDoc,集成在modelscope上,提供了简洁的调用示例,欢迎大家使用。

模型下载链接地址:https://www.modelscope.cn/models/damo/multi-modal_convnext-roberta-base_vldoc-embedding/summary

▌OCR预训练技术-文字检测预训练  

场景文字检测是计算机视觉领域中的一个非常基础、但也十分有挑战性的任务,它在许多实际应用场景中发挥着关键作用,比如场景理解、自动驾驶、图像搜索、智慧超市等。因此,如何快速准确地提取图片中的文字信息,不仅吸引了许多科研工作者,也是众多公司核心业务场景之一。

随着深度学习的迅猛发展,基于神经网络模型的文字检测算法取得了长足的进步。但由于图片内的文字样式复杂多变,书写顺序灵活,而且部分场景的数据规模很小,网络仅依靠图像信息很难获得对文字的深层次理解。因此,为了解决这个问题,读光OCR团队根据文字检测天然涉及到图像和文本两种模态这一特点,研发出了一种基于多模态交互理解的文字检测预训练算法VLPT。

VLPT主要通过三个预训练任务来建立起图像和离散文本之间的对应关系。第一个任务是掩码语言建模,即根据图片中所有文本构成文本序列,同时遮蔽住部分文本,然后根据图像信息预测该掩码对应的文本。第二个任务是图文对比学习,即通过将图片和文本序列嵌入到一个共享的空间中,训练网络使得对应的文本序列和图片在该空间中距离更近。第三个任务是文本存在判断,即通过判断字典中该文本的相似词是否出现在图片中,训练网络理解文本形近字能力。通过这三个任务,VLPT训练得到的模型不仅在图像层面上理解了文字的表现形式,而且能够对同一文本的各种样式变换以及文本的阅读顺序等进行更深入的理解。

VLPT可以适配几乎所有基于卷积神经网络的文字检测算法,而且我们在多种文字检测算法(如EAST、PSENet和DB)和多种数据集(如IC15、IC17、TotalText、CTW1500和TD500)上验证了方法的有效性。这种基于多模态交互理解的文字检测预训练算法为解决场景文字检测问题提供了一种新的思路和方法,为相关领域的研究和应用带来了更广阔的发展空间。

image.png

为方便用户使用文字检测多模态预训练模型,读光OCR团队将基于VLPT的文字检测算法DB集成在modelscope上,提供了简洁的调用示例,欢迎大家使用。

Modelscope链接:

https://www.modelscope.cn/models/damo/cv_resnet50_ocr-detection-vlpt/summary

相关文章
|
3月前
|
机器学习/深度学习 人工智能 文字识别
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
71 0
|
9月前
|
机器学习/深度学习 文字识别 达摩院
ModelScope DIY 多种场景文字识别(1)
ModelScope DIY 多种场景文字识别
|
1月前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
40 3
|
1月前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
22 3
|
1月前
|
文字识别
文字识别OCR常见问题之拦截扫描件的识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
20 2
|
1月前
|
数据采集 文字识别
文字识别OCR常见问题之目标区域和KV区域区别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
29 2
|
1月前
|
文字识别 API 开发工具
文字识别OCR常见问题之买了资源包识别不成功扣次数如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 3
|
1月前
|
存储 文字识别 算法
文字识别OCR常见问题之图片超过40M不返回结果如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
51 2
|
1月前
|
人工智能 文字识别 数据可视化
文字识别OCR常见问题之pos节点的x y好像不准确如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
23 0
|
1月前
|
文字识别
文字识别OCR常见问题之卡证票据包含营业执照如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
25 2

相关产品

  • 文字识别