基于paddleocr的版面分析
前处理:
DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction
(1)几何矫正
给定一张存在几何和光照畸变的文档图像,我们首先用一个包含六个卷积模块的特征提取器对其进行特征提取,并降低特征图分辨率至输入图像的1/8尺度,以保证网络的推理效率。然后,我们将提取的特征图展平后,输入至Transformer编码器,解码器,以及我们设计的可学习的上采样模块,得到坐标位移矩阵。最后,我们用对坐标位移矩阵对输入的图像进行几何矫正(即基于双线性插值的在输入图像上按坐标进行像素重采样)。
(2)光照恢复
给定一张几何矫正输出的高分辨率图像,我们首先将其切分成相互之间有1/8重叠的图像块。然后,我们将每一个图像块输入至卷积特征提取器,Transformer编码器,解码器,以及卷积输出头,从而输出光照恢复的图像块。最后,我们将每一个恢复的图像块进行空间上的拼接,完成文档图像的光照恢复。


1、版面分析
使用轻量模型PP-PicoDet检测模型实现版面各种类别的检测。
数据集:
英文:publaynet数据集的训练集合中包含35万张图像,验证集合中包含1.1万张图像。总共包含5个类别。
中文:CDLA据集的训练集合中包含5000张图像,验证集合中包含1000张图像
2、文本分析
文本检测:改进了基于分割的DBNet (Differentiable Binarization)
数据集:ICDAR 2015 数据集包含1000张训练图像和500张测试图像。

文本识别:SVTR_LCNet(将基于Transformer的SVTR网络和轻量级CNN网络PP-LCNet 融合的一种轻量级文本识别网络)
数据集:
3、表格
1. 文字检测模型:用于检测表格里的文本
2. 文字识别模型:用于对检测到的文本进行识别
3. SLANet模型用于预测表格结构的HTML信息和表格单元格坐标

数据集:
PubTabNet数据集的训练集合中包含50万张图像,验证集合中包含0.9万张图像
好未来表格识别竞赛数据集的训练集合中包含1.6万张图像。验证集未给出可训练的标注。

