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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
自定义KV模板,自定义KV模板 500次/账号
简介: ModelScope DIY 多种场景文字识别

导读:本文将介绍达摩院 OCR 整体布局,以及ModelScope上开源的一些重点模型。分享内容主要分为几个部分:

  • OCR基础科普
  • 通用场景OCR
  • 手写OCR
  • 表格OCR
  • OCR预训练技术

▌OCR基础科普  

1.文字意义

文字在我们日常生活中随处可见,它是重要的信息载体,也是语言的载体。无论在衣食住行,还是工作学习中,都是可以看到文字。文字不仅可以让我们了解到图片的内容,还可以帮我们记录一些很重要的信息。因此,文字在我们的日常生活中扮演着很重要的角色。如果没有了文字,我们是很难理解世界的。

image.png

无论是一些具体的图像还是视频,例如下图中可以看到建筑物,如果把它前面石匾上的字遮住,就无法快速知道这是什么建筑或者什么类型的建筑物。再譬如西湖旁边拍的一个路牌,如果遮住文字区域,我们也很难知道箭头代表着哪个方向的路。最近看世界杯,如果碰到了不熟悉的队伍,若号牌被遮住,我们也不知道哪个球员进的球。博物馆里面的一个甲骨文的碑刻,若没有文字我们将很难理解历史。因此文字是理解世界、记录历史的一种重要符号。

image.png

2.OCR类型

OCR的子类比较多,这里我们将其粗略的分为三类:DAR、STR、HCR。

DAR是文档图像分析与识别,也是当下的一个热门研究方向。文档在我们日常生活中较为常见如A4打印的文档、票据等都属于这个范畴。文档里有比较丰富的一些图文的元素,除了文字外,还可以有表格、柱状图、饼状图、印章等。

STR代表场景文字检测与识别。它通常是指我们看到的自然场景当中的文字,例如街景,实拍的一些商品等。这个方向为无人驾驶、智慧交通,以及实拍商品检索等方面提供了帮助。

HCR即在线文字识别,如常见的手写的输入法,银行的手写的一些签名,都可以认为是 HCR 的范畴。这个领域在深度学习出来之前就已经有了一定的发展,而且识别精度较高,在实际的商用过程中较为常见。例如我们很早就会用搜狗输入法,这个技术在传统的方法方面已经能做到比较高的水平了,到了深度学习阶段精度有了进一步的提高。

image.png

3.泛OCR研究问题和典型的处理流程

OCR是贯穿图像文本到语义理解的一种 AI 技术。与ASR类似,其核心都是语义理解,但相比之下,OCR的难点在于要理解的语义是二维的。

下面罗列了一些典型的技术。

第一步需要对图片做预处理,比较典型方法有预分类、图像增强、图像校正等。

第二步是版面分析。版面分析对于文档图像文字识别来说是非常重要的,如文本段落、文本块,页眉、页脚、表格、标题等,这些都是版面分析中常会涉及到的元素。另外有一些很重要的区域,我们需要对它单独进行分析,这个也属于版面分析,比如手写签名、logo、水印等。

第三步是比较核心的内容,把版面分析得到的区块进行细致的数字化,主要包括文字检测、文字识别,另外还有公式、图表的检测和分类等。

最后是语义处理,这也是近两年的热门研究。这个模块以前通常称为OCR的后处理阶段,是离用户最近的地方。涉及结构化的理解、信息抽取、表格识别等。达摩院在这些方面都有团队在做一些研究,并陆续开放相关的模型。

image.png

4.ModelScope中OCR模型

达摩院在工业界和学术界上开源出了一系列的模型,这些模型贯穿了从基础的预训练模型,到核心处理模型,再到行业应用模型。下图中灰色部分表示即将在 ModelScope 上开源出来的模型。

image.png

在文字检测开源的模型有行粒度文字检测、单词粒度文字检测。文字识别模型已经开源了通用场景文字识别、印刷文字识别、手写文字识别。在结构理解方面目前开源了表格检测和还原。在行业应用方面,选取了一些比较典型的模型开放出来。如车牌检测分类识别、自然场景文字检测识别等。

达摩院OCR团队会在modelscope上全栈布局,并将最新的研究成果公开,最终能够促进行业落地。希望这些开源的模型,无论在学术界还是工业界,为大家提供帮助。

▌DIY通用场景OCR  

接下来介绍如何利用在ModelScope上面公开的模型定制一些OCR pipeline。

首先介绍通用场景的pipeline。我们的通用场景主要包括三种场景,网络图、文档图、和街景图。利用这三大类数据集,训练了通用的文字检测和识别。

image.png

如何定制通用的 OCR 的pipeline。首先在model scope 找到通用行检测和行识别模型,下载对应的开源模型。另外现在平台可以兼容不同框架下的模型。接下来启动Notebook 编程界面(包括CPU 或GPU镜像)就可以进行 DIY 编程。

image.png

具体实现如下,首先加载了两个模型(检测模型和识别模型),并串联主函数。第二步是文字检测流程,即从检测的结果中提取出多边形区域结果输出。第三步文字识别流程,遍历多边形检测区域,对每一个区域进行剪裁,处理成文字行,调用文字行的识别模型。上述就是一个文字检测和识别的串联流程。

image.png

同时也可以通过在线体验(https://modelscope.cn/studios/damo/cv_ocr-text-spotting/summary),通过上传一张图片,选择相应场景,输出文字检测的区域及文字行识别结果。


对于上述内容,这里简单介绍一下相关的实现原理。对于文字识别网络构建,其中我们采用ConvTransformer 替换了以前的LSTM 特征提取模块,并且在实践中验证了这种模式的效果要优于之前的模型。整个模型流程大致为:先输入一张图片,进行一些视觉的 embedding提取,这里可以选用常见的一些骨干网络,如resNet等;对提取出的卷积 patch 进行一些处理,输入到 ConvTransformer模块,最后解码出来做CTC 对齐。(https://www.modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-general_damo/summary

image.png


相关文章
|
6月前
|
机器学习/深度学习 人工智能 文字识别
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
通用场景OCR文本识别任务-baseline学习(PaddleOCR)
260 0
|
机器学习/深度学习 人工智能 文字识别
ModelScope DIY 多种场景文字识别(2)
ModelScope DIY 多种场景文字识别
|
4月前
|
文字识别
印刷文字识别使用问题之是否支持非标发票的识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
存储 文字识别 运维
印刷文字识别使用问题之如何开通统一识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 容器
印刷文字识别使用问题之是否支持医疗检测报告识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 文字识别 开发工具
印刷文字识别使用问题之是否支持识别并返回文字在图片中的位置信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
人工智能 JSON 文字识别
印刷文字识别使用问题之如何数电发票进行识别
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 数据安全/隐私保护 iOS开发
印刷文字识别使用问题之如何识别礼品册上的卡号、密码信息
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
机器学习/深度学习 文字识别 API
印刷文字识别使用问题之是否支持识别香港和澳门食品经营许可证
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
|
4月前
|
文字识别 开发工具
印刷文字识别使用问题之是否支持识别手写体
印刷文字识别产品,通常称为OCR(Optical Character Recognition)技术,是一种将图像中的印刷或手写文字转换为机器编码文本的过程。这项技术广泛应用于多个行业和场景中,显著提升文档处理、信息提取和数据录入的效率。以下是印刷文字识别产品的一些典型使用合集。
印刷文字识别使用问题之是否支持识别手写体

相关产品

  • 文字识别
  • 下一篇
    无影云桌面