开源OCR模型DIY票证信息抽取

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 票证检测矫正模型在实际生活中有着广泛的需求,例如信息抽取、图像质量判断、证件扫描、票据审计等领等场景,可以大幅提高工作效率和准确性。

票证检测矫正模型在实际生活中有着广泛的需求,例如信息抽取、图像质量判断、证件扫描、票据审计等领等场景,可以大幅提高工作效率和准确性。

     

读光-票证检测矫正模型

日前,读光团队 开源的商用票证检测矫正模型,基于海量的真实数据训练,可以从容应对多种复杂场景的票证检测矫正任务,该模型具有以下优点:

  • 支持任意角度、多卡证票据等混贴场景,同时检测输入图像任意角度的多个子图区域
  • 基于海量真实数据训练,效果满足国内常见的卡证票据的检测矫正需求
  • 支持子图区域复印件判断、四方向判断,准确率高达 99%

模型链接:

https://modelscope.cn/models/damo/cv_resnet18_card_correction/summary

下图是模型的实现流程:

输入图片,基于 Resnet18-FPN 提取特征后,在 1/4 尺寸处通过三条分支分别识别出票证的中心点、偏移量(中心点到4个顶点距离)、中心点偏移量(为了得到精准的中心点),即可解码数出票证区域的四边形框;再用透视变换将票证拉平得到矫正后的票证信息;与此同时,分类分支识别出子图朝向,用于而切割的子图转正。

下图是模型效果:

?

接下来,介绍如何利用读光-检测矫正模型结合更多开源模型组合 DIY 票证信息抽取 应用:

实操教程:DIY票证信息抽取

票证信息抽取的流程包括:

预处理:对采集到的图像进行预处理操作,以提高后续处理的准确性。这包括图像去噪、二值化、旋转校正、尺寸标准化等操作。

文本检测:使用文本检测算法(如OCR技术)对处理后的图像进行分析,检测出图像中的文字区域。

文本识别:将检测到的文字区域进行识别,将图像中的文字转换成电子文本形式。

信息抽取:对识别出的文本进行分析,根据票据或证件的特定格式提取出关键信息,如发票号码、金额、日期等。

信息验证:对抽取出的信息进行验证,确保信息的准确性。这可能包括与数据库中的信息进行比对、检查信息的格式等。

?

1. 首先使用读光票证检测矫正模型,将图片中多个证件切分出来,并把对其方向进行旋转和矫正。

推荐模型

读光-票证检测矫正模型:https://modelscope.cn/models/damo/cv_resnet18_card_correction/summary

card_detection_correction = pipeline(Tasks.card_detection_correction, model='damo/cv_resnet18_card_correction')
card_result = card_detection_correction(file)
array_imgs = card_result['output_imgs']

2. 第二步使用读光文字检测模型,将每个证件中的文字按照行检测出来。使用ICGN效果会更好,使用DBNet调试更方便。

推荐模型

读光-文字检测-DBNet行检测模型-中英-通用领域:

https://modelscope.cn/models/damo/cv_resnet18_ocr-detection-db-line-level_damo/summary

ocr_detection = pipeline(Tasks.ocr_detection, model='damo/cv_resnet18_ocr-detection-db-line-level_damo')
for img in array_imgs:
  o_img = img
  det_result = ocr_detection(o_img)

3. 第三步使用读光文字识别模型,将每个检测框中的文字识别出来。

推荐模型:

读光-文字识别-行识别模型-中英-通用领域:

https://modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-general_damo/summary?

ocr_recognition = pipeline(Tasks.ocr_recognition, model='damo/cv_convnextTiny_ocr-recognition-general_damo')
for ori_pts in det_result['polygons']:
  pts = order_point(ori_pts)
  image_crop = crop_image(o_img, pts)
  line_result = ocr_recognition(image_crop)['text'][0]
  text_all = text_all+';'+line_result

4. 最后使用大模型或者NER模型将文字内容中实体信息抽取出来。

推荐模型:

通义千问-7B-Chat:https://modelscope.cn/models/qwen/Qwen-7B-Chat/summary?

model_dir = snapshot_download("qwen/Qwen-7B-Chat", revision = 'v1.1.4')
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True).eval()
model.generation_config = GenerationConfig.from_pretrained(model_dir, trust_remote_code=True)
response, history = model.chat(tokenizer, "你好", history=None)
response, history = model.chat(tokenizer, "请告诉我下面这段文字的发票代码,发票号码,发票金额,发票印制地名称:"+text_all, history=None)

下图是结果,展示了检测和识别的内容,以及使用千问chat提问的结果:

?

?

更多开源

读光团队在工业界和学术界上开源出了一系列的模型,这些模型贯穿了从基础的预训练模型,到核心图文处理模型,再到行业应用模型。具体地,在图像预处理方面开源了证件和票据检测矫正模型。

?

读光团队会在ModelScope上全栈布局,并将最新的研究成果公开,最终能够促进行业落地。希望这些开源的模型能够在学术界和工业界为大家提供帮助和启迪。

附:读光团队

文字检测模型:

● ICGN:

https://modelscope.cn/models/damo/cv_resnet18_ocr-detection-line-level_damo/summary?

● DB:

https://modelscope.cn/models/damo/cv_resnet18_ocr-detection-db-line-level_damo/summary?

● DB-轻量化:

https://modelscope.cn/models/damo/cv_proxylessnas_ocr-detection-db-line-level_damo/summary

?

文字识别模型:

● ConvNextVit-中英:

https://modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-general_damo/summary?

● ConvNextVit-文档:

https://modelscope.cn/models/damo/cv_convnextTiny_ocr-recognition-document_damo/summary?

● ConvNextVit-手写:

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

● CRNN-通用:

https://modelscope.cn/models/damo/cv_crnn_ocr-recognition-general_damo/summary?

● LightweightEdge-轻量化:https://modelscope.cn/models/damo/cv_LightweightEdge_ocr-recognitoin-general_damo/summary

?

表格:

● 有线表格:

https://modelscope.cn/models/damo/cv_dla34_table-structure-recognition_cycle-centernet/summary?

● 无线表格:

https://modelscope.cn/models/damo/cv_resnet-transformer_table-structure-recognition_lore/summary

?

卡证:

● 透视矫正:

https://modelscope.cn/models/damo/cv_resnet18_card_correction/summary

点击链接查看更多社区ocr模型实践案例

https://mp.weixin.qq.com/s?__biz=MzkxNTM5NTg2OA==&mid=2247483706&idx=1&sn=52d7d09088569a5c424392e07555feae&chksm=c15e8549f6290c5f5977d3bb93b137f5428e18f1385db4f773ad5753d2f9ccdcada5549531d2&scene=25#wechat_redirect?

相关文章
|
2天前
|
人工智能 文字识别 异构计算
关于github开源ocr项目的疑问
小白尝试Python OCR学习,遇到报错。尝试Paddle OCR部署失败,Tesseract OCR在Colab误操作后恢复失败。EasyOCR在Colab和阿里天池Notebook成功,但GPU资源不足。其他平台部署不顺,决定使用WebUI或阿里云轻应用。求教OCR项目部署到本地及简单OCR项目推荐。
31 2
|
1天前
|
机器学习/深度学习 缓存 文字识别
印刷文字识别产品使用合集之标注阶段设定了两个独立的字段,但在返回的信息中却合并成了一个字段如何解决
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
8 1
|
2天前
|
文字识别
印刷文字识别产品使用合集之设置了key值,那么在响应的参数data中,key值对应的信息会按照设置的顺序从0开始一一对应嘛
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
10 1
|
2天前
|
编解码 文字识别 测试技术
论文介绍:TextMonkey——面向文本理解的无OCR大型多模态模型
【5月更文挑战第2天】TextMonkey是一款无OCR的大型多模态模型,设计用于高效提取文本信息。它采用Shifted Window Attention和零初始化技术处理高分辨率文档,减少训练成本。通过假设图像中的冗余标记,模型能精简标记并提升性能。TextMonkey还能定位文本答案在图像中的位置,增强可解释性,在场景文本任务和关键信息提取中表现优越,特别是在OCRBench基准测试中刷新记录。然而,它在处理小图像和需要深层推理的任务时仍面临挑战。[链接](https://arxiv.org/abs/2403.04473)
57 5
|
2天前
|
文字识别 C# 开发者
WPF开源的一款免费、开箱即用的翻译、OCR工具
WPF开源的一款免费、开箱即用的翻译、OCR工具
|
2天前
|
人工智能 文字识别 Java
AI工具【OCR 01】Java可使用的OCR工具Tess4J使用举例(身份证信息识别核心代码及信息提取方法分享)
【2月更文挑战第1天】Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,本次介绍Tess4J
129 0
|
8月前
|
人工智能 文字识别 自然语言处理
Nougat:一种用于科学文档OCR的Transformer 模型
随着人工智能领域的不断进步,其子领域,包括自然语言处理,自然语言生成,计算机视觉等,由于其广泛的用例而迅速获得了大量的普及。光学字符识别(OCR)是计算机视觉中一个成熟且被广泛研究的领域。它有许多用途,如文档数字化、手写识别和场景文本识别。数学表达式的识别是OCR在学术研究中受到广泛关注的一个领域。
178 0
|
2天前
|
人工智能 文字识别 自然语言处理
【2023 CSIG垂直领域大模型】大模型时代,如何完成IDP智能文档处理领域的OCR大一统?
2023年12月28-31日,由中国图象图形学学会主办的第十九届CSIG青年科学家会议在中国广州隆重召开,会议吸引了学术界和企业界专家与青年学者,会议面向国际学术前沿与国家战略需求,聚焦最新前沿技术和热点领域,共同探讨图象图形学领域的前沿问题,分享最新的研究成果和创新观点,在垂直领域大模型专场,合合信息智能技术平台事业部副总经理、高级工程师丁凯博士为我们带来了《文档图像大模型的思考与探索》主题报告。
|
2天前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
66 3
|
2天前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
26 3
http://www.vxiaotou.com