参考来源: GitHub - PaddlePaddle/PaddleOCR
https://github.com/PaddlePaddle/PaddleOCR
相关文章:
基于paddleocr的版面分析
前处理: DocTr: Document Image Transformer for Geometric Unwarping and Illumination Correction (1)几何矫正 给定一张存在几何和光照畸变的文档图像,我们首先用一个包含六个卷积模块的特征提取器对其进行特征提取…...
网工内推 | IT网工,华为、华三认证优先,15k*13薪
01 广东善能科技发展股份有限公司 招聘岗位:IT网络工程师 职责描述: 1、负责公司项目售后技术支持工作; 2、负责项目交付实施,配置调试、运维等; 3、参加合作厂商产品技术知识培训; 4、参加合作厂商工程师…...
leetcode 739. 每日温度
2023.8.28 本题用暴力双层for循环解会超时,所以使用单调栈来解决,本质上是用空间换时间。维护一个单调递减栈,存储的是数组的下标。 代码如下: class Solution { public:vector<int> dailyTemperatures(vector<int>&…...
【活体检测模型】活体检测思路推演
ref:https://arxiv.org/pdf/1611.05431.pdf https://github.com/miraclewkf/ResNeXt-PyTorch 用分类的思想做活体检测,要求准确的分出正负样本,否则,支付宝被别人用了,问题就很严重。 大部分的商用场景还是 摇摇头、张张口&#x…...
【微服务部署】03-健康检查
文章目录 1. 探针集成实现高可用1.1 LivenessProbe1.2 ReadinessProbe1.3 StartupProbe 2. 健康检查看板2.1 组件包 1. 探针集成实现高可用 LivenessReadinessStartup 1.1 LivenessProbe 判断服务是否存活结束“非存活”状态服务根据重启策略决定是否重启服务 1.2 Readines…...
SQL注入之报错注入
文章目录 报错注入是什么?报错注入获取cms账号密码成功登录 报错注入是什么? 在注入点的判断过程中,发现数据库中SQL 语句的报错信息,会显示在页面中,因此可以利用报错信息进行注入。 报错注入的原理,就是在…...
基于大数据+django+mysql的银行信用卡用户的数仓系统
系统阐述的是银行信用卡用户的数仓系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构…...
【网络】多路转接——五种IO模型 | select
🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 五种IO模型 | select 🍧五种IO模型🍧select🧁认识接口🧁…...
sql顺序倒序查询
要根据 orderNum 字段的顺序查询,你可以使用 SQL 的 ORDER BY 子句。默认情况下,ORDER BY 是按升序排序的,但你可以使用 DESC 关键字来指定降序排序。 以下是一个示例查询,按照 orderNum 字段的顺序将结果返回: SELEC…...
java和sql生成时间维度数据
JAVA: POM依赖: <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.4.2</version></dependency> 代码: package com.kone.kcdp.common;import cn.hutool.co…...
HUT23级训练赛
目录 A - tmn学长的字符串1 B - 帮帮神君先生 C - z学长的猫 D - 这题用来防ak E - 这题考察FFT卷积 F - 这题考察二进制 G - 这题考察高精度 H - 这题考察签到 I - 爱派克斯,启动! J - tmn学长的字符串2 K - 秋奕来买瓜 A - tmn学长的字符串1 思路&#x…...
sm4 加解密算法工具类( Java 版 )
sm4 加解密算法工具类(java) 说明:密钥是 hexString import java.security.Key; import java.security.Security; import javax.crypto.Cipher; import javax.crypto.spec.SecretKeySpec;import cn.hutool.core.codec.Base64Decoder; import…...
Redis项目实战——商户查询缓存
目录 为什么要用Redis实现商户查询缓存?用Redis实现商户查询缓存的基本思路?使用Redis缓存的问题及解决方法?一、如何保持数据库数据和Redis缓存数据的一致性?1 内存淘汰机制2 超时剔除机制3 主动更新机制(胜ÿ…...
重磅OpenAI发布ChatGPT企业版本
8月29日凌晨,Open AI官网发布ChatGPT企业版本! 企业版简介: ChatGPT企业版提供企业级安全和隐私、无限的高速 GPT-4 访问、用于处理更长输入的更长上下文窗口、高级数据分析功能、自定义选项等等。人工智能可以协助和提升我们工作生活的各个…...
# Go学习-Day7
文章目录 断言文件打开/关闭文件读取文件写入文件 命令行参数解析Argsflag包 JSON 个人博客:CSDN博客 断言 type Node struct {x inty int }func main() {var a interface{}var n Node Node{1, 2}a nvar b Nodeb a.(Node)fmt.Println(b) }此处我们有一个结构体…...
uniapp-form表单
<template><view class"ptb-20 plr-30 bg min100"><view class"bg-white radius-20 pd-30"><view class"bold mt-30 mb-50 size-32">选择方式:</view><u--form labelPosition"left" :mod…...
漏洞挖掘-利用
一、文章简介 整合一些web漏洞,以及对漏洞的理解。 二、Web漏洞 1.SQL注入 (1)定义 开发者程序编写过程中,对传入用户数据过滤不严格,将可能存在的攻击载荷拼接到SQL查询语句当中,再将这些查询语句传递到…...
React钩子函数之useDeferredValue的基本使用
在React中,使用钩子函数可以方便地管理组件的状态和副作用。useDeferredValue是React 18中新引入的钩子函数之一,它可以帮助我们优化渲染性能,让组件更加流畅。 useDeferredValue的作用是将一个值延迟更新。这个值可以是状态、属性或其他变量…...
lodash常用方法
cloneDeep 克隆 import { cloneDeep,reduce } from lodash; const b {c:1} const a cloneDeep(b)debounce 防抖 import { debounce } from lodash; debounce(() > {}, 300, { trailing: true })()omit方法删除指定属性,返回一个新的对象 import …...
QByteArray与结构体之间相互转换
Qt项目会碰到自定义结构体和字符数组之间的转换问题,不妨假设结构体名字为custom_struct, 字符数组名字为array_data QByteArray转换为自定义结构体 custom_struct *struct_data reinterpret_cast<custom_struct *>(array_data.data());自定义结构体转换为…...
开发者的文件对比神器:Beyond Compare 4在Linux下从安装、汉化到‘延长试用’的完整指南
Beyond Compare 4在Linux环境下的高效应用指南 对于开发者而言,文件与目录的高效对比是不可或缺的日常工作。无论是代码版本管理、配置文件同步还是数据校验,一个强大的对比工具都能显著提升工作效率。Beyond Compare作为业界公认的专业对比工具…...
手把手教你用TwinCAT3配置松下A6伺服,打通Simulink Real-Time实时控制(含VS版本避坑指南)
TwinCAT3与松下A6伺服深度集成指南:从EtherCAT配置到Simulink实时控制实战 引言 在工业自动化领域,实时控制系统的搭建往往伴随着复杂的软硬件协同挑战。当工程师需要将高性能伺服驱动与强大的仿真环境相结合时,EtherCAT总线技术与Simulink…...
终极艾尔登法环性能优化工具:帧率解锁与视野扩展完全指南
终极艾尔登法环性能优化工具:帧率解锁与视野扩展完全指南 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/…...
FPGA综合优化:KEEP与DONT_TOUCH属性详解
1. FPGA设计中的综合优化基础在FPGA设计流程中,综合阶段是将RTL代码转换为门级网表的关键步骤。Xilinx Vivado等综合工具会默认执行各种优化操作以提高设计性能并减少资源占用。这些优化包括但不限于:常量传播、寄存器合并、冗余逻辑消除等。虽然这些优化…...
2026年跨行业通吃的经管类黄金证书推荐
在数字经济纵深发展与人工智能技术广泛渗透的2026年,经济管理领域的人才需求范式发生了结构性转变。传统的单一专业技能边界日益模糊,企业对具备数据驱动决策、跨领域协同与敏捷管理能力的复合型人才需求迫切。在此背景下,系统性获取权威职业…...
10亿条URL的黑名单,如何快速判断一个新请求的URL是否在黑名单内?
在日常开发中,你是否遇到过这样的场景:有一个包含10亿条URL的黑名单,如何快速判断一个新请求的URL是否在黑名单内,同时避免占用几十GB的内存?在我们学习缓存三剑客时,关于缓存穿透,我们常用的解…...
ARM GICv3虚拟中断控制器与ICV_IGRPEN0_EL1寄存器解析
1. ARM GICv3虚拟中断控制器架构概述在现代处理器架构中,中断控制器是连接外设与CPU的关键枢纽。ARM架构的通用中断控制器(GIC)经过多代演进,GICv3架构在虚拟化支持方面实现了重大突破。作为第三代中断控制器,GICv3不仅继承了前代产品的优势特…...
别再手动汇总了!锐捷BGP路由聚合实战:用aggregate-address优化你的路由表(含as-set、suppress-map详解)
锐捷BGP路由聚合实战:优化网络架构的智能选择 在大型企业网络架构中,BGP路由表规模的膨胀常常成为网络工程师的噩梦。当路由条目突破十万级别时,设备内存占用激增、路由收敛速度下降、网络稳定性面临严峻挑战。传统的手工汇总方式不仅效率低下…...
OpenAshare:本地化AI开发工具集,模块化集成Ollama与LangChain
1. 项目概述:一个为开发者打造的本地化AI工具集最近在GitHub上闲逛,发现了一个挺有意思的项目,叫“OpenAshare”。初看这个名字,你可能会联想到“开源分享”之类的概念,但点进去之后,我发现它的定位远比一个…...
基于React与OpenAI构建智能聊天应用:架构设计与工程实践
1. 项目概述:一个开箱即用的React聊天应用框架最近在做一个需要集成智能对话功能的小项目,不想从零开始造轮子,就在GitHub上翻找现成的解决方案。结果就发现了这个叫openai-react-chat的仓库。第一眼看到这个标题,我的直觉是&…...
