数据要素产业
深兰科技摘得“图表信息提取竞赛”总成绩的冠军
在日前结束的第25届国际模式识别会议(ICPR2020)上,深兰科技DeepBlueAI团队同台竞技联想、华南理工、合合等队伍,摘得“图表信息提取竞赛”总成绩的冠军。
该竞赛由6个赛道7个子任务组成,其中赛道6有两个子任务,每个子任务又分Adobe Synth、UB PMC两个数据集。7个子任务按照数据集单独计分,最终按照总分进行排名。最终,DeepBlueAI团队拿下4个赛道冠军,以总分35分拿到总成绩第一名。
ICPR2020图表信息提取
竞赛冠军方案
该比赛各任务涵盖图表分类、案例分析、图元素提取等,数据类别存在着分布极为不均衡的问题。
7个赛道分别为:赛道一,图表分类;赛道二,检测并识别图表中的文字区域;赛道三,识别图表图像中文本功能/角色;赛道四,对坐标轴上刻度点进行检测并与刻度标签文本框关联;赛道五,关联图例标签文本与图例样式元素;赛道六,第一个子任务对图表元素进行检测与分类,第二个子任务提取用于生成图表图像的原始数据。
下面对比较有竞争力的三、四、五、六赛道的解决方案进行技术分享。
赛道三
赛道三以文本位置和文本内容为输入,识别图表图像中每个文本的角色,6个类别如图所示。我们的方法包括两个步骤:特征提取和分类器分类。使用文本属性来定义特征向量,使用的分类器是Random Forest [1]和LightGBM [2]。
特征由文本框属性和文本内容组成,这些特征可分为三组。第一组包含框的长宽比、文本是否为数字、文本是否为多行、文本角度、文本长度和图表类型。第二组包括文本框的三种相对位置信息,也就是相对于全局边框、原点和图例的位置。第三组包含水平/垂直对齐文本框的数量和对齐文本框的水平/垂直范围,判断框是否对齐时,分别使用文本框的中心点、左上角和右下角。
使用随机森林和LightGBM对文本角色进行分类。随机森林的一个优点是在缺少特征的情况下仍然具有良好的性能,LightGBM具有训练效率高、精度高等优点。在训练模型时,每个类别的损失权重与输入数据的频率成反比。
赛道四
赛道四需要检测出每个X轴或Y轴上的刻度点并与对应的刻度标签文本框关联。该赛道使用修改后的F-measure对每个轴评分,然后对所有轴进行得分平均。对每个检测到的刻度点,根据其距离真实刻度点之间的距离,给出0到1之间的评分。Precision计算方法为评分总和除以预测数。召回率的计算方法是得分的总和除以真实标注刻度点的数量。
对于该任务,我们将整个任务拆分为刻度点检测和匹配两个步骤。
在刻度点检测任务中,我们将该任务视为标准的关键点估计问题。参考CenterNet,使用DLA-34作为backbone,从底层添加更多的跳转连接,并在上采样阶段将每个卷积层替换为可变形的卷积层,最后获得尺寸为1/4的输出特征图,然后将特征图送入头部分支。在头部分支中,包括三个分支。首先是刻度点检测分支,在此分支中预测的热图中的峰值对应于刻度点的位置,并通过两个不同的特征图将点分类为X轴或Y轴的刻度点。为了恢复由输出步幅引起的离散化误差,在Offset分支中预测了修正刻度点位置的偏移量。在第三个分支中(OTB),预测了刻度点到刻度标签文本框中心的偏移,该偏移仅在训练阶段使用。
为了训练刻度点检测分支,我们使用Focal Loss作为损失函数来进行逐像素逻辑回归。为了训练Offset分支,我们使用在人脸Landmark定位任务中提出的Wing Loss,其设计目的是提高深度神经网络针对中小型误差的学习能力,并使用Smooth L1作为训练OTB分支的损失函数。
在检测出X轴与Y轴上的刻度点后,首先使用线性分布检查来过滤掉异常检测点,然后基于刻度点与标签文本框之间X轴或Y轴的L1距离,将刻度点和标签文本框进行匹配。
在Adobe Synth,UB PMC验证集及Test Challenge阶段不同实验得分如表1,2所示,可以看出不使用预训练模型与添加OTB分支能够取得更好的得分。最后通过模型融合我们在测试阶段分别取得了99.90%与81.28%的成绩,取得第一。
表1
表2
赛道五
赛道五将图例标签文本与图例中相应的样式元素相关联。我们采用先检测图例元素,然后匹配图例元素和图例标签的方法。为了进一步提高匹配精度,同时检测图例对和图例元素,图例对的检测结果辅助匹配过程。
我们的方法分为三个步骤:
使用与赛道三相同的方法对文本框进行分类,然后筛选出图例标签类别的文本框。
用CenterNet [3]检测图例元素和图例对两个类别,图例对通过合并图例元素和相应文本的边框获得。
匹配图例元素和图例标签,对于每个图例标签,如果存在图例元素在同一个图例对中,则该图例标签和图例元素配对,然后使用匈牙利算法匹配剩余的图例元素和图例标签。为了减少赛道三的分类错误对赛道五结果的影响,加入了后处理,对于赛道三的结果中没有图例标签的图像,如果同时检测到图例元素和图例对,则将图例元素与所有文本框进行匹配。
赛道六
赛道六第一个子任务的目标,是对图表中绘图区域中的每个元素进行检测和分类,第二个子任务输出用于生成图表图像的原始数据,且在元素的表示形式中包含框和点两种类型。我们将对这两个子任务进行整体介绍。
赛道六的评价指标比较复杂,概括为采用检测到的元素与真实标注元素之间的欧氏距离或者IOU评价检测的得分,通过每个分组中的点与真实标注每个分组中点匹配程度,与提取到的坐标轴坐标系的数据和真实数据之间的误差,计算分组得分与数据提取得分。
我们分别通过基于框的检测算法和基于点的检测算法来检测元素。为了检测框表示的元素,我们使用目标检测算法CenterNet进行检测。为了检测点表示的元素,我们使用与赛道四中相同的点检测算法,并删除OTB分支。
在解决了检测问题之后,为了将检测到的元素进行分组(比如检测到的同一条曲线上的点,应该被分为同一组)。对于水平框和垂直框,我们可以按X轴或Y轴的L1距离对框进行分组,但是对于“线和散点图”而言,则更为复杂。我们分别提取检测到的元素的颜色直方图特征和Hog特征,然后使用K-means对它们进行聚类分组。
通过检测我们可以得到元素在图像坐标系中的位置表示,为了获得绘制图表图像时所使用的原始元素数据,我们需要将图像坐标系表示的元素转化为轴坐标系表示。经过分析,我们将UB PMC数据集分为五个类别,将Adobe Synth数据集分为八个类别,然后分别处理每个类别。对于数据序列,如果x值为数字值,则通过插值计算x轴值。如果x值为字符串值,则使用L1距离查找最接近的字符内容。
最终在测试阶段我们使用单模型取得了76.43%与61.18%的得分,位列第三。
参考文献:
1. Breiman L. Random forests[J]. Machine learning, 2001, 45(1): 5-32.
2. Ke G, Meng Q, Finley T, et al. Lightgbm: A highly efficient gradient boosting decision tree[C]//Advances in neural information processing systems. 2017: 3146-3154.
3. Zhou X, Wang D, Kr¨ahenb¨uhl P. Objects as points[J]. arXiv preprint arXiv:1904.07850, 2019.