【详解】文本检测OCR模型的评价指标

关于文本检测OCR模型的评价指标

前言:网上关于评价标准乱七八糟的,有关于单词的,有关于段落的,似乎没见过谁解释一下常见论文中常用的评价指标具体是怎么计算的,比如DBNet,比如RCNN,这似乎好像默认大家都知道咋算了。

好吧,我不知道,我刚搞懂,做个笔记。

目录

识别网络

识别网络是最简单的,只有一个指标,就是准确率

检测正确的图像占总图像的比例
a c c u r a c y = 检测正确的小图数量 数据集中所有的小图数量 accuracy = \frac{检测正确的小图数量}{数据集中所有的小图数量} accuracy=数据集中所有的小图数量检测正确的小图数量

这里的图像指的是"小图",如下所示:


识别结果就是文本,如果识别结果与标注一致,即为正样本。

检测网络

检测网络就是采用的二分类的最简单的混淆矩阵

有框没框,框的位置对不对,都需要设定阈值进行限定

Precision = T P T P + F P \text { Precision }=\frac{T P}{T P+F P} Precision =TP+FPTP
Recall = T P T P + F N \text { Recall }=\frac{T P}{T P+F N} Recall =TP+FNTP
F Score = ( 1 + β 2 ) Precision ⋅ Recall β 2 ⋅ Precision + Recall ( β 系数一般取 1 ) F_{\text {Score }}=\left(1+\beta^2\right) \frac{\text { Precision } \cdot \text { Recall }}{\beta^2 \cdot \text { Precision }+ \text { Recall }} (\beta系数一般取1) FScore =(1+β2)β2⋅ Precision + Recall Precision ⋅ Recall (β系数一般取1)

两者和在一起组成OCR系统,以paddleOCR为例

官方指标评估代码与方法

PaddleOCR计算三个OCR检测相关的指标,分别是:Precision、Recall、Hmean(F-Score)。

PS:这里,Hmean与F-Score在PaddleOCR-V1中是分开的,Hmean特指检测位置部分的指标,F-Score特指OCR系统的指标,V2V3就没区分了,全部都是OCR系统的指标。

区别在于:TP的计算,OCR系统的指标需要:真实有框的位置,预测为有框,且识别结果正确。

依据论文:

举个非常好的例子

如上图所示:

  • 真实有框的数量为10个
  • 真实有框和预测有框对上的数量有7个:TP=7(绿蓝)
  • 但其中只有5个识别正确,所以:TP=5(红绿蓝)
  • 真实没框和预测有框的数量为2个:FP=2(纯蓝)
  • 真实有框但没有预测出来的有3个:FN=3(纯绿)

计算如下:

检测算法指标计算:

Precision = T P T P + F P = 7 7 + 2 = 0.7778 \text { Precision }=\frac{T P}{T P+F P}=\frac{7}{7+2}=0.7778 Precision =TP+FPTP=7+27=0.7778
Recall = T P T P + F N = 7 7 + 3 = 0.7 \text { Recall }=\frac{T P}{T P+F N}=\frac{7}{7+3}=0.7 Recall =TP+FNTP=7+37=0.7
F Score = ( 1 + β 2 ) Precision ⋅ Recall β 2 ⋅ Precision + Recall = ( 2 ) 0.7778 ⋅ 0.7 1 ⋅ 0.7778 + 0.7 = 0.73685 F_{\text {Score }}=\left(1+\beta^2\right) \frac{\text { Precision } \cdot \text { Recall }}{\beta^2 \cdot \text { Precision }+ \text { Recall }}=\left(2\right) \frac{\text { 0.7778 } \cdot \text { 0.7 }}{1 \cdot \text { 0.7778 }+ \text {0.7 }}=0.73685 FScore =(1+β2)β2⋅ Precision + Recall Precision ⋅ Recall =(2)1⋅ 0.7778 +0.7 0.7778 ⋅ 0.7 =0.73685

整体OCR系统指标计算:

Precision = T P T P + F P = 5 5 + 2 = 0.714 \text { Precision }=\frac{T P}{T P+F P}=\frac{5}{5+2}=0.714 Precision =TP+FPTP=5+25=0.714
Recall = T P T P + F N = 5 5 + 3 = 0.625 \text { Recall }=\frac{T P}{T P+F N}=\frac{5}{5+3}=0.625 Recall =TP+FNTP=5+35=0.625
F Score = ( 1 + β 2 ) Precision ⋅ Recall β 2 ⋅ Precision + Recall = ( 2 ) 0.714 ⋅ 0.625 1 ⋅ 0.714 + 0.625 = 0.66654 F_{\text {Score }}=\left(1+\beta^2\right) \frac{\text { Precision } \cdot \text { Recall }}{\beta^2 \cdot \text { Precision }+ \text { Recall }}=\left(2\right) \frac{\text { 0.714 } \cdot \text { 0.625 }}{1 \cdot \text { 0.714 }+ \text { 0.625 }}=0.66654 FScore =(1+β2)β2⋅ Precision + Recall Precision ⋅ Recall =(2)1⋅ 0.714 + 0.625 0.714 ⋅ 0.625 =0.66654

相关推荐
William Dawson4 小时前
2026软考中级系统集成项目管理工程师备考笔记
笔记·系统集成项目管理工程师
love530love7 小时前
精简版|Claude-HUD 插件介绍 + 一键安装教程
人工智能·windows·笔记
想成为优秀工程师的爸爸8 小时前
第三十篇技术笔记:郭大侠学UDS - 人有生老三千疾,望闻问切良方医
网络·笔记·网络协议·tcp/ip·信息与通信
tq10869 小时前
数学:约束表征空间的最小闭包
笔记
freexyn11 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
IT摆渡者13 小时前
linux 系统安全检查
运维·网络·经验分享·笔记
十安_数学好题速析14 小时前
【多选】曲线方程:四步避坑判断曲线类型
笔记·学习·高考
chase。16 小时前
【学习笔记】skrl: 模块化、灵活的强化学习库深度解析
笔记·学习
其实防守也摸鱼16 小时前
CSDN博客写什么?从0到1打造你的技术影响力
笔记·测试用例·博客·教程·ai写作·ai辅助·高质量
EQ-雪梨蛋花汤16 小时前
【Unity笔记】Unity 音游模板与免费资源:高效构建节奏游戏开发全指南
笔记·unity·游戏引擎