前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AI文档识别技术之表格识别(一)

AI文档识别技术之表格识别(一)

原创
作者头像
ComPDFKit
发布2023-08-09 14:51:11
7990
发布2023-08-09 14:51:11
举报
文章被收录于专栏:PDF 开发PDF 开发

文章目录

@toc

前言

此文章主要介绍DocumentAI表格识别的V1版本,通过DocumentAI表格识别实现表格检测并实现表格还原结构

表格检测:检测表格在图片中所处的区域 表格还原结构:通过表格图片还原表格的结构信息,主要包括(行数,列数,合并单元格数)

目前DocumentAI表格识别已实现V2版本,大幅提升标准表格的识别准确率,具体信息会在下一篇blog中再具体说明

1. 表格识别原理介绍

1.1 表格类型分类

在现实生活中,表格大小、种类与样式复杂多样,例如表格中存在不同的背景填充,不同的行列合并方法,不同的内容文本类型等,并且现有文档既包括现代的、电子的文档,也有历史的、扫描的手写文档,它们的文档样式、所处光照环境以及纹理等都有比较大的差异,表格识别一直是文档识别领域的研究难点。

DocumentAI表格识别将表格分为两类,一种为标准表格,另一种为非标准表格:

  • 标准表格:表格边框完整,表格内线完整且清晰,无需人为再添加表格线条做表格内容分割
  • 非标准表格:缺少表格边框或者表格内线,表格线条不清晰,需要人为添加表格线条分割表格内容,例如下面的表格就缺少很多的横线与竖线

1.2 识别原理

DocumentAI通过结合AI与传统算法实现表格识别,主要用到的AI能力与算法有:

  • AI:版面分析能力(通过AI版面分析检测表格在图片内所处的区域)
  • AI:OCR能力(通过OCR实现识别表格内容)
  • 算法:图像处理算法(通过结合图像处理算法辅助获取表格结构信息)

通过以上的AI与算法再结合一些表格识别算法即可实现通用表格识别,同时支持识别标准表格与非标准表格

2. 整体识别流程

2.1 流程图

2.2 图像处理部分大致流程

图像处理的大致流程为:

  1. 对输入的表格图片进行预处理
  2. 通过形态学算法过滤非线条信息
  3. 检测线条与block得到表格的基础信息

3. 将表格转换为html与json格式输出

3.1 html格式

通过输出表格的html格式更方便用户的结果可视化与调试

3.2 json格式

通过json格式更方便的在各语言之间传输表格数据

3.3 表格识别实例

原文件:

识别后:

html展示结果

代码语言:json
复制
{
  "type": "table_with_line",				//表格类型
  "angle": 0,								//表格倾斜角度
  "width": 572,								//表格宽度
  "height": 93,								//表格高度
  "rows": 3,								//表格行数
  "cols": 3,								//表格列数
  "position": [111, 266, 683, 266, 683, 359, 111, 359],	//表格位置
  "height_of_rows": [32, 30, 31],						//表格每一行的高度
  "width_of_cols": [190, 190, 191],						//表格每一列的宽度
  "table_cells": [										//表格内所有单元格的信息
    {
      "start_row": 1,									//单元格所在开始行号
      "end_row": 1,										//单元格所在结束行号
      "start_col": 1,									//单元格所在开始列号
      "end_col": 1,										//单元格所在结束列号
      "text": "",										//单元格文本内容
      "position": [0, 0, 190, 0, 190, 32, 0, 32],		//单元格位置
      "lines": []										//单元格文本行信息
    },
  	...,	// 其余单元格
    {
      "start_row": 3,
      "end_row": 3,
      "start_col": 3,
      "end_col": 3,
      "text": "23%",
      "position": [380, 62, 571, 62, 571, 93, 380, 93],
      "lines": [
        {
          "text": "23%",
          "score": 1,
          "position": [458, 70, 491, 70, 491, 93, 458, 93]
        }
      ]
    }
  ]
}
代码语言:txt
复制
																								表格json结果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 表格识别原理介绍
    • 1.1 表格类型分类
      • 1.2 识别原理
      • 2. 整体识别流程
        • 2.1 流程图
          • 2.2 图像处理部分大致流程
          • 3. 将表格转换为html与json格式输出
            • 3.1 html格式
              • 3.2 json格式
                • 3.3 表格识别实例
                相关产品与服务
                行业文档识别
                行业文档识别(Document Optical Character Recognition,Document OCR)基于行业前沿的深度学习技术,提供表单表格识别、体检报告识别、检验检查单识别、算式识别等多种行业文档识别服务,支持将图片上的文字内容,智能识别为结构化的文本,可应用于智能核保、智能理赔、试题批改等多种行业场景,大幅提升信息处理效率。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档