表格OCR相关资源整理【ICDAR】【表格识别】【持续更新...】

本文概述了表格检测和结构识别技术,包括基于unet的表格检测方法、完整的印刷体表格解决方案,以及多个用于训练和评估的公开数据集,如ICDAR2013、ctdar2019等。同时,介绍了ICDAR2019会议中发表的16篇相关论文,涉及表格检测、结构识别及新数据集发布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 定义:
    • 表格检测(Table Detection)任务是从一个页面中检测出表格所在的区域
    • 表格结构识别(Table Structure Recognition)任务则是在检测到的表格区域的基础上,进一步将表格的内容与逻辑结构识别出来
  • 代码:
  • 数据集:

名称

说明

内容

量级

地址

ICDAR2013

PDF

美国政府文件和欧盟文件

http://www.tamirhassan.com/html/dataset.html

icdar2017页面对象识别

页面截图

ctdar2019

分为两类数据,历史文档和现在文档

GitHub - cndplab-founder/ICDAR2019_cTDaR: The ICDAR 2019 cTDaR is to evaluate the performance of methods for table detection (TRACK A) and table recognition (TRACK B). For the first track, document images containing one or several tables are provided. For TRACK B two subtracks exist: the first subtrack (B.1) provides the table region. Thus, only the table structure recognition must be performed. The second subtrack (B.2) provides no a-priori information. This means, the table region and table structure detection has to be done.

TABLE2LATEX-450K

latex

46.6万

https://github.com/bloomberg/TABLE2LATEX

DECO

电子表格

1165

DECO: A Dataset of Annotated Spreadsheets for Layout and Table Recognition | Database Systems Group

第三方个人数据

扫描英文表格检测

403

https://github.com/sgrpanchal31/table-detection-dataset

  • 论文:
    • ICDAR2019会议中,共有16篇与表格识别相关的论文
    • 其中5篇针对表格检测任务
    • 8篇针对表格结构识别任务
    • 1篇在同时进行了表格检测与结构识别的任务
    • 2篇则是发布了新的表格识别相关的数据集

任务

论文名称

说明

作者

代码

数据

识别

A Genetic-based Search for Adaptive Table Recognition in Spreadsheets

传统图像,应用于excel截图

识别

Deep Splitting and Merging for Table Structure Decomposition

ICDAR2013表格竞赛表格结构识别子任务的数据集State-of-the-art

adobe研究院

识别

DeepTabStr:Deep Learning based Table Structure Recognition

识别

ReS2TIM: Reconstruct SyntacticStructures from Table Images

icdar2013 f1 0.74

识别

Rethinking Semantic Segmentationfor Table Structure Recognition in Documents

不可处理跨行跨列

识别

Rethinking Table Recognitionusing Graph Neural Networks

有框线无框线表格均可处理

没有提供预训练模型

GitHub - shahrukhqasim/TIES-2.0: Code for: S.R. Qasim, H. Mahmood, and F. Shafait, Rethinking Table Recognition using Graph Neural Networks (2019)

合成,提供数据生产工具

识别

TableStructure Extraction with Bi-directional Gated Recurrent Unit Networks

端到端检测识别

TableNet: Deep Learning Model for End-to-end Table Detection and Tabular Data Extraction from Scanned Document Images

icdar2013检测和识别F1分别为96.62%和91.51%

检测

A GAN-based Feature Generator forTable Detection

ICDAR13/17 state-of-the-art

北京大学王选计算机研究所

检测

A YOLO-based Table Detection Method

检测

Faster R-CNN BasedTable Detection Combining Corner Locating

ICDAR2017 POD数据集

检测

Table Detection in Invoice Documents by Graph Neural Networks

取自 RVL-CDIP invoice data

端到端CascadeTabNet: An approach for end to end table detection and structure recognition from image-based documentsGitHub - DevashishPrasad/CascadeTabNet: This repository contains the code and implementation details of the CascadeTabNet paper "CascadeTabNet: An approach for end to end table detection and structure recognition from image-based documents"

