MinerU-Diffusion发布:我们想重新回答,文档 OCR 到底该怎么做

零Token本地部署Qwen3.5+OpenClaw全流程实战 大语言模型本地化部署是保障数据隐私与降低AI使用成本的核心路径。其本质是通过模型量化(如INT4)、轻量API运行时(如Ollama)和智能调度框架(如OpenClaw)构建端到端闭环推理链。技术价值在于摆脱云端依赖、规避token计费与内容外泄风险,实现真正可控的AI基础设施。典型应用场景包括法律合同解析、代码审查、会议纪要生成等需高敏感度与低延迟的办公自动化任务。本文聚焦Qwen3.5:9B在消费级GPU(如RTX 3090)上的INT4量化部署与OpenClaw对接实践,覆盖环境配置、网络调试、显存优 阅读详情

在大模型、知识库和智能文档应用快速发展的今天,OCR 已经不再只是一个“把图片里的文字识别出来”的基础工具。对科研论文、财报、专利、合同等高价值文档来说,OCR 的效果直接决定了后续信息抽取、知识建库和智能问答的质量。也正是在这一过程中,我们越来越清楚地意识到,文档 OCR 面临的核心问题,已经不只是“能不能识别”,而是“能不能以更高效率、更强稳定性和更好结构一致性,把复杂文档真正解析出来”。

长期以来,行业中相当一部分 OCR 系统仍沿用自回归解码范式,将文本识别建模为从左到右逐 token 生成的序列问题。这是一种成熟而常见的技术路径,但我们认为,它与文档 OCR 的任务本质并不完全一致。文档并不是天然的一维文本流,而是包含阅读顺序、页面布局、表格、公式等信息的二维视觉对象;最终输出的文本,本质上更像是对这些结构的线性化还原,而不是一次语言意义上的“创作”或“续写”。正是这种任务本质与建模方式之间的错位,使得传统路径在实际应用中逐渐暴露出推理串行、误差累积、过度依赖语言先验等问题。

基于这样的判断,上海人工智能实验室 OpenDataLab 团队(我们)提出了 MinerU-Diffusion——一种基于掩码扩散语言模型的OCR框架。我们希望改变的,并不是传统 OCR 流程中的某一个局部模块,而是更底层的建模思路:不再把文档 OCR 主要看作语言驱动的序列生成问题,而是将其重新定义为一种在视觉约束下逐步恢复文本结构的“逆向渲染”过程。换句话说,我们更关注模型如何依据整页文档的视觉信息,把原本已经存在于文档中的结构化文本并行恢复出来,而不是依赖固定顺序去逐步“猜测”下一个 token。

🧾 论文链接:https://arxiv.org/abs/2603.22458

⭐ 开源仓库:https://github.com/opendatalab/MinerU-Diffusion

🔗 开源模型: https://huggingface.co/opendatalab/MinerU-Diffusion-V1-0320-2.5B

 🧰在线demo: https://huggingface.co/spaces/opendatalab/MinerU-Diffusion-V1-0320-2.5B

MinerU-Diffusion处理速度展示

MinerU-Diffusion与 MinerU2.5 对复杂文档解析速度对直观对比

一、当行业还在逐字生成时,我们选择从“恢复结构”出发

围绕这一思路,MinerU-Diffusion 采用离散扩散解码来替代传统自回归解码。与行业中更常见的串行生成方式不同,扩散解码不依赖严格的从左到右顺序,而是在多个位置上同时进行预测与修正,使文本在视觉信息和上下文约束下被逐步还原。我们认为,这种方式更符合文档 OCR 的任务特征:文档中的 token 关系主要受空间结构约束,而不完全来自语言上的因果依赖。因此,采用并行恢复的方式,不仅更自然,也更有机会同时提升效率和全局一致性。

这也是 MinerU-Diffusion 与行业通行做法最核心的区别。传统方法的优势在于路径成熟、工程经验丰富,但它天然受到串行解码的约束,面对长文档、复杂版式以及大规模生产场景时,速度和成本压力会更加明显;同时,在表格、公式、跨行排版等结构化内容中,一旦前序 token 预测出现偏差,错误也更容易沿生成链路逐步放大。相比之下,我们的方法更强调直接利用整页视觉证据和全局结构信息,减少对语言先验补偿的依赖,从而在复杂结构场景下获得更稳定的表现。

