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

表格检测识别技术的发展历程

近年来,随着计算机技术的飞速发展,越来越多的研究者开始关注表格检测识别技术。表格检测识别技术是一种利用计算机自动处理表格的技术,它可以实现从文本中检测出表格,并进行识别和提取。这种技术有助于提高文本处理的效率,为计算机辅助知识发现和知识挖掘提供了支持。

表格检测和识别技术的发展可以追溯到20世纪80年代,当时,随着计算机技术的发展,人们开始尝试使用计算机来检测和识别文档中的表格。当时的技术主要以传统的计算机视觉技术为基础,包括图像处理、分类和特征提取等技术。早期的表格检测与识别研究主要是基于启发式规则的方法,即指定一组规则来进行决策,以便识别出满足特定条件的表格。

  • 1980年代,Yann Le Cun教授在论文《模式识别的数字图像处理》中提出了第一个用于表格检测的神经网络。它引入了一种可用于提取表格边缘特征的滤波器,并将其用于训练模型。Le Cun的论文为表格检测识别技术的发展提供了基础。

  • 1990年代,论文《利用结构特征进行表格检测》中提出了一种基于结构特征的表格检测算法论文利用表格中的斜线、网格线和表格边框等结构特征来检测表格,使表格检测技术发展到了新的高度。

  • 2002年,论文《基于序列的表格检测》中提出了一种基于序列模式的表格检测算法。论文的方法使用序列模式来检测表格,并可以更好地处理复杂表格结构,为表格检测技术的发展带来了新的思路。

  • 2008年,论文《基于统计模型的表格检测》中提出了一种基于统计模型的表格检测算法,可以有效地检测复杂的表格结构,为表格检测技术的发展做出了重大贡献。

21世纪初,由于计算机视觉技术的发展,学者们开始使用机器学习和深度学习技术来检测和识别表格。随着深度学习技术的发展,表格检测和识别技术也发生了巨大变化。深度学习技术为表格检测和识别技术带来了新的发展机遇,也为表格检测和识别技术提供了更加有效的解决方案。近年来,随着计算机技术的进一步发展,深度学习技术的不断演进,使表格检测和识别技术发展得更加迅速。表格识别也逐渐演变成了多个子研究领域,包括表格检测、表格结构识别、表格内容识别、端对端的表格检测与结构识别等。

  • 2010年,微软研究院经过多年的研究,首次以自动化的形式检测和识别表格,开发了一个叫做“TableNet”的表格检测系统,该系统可以自动检测出网页上的表格,并将其转换为结构化的数据。这一技术的出现极大地推动了表格检测识别技术的发展。

  • 2010年,论文《基于深度学习模型的表格检测》中提出了一种基于深度学习模型的表格检测算法。该论文引入了深度学习技术,提供了一种更加有效的方法来检测表格,为表格检测技术的发展提供了重要支持。

  • 2011年,微软研究院在当年的国际图像处理会议上。发表了《表格识别:基于深度学习的方法》,基于深度学习的表格识别技术首次出现,这一技术能够识别文档中的表格,从而帮助用户快速提取文档信息。

  • 2013年,随着深度学习技术的进一步发展,表格检测识别技术也取得了很大的进步,开发出了更加精细的检测和识别系统,能够支持更多复杂的文档类型,例如多行表格、多列表格等。

  • 2015年,基于深度学习的表格检测识别技术又取得了一个重大突破,Yann Le Cun教授提出了基于深度神经网络的表格识别技术,它可以更好的处理复杂的表格,且具有较高的检测准确率和识别精度。

  • 2017年,Google发布了第一个基于深度学习的表格检测模型“Google DocumentAI”,该模型可以在任何给定的图像中检测出表格,并将其转换为结构化的数据。这一技术的出现推动了表格检测识别技术的发展。

  • 2018年,微软发布了一个称为“Azure Table Recognition”的表格检测模型,该模型可以识别复杂的表格,包括多列和多行表格,以及复杂结构的表格。同时支持表格结构自动进行抽取,一键提取表格数据,支持将表格数据转换为其他格式,支持在线识别表格。这一技术的出现,使表格检测别技术又上了一个新台阶。

  • 2019年,经过多年研究,Google开发了一个称为“TableBank”的表格检测模型,该模型可以自动识别各种类型的表格,并将其转换为结构化的数据。同年,基于深度学习的表格检测识别技术又取得了又一个重大突破,提出了一种基于自注意力机制的表格检测与识别技术,它能够有效处理复杂的文档表格,且具有更高的准确率和精度。

