金融OCR领域实习日志(二)——四种OCR模型效果测试(附图)

2024-01-26 07:52

本文主要是介绍金融OCR领域实习日志(二)——四种OCR模型效果测试(附图),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 四种模型ocr效果简单测试
    • 模型
    • 场景
    • 1.paddle框架下PP-OCRv3
      • 1.1.效果如下:
      • 1.2.总结
    • 2.paddle框架下ppocr_server_v2
      • 2.1.效果如下
      • 2.2.总结
    • 3.CnOCR
      • 3.1.效果如下
      • 3.2.总结
    • 4.TesseractOCR
      • 4.1.效果如下
      • 4.2.总结
    • 5.后续想法

四种模型ocr效果简单测试

模型

PP-OCRv3、ppocr_server_v2、CnOCR、TesseractOCR

场景

发票(扫描件)、表格扫描件

1.paddle框架下PP-OCRv3

使用轻量级模型PP-OCRv3

image-20240125151736395

1.1.效果如下:

1号表格扫描件==(时间2.13s)==:

image-20240125151904558

execl_0

1号发票==(时间1.7s)==

image-20240125152325053

image-20240125153705468

2号发票扫描件==(时间2.36s)==

image-20240125152720286

image-20240125153654880

1.2.总结

表格扫描件:效果一切良好

发票实拍:有部分模糊文字识别不清,图片太糊了

发票扫描件:效果良好,但是特殊字符无法识别,后续补充训练可以解决

2.paddle框架下ppocr_server_v2

使用通用模型PP-OCRv3

image-20240125152829552

2.1.效果如下

1号发票

image-20240125154337770

2.2.总结

效果太差不试了

3.CnOCR

这里ocr参数全部设置默认

3.1.效果如下

1号表格扫描件:

image-20240125154620092

1号发票:

image-20240125154930442

3.2.总结

比起paddle中文模型,有较大差距

表格问题较小,但比如”牡“丹识别成了”社“丹

发票比较模糊,问题很多,比如联合识别成联音,公司识别成公碍等错误

特殊字符也同paddle一样无法识别,image-20240125155034693识别成了8,不过可以补充训练

4.TesseractOCR

4.1.效果如下

1号表格:

image-20240125155311597

1号发票:

image-20240125155351044

4.2.总结

中文识别一团浆糊,完全不能用

5.后续想法

基于paddle2.6发布的版本,PP-OCRv3表现最好,也是百度最新的OCR中文检测识别模型(paddle2.7下的v4没测),百度通用模型的效果相比而言差了很多。CnOCR比paddle差距明显,特别是模糊图片,Tesseract在中文场景下则是完全不能用。

此外,由于发票文档分布非常复杂,导致大部分识别模型无法对齐,但由于发票的模板非常固定,可以通过坐标变换先调整发票摆正,再裁剪图片喂给模型识别,以此来控制各个识别区域,避免文字错位。

这篇关于金融OCR领域实习日志(二)——四种OCR模型效果测试(附图)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

Python实现阶乘的四种写法

《Python实现阶乘的四种写法》本文主要介绍了Python实现阶乘的六种写法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录第一种:推导式+循环遍历列表内每个元素相乘第二种:调用functools模块reduce的php累计

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

使用Python实现生命之轮Wheel of life效果

《使用Python实现生命之轮Wheeloflife效果》生命之轮Wheeloflife这一概念最初由SuccessMotivation®Institute,Inc.的创始人PaulJ.Meyer... 最近看一个生命之轮的视频,让我们珍惜时间,因为一生是有限的。使用python创建生命倒计时图表,珍惜时间