当前位置: 首页 > news >正文

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

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

文章目录

文章目录

  • AI文档识别技术之表格识别(一)
    • 1. 表格识别原理介绍
      • 1.1 表格类型分类
      • 1.2 识别原理
    • 2. 整体识别流程
      • 2.1 流程图
      • 2.2 图像处理部分大致流程
    • 3. 将表格转换为html与json格式输出
      • 3.1 html格式
      • 3.2 json格式
      • 3.3 表格识别实例

前言

此文章主要介绍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展示结果

{

“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]

​ }

]

}

]

}

​ 表格json结果

http://www.lryc.cn/news/117055.html

相关文章:

  • uni-app 支持 app端, h5端,微信小程序端 图片转换文件格式 和 base64
  • 云计算——存储虚拟化简介 与 存储模式及方法
  • 数据资产目录建设之数据分类全解
  • 大模型的数据隐私问题有解了,浙江大学提出联邦大语言模型
  • flask-sqlalchemy使用
  • flask处理token的装饰器
  • 【Express.js】页面渲染
  • 2.UE数字人语音交互(UE数字人系统教程)
  • C语言——水仙花数字
  • java中list对象拷贝至新的list对象并保持两个对象独立的方法
  • 使用AI工具Lama Cleaner一键去除水印、人物、背景等图片里的内容
  • 瑞数系列及顶像二次验证LOGS
  • Anaconda版本和Python版本对应关系(持续更新...)
  • vscode 搭建STM32开发环境
  • 6款好用的思维导图在线制作网站盘点,拒绝低效、探索创意!
  • js的Promise
  • 2.4g无线芯片G350规格书详细介绍
  • React中使用mobx管理状态数据使用样例
  • 《HeadFirst设计模式(第二版)》第五章代码——单例模式
  • Linux: network: tools: tcpdump,抓取vlan包需要注意的事情;不然会出现LLC协议
  • 大数据离线阶段01:Apache Zookeeper
  • 数字孪生轨道交通,地铁视频孪生三维可视化管控平台
  • 自定义注解(Annontation)
  • 基于粒子群改进BP神经网络的血压评估系统,血压预警系统,pso-bp神经网络
  • Vue中引入外部css导致的全局污染
  • 【安装部署】Mysql下载及其安装的详细步骤
  • 如何循环执行windows和linux上的控制台指令
  • 【Shell】基础语法(三)
  • linux 服务开机自启
  • 【LeetCode】870 . 优势洗牌