目前,工业界已涌现了一大批表格检测和识别的服务。国外的一些大型云服务商已经在他们的平台上提供了表格检测和识别的功能,比如亚马逊的Textact服务,微软的Azure服务等。而在国内,既有一些提供表格检测和识别等云端基础服务的互联网公司,例如百度、 阿里巴巴、腾讯、华为和网易等,也有一些深耕于相关领域多年的专业服务提供商,例如合合信息等。

从表格结构识别的效果上看,国内目前已经处于世界较为领先的水平。2020年末和2021年初由IBM公司发起举办了ICDAR2021科学文档解析比赛,其中的任务二--表格识别任务,吸引了来自国内外的多个公司、学校参加。国内许多公司都参与了这场比赛,其中海康威视提出的LGPMA模型和平安科技提出的TableMaster模型分别取得了比赛的第一、二名。由此可见,在表格检测和结构识别的研究领域,尤其是在应用方面,国内的研究者已经取得了国际领先的地位。

在表格信息抽取方面,国内的研究者在基于图和基于二维特征网格的方法上居于世界领先地位,PICK,MatchVIE和ViBERTGrid等方法在各类信息抽取任务榜单中居于前列;国外的研究者在基于序列的方法上较为突出,提出了LAMBERT,TILT等一系列表现优异的模型,这与国外积累已久的语言模型发展经验密不可分,在基于二维特征网格的方法上国外起步更早,提出了Chargrid和BERTgrid等经典模型,而对于基于图的方法研究较少。总体而言,近年来国内外研究者对表格内容识别均有很高的研究热情,这一领域的方法也呈现出多样化发展的趋势。


参考文献:

Kong L J, Bao Y C, Wang Q W and Li H K. 2021. Summary of table detection and recognition algorithms based on deep learning. Computer & Network,47(02):65-73

Gao L C, Li Y B, Du L, Zhang X P, Zhu Z Y, Lu N, Jin L W, Huang Y S, Tang Z . 2022. A survey on table recognition technology. Journal of Image and Graphics, 27(6): 1898-1917.

相关文章:

表格检测识别技术的发展历程

近年来,随着计算机技术的飞速发展,越来越多的研究者开始关注表格检测识别技术。表格检测识别技术是一种利用计算机自动处理表格的技术,它可以实现从文本中检测出表格,并进行识别和提取。这种技术有助于提高文本处理的效率&#xf…...

设计UI - Adobe xd对象介绍

矩形工具 新建矩形 操作步骤:选择矩形工具,快捷键R,鼠标在画板上拖出矩形即可。 拖动定界框周围圆形手柄,可快速调整矩形大小,也可以输入宽和高的参数对矩形大小进行改变。 移动矩形 操作步骤:选择选择工具…...

优思学院|精益生产中的“单件流”真的能够做到吗?

精益生产中提到的“一个流”(One Piece Flow)是一种生产方式,它的核心理念是通过合理配置作业场地、人员和设备,使产品从投入到成品产出的整个制造加工过程中始终处于不停滞、不堆积、不超越,按节拍一个一个地流动。 …...

移除元素问题解决方法------LeetCode-OJ题

问题: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 要求: 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改…...

JavaScript学习笔记(1.0)

push() 语法:数组.push(数据) 作用:将数据追加到数组的末尾 返回值:追加数据后数组最新的长度 pop() 语法:数组.pop() 作用:删除数组最后一个数据 返回值:被删除的数据 unshift() 语法:数…...