图片

图1:扩散解码在视觉条件约束下,从被掩码的标记中逐步重建结构化文本:黑色标记已确认,红色标记正在更新,黄色标记仍处于掩码状态,这实现了具有全局一致性的并行生成,与自回归的从左到右解码形成对比。

图片

图2:MinerU-Diffusion的训练过程。左图:对目标标记序列进行随机掩码处理,形成部分可见的输入,模型在视觉和提示条件的约束下仅对掩码位置进行预测。右图:训练过程中使用的结构化块注意力掩码,其中标记在每个块内进行双向注意力计算,对所有先前的块进行因果注意力计算,这使得块内能够进行并行扩散优化,同时保留块间的粗略自回归结构。

二、更快,不靠牺牲精度来换

从公开结果来看,这一路径带来了较为明显的实际收益。MinerU-Diffusion 的 TPS (Throughput Per Second)最高可达到 MinerU2.5 的 3.26 倍;在 99.9% 相对精度下,仍可实现 2.12 倍加速;在 98.8% 相对精度下,可实现 3.01 倍加速。2.5B 参数模型在基础配置下,相较 1.2B 自回归模型实现了 5.1 倍推理速度提升。对真实业务场景来说,这意味着我们并不是单纯为了追求速度而牺牲质量,而是在尽可能保持高精度的前提下,显著缓解了文档解析中的时延和成本压力。

图片

图3:MinerU-Diffusion通过阈值控制提供了灵活的精度-吞吐量权衡。与MinerU2.5相比,它的TPS(Token Per Seconds)最高可达3.26倍,同时还提供了实用的trade-off point,例如在99.9%的相对精度下实现2.12倍的加速,以及在98.8%的相对精度下实现3.01倍的加速。

除了速度,稳定性同样重要。在 Semantic Shuffle 语义扰动测试中,随着扰动程度增加,基于自回归解码的模型性能下降更为明显,而 MinerU-Diffusion整体表现更稳定。这个结果说明,我们的方法在预测时更直接依赖视觉信号,而不是主要依靠语言先验来“补全”结果。对于复杂文档解析而言,这种差异具有很强的现实意义,因为企业和科研场景真正关心的,往往不是平均条件下的表现,而是在复杂版面、异常排版和受扰动输入条件下,系统是否仍然能够保持可靠输出。

图片

图4:不同失真程度下的Semantic Shuffle基准测试结果。

为了兼顾并行恢复能力和结构一致性,我们在训练过程中还引入了结构化块注意力机制,在块内进行双向注意力计算,同时在块间保留有序约束。我们这样设计,并不是为了单纯增加模型复杂度,而是希望在提升并行效率的同时,依然维持长文本结构上的整体连贯性。因为对文档任务来说,真正有价值的从来不是孤立的字符识别能力,而是能否把页面中的层级、顺序和结构一起稳定还原出来。

三、我们想证明的,是文档 OCR 可以有一条新路径

从更大的视角看,MinerU-Diffusion 的意义并不只是一次性能优化。我们更希望它能够说明,文档 OCR 这类任务未必必须沿着行业已经熟悉的自回归语言生成路径继续演进。对于文档解析而言,如果问题的本质是从二维视觉结构到一维文本序列的确定性映射,那么更贴近任务本质的建模方式,理应来自视觉驱动的结构恢复,而不只是语言驱动的顺序生成。我们认为,这种重新定义,不仅有助于提升复杂版面理解、表格与公式识别、结构化信息抽取等能力,也会为 RAG 知识库构建等下游应用提供更可靠的底层支持。

图片

图5:文档 OCR 逆渲染推理过程在不同解码方法下的概述。模型将二维文档图像映射为一维的 token 序列,并通过自回归方法和基于扩散的方法进行解码。

