[paddlocr]文本行方向分类模块使用教程

关于提高PaddleOCR识别准确率的一些优化(二) 关于提高OCR识别准确率的一些优化(二)前言一、为什么要判断方向?二、paddleocr方向分类器1.方法介绍2、实际效果测试3、文本框检测实际效果4、结果分析5、解决办法6、方向检测测试结果三、paddlex图像分类1.训练2.测试结果分析四、后续优化方向总结 前言 本文基于关于提高OCR识别准确率的一些优化做出了一些改进和尝试,主要分为以下两点: 1、使用paddleocr方向分类器判断文本方向 2、用paddlex训练一个方向分类器判断文本方向 一、为什么要判断方向? 在我们的数据集中,有很多用户 阅读详情

文本行方向分类模块使用教程

一、概述

文本行方向分类模块主要是将文本行的方向区分出来,并使用后处理将其矫正。在诸如文档扫描、证照拍摄等过程中,有时为了拍摄更清晰,会将拍摄设备进行旋转,导致得到的文本行也是不同方向的。此时,标准的OCR流程无法很好地应对这些数据。利用图像分类技术,可以预先判断文本行方向,并将其进行方向调整,从而提高OCR处理的准确性。

二、支持模型列表

模型模型下载链接Top-1 Acc(%)GPU推理耗时(ms)CPU推理耗时 (ms)模型存储大小(M)介绍
PP-LCNet_x0_25_textline_ori推理模型/训练模型98.85--0.32基于PP-LCNet_x0_25的文本行分类模型,含有两个类别,即0度,180度
PP-LCNet_x1_0_textline_ori推理模型/训练模型99.42--6.5基于PP-LCNet_x1_0的文本行分类模型,含有两个类别,即0度,180度

❗ 注:文本行方向分类模型近期升级,并增加 PP-LCNet_x1_0_textline_ori,如需使用升级前的模型权重,请点击下载链接。

测试环境说明:

  • 性能测试环境
    • 测试数据集:PaddleOCR 自建的数据集,覆盖证件和文档等多个场景,包含 1000 张图片。
    • 硬件配置:
      • GPU:NVIDIA Tesla T4
      • CPU:Intel Xeon Gold 6271C @ 2.60GHz
      • 其他环境:Ubuntu 20.04 / cuDNN 8.6 / TensorRT 8.5.2.2
  • 推理模式说明
模式GPU配置CPU配置加速技术组合
常规模式FP32精度 / 无TRT加速FP32精度 / 8线程PaddleInference
高性能模式选择先验精度类型和加速策略的最优组合FP32精度 / 8线程选择先验最优后端(Paddle/OpenVINO/TRT等)

三、快速开始

❗ 在快速开始前,请先安装 PaddleOCR 的 wheel 包,详细请参考 安装教程。

使用一行命令即可快速体验:

paddleocr text_line_orientation_classification -i https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/textline_rot180_demo.jpg

您也可以将文本行方向分类模块中的模型推理集成到您的项目中。运行以下代码前,请您下载示例图片到本地。

from paddleocr import TextLineOrientationClassification
model = TextLineOrientationClassification(model_name="PP-LCNet_x0_25_textline_ori")
output = model.predict("textline_rot180_demo.jpg",  batch_size=1)
for res in output:
    res.print(json_format=False)
    res.save_to_img("./output/demo.png")
    res.save_to_json("./output/res.json")

运行后,得到的结果为:

{'res': {'input_path': 'textline_rot180_demo.jpg', 'page_index': None, 'class_ids': array([1], dtype=int32), 'scores': array([0.99864], dtype=float32), 'label_names': ['180_degree']}}

运行结果参数含义如下: - input_path:表示输入图片的路径。 - page_index:如果输入是PDF文件,则表示当前是PDF的第几页,否则为 None - class_ids:表示预测结果的类别 id,含有两个类别,即0度和180度。 - scores:表示预测结果的置信度。 - label_names:表示预测结果的类别名。

可视化图片如下:

相关方法、参数等说明如下:

  • TextLineOrientationClassification实例化文本行方向分类模型(此处以PP-LCNet_x0_25_textline_ori为例),具体说明如下:
参数参数说明参数类型可选项默认值
model_name模型名称str无无
model_dir模型存储路径str无无
device模型推理设备str支持指定GPU具体卡号,如“gpu:0”,其他硬件具体卡号,如“npu:0”,CPU如“cpu”。gpu:0
use_hpip是否启用高性能推理插件bool无False
hpi_config高性能推理配置dict | None无None
  • 其中,model_name 必须指定,在此基础上,指定 model_dir 时,使用用户自定义的模型。

  • 调用文本行方向分类模型的 predict() 方法进行推理预测,该方法会返回一个结果列表。另外,本模块还提供了 predict_iter() 方法。两者在参数接受和结果返回方面是完全一致的,区别在于 predict_iter() 返回的是一个 generator,能够逐步处理和获取预测结果,适合处理大型数据集或希望节省内存的场景。可以根据实际需求选择使用这两种方法中的任意一种。predict() 方法参数有 input 和 batch_size,具体说明如下:

参数参数说明参数类型可选项默认值
input待预测数据,支持多种输入类型Python Var/str/list
  • Python变量,如numpy.ndarray表示的图像数据
  • 文件路径,如图像文件的本地路径:/root/data/img.jpg
  • URL链接,如图像文件的网络URL:示例
  • 本地目录,该目录下需包含待预测数据文件,如本地路径:/root/data/
  • 列表,列表元素需为上述类型数据,如[numpy.ndarray, numpy.ndarray],["/root/data/img1.jpg", "/root/data/img2.jpg"],["/root/data1", "/root/data2"]
无
batch_size批大小int任意整数1
  • 对预测结果进行处理,每个样本的预测结果均为对应的Result对象,且支持打印、保存为图片、保存为json文件的操作:
方法方法说明参数参数类型参数说明默认值
print()打印结果到终端format_jsonbool是否对输出内容进行使用 JSON 缩进格式化True
indentint指定缩进级别,以美化输出的 JSON 数据,使其更具可读性,仅当 format_json 为 True 时有效4
ensure_asciibool控制是否将非 ASCII 字符转义为 Unicode。设置为 True 时,所有非 ASCII 字符将被转义;False 则保留原始字符,仅当format_json为True时有效False
save_to_json()将结果保存为json格式的文件save_pathstr保存的文件路径,当为目录时,保存文件命名与输入文件类型命名一致无
indentint指定缩进级别,以美化输出的 JSON 数据,使其更具可读性,仅当 format_json 为 True 时有效4
ensure_asciibool控制是否将非 ASCII 字符转义为 Unicode。设置为 True 时,所有非 ASCII 字符将被转义;False 则保留原始字符,仅当format_json为True时有效False
save_to_img()将结果保存为图像格式的文件save_pathstr保存的文件路径,当为目录时,保存文件命名与输入文件类型命名一致无
  • 此外,也支持通过属性获取带结果的可视化图像和预测结果,具体如下:
属性属性说明
json获取预测的json格式的结果
img获取格式为dict的可视化图像

四、二次开发

由于 PaddleOCR 并不直接提供文本行方向分类的训练,因此,如果需要训练文档图像方向分类模型,可以参考 PaddleX 文本行方向分类二次开发部分进行训练。训练后的模型可以无缝集成到 PaddleOCR 的 API 中进行推理。

cn.PaddleOcrV4 PaddlOCR离线文字识别框架,身份证识别 cn.PaddleOcr 支持PP-OCRv2、PP-OCRv3、PP-OCRv4三个版本ocr识别。支持 Windows(x64) ,支持cpu和Gpu模式(Cuda)运行,当前调试代码为cpu模式。基于以下开源项目,做了再次封装。 阅读详情

相关推荐

PaddleOCR识别框架解读[19] 文本方向分类器--从训练到部署全流程

PaddleOCR识别框架解读[19] 文本方向分类器--从训练到部署全流程

我是天才很好 2119

PaddleOCR文本行方向分类:99.42%准确率实现

在实际OCR(Optical Character Recognition,光学字符识别)应用场景中,文本行方向识别是一个长期存在的技术挑战。当文档图像中的文本行出现旋转、倾斜或倒置时,传统OCR系统的识别准确率会急剧下降。你还在为以下问题而烦恼吗? - 扫描文档中文本行方向不一致导致识别错误 - 手机拍摄的文档图像存在各种角度的旋转 - 多语言混合文档中不同文字方向的处理难题 - 传统方法对复杂...

gitblog_00158的博客 830

PP-OCRv5 Test 2025-05-26.rar

PP-OCRv5 Test 2025-05-26.rar 博客地址:https://blog.youkuaiyun.com/lw112190/article/details/148216216

PaddleOCR的方向分类器代码解析(四)