FCN网络介绍

目录前言一.FCN网络二.网络创新点前言 在图像分割领域,有很多经典的网络,如MASK R-CNN,U-Net,SegNet,DeepLab等网络都是以FCN为基础进行设计的。我们这里简单介绍一下这个网络。 一.FCN网络 FCN网络介绍   FCN 即全…...

Idea+maven+spring-cloud项目搭建系列--11 整合dubbo

前言: 微服务之间通信框架dubbo,使用netty (NIO 模型)完成RPC 接口调用; 1 dubbo 介绍: Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提…...

2023年上半年北京杭州/广州深圳软考中/高级报名入口

软考是全国计算机技术与软件专业技术资格(水平)考试(简称软考)项目,是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试,既属于国家职业资格考试,又是职称资格考试。 系统集成…...

jupyter notebook配置和使用

简介 Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。 参考博客:https://zhuanlan.zhihu.com/p/33105153 特点 ①编程时具有语法高亮、缩进、tab补全的功能。 ② 可直接通过浏览器…...

【C++】通过stack、queue、deque理解适配器模式

破镜不能重圆,枯木可以逢春。 文章目录一、stack1.stack的介绍2.stack相关OJ题(巧妙利用stack数据结构的特征)3.stack的模拟实现二、queue1.queue的介绍2.queue的相关OJ题(巧妙利用queue数据结构的特征)3.queue的模拟实…...

JavaScript 高级实例集合

文章目录JavaScript 高级实例集合创建一个欢迎 cookie简单的计时另一个简单的计时在一个无穷循环中的计时事件带有停止按钮的无穷循环中的计时事件使用计时事件制作的钟表创建对象的实例创建用于对象的模板JavaScript 高级实例集合 创建一个欢迎 cookie 源码 <!DOCTYPE ht…...

Flutter(五)容器类组件

布局类组件包含多个子组件&#xff0c;而容器类组件只包含一个子组件 目录填充&#xff08;Padding&#xff09;装饰容器&#xff08;DecoratedBox&#xff09;变换&#xff08;Transform&#xff09;Transform.translate 平移Transform.rotate 旋转Transform.scale 缩放Rotate…...

实现满屏品字布局

html, body {width: 100%;height: 100%;}.first {width: 50%;height: 50%;margin: auto;background-color: pink;}.second {width: 50%;height: 50%;float: left;background-color: greenyellow;}.third {width: 50%;height: 50%;float: left;background-color: yellow;}...

软件测试-性能测试-基础知识

文章目录 1.性能测试理论1.1 相关概念1.2 性能测试指标2.性能测试策略2.1 基准测试2.2 负载测试2.3 稳定性测试2.4 其他测试策略3.性能测试的流程3.1 需求分析3.2 编写性能测试计划和方案3.3 编写性能测试用例3.4 性能测试执行3.5 性能测试报告4.性能测试工具4.1 Loadrunner4.2…...

java多线程与线程池-02线程池与锁

线程池与锁 第4章 线程池入门 4.1 ThreadPoolExecutor ThreadPoolExecutor是应用最广的底层线程池类,它实现了Executor和ExecutorService接口。 4.1.1 创建线程池 下面创建一个线程池,通过调整线程池构造函数的参数来了解线程池的运行特性。把核心线程数设置为3,最大…...

AB测试——流程介绍(设计实验)

前言&#xff1a; 作为AB测试的学习记录&#xff0c;接上文内容&#xff0c; 本文继续介绍假设建立和实验设计部分&#xff0c;包括实验对象、样本量计算&#xff08;显著性水平、统计功效及最小可检测效应&#xff09;、实验周期。 相关文章&#xff1a; AB测试——原理介绍 A…...

C++中的智能指针有哪些?分别解决的问题以及区别?

1.C中的智能指针有4种&#xff0c;分别为&#xff1a;shared_ptr、unique_ptr、weak_ptr、auto_ptr&#xff0c;其中auto_ptr被C11弃用。 2.使用智能指针的原因 申请的空间&#xff08;即new出来的空间&#xff09;&#xff0c;在使用结束时&#xff0c;需要delete掉&#xff0…...