对我们而言,MinerU-Diffusion的价值不只是“更快了一些”,而是证明了一条新的技术路径是可行的:当我们不再把 OCR 简单视为生成文本,而是把它看作恢复结构,很多长期被视为理所当然的瓶颈,就有机会被真正改写。这也是我们希望通过这项工作传递出的核心信息——在文档智能进入更深应用阶段的当下,重新理解问题本身,往往比单纯优化旧路径更重要。

数字设计与计算机体系结构习题答案,数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdf... 数字设计和计算机体系结构习题答案DigitalDesignandComputerArchitecture.pdfDavid Money Harris and Sarah L. Harris, Digital Design and Computer Architecture, © 2007 by Elsevier Inc.Exercise SolutionsC H A P T E R ... 阅读详情

相关推荐

CentOS7上装不了最新Chrome?别折腾依赖了,试试这个老版本安装法(附103.0.5060.24 beta下载地址)

本文提供了在CentOS7上安装兼容版Chrome的详细指南,解决了因GLIBC版本限制导致的最新版Chrome无法安装的问题。推荐使用Chrome 103.0.5060.24 beta版本,并附有下载地址和完整安装步骤,包括禁用自动更新和配套工具安装,确保系统稳定性和功能完整性。

weixin_29289821的博客 571

MinerU-Diffusion:文档OCR解码提速3.2倍新方案

MinerU-Diffusion框架通过将文档OCR重构为逆渲染问题,采用并行扩散解码技术,实现了文档识别速度3.2倍提升,同时保持高精度性能,为企业级文档处理效率带来突破性进展。 ## 行业现状 随着数字化转型加速,企业对文档OCR(Optical Character Recognition,光学字符识别)技术的需求持续增长。传统OCR方案普遍面临两大痛点:一是处理速度受限,尤其在长文档和复杂

gitblog_01017的博客 375

GPS卫星轨道的理论和计算笔记分享

广义相对论预测,对比在时空弯曲度较大的地面上的原子钟,运行于时空弯曲度较小的卫星原子钟在地面上看起来更快,每天快约45us;反过来,当电压施加在晶体上时,晶体形状会扭曲(比如说伸长),而当晶体被施加上反向电压后,它将做相反的变形运动(比如缩短)。X轴:指向参考子午面与地球赤道的一个交点;从北黄极上方观察,地球北极在空间的运动轨迹是一个近似于以北黄极为中心的顺时针方向旋转的圆周,圆周半径等于。从上万年周期看,地球北极绕北黄极做大圆周运动,而从几年的短期来看,北极又在某一点处做局部的小幅椭圆运动。

m0_57139844的博客 2004

MinerU-Diffusion:3倍速文档OCR新突破

MinerU-Diffusion通过将文档OCR重构为逆渲染问题,采用并行扩散解码技术实现了3倍速处理,同时保持高精度,为企业级文档处理带来效率革命。 ## 行业现状 随着数字化转型加速,企业对文档OCR(Optical Character Recognition,光学字符识别)的需求呈爆发式增长。传统OCR技术面临两大核心痛点:一是处理速度慢,尤其在批量文档场景下效率低下;二是复杂排版、低质量

gitblog_01066的博客 245

C#实战:如何用TSCLIB.dll实现TSC打印机的状态监控与异常处理(附完整代码)

本文详细介绍了如何利用C#和TSCLIB.dll构建企业级TSC打印机状态监控与智能异常处理系统。通过解析十六进制状态码、设计高可靠性的轮询引擎以及实现事件驱动的报警机制,开发者可以打造一个稳定、可观测的打印服务,有效保障物流仓储、生产制造等高频打印场景的业务连续性。

weixin_29227585的博客 64

Windows10下RTABMAP+T265实现三维建图

win10+rtabmap+t265扫描地形

Suxiang1997的博客 3489

MinerU-Diffusion实测:生成式扩散模型如何解决传统OCR痛点

