ICDAR文本检测算法的衡量方法(一)Evaluation Levels

时间:2024-04-12 22:36:36

ICDAR2013Challenge1(Born Digital)和Challenge2(Focused Scene)都有Text Localization任务,使用的evaluation方法基本相同(不同的是Challenge2需要处理ignored text)。
方法来源是一篇十几年前的paper

C. Wolf and J.M. Jolion, “Object Count / Area Graphs for the Evaluation of Object Detection and Segmentation Algorithms”, International Journal of Document Analysis, vol. 8, no. 4, pp. 280-296, 2006.

这篇paper读下来,我主要get到两部分知识:
1. 文本分割/检测算法的四个evaluation level
2. ICDAR2013 Localization任务的Evaluation方法

分为两篇blog来分别记录。


从Recall 与Precision开始

Recall与Precision的概念来自于信息检索领域(Information Retrieval, IR)。
Recall, 召回率,代表ground truth里的东西有多大比例被取出来了:

recall=N.o.True PositivesN.o. Ground truth

Precision, 精度,取出来的东西有多大比例是正确的:
precision=N.o. True PositivesN.o. Retrieved Items

其中, N.oNumber of的缩写。

Recall与Precision的调和平均数(Harmonic mean),F-score, 或 F-mean常常被当作最后的综合指标来衡量算法性能:

F=21recall+1precision=2recallprecisionrecall+precision

衡量文本检测算法时也引入了recall与precision的概念,但情况更复杂。复杂性主要来源于以下几个原因:

  1. 文本检测算法的输出和ground truth一般都是一个个的bounding box。用Di,Gj分别代表算法输出的与ground truth里的某个bounding box。现在需要计算True positive与False Positive。但是判断Di是否为True Positive远没有信息检索(IR)算法那么直接。在IR里判断某个检索结果是否正确,只需判断在ground truth里是否能找到完全相同的item就行了,是个简单的、0/1性质的、一对一匹配问题。而 Di的正确性判断使用的匹配方法是soft的、非一对一的匹配。soft在此处的含义指匹配输出是一个在0到1之间的score,而非0/1二值。而且一个Di可能与多个Gj匹配。这个问题不仅仅在Text Detection中存在,对General的Object Detection也同样适用。
  2. 文本检测算法可以在多个level或者说粒度上衡量,例如character/word/line, 甚至pixel。
  3. 文本检测问题最终的目的是文本识别。可以说检测的结果是识别结果的决定性因素之一。若检测出来的区域太大,背景噪声太多,会给识别增加困难。若区域太小,部分文本可能被直接截掉了,识别算法再牛B得不到正确的结果。
    可以说,1将Text/Object Detection与IR区别开来,2和3将Text Detection与Object Detection区别开来。

Evaluation Levels of Text Detection

ICDAR2013文本检测算法的衡量方法(一)Evaluation Levels
前两个Level都是像素级别的,针对分割算法/步骤。分割时需要判断每个像素的类别:Text/Non-Text。

1 . Feature discriminance at pixel level

此level的前提假设是使用的分割算法为每个pixel计算出了一个representation,或者说feature。 Evaluation的对象就是这个feature:判断其是否有足够的区分能力。Text与non-text 像素的feature有各自的分布,这两个分布的距离代表feature的区分能力,例如Bhattacharyya distance。
这种evaluation方法通常用作算法分析手段而非衡量手段:判断算法学出来的feature的质量,可以在一定程度上分析出算法在哪个阶段出的问题:representation or classification? 不过呢,在deep learning大行其道的今天,这种方法应该已经很少有人使用了吧。


2 . Classification at pixel level

这个level的evaluation对象是pixel分类器的输出结果, 指标是对应版本的Precision/Recall:

Recallpixel=N.o True positive pixelsN.o Object pixels

Precisionpixel=N.o. True positive pixelsN.o. Detected Object pixels

这种evaluation方式常用于general的物体分割算法。文本分割任务在ICDAR2013中出现过一次,但在2015取消了。出现的原因应该是当时举办方认为准确的识别需要依赖准确的分割,但后来大家发现不分割也可以很好地完成识别,加上分割任务的难度,自然就被取消了。

值得一提的是,人工标注pixel级别的label代价很高,人工合成数据是一个常用代替手段。


3 . Detection at Rectangle level

对于紧凑的物体,例如人、动物、文体等,用矩形框把它们框出来作检测结果是现在的主流方式,也是主角。 下一篇将着重描述,这里就不写了。


4 . Goal Oriented evaluation

之前提到过,文本检测的目的是为了识别。所以最后一种衡量方法就是以识别结果来衡量检测结果。ICDAR也在2015年增加了end-to-end 任务。

References

  1. C. Wolf and J.M. Jolion, “Object Count / Area Graphs for the Evaluation of Object Detection and Segmentation Algorithms”, International Journal of Document Analysis, vol. 8, no. 4, pp. 280-296, 2006
  2. 1. D. Karatzas, F. Shafait, S. Uchida, M. Iwamura, L. Gomez, S. Robles, J. Mas, D. Fernandez, J. Almazan, L.P. de las Heras , “ICDAR 2013 Robust Reading Competition”, In Proc. 12th International Conference of Document Analysis and Recognition, 2013, IEEE CPS, pp. 1115-1124.
  3. ICDAR 官网页面——Focused Scene Text