通达信捉妖改良CCI指标公式,简洁巧妙

高端的食材&#xff0c;往往只需要简单的烹饪方式。好的指标也是一样&#xff0c;只需要简单处理&#xff0c;就可以实现不错的效果。捉妖改良CCI指标公式属于意外之喜&#xff0c;编写指标时写错了&#xff0c;研究后发现结果比原想法更好。 捉妖改良CCI指标公式利用了CCI&am…...

「Python 基础」面向对象编程

文章目录1. 面向对象编程类和实例访问限制继承和多态type()isinstance()dir()实例属性和类属性2. 面向对象高级编程\_\_slots\_\_property多重继承定制类枚举类元类1. 面向对象编程 Object Oriented Programming 简称 OOP&#xff0c;一种程序设计思想&#xff0c;以对象为程…...

【K3s】第23篇 一篇文章带你学习k3s私有镜像仓库配置

目录 1、私有镜像仓库配置 2、registries.yaml Mirrors Configs 1、私有镜像仓库配置 可以配置 Containerd 连接到私有镜像仓库,并使用它们在节点上拉取私有镜像。 启动时,K3s 会检查/etc/rancher/k3s/中是否存在registries.yaml文件,并指示 containerd 使...

Redis学习【12】之Redis 缓存

文章目录前言一 Jedis 简介二 使用 Jedis2.1 测试代码2.2 使用 JedisPool2.3 使用 JedisPooled2.4 连接 Sentinel 高可用集群2.5 连接分布式系统2.6 操作事务三 Spring Boot整合Redis3.1 创建工程3.2 定义 pom 文件3.3 完整代码3.4 总结四 高并发问题4.1 缓存穿透4.2 缓存击穿4…...

Bootargs 参数

bootargs 的参数有很多&#xff0c;而且随着 kernel 的发展会出现一些新的参数&#xff0c;使得设置会更加灵活多样1。除了我之前介绍的 root、console、earlyprintk 和 loglevel 之外&#xff0c;还有以下一些常用的参数&#xff1a;init: 用来指定内核启动后执行的第一个程序…...

Mybatis框架源码笔记(七)之Mybatis中类型转换模块(TypeHandler)解析