OCR(光学字符识别)是文档数字化的重要技术,传统方案多采用“检测+识别”两阶段流程,在复杂版面、印章遮挡、公式混排等场景下误差逐级累积,导致版面还原质量下降。随着生成式AI的发展,扩散模型开始应用于文档解析,通过端到端条件生成将整页图像直接映射为结构化文本,提升了复杂版式的鲁棒性,并在表格结构还原、公式识别等任务上表现突出。围绕开源项目MinerU-Diffusion的真实测试,探讨生成式模型如何解决传统OCR的瓶颈,为开发者提供技术路线选型参考。

weixin_31715171的博客 232

QT-Creator安装教程(windows)

本文介绍了Qt的下载安装步骤:1)通过镜像源下载安装包;2)运行exe文件时使用命令行参数指定镜像地址;3)在安装过程中选择路径和自定义安装组件,包含QT5和QT6版本的详细安装说明;4)安装后可继续添加扩展包或卸载组件。重点提示了QT6必须勾选的关键组件,并提供了组件管理的操作方法。

qq_53545309的博客 3118

Lucky 反向代理:一个域名接入多台服务的完整配置流程

Lucky 反向代理让你在一台网关主机上开一个统一入口:访问者用一个域名加固定端口就能触达内网里任意多台服务,按请求的 Host 自动分发到对应后端,支持负载均衡设置、Basic 认证、IP 访问控制与 HTTPS,后端真实地址对外完全隐藏。 ## 一、配好之后,你的网络长什么样 先看结果。假设家里有一台 NAS 跑着三套服务,端口各不同: - 3660 后台,跑在 `192.168.31.

gitblog_01122的博客 475

怎么调用onenet平台的API从而读取我们的设备数据和下发命令,做到控制开关

怎么调用onenet平台的API从而读取我们的设备数据和下发命令,做到控制开关 1、首先是怎么读取数据 读取的API是:http://api.heclouds.com/devices/datapoints?devIds=629063002 其中devids这个指的是你的设备ID 然后在我们的headers里面添加一些必要参数,就可以调用了 其中api-key的是你产品里面的master-apikey 把我们的参数写好就可以调用了,选择get方式,点击发送 这个value就是我们需要获取到的参数值了,

zyh960的博客 2万+

OpenClaw 运行时错误文档:Embedded Run Agent End with Stream Error(嵌入式运行代理结束流式错误)

OpenClaw运行时错误文档:EmbeddedRunAgentEndwithStreamError(OC-ERR-009) 该错误表示LLM提供商在流式传输过程中发生服务器端异常(HTTP 500),属于可恢复的中等严重性错误。典型表现为日志中出现包含"stream_error"和500状态码的错误信息。系统会自动进行错误分类(50%为服务过载,25%网络问题等),并通过内置机制尝试解决:包括模型切换、API密钥轮换和自动重试策略。用户可采取重试请求、切换模型或简化请求内容等操作,管理

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 554

5个PDF解析工具对比:MinerU云端实测3小时全试遍

本文介绍了基于星图GPU平台自动化部署MinerU 2.5-1.2B 深度学习 PDF 提取镜像的实践方法,结合云端高效算力实现复杂文档的精准解析。该方案支持公式转LaTeX、表格转HTML及OCR识别,适用于学术文献处理与AI应用开发等场景,助力用户低成本构建自动化文档解析流水线。

IndigoNight21的博客 832

apache 403错误 Forbidden解决方法

当网页打开提示以下错误时,即出现了403错误。 Forbidden You don't have permission to access / on this server. 403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。通常情况可能(但不限于此)的原因有: 原因1:apache配置文件中没有对站点目录的权限许可,这通...

lmseo5hy的博客 1499

MinerU-Diffusion:扩散模型如何重构文档OCR版面解析

OCR(光学字符识别)是文档数字化的基础技术,传统流水线架构常因模块独立叠加而出现误差累积、版面理解缺失等问题,尤其在表格、公式、多栏等复杂结构中表现乏力。扩散模型作为一种生成式概率框架,通过逐步加噪与去噪学习数据结构,能够对强约束的版面关系进行整体建模。MinerU-Diffusion 将这一思路引入文档解析,以生成式版面结构为目标,端到端输出规整的 Markdown 与 JSON,显著提升阅读顺序、表格还原和公式解析的准确率,为 RAG 知识库、LLM 数据预处理等场景提供可直接消费的结构化文档。本文从