<think>好的,我现在要设计并实现一个基于OCR的在线表格图像文字识别系统。首先,我需要了解整个系统的大致流程,可能需要分为几个模块来处理。根据之前学过的OCR相关知识,比如引用[1]提到的表格OCR需要处理结构识别和内容识别,而引用[2]提到OCR的基本流程包括图像处理和字符识别,引用[3]则提到了具体的实现步骤,比如提取表格结构并保存为HTML或Excel。所以,我需要将这些步骤整合起来,设计一个完整的系统。 首先,系统应该允许用户上传图像,对吧?所以前端需要有一个上传界面,可能用HTML和JavaScript实现。然后后端接收图像,进行处理。处理流程可能包括图像预处理、表格检测、单元格分割、文字识别和结构重建。每个步骤都需要对应的算法或工具。 图像预处理可能需要调整图像的大小、对比度,去噪声等,比如用OpenCV这样的库。表格检测可能需要检测图像中的表格区域,这里可以用深度学习模型,比如YOLO或者基于CNN的检测模型。检测到表格后,需要分割单元格,这可能涉及到线条检测,比如霍夫变换或者使用深度学习的语义分割方法。然后每个单元格中的文字需要识别,这里可以用现有的OCR引擎,比如Tesseract,或者更先进的如PaddleOCR,或者结合引用[1]提到的深度学习方法提高准确率。结构重建则需要将识别出的文字按照表格的行列结构组合起来,可能需要处理合并单元格的情况,这可能会比较复杂。 接下来是系统架构的设计。前端负责上传和展示结果,后端负责处理图像,可能需要用Python的Flask或Django架。数据库可能需要存储用户上传的图片和识别结果,但如果是在线系统,可能需要考虑临时存储或者用户账户系统。另外,表格还原后的输出格式需要支持常见的如Excel、HTML,或者直接显示在网页上,这部分可能需要用一些库,比如Python的pandas生成Excel,或者用HTML表格标签。 在技术选型方面,OCR引擎的选择很重要。Tesseract是开源的,但可能对复杂表格效果一般。而引用[1]提到中安表格OCR结合了深度学习和图像处理,可能需要自己训练模型,或者使用现有的预训练模型。如果时间或资源有限,可能需要用现有的API,比如Google Cloud Vision或者百度OCR,但成本可能较高。另外,表格结构的识别可能需要特定的算法,比如检测横线和竖线,或者使用基于深度学习的表格结构识别模型。 然后是具体的实现步骤。首先,用户上传图片,后端接收后开始处理。图像预处理可能需要灰度化、二值化、去噪等步骤。接着检测表格区域,这里可能需要训练一个目标检测模型,或者使用传统图像处理技术找表格的轮廓。然后进行单元格分割,可能需要检测线条的交点,确定每个单元格的位置。对于无线的表格,可能需要更复杂的处理,比如基于文本布局的分析。之后,对每个单元格进行OCR识别,这里要注意多语言支持和字体多样性。最后,将识别出的文本按行列组合,处理合并单元格,生成结构化的数据,并输出为所需格式。 可能遇到的挑战包括复杂表格的处理,比如嵌套表格、合并单元格、倾斜或弯曲的表格线,以及低质量图像的识别。这时候可能需要更先进的模型,或者增加预处理步骤。此外,系统的性能也需要考虑,比如处理时间,可能需要异步处理或者优化算法速度。 测试方面,需要准备不同种类的表格图像,验证每个模块的准确性。比如,测试表格检测模块是否能正确找到表格区域,单元格分割是否正确,文字识别是否准确,结构重建是否保持原表格的布局。如果发现某些步骤效果不好,可能需要调整参数或更换算法。 最后,系统部署可能需要用到云服务,比如AWS或阿里云,来搭建后端服务,保证可扩展性和稳定性。前端可能需要用React或Vue.js来构建用户友好的界面。同时,用户隐私和数据安全也需要考虑,比如图片上传后的存储和删除策略,数据传输加密等。 总之,整个系统的设计需要整合图像处理、深度学习、OCR技术和Web开发,每个环节都需要仔细考虑和测试,才能实现一个高效准确的在线表格识别系统。</think>### 设计与实现基于 OCR 的在线表格图像文字识别系统 #### 1. 系统设计流程 基于引用[1][2][3],系统需包含以下核心模块: 1. **用户交互层**:支持上传图像、查看识别结果和导出结构化数据。 2. **图像预处理模块**:优化图像质量,包括去噪、矫正倾斜、二值化等。 3. **表格检测与分割模块**:定位表格区域并分割单元格,需结合深度学习模型(如YOLO或Mask R-CNN)与传统图像处理技术(如霍夫变换检测直线)[^1]。 4. **文字识别模块**:使用OCR引擎(如Tesseract、PaddleOCR或商业API)识别单元格内容。 5. **结构化重建模块**:将文本按行列关系映射为表格数据,支持合并单元格处理,输出Excel、HTML等格式[^3]。 6. **数据库与后端服务**:存储用户请求记录和识别结果,提供API接口。 #### 2. 关键技术实现 - **图像预处理** ```python import cv2 def preprocess(image): gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 灰度化 denoised = cv2.fastNlMeansDenoising(gray) # 去噪 thresh = cv2.adaptiveThreshold(denoised, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2) # 二值化 return thresh ``` - **表格检测与分割** 使用深度学习模型检测表格边界,结合传统方法提取单元格: ```python # 示例:基于OpenCV的表格线检测 def detect_lines(image): edges = cv2.Canny(image, 50, 150) lines = cv2.HoughLinesP(edges, 1, np.pi/180, threshold=100, minLineLength=50, maxLineGap=10) return lines ``` - **OCR识别与结构化输出** 调用OCR引擎并解析坐标信息: ```python from paddleocr import PaddleOCR ocr = PaddleOCR(use_angle_cls=True) result = ocr.ocr(image, cls=True) # 根据坐标映射到单元格 ``` #### 3. 系统架构 - **前端**:Vue.js/React实现上传界面和结果展示。 - **后端**:Flask/Django提供RESTful API,异步任务处理(Celery)。 - **数据库**:MySQL/MongoDB存储用户数据。 - **部署**:Docker容器化,Nginx负载均衡。 #### 4. 优化方向 - **复杂表格支持**:训练专用模型识别合并单元格、嵌套表格[^1]。 - **多语言兼容**:集成多语言OCR模型(如EasyOCR)。 - **性能提升**:GPU加速推理、缓存高频请求。 #### 5. 测试与验证 - 使用ICDAR数据集评估表格检测和OCR准确率。 - 模拟用户上传测试极端情况(如模糊、倾斜图像)。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值