表格检测识别技术的发展历程
近年来,随着计算机技术的飞速发展,越来越多的研究者开始关注表格检测识别技术。表格检测识别技术是一种利用计算机自动处理表格的技术,它可以实现从文本中检测出表格,并进行识别和提取。这种技术有助于提高文本处理的效率,为计算机辅助知识发现和知识挖掘提供了支持。
表格检测和识别技术的发展可以追溯到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 使...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