weixin_29053577的博客 216

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MinerU-Diffusion:用逆向渲染重写文档解析底层逻辑

OCR(光学字符识别)技术发展多年,却始终难以解决复杂版式文档的结构还原问题:双栏论文读串行、公式排版错乱、无框线表格无法解析,传统方案只能在后处理规则里打转,无法突破天花板。近年来,基于扩散模型与逆向渲染理念的新一代文档解析框架MinerU-Diffusion,为这一难题带来根本性解法。它将文档解析从“感知识别”重构为“逆向渲染”,即从像素反推文档的原始生成过程,以渲染一致性作为训练目标,整体建模版面结构、文本层级与语义关系,对票据识别、学术论文、RAG知识库建设等场景颇具应用价值。对比Tesseract

weixin_32181267的博客 271

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上海人工智能实验室扔出 MinerU-Diffusion:文档解析终于不想再靠猜了

MinerU-Diffusion这篇论文让我想到一个问题:AI 读一份 PDF 的时候,它到底是在看图,还是在猜词?论文PDF下载链接:https://arxiv.org/pdf/2603.22458v1这个问题听起来有点怪。OCR 嘛,不就是识别文字吗。你给它一张扫描件,它把文字、表格、公式抠出来,不就完事了吗。但你稍微想深一点,就会发现这里面有个很微妙的差别,如果一个模型看到一行字有点糊,它输出了一句很通顺、很合理、很像原文的内容,我们到底应该夸它聪明,还是应该警惕它在补全?

2601_96359058的博客 436

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

MinerU-Diffusion:逆向渲染如何颠覆文档解析与版面还原

文档解析是知识库构建与RAG系统的关键预处理环节。传统OCR以文本框识别为核心,面对双栏论文、复杂表格和公式时,常常出现阅读顺序错乱、结构丢失等问题。逆向渲染提供了一种全新思路:将页面视为渲染产物,由生成模型整体还原版面的结构与阅读逻辑。MinerU-Diffusion正是这一理念的工程实践,它跳过逐框检测,直接输出包含层级、边界与顺序的结构化文档,让表格转Markdown、公式转LaTeX成为稳定结果。在RAG知识库、论文库结构化、票据信息抽取等场景中,这种“理解版式”而非“匹配模板”的能力,显著提升了数

weixin_29045001的博客 190

MinerU输入指令怎么写?三大常用Prompt模板免费提供

本文介绍了如何在星图GPU平台上自动化部署OpenDataLab MinerU智能文档理解镜像,以高效处理各类文档。该平台简化了部署流程,用户可快速利用该镜像实现文档智能解析,例如,上传一份包含图表的PDF报告,MinerU能自动提取文字、分析数据趋势并生成结构化摘要,极大提升信息处理效率。

CrystalwaveStag的博客 602

文档OCR新突破:MinerU-Diffusion解码提速3.2倍

文档OCR技术迎来重大突破——MinerU-Diffusion框架通过将文档识别重构为"逆渲染"问题,采用并行扩散解码替代传统自回归解码,实现最高3.2倍解码速度提升,同时保持98.8%以上的准确率,为企业级文档处理效率带来质的飞跃。 ## 行业现状 随着数字化转型加速,文档OCR(Optical Character Recognition,光学字符识别)作为信息提取的关键技术,已广泛应用于金融

gitblog_00841的博客 436

你的 RAG 答非所问?问题根本不在检索,在这里

Kimi K2.6开源引发关注,但文档解析质量成RAG系统关键瓶颈。文章指出,30%的企业RAG项目因文档预处理不当导致检索失效,特别是双栏PDF、表格、公式等复杂格式。上海AI Lab开源的MinerU 3.0文档解析引擎带来显著改进:DOCX原生解析速度提升20倍,新增流式处理和GPU负载均衡功能,在OmniDocBench评测中综合准确率达90.7%。文章对比了主流解析工具性能,并提供完整RAG流程代码示例,强调优质文档解析是决定Agent能力上限的核心环节。随着Kimi推出Document to S

