一. 前景介绍
代码:https://github.com/JiaquanYe/TableMASTER-mmocr
论文:https://arxiv.org/pdf/2105.01848.pdf
论文解读:https://blog.csdn.net/devcloud/article/details/120987923
平安在ICDAR 2021表格识别比赛中获得亚军,基于MASTER的改进。在平安科技最新发布的表格识别模型TableMaster中,提出了另外一种解决思路,即同时训练得到单元格内的文字块位置和表格结构。这里涉及到表格的另一种表达形式,这种形式在网页中经常被用到,也即用超文本标记语言来定义表格。
下图为表格的超文本标记符和对应的表格:
根据超文本标记语言的语法规则,表格是由 table 标签来定义,每个表格均有若干行(由 tr 标签定义),每行被分割为若干单元格(由 td 标签定义)。从图1可以看出,一个表格被表示成了一段文本字符序列,这样就可以用序列化的模型(seq2seq或transformer)来进行表格结构预测。
二. 算法框架
TableMaster采用多任务的学习模式,它有两个分支,一个分支进行表格结构序列预测,一个分支进行单元格位置回归。在TableMaster识别结束后,识别结果经过后处理匹配算法,融合表格结构序列和单元格文本内容,得到表格最终的html。
三. 表格编码过程
TableMaster特征提取阶段输入图片的维度为4804803,输出的维度为77500,然后把输出的序列特征reshape到49*500,输入到解码阶段。其中500是模型的序列长度,49为每个位置序列特征的维度。表格的类别标签有38个(如图5),再加上开始和结束两个标签,模型中用到的类别标签一共是41个。
其中有两个<td/td>,一个表示空单元格,一个表示非空单元格。
标记符中有<tbody、/tbody>、<tr、/tr>等表示表格开始和行的标记符以及空单元格的标记符。这些标记符没有对应的文字块坐标。因此标记符序列长度比实际的单元格序列长。为了使得单元格序列和标记符序列一样长,在单元格序列中,对应于<tbody、/tbody>、<tr、/tr>标记的位置会填充为0。而这些位置的坐标在回归单元格坐标时不用于参数的更新,会被一个Mask过滤掉。
四. 模型预测的bbox
五. 文本检测
六. 文本识别
文本识别是基于MASTER做的。
七. 匹配规则
匹配规则优先级:中心点规则 > IOU规则 > 距离规则
八. 效果展示
注:通过序列化模型来进行表格结构的还原是一种有效的表格结构识别方法,类似的还有百度的RARE。和TableMaster不同的是,RARE把TableMaster中的Transformer换成了GRU。另外,该方法只利用了图像的视觉信息,后续工作中可以结合多模态特征得到更好效果。
我们的表格识别技术解决方案
欢迎技术交流!!!