这是第二部分,第一部分请点击 ICDAR2013文本检测算法的衡量方法(一)Evaluation Levels
主要内容:
- Rectangle Matching, 或者bbox matching
- ICDAR2013 Foucsed Image 文本检测任务的evaluation方法
若无特别说明,接下来说的:
- evaluation/衡量方法都是只针对text localization算法;
- text detection 与 text localization 不作区分
- bounding box, bbox, rectangle不作区分
Detection with bbox
上一篇已经讲过, evaluation方法有四个level:
- pixel feature discriminace
- pixel classification
- detection at rectangle
- target oriented
在文本检测领域, 3和4(end2end evaluation)是最常用的。
对以水平文本为主体的text detection任务以及general的object detection任务来说, 用矩形框来表示检测结果是最方便最实用也是最广泛的方法。ICDAR2013就是如此。(但ICDAR2015不是)
evaluation问题描述
Evaluation问题的输入:
- D , 要衡量的检测算法输出的bbox集合.
-
G , Ground Truth bbox集合. - Di,Gj 分别代表 D,G 的一个元素
输出: 对 D 的质量评估。
目前为止,我所了解的evaluation方法(object detection和text detection) 都有recall和precision的计算。得到这两个值后,object detection的evaluation会计算mAP, 而text detection的evaluation则计算F-mean.
所以,对文本检测的evaluation来说, 不同的方法的不同之处主要在于如何计算recall与precision,而recall与precision的计算关键在于如何决断两个bbox是否match。
Matching of two bboxes
判断两个bbox是否match是一个可以简化但并不是一个简单的问题。存在三种match方式,如下图所示:
实线框代表ground truth,虚线框代表检测算法的输出。
- 一对一的match,如(a)所示。
- 一对多的match,如(b)所示,ground truth 粒度大于detection 粒度时出现的情况。
- 多对一的match,如(c)所示,detection的粒度大于ground truth的粒度。
- 多对多的match,图中没有画出。
不同的evaluation方法的不同的根源就在于对这三种match的处理方式不同
Evaluation in ICDAR2003,只考虑一对一的match
只考虑一对一的match是最简洁最简单最粗暴的方式, ICDAR2003就采用了这种方式。
图中的公式(6)计算Recall与Precision,都用到了
给定一个bbox b , 例如
(7)中 BestMatch 的分式计算形式看起来跟F-mean很相似。实际上它就是一个F-mean/调和平均数(Harmonic Mean)。可以定义基于面积的、bbox适用的recall 与precision: