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

设计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(五)容器类组件
布局类组件包含多个子组件,而容器类组件只包含一个子组件 目录填充(Padding)装饰容器(DecoratedBox)变换(Transform)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测试——流程介绍(设计实验)
前言: 作为AB测试的学习记录,接上文内容, 本文继续介绍假设建立和实验设计部分,包括实验对象、样本量计算(显著性水平、统计功效及最小可检测效应)、实验周期。 相关文章: AB测试——原理介绍 A…...
C++中的智能指针有哪些?分别解决的问题以及区别?
1.C中的智能指针有4种,分别为:shared_ptr、unique_ptr、weak_ptr、auto_ptr,其中auto_ptr被C11弃用。 2.使用智能指针的原因 申请的空间(即new出来的空间),在使用结束时,需要delete掉࿰…...

通达信捉妖改良CCI指标公式,简洁巧妙
高端的食材,往往只需要简单的烹饪方式。好的指标也是一样,只需要简单处理,就可以实现不错的效果。捉妖改良CCI指标公式属于意外之喜,编写指标时写错了,研究后发现结果比原想法更好。 捉妖改良CCI指标公式利用了CCI&am…...
「Python 基础」面向对象编程
文章目录1. 面向对象编程类和实例访问限制继承和多态type()isinstance()dir()实例属性和类属性2. 面向对象高级编程\_\_slots\_\_property多重继承定制类枚举类元类1. 面向对象编程 Object Oriented Programming 简称 OOP,一种程序设计思想,以对象为程…...
【K3s】第23篇 一篇文章带你学习k3s私有镜像仓库配置
目录 1、私有镜像仓库配置 2、registries.yaml Mirrors Configs 1、私有镜像仓库配置 可以配置 Containerd 连接到私有镜像仓库,并使用它们在节点上拉取私有镜像。 启动时,K3s 会检查/etc/rancher/k3s/中是否存在registries.yaml文件,并指示 containerd 使...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...