1、JDBC的基本操作回顾 这里使用伪代码概括一下流程: 对应数据库版本的驱动包自行下载加载驱动类 (Class.forName("com.mysql.cj.jdbc.Driver"))创建Connection连接: conn DriverManager.getConnection("jdbc:mysql://数据库IP:port/数据库名称?useUnico…...

论文阅读《Block-NeRF: Scalable Large Scene Neural View Synthesis》

论文地址&#xff1a;https://arxiv.org/pdf/2202.05263.pdf 复现源码&#xff1a;https://github.com/dvlab-research/BlockNeRFPytorch 概述 Block-NeRF是一种能够表示大规模环境的神经辐射场&#xff08;Neural Radiance Fields&#xff09;的变体&#xff0c;将 NeRF 扩展到…...

【Matlab】如何设置多个y轴

MTALAB提供了创建具有两个y轴的图&#xff0c;通过help yyaxis就能看到详细的使用方式。 但是如果要实现3个及以上y轴的图&#xff0c;就没有现成的公式使用了&#xff0c;如下图所示。 具体代码 % 数据准备 x10:0.01:10; y1sin(x1); x20:0.01:10; y2cos(x2); x30:0.01:10;…...

圆桌(满足客人空座需求,合理安排客人入座圆桌,准备最少的椅子)

CSDN周赛第30期第四题算法解析。 (本文获得CSDN质量评分【91】)【学习的细节是欢悦的历程】Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… 地址&#xff1a;https://lq…...

如何入门大数据?

我们首先了解一下大数据到底是什么~ 大数据开发做什么&#xff1f; 大数据开发分两类&#xff0c;编写Hadoop、Spark的应用程序和对大数据处理系统本身进行开发。 大数据开发工程师主要负责公司大数据平台的开发和维护、相关工具平台的架构设计与产品开发、网络日志大数据分…...

如何在Vite项目中使用Lint保证代码质量

通常,大型前端项目都是多人参与的,由于开发者的编码习惯和喜好都不尽相同,为了降低维护成本,提高代码质量,所以需要专门的工具来进行约束,并且可以配合一些自动化工具进行检查,这种专门的工具称为Lint,可能大家接触得最多就是ESLint。 对于实现自动化代码规范检查及修…...

Spark高手之路1—Spark简介

文章目录Spark 概述1. Spark 是什么2. Spark与Hadoop比较2.1 从时间节点上来看2.2 从功能上来看3. Spark Or Hadoop4. Spark4.1 速度快4.2 易用4.3 通用4.4 兼容5. Spark 核心模块5.1 Spark-Core 和 弹性分布式数据集(RDDs)5.2 Spark SQL5.3 Spark Streaming5.4 Spark MLlib5.5…...

社科院与杜兰大学金融管理硕士项目——人生没有太晚的开始,不要过早的放弃

经常听到有人问&#xff0c;“我都快40了&#xff0c;现在学车晚不晚呢”“现在考研晚不晚&#xff1f;”“学画画晚不晚&#xff1f;”提出这些疑问的人&#xff0c;往往存在拖延&#xff0c;想法只停留在想的阶段&#xff0c;从来不去行动。当看到周边行动起来的人开始享受成…...

多说wordpress插件/百度广告位

很多新手面对Vue中设置this.DataSource[index] {key:1,V1:值};无效 首先&#xff0c;需要声明一点&#xff0c;vue当中的数组是不允许直接设定的&#xff0c;设定完的数组不会被渲染监听&#xff0c;只能重新渲染。所以&#xff0c;后台console数组是变化的。 具体涉及到js基…...

大连哪有做网站的/网站结构优化的内容和方法

在html的select标签中除了了option标签外&#xff0c;还有一个标签就是optgroup 。它能帮我们做什么咧&#xff1f; 从名称我们就已经领会到接分意思&#xff1a;它是一个option的组&#xff0c;就像checkboxgroup、radiogurop一样&#xff0c;是分组用的&#xff1b; 看看下面…...

做门窗的 在哪个网站跑业务跑业务/百度人工客服在线咨询

文|魏启扬 来源|智能相对论&#xff08;aixdlun&#xff09; 8月29日开幕的2019世界人工智能大会上&#xff0c;国内AI同传领域的领军代表腾讯同传为大会提供同传服务&#xff0c;同时现场服务的还有讯飞听见。 请注意&#xff0c;这是世界人工智能大会连续第二年让两家参与…...

有侧边栏的网站/链友之家

文章目录1. 网络分层模型与 TCP 协议1.1 TCP 工作层1.2 TCP 可靠传输实现2. TCP 连接建立2.1 三次握手过程2.2 相关状态2.3 三次握手的必要性3. TCP 连接释放3.1 四次挥手过程3.2 相关状态4. TCP 相关问题4.1 为什么连接的时候是三次握手&#xff0c;关闭的时候却是四次挥手4.2…...

wordpress 电影天堂 主题/一站式网络推广服务

为什么80%的码农都做不了架构师&#xff1f;>>> 内建对象 全局属性&#xff1a; Infinity表示正无穷大的数值NaN非数字值undefined未定义的值decodeURI()对encodeURI()转义的字符串解码。decodeURIComponent()对encodeURIComponent()转义的字符串解码。encodeURI()…...

没有病毒的软件下载网站/免费域名注册官网

我有一个列表列表,其中包含角度组的下限和上限 就像是 [1,22],[2,24] … [359,15],[360,21] 总共360个元素 现在我要检查从1到360的每个角度,列表中包含该角度的元素 我正在考虑使用下限和上限来创建带有range或np.arange(lower,upper)的列表的所有元素,并检查是否包含角度,但是…...