深兰科技赛道|ICPR2020图表信息提取竞赛方案分享

在日前结束的第25届国际模式识别会议(ICPR2020)上 , 深兰科技DeepBlueAI团队同台竞技联想、华南理工、合合等队伍 , 摘得“图表信息提取竞赛”总成绩的冠军 。
该竞赛由6个赛道7个子任务组成 , 其中赛道6有两个子任务 , 每个子任务又分AdobeSynth、UBPMC两个数据集 。 7个子任务按照数据集单独计分 , 最终按照总分进行排名 。 最终 , DeepBlueAI团队拿下4个赛道冠军 , 以总分35分拿到总成绩第一名 。

深兰科技赛道|ICPR2020图表信息提取竞赛方案分享
文章图片
ICPR2020图表信息提取
竞赛冠军方案
该比赛各任务涵盖图表分类、案例分析、图元素提取等 , 数据类别存在着分布极为不均衡的问题 。
7个赛道分别为:赛道一 , 图表分类;赛道二 , 检测并识别图表中的文字区域;赛道三 , 识别图表图像中文本功能/角色;赛道四 , 对坐标轴上刻度点进行检测并与刻度标签文本框关联;赛道五 , 关联图例标签文本与图例样式元素;赛道六 , 第一个子任务对图表元素进行检测与分类 , 第二个子任务提取用于生成图表图像的原始数据 。
深兰科技赛道|ICPR2020图表信息提取竞赛方案分享】下面对比较有竞争力的三、四、五、六赛道的解决方案进行技术分享 。
赛道三
赛道三以文本位置和文本内容为输入 , 识别图表图像中每个文本的角色 , 6个类别如图所示 。 我们的方法包括两个步骤:特征提取和分类器分类 。 使用文本属性来定义特征向量 , 使用的分类器是RandomForest[1]和LightGBM[2] 。

深兰科技赛道|ICPR2020图表信息提取竞赛方案分享
文章图片
特征由文本框属性和文本内容组成 , 这些特征可分为三组 。 第一组包含框的长宽比、文本是否为数字、文本是否为多行、文本角度、文本长度和图表类型 。 第二组包括文本框的三种相对位置信息 , 也就是相对于全局边框、原点和图例的位置 。 第三组包含水平/垂直对齐文本框的数量和对齐文本框的水平/垂直范围 , 判断框是否对齐时 , 分别使用文本框的中心点、左上角和右下角 。
使用随机森林和LightGBM对文本角色进行分类 。 随机森林的一个优点是在缺少特征的情况下仍然具有良好的性能 , LightGBM具有训练效率高、精度高等优点 。 在训练模型时 , 每个类别的损失权重与输入数据的频率成反比 。

深兰科技赛道|ICPR2020图表信息提取竞赛方案分享
文章图片
赛道四
赛道四需要检测出每个X轴或Y轴上的刻度点并与对应的刻度标签文本框关联 。 该赛道使用修改后的F-measure对每个轴评分 , 然后对所有轴进行得分平均 。 对每个检测到的刻度点 , 根据其距离真实刻度点之间的距离 , 给出0到1之间的评分 。 Precision计算方法为评分总和除以预测数 。 召回率的计算方法是得分的总和除以真实标注刻度点的数量 。

深兰科技赛道|ICPR2020图表信息提取竞赛方案分享
文章图片
对于该任务 , 我们将整个任务拆分为刻度点检测和匹配两个步骤 。
在刻度点检测任务中 , 我们将该任务视为标准的关键点估计问题 。 参考CenterNet , 使用DLA-34作为backbone , 从底层添加更多的跳转连接 , 并在上采样阶段将每个卷积层替换为可变形的卷积层 , 最后获得尺寸为1/4的输出特征图 , 然后将特征图送入头部分支 。 在头部分支中 , 包括三个分支 。 首先是刻度点检测分支 , 在此分支中预测的热图中的峰值对应于刻度点的位置 , 并通过两个不同的特征图将点分类为X轴或Y轴的刻度点 。 为了恢复由输出步幅引起的离散化误差 , 在Offset分支中预测了修正刻度点位置的偏移量 。 在第三个分支中(OTB) , 预测了刻度点到刻度标签文本框中心的偏移 , 该偏移仅在训练阶段使用 。
为了训练刻度点检测分支 , 我们使用FocalLoss作为损失函数来进行逐像素逻辑回归 。 为了训练Offset分支 , 我们使用在人脸Landmark定位任务中提出的WingLoss , 其设计目的是提高深度神经网络针对中小型误差的学习能力 , 并使用SmoothL1作为训练OTB分支的损失函数 。
在检测出X轴与Y轴上的刻度点后 , 首先使用线性分布检查来过滤掉异常检测点 , 然后基于刻度点与标签文本框之间X轴或Y轴的L1距离 , 将刻度点和标签文本框进行匹配 。
在AdobeSynth , UBPMC验证集及TestChallenge阶段不同实验得分如表1 , 2所示 , 可以看出不使用预训练模型与添加OTB分支能够取得更好的得分 。 最后通过模型融合我们在测试阶段分别取得了99.90%与81.28%的成绩 , 取得第一 。