当前位置: 首页 > news >正文

评测PHOCR中文文本识别模型

引言

PHOCR 是一个高性能的开源光学字符识别(OCR)工具包,专为多语种文本识别任务设计,支持包括中文、日文、韩文、俄文、越南文和泰文在内的多种语言。PHOCR 搭载了我们完全自研的识别模型 PH-OCRv1,在准确率上显著优于现有解决方案。

– PHOCR

最近,有个社区小伙伴新建立了一个PHOCR,里面的文本识别模型据说效果超越PP-OCRv5:

在这里插入图片描述

至于真实效果如何呢?还需要自己来看一下。

以下代码运行环境

  • OS: macOS Sequoia 15.6
  • Python: 3.10.14
  • phocr: 1.0.3
  • datasets
  • text_rec_metric

评测

由于评测数据集的限制,以下评测结果不完全代表模型能力,支持给出一个基本参考。小伙伴们还需要在自己场景下真实评测来看哈。

该部分主要使用TextRecMetric和测试集text_rec_test_dataset来评测。

测试集结果识别
import timeimport cv2
import numpy as np
from datasets import load_dataset
from tqdm import tqdmfrom phocr import PHOCR, LangRecengine = PHOCR(params={"Rec.lang_type": LangRec.CH})dataset = load_dataset("SWHL/text_rec_test_dataset")
test_data = dataset["test"]content = []
for i, one_data in enumerate(tqdm(test_data)):img = np.array(one_data.get("image"))img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR)t0 = time.perf_counter()result = engine(img, use_rec=True, use_cls=False, use_det=False)elapse = time.perf_counter() - t0rec_text = result.txts[0]if len(rec_text) <= 0:rec_text = ""elapse = 0gt = one_data.get("label", None)content.append(f"{rec_text}\t{gt}\t{elapse}")with open("pred.txt", "w", encoding="utf-8") as f:for v in content:f.write(f"{v}\n")
计算评测指标
from text_rec_metric import TextRecMetricmetric = TextRecMetric()pred_path = "pred.txt"
metric = metric(pred_path)
print(metric)
{'ExactMatch': 0.6452, 'CharMatch': 0.7648, 'avg_elapse': 0.0613}

结论

模型模型大小Exact MatchChar MatchSpeed(s/img)
PHOCR v1.0.3224M0.64520.76480.0613
ch_PP-OCRv5_rec_infer.onnx16M0.73550.91770.0713
ch_PP-OCRv5_rec_server_infer.onnx81M0.81290.94310.1133

上面结果和PP-OCRv5比较来看,差距还是不小的。可能是测试集的不同,导致指标差距明显。但是速度的确快一些。⚠️注意:仅供参考哈。

RapidOCR这里暂时不做集成,后续会持续关注PHOCR这里。

完整的评测结果比较:文本识别模型比较

http://www.dtcms.com/a/312467.html

相关文章:

  • MySQL半同步复制机制详解:AFTER_SYNC vs AFTER_COMMIT 的优劣与选择
  • Python 程序设计讲义(57):Python 的函数——可变参数的使用
  • 专网内网IP攻击防御:从应急响应到架构加固
  • 老电脑PE下无法读取硬盘的原因
  • 【LeetCode刷题指南】--二叉树的后序遍历,二叉树遍历
  • 7.14.散列表的基本概念(散列表又名哈希表,Hash Table)
  • 01.Redis 概述
  • 嵌入式通信协议解析(基于红外NEC通信协议)
  • 旧笔记本电脑如何安装飞牛OS
  • 前端工程化:npmvite
  • 解剖 .NET 经典:从 Component 到 BackgroundWorker
  • python基础语法6,简单文件操作(简单易上手的python语法教学)(课后习题)
  • Jetpack Compose for XR:构建下一代空间UI的完整指南
  • Hyper-V + Centos stream 9 搭建K8s集群(二)
  • MySQL 索引失效的场景与原因
  • k8s+isulad 国产化技术栈云原生技术栈搭建2-crictl
  • Linux进程启动后,监听端口几分钟后消失之问题分析
  • MySQL 事务原理 + ACID笔记
  • HiveMQ核心架构思维导图2024.9(Community Edition)
  • Educational Codeforces Round 171 (Rated for Div. 2)
  • 06.Redis 配置文件说明
  • 【openlayers框架学习】十一:openlayers实战功能介绍与前端设计
  • Azure DevOps 中的代理
  • Azure DevOps — Kubernetes 上的自托管代理 — 第 4 部分
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(七级)
  • Mongo索引
  • 0基礎網站開發技術教學(二) --(前端篇 2)--
  • 【超分辨率专题】PiSA-SR:单步Diff超分新突破,即快又好,还能在线调参
  • 信息量,惊奇度,熵、KL散度(相对熵),交叉熵、最大似然估计MLE与最小化交叉熵的等价证明、
  • 每日一博 - 异步编程最佳实践