交互式的从表格中提取数据(ChartSense: Interactive Data Extraction from Chart Images)

表格数据广泛存在于各种类型的电子文档中,比如网页,论文,幻灯片等等。但是表格中存在的数据我们是无法获取的。所以从表格数据从提取原始的数据变得极为重要。提取出数据后,我们可以对数据做进一步的分析,或者改进原有的表格形式。

对于表格数据的提取主要包含两大部分,第一部分是表格类型的识别,第二大部分是从表格汇总提取数据。有各种类型的表格数据,因此在提取数据过程中面临很多挑战,目前有成熟的数据提取算法,但是数据提取之前我们需要知道数据区域的范围,但是对于表格数据目前没有成熟的元素区域提取算法,我们采用半自动的方法。在用户的帮助下标出区域的范围,然后使用自动的方法进行数据提取。表格数据有很多种类型,我们对部分的表格使用不同的是数据提取方法。

1. 表格类型的识别。

我们使用两个语料库,小的语料库来源于ReVision,然后我们从Google图片中根据表格类型关键字,获取了一部分表格图片,和原始的ReVison一起组成大的语料库。下图是我们收集的大的语料库,我们会去除一部分比较抽象的难以识别的表格图片。我们对比了三种CNN模型:LeNet-1,AlexNet和GoogLeNet。其GoogLeNet在大的语料库上表现最好,识别准确度达到91.3%。

图1: 表格图片语料库

2. 表格图片数据提取

  • 对于折线图,我们首先需要用户标出Y轴的最大值最小值(如图2蓝色线),然后用户需要标出X轴的间隔,然后我们可以提取出折线的数据,然后用户可以对识别错误的进行纠正。具体提取过程,我们建立HSL颜色空间,然后我们计算出图片在H通道的颜色分布直方图,然后识别出主要的颜色。我们认为主要的颜色对应折线图中的折线,然后用户可以进行调节。

    图2: 折线图数据提取

  • 对于雷达图,我们需要用户标出中心,前景色,背景色,每个轴的端点的数值和位置,相邻的两个轴。通过标记相邻的两个轴,我们可以知道两个轴之间的角度,从而识别出其他轴的位置,然后我们可以自动的识别出每个区域。

    图3: 雷达图数据提取

  • 对于柱状图,我们可以识别出所有矩形的基准线(所有矩形最低值的所对应的线),然后使用提取出得主要颜色然后识别出每个矩形。
  • 对于饼图,我们可以识别出圆心和半径,然后我们以0.8倍的半径围绕圆心遍历,我们可以检测出颜色变化的点就是每个扇形之间的边界。

    图4: 饼图数据提取

总结:这篇工作提出了使用CNN来做表格数据识别。对于数据提取,详细的对用户如何参与做了细分,但是用户参与度太多显得不是很方便。

[1] Jung, Daekyoung and Kim, Wonjae and Song, Hyunjoo and Hwang, Jeong-in and Lee, Bongshin and Kim, Bohyoung and Seo, Jinwook, ChartSense: Interactive Data Extraction from Chart Images, ACM 2017

评论关闭。