2021SC@SDUSC   深度学习可以归结为一个优化问题,最小化目标函数。最优化的求解过程,首先求解目标函数的梯度,然后将参数向负梯度方向更新,学习率表明梯度更新的步伐大小。最优化的过程依赖的算法称为优化器,可以看出深度学习优化器的两个核心是梯度与学习率,前者决定参数更新的方向后者决定参数更新程度。   PaddleOCR的方向分类器所使用的的优化器为Adam优化算法,它结合了AdaGrad和RMSProp两种优化算法的优点,对梯度的一阶矩估计(First Moment Estimation,即梯度的均

ScarlettWX的博客 2933

PPOCRv5所有训练模型+推理模型

文件列表: ├── PP-LCNet_x0_25_textline_ori/ ├── PP-LCNet_x1_0_doc_ori/ ├── PP-OCRv5_mobile_det/ ├── PP-OCRv5_mobile_rec/ ├── PP-OCRv5_server_det_infer/ ├── PP-OCRv5_server_rec_infer/ ├── UVDoc/ ├── 多场景识别模型/ │ ├── 推理模型/ │ │ ├── PP-OCRv5_mobile_rec_infer.tar │ │ └── PP-OCRv5_server_rec_infer.tar │ └── 预训练模型/ │ ├── PP-OCRv5_mobile_rec_pretrained.pdparams │ └── PP-OCRv5_server_rec_pretrained.pdparams └── 训练模型/ ├── PP-OCRv5_mobile_det_pretrained.pdparams ├── PP-OCRv5_mobile_rec_pretrained.pdparams ├── PP-OCRv5_server_det_pretrained.pdparams └── PP-OCRv5_server_rec_pretrained.pdparams

ocr模型包 paddle easyocr

ocr模型包 paddle easyocr

PP-LCNet文本行方向分类:98.85%准确率的OCR利器

百度飞桨推出PP-LCNet_x1_0_textline_ori文本行方向分类模型,以98.85%的平均识别准确率和仅0.96M的轻量体积,为OCR预处理环节提供高效解决方案,有效解决文本行方向识别难题。 ## 行业现状 随着数字化转型加速,光学字符识别(OCR)技术已广泛应用于文档处理、金融票据、证件识别等场景。然而,实际应用中,由于拍摄角度、设备旋转等因素,文本行常出现0度或180度方向偏转

gitblog_00189的博客 323

方案设计之亿级排行榜方案设计

该方案通过 “Redis Zset 为核心 + 分治策略为骨架 + 多级优化为细节”,在亿级用户场景下实现了:本质是将 “亿级大问题” 拆解为 “千万级小问题”,用分布式思想和精细化设计平衡性能、可用性与成本。

shine0312的专栏 1100

[paddlocr]ppocrv5文本检测训练自己数据集

文本检测模块是OCR(光学字符识别)系统中的关键组成部分,负责在图像中定位和标记出包含文本的区域。该模块的性能直接影响到整个OCR系统的准确性和效率。文本检测模块通常会输出文本区域的边界框(Bounding Boxes),这些边界框将作为输入传递给文本识别模块进行后续处理。

futureflsl的博客 2889

基于虚拟阻抗重塑的构网型VSG变流器SISO序阻抗建模与宽频振荡抑制策略分析(面向高比例新能源并网场景)

本文深入探讨了基于虚拟阻抗控制的构网型VSG变流器SISO序阻抗建模技术及其在高比例新能源并网场景中的宽频振荡抑制策略。通过虚拟阻抗重塑,有效改善了变流器的阻抗特性,解决了次/超同步频段的振荡问题,并提供了参数设计、阻抗扫频验证等实用技巧,为新能源并网系统的稳定性提供了可靠解决方案。

weixin_29268385的博客 252

各种加法器的比对分析与Verilog实现(3)

了Kogge-Stone加法器和brent-kung加法器,本文将用Verilog代码进行实现。

Albert_yeager的博客 1199

[paddlocr]ppocrv5文本识别训练自己数据集

文本识别模块是OCR(光学字符识别)系统中的核心部分,负责从图像中的文本区域提取出文本信息。该模块的性能直接影响到整个OCR系统的准确性和效率。文本识别模块通常接收文本检测模块输出的文本区域的边界框(Bounding Boxes)作为输入,然后通过复杂的图像处理和深度学习算法,将图像中的文本转化为可编辑和可搜索的电子文本。文本识别结果的准确性,对于后续的信息提取和数据挖掘等应用至关重要。

futureflsl的博客 4831

使用Dify搭建音频文件转文本工作流

使用Dify搭建音频文件转文本工作流

zyx_bx的博客 5624

[paddleocr]版面区域检测模块使用教程

¶版面区域检测任务的核心是对输入的文档图像进行内容解析和区域划分。通过识别图像中的不同元素(如文字、图表、图像、公式、段落、摘要、参考文献等),将其归类为预定义的类别,并确定这些区域在文档中的位置。

futureflsl的博客 1151

从帧结构到数据解析:深入理解CJ/T 188 MBUS水表通信协议

本文深入解析CJ/T 188 MBUS水表通信协议,从帧结构到数据解析提供完整指南。通过典型报文示例和实战案例,详细讲解地址域、控制码、数据标识符(DI)等关键字段的解析技巧,并分享校验算法与常见错误排查方法,帮助开发者快速掌握MBUS协议在水表通信中的应用。

weixin_28710999的博客 423

Istio ICA考试之路---2-2

找到dr部分,这部分可以在mirroring里找也可以和题2-1一样在Traffic Management的dr里复制,内容都一样。此题之后都是在cluster-2上操作,所以就不需要再切换了.之后的几题2.1节就忽略掉了。可以看到,80%的流量被镜像到了dev上,实际考试这步可以忽略。看到ex-ip是192.168.126.220。获取gw,把gateways加入到vs配置中。获取istio-ingress的ex-ip。就获得了这样一个模板文件。查看2个pod的日志。

Q先生 854

[OCR] PaddlOCR-VL OCR新范式

本文介绍了百度PaddleOCR-VL系列的最新进展,重点分析了PaddleOCR-VL-1.5的技术架构与创新点。该系统采用两阶段框架:PP-LayoutV2(RT-DETR+Pointer Network)完成文档元素定位和阅读顺序预测,Vision Encoder+LLM Decoder(基于ERNIE-4.5-0.3B)实现内容识别与结构化输出。关键技术包括动态分辨率视觉编码、3D-RoPE位置编码和分阶段训练策略。在OmniDocBench v1.5榜单上以92.86分超越GPT-4o等主流模型,

weixin_46470694的博客 687

Matlab之机载雷达系统中的空时自适应处理(STAP)技术(附源码)

在第一个脉冲期间,天线 1 通过天线 N-1 接收的杂波返回与第二个脉冲期间天线 2 通过天线 N 接收的杂波返回相同。该算法可能需要搜索角度和多普勒的所有组合来定位目标,但对于示例,由于确切知道目标的位置,因此可以将处理器定向到该点。然而,接收到的信号不仅包含来自目标的反射回波,还包含来自被照亮地表的回波。然而,由于干扰器的白噪声性质,接收到的干扰信号占据了整个多普勒频段。在以下部分中,您将模拟来自目标、杂波和干扰器的返回,并说明 STAP 技术如何过滤来自接收信号的干扰。假设元件间距是波形波长的一半。

珞瑜的博客 7136

paddlOCR文字检测模型训练

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

qq_40839674的博客 618

华为OD机试双机位C卷-AI面板识别(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 AI面板识别,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解以及在线OJ模拟做题。华为OD机试 - AI面板识别。

qq_45776114的博客 1343

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[paddlocr]PP-OCR模型量化

复杂的模型有利于提高模型的性能,但也导致模型中存在一定冗余,模型量化将全精度缩减到定点数减少这种冗余,达到减少模型计算复杂度,提高模型推理性能的目的。模型量化可以在基本不损失模型的精度的情况下,将FP32精度的模型参数转换为Int8精度,减小模型参数大小并加速计算,使用量化后的模型在移动端等部署时更具备速度优势。本教程将介绍如何使用飞桨模型压缩库PaddleSlim做PaddleOCR模型的压缩。

futureflsl的博客 1382

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

[OCR] PaddlOCR-VL-1.5读论文

PaddleOCR-VL-1.5在保持0.9B参数规模的同时,将 OmniDocBench v1.5 的分数提升至94.5,并引入了不规则形状定位、印章识别、文本检测识别一体化等新能力,同时针对扫描、倾斜、弯折、屏幕拍照、光线变化等五种真实场景构建了 Real5-OmniDocBench 评测基准。这篇继续PaddleOCR-VL-1.5,与PaddleOCR-VL 进行一下对比学习,基本框架和流程没有大的改变,不会太详细展开,对一些新的技术改进,进行重点学习;后处理的逻辑应该都差不多。

weixin_46470694的博客 701

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

[paddlocr]Paddle2ONNX模型转化与预测

本章节介绍 PaddleOCR 模型如何转化为 ONNX 模型,并基于 ONNXRuntime 引擎预测。

futureflsl的博客 2990

OCR实践—PaddlOCR-VL OCR新范式

PaddleOCR-VL是百度推出的OCR新范式模型,采用PP-LayoutV2(RT-DETR+Pointer Network)进行文档布局分析,结合动态分辨率视觉编码器(NaViT风格)和轻量级ERNIE-4.5语言解码器。该模型支持原生动态高分辨率输入,输出结构化Markdown/JSON格式,在OmniDocBench v1.5评测中以92.86分超越GPT-4o等主流模型。训练采用两阶段策略(预训练对齐+指令微调),使用2900万图像-文本对,并创新性地结合自动标注与困难样本挖掘技术。

CC&UU的博客 974

ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

发现有libpython3.7m.so.1.0这个文件,但是程序缺搜索不到,那么程序是从哪里找这个文件的呢? 查阅资料后我发现一般程序都是从 /usr/lib中寻找所需的libpython3.7m.so.1.0

weixin_53665577的博客 1514
上一篇: [paddlocr]ppocrv5文本识别训练自己数据集
下一篇: [paddleocr]文本图像矫正模块使用教程
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值