m0_61134850的博客 438

多模态文档解析新思路:MinerU-Diffusion通过扩散解码进行文档OCR

继续跟进【】解析进展。在前期介绍了非常多的多模态视觉语言模型在OCR场景的方法思路,在模型架构上,基本都是vit+MLP+LLM的框架,以自回归(AR)【即文本以从左到右、逐个词元的方式生成。】的方式进行OCR解码,存在顺序延迟问题,其延迟与文档长度呈线性关系。AR的因果生成导致错误传播,即初始错误会在输出中逐级放大。如上图,MinerU-Diffusion引入了一种不同的范式,将文档OCR重构为一个逆向渲染问题。该框架不一次预测一个序列,而是使用一个并行的基于扩散的解码器。

余俊晖,NLP炼丹师,目前专注自然语言处理领域研究。曾获得国内外自然语言处理算法竞赛TOP奖项近二十项。 593

使用ocr来实现自动化脚本

自动化脚本的稳定性,很大程度上取决于“找到目标元素”这件事是否可靠。无障碍控件查找在标准 Android 应用上工作得很好,但一旦进入游戏、自绘渲染界面、Flutter 或某些加固过的应用,getUiTree返回空树或残缺节点是常有的事。控件的text和id属性不存在,findView就无从谈起。这时继续在控件查找的框架里打补丁,收益很低;更务实的做法是把定位层整体切换到 OCR,用屏幕上的文字本身作为锚点。冰狐的 OCR 接口不是单一函数,而是一组按用途分层的工具。底层是ocr()和tessOcr()

ai_coder_ai的博客 459

图片 OCR 转 Word API:输入二选一、DOCX 和私有文件下载

图片 OCR 转 Word API 通过 POST 识别图片文字并生成可编辑 DOCX。输入为 HTTPS 图片 URL 或 Base64,二选一。公开模式返回下载链接,私有模式返回文件标识。

DevOpenClub 专栏 275

影刀OCR功能有什么替代方案?实测三条路线,内网离线也能跑稳

试到第三款时我停下来试了蓝印RPA:它自带AI识图与OCR功能,接入了文心一言、豆包、DeepSeek、Kimi这些大模型,图片丢进去出文字,识别结果直接进变量,接着往下填表、对账、写回Excel,一整条链路不用出流程。元素获取上,它支持本地智能生成元素路径,还能AI智能优化元素路径:我用大白话描述"发票号码那个格子",直接给出稳定的xpath,不用啃语法。碰上财务系统网页改版导致元素失灵,Web元素AI自愈能自动修复元素定位,自愈更稳定,少了我半夜起来改流程的次数,降低脚本维护成本这件事是实打实的。

HAHAXX8的博客 194

PyQt5 + OpenCV 实战:零基础打造带摄像头的 OCR 识别界面

**解决**:千万不要勾选 `QLabel` 属性里的 `scaledContents`。* 你可以直接在 Designer 的“配置连接”里,左边选 `clicked()`,右边点击“编辑”手动新建一个叫 `on_open_camera_clicked()` 的槽。* 你之前写的 `cv2AddChineseText` 和 `cv2.polylines` 直接加在 `self.cap.read()` 读出的 `frame` 上即可。* **原因**:手滑把定时器写错了。

2302_80153357的博客 105

汽车金融 OCR 系统架构设计:从多证件识别到关联校验的技术方案

楚识科技的汽车金融 OCR 方案,有几个特点:一是证件类型覆盖全 —— 汽车金融涉及的十几种证件全部支持;二是汽车专项证件准确率高 —— 行驶证、登记证书、车辆合格证的识别准确率比通用 OCR 高很多;三是内置多证件关联校验引擎 —— 识别完自动比对,有问题自动标记;四是和主流风控系统无缝对接 —— 开箱即用,不用二次开发。

qq_34572574的博客 317
上一篇: 科学智能数据库 Sciverse 正式发布:让科学数据成为 Agent 可调用的资源
下一篇: ​零代码搞定论文|MinerU Skills 论文解析实战教程​
OpenDataLab
博客等级 码龄4年 636粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值