新闻详情

新闻详情

首页 / 资讯中心 / 详情

GLM-OCR架构深度解析:版面分析+并行识别两阶段流程全景

发布时间:2026/9/1 14:24:04来源:尧图网络
GLM-OCR架构深度解析:版面分析+并行识别两阶段流程全景
GLM-OCR架构深度解析版面分析并行识别两阶段流程全景【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCRGLM-OCR 是什么GLM-OCR是一款面向复杂文档理解的多模态 OCR 开源项目它通过「版面分析 并行识别」的两阶段流水线把 PDF、图片中的文字、表格、公式快速转化为结构化的 Markdown 与 JSON 结果。整个模型仅 0.9B 参数却凭借 PP-DocLayout-V3 版面检测模型与 GLM 视觉解码器的组合在 OmniDocBench V1.5 上取得了 94.62 分的开源第一成绩是新手搭建高可用 OCR 服务的首选方案之一。上图是 GLM-OCR 的版面分析输出doc_title、abstract、chart、figure_title等区域都被精准框出并标注了置信度。两阶段架构总览一张图看懂核心流程GLM-OCR SDK 的核心是一条三阶段异步流水线入口在 pipeline.py数据依次流经四个可插拔模块模块职责源码位置PageLoader统一加载图片 / PDF编码为请求dataloader/page_loader.pyPPDocLayoutDetectorPP-DocLayout-V3 版面区域检测layout/layout_detector.pyOCRClient并行调用视觉大模型识别每个区域ocr_client.pyResultFormatter后处理输出 JSON / Markdownpostprocess/result_formatter.py简化后的数据流向如下图片/PDF ──▶ ① 页面加载 ──▶ ② 版面分析 ──▶ ③ 并行识别 ──▶ ④ 结果格式化 PageLoader LayoutDetector OCRClient×N ResultFormatter之所以采用「先切区域、再识别」的两阶段策略是因为整页直接喂给大模型既贵又容易乱序而按版面区域裁剪后每个小块可以并行送入模型速度和质量都更好。阶段一版面分析——PP-DocLayout-V3 定位文档区域版面检测由 PPDocLayoutDetector 完成它加载 PP-DocLayout-V3 目标检测模型能识别出25 种区域类别覆盖text、table、display_formula、seal印章、chart等类别映射定义在 config.yaml 的label_task_mapping中text/table/formula→ 交给 OCR 阶段使用不同的识别 Promptskip如图表、插图→ 保留区域信息但不做文字识别abandon页眉、页脚、脚注→ 直接丢弃减少无效计算。对于拍照倾斜的表格文档开启use_polygon: true后还可以按多边形轮廓精确裁剪避免把背景切进识别区域手写文档同样适用——版面模型会稳定框出文字行区域再交给 OCR 模型识别效果见下方示例图。阶段二并行识别——最多 32 路线程批量调用视觉模型识别阶段是性能的关键。recognition_worker 内部使用线程池消费裁剪好的区域图默认max_workers: 32即 32 个区域同时在识别。每个区域会根据类别自动拼装任务 Prompt如Text Recognition:/Table Recognition:/Formula Recognition:见 config.yaml 中task_prompt_mapping请求经 OCRClient 发送到 vLLM / SGLang / Ollama 等推理服务或直连智谱 MaaS 云端 API。识别失败的区域会被标记后自动跳过不会阻塞整个文档重试、超时、连接池大小均可在ocr_api配置段中调节高并发服务场景非常友好。三线程流水线加载、版面、识别如何无缝并发整条流水线在 pipeline.py 中由3 个线程 有界队列协作完成源码位于 _workers.pydata_loading_worker把 PDF 按 200 DPI 逐页转图推入page_queue容量 100layout_worker按批做版面检测将裁剪区域推入region_queue容量 2000recognition_worker线程池并行 OCR结果回写共享状态。两个队列都设置了容量上限形成天然的背压机制下游识别慢时上游不会无限堆积内存。同时还有一个_health_watchdog守护线程每 5 秒探测 OCR 服务端口一旦模型服务挂掉立即终止流水线避免请求持续失败堆积。多文档输入时每个文档unit完成后立即按序产出结果无需等待全部文档处理完毕。结果输出JSON Markdown 版面可视化每个输入文档最终产出一个 PipelineResultsave()之后目录里会同时得到三类文件可参考仓库内置示例 examples/result/paper/xxx.md按阅读顺序合并后的 Markdown 正文含表格、LaTeX 公式xxx.json带label、content、bbox_2d坐标的结构化区域列表方便做二次开发layout_vis/版面检测可视化图方便人工抽检模型质量。后处理开关合并公式编号、合并文本块、项目符号格式化都在 config.yaml 的result_formatter段一行配置即可调整输出风格。关键配置速查表配置项默认值说明pipeline.max_workers32区域并行识别线程数服务繁忙时可调小pipeline.page_maxsize100页面队列容量背压pipeline.region_maxsize2000区域队列容量背压pipeline.layout.threshold0.3版面检测置信度阈值pipeline.layout.use_polygonfalse是否按多边形裁剪适合倾斜文档pipeline.layout.device自动可设cpu把版面模型放 CPU让 GPU 专供 OCRpipeline.page_loader.pdf_dpi200PDF 转图分辨率 小技巧单卡部署时可用--layout-device cpu让版面检测跑在 CPU 上把显存完全留给 GLM-OCR 大模型。写在最后GLM-OCR 的架构思路可以总结为三句话版面分析负责切得准并行识别负责跑得快有界队列负责稳得住。如果你刚接触文档智能方向可以直接从 README.md 的一行pip install glmocr开始上手想要深挖源码就从 glmocr/pipeline/ 目录看起——三线程流水线的实现堪称教科书级别的异步工程范式。【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

企业安全度量体系实战教程:从指标落地到高管汇报风险量化 2026/9/1 17:55:14

企业安全度量体系实战教程:从指标落地到高管汇报风险量化

做企业安全的人,大多都经历过同一个尴尬瞬间。年终预算答辩、年度工作总结会上,管理层一句轻飘飘的提问,就能击穿一整年的工作成果:几百万的安全预算花出去,到底解决了什么问题,给公司挽回了多少损失&#…

阅读更多 →
基于TMS320F280039C的7.2kW单相光伏储能Heric并网逆变器设计解析 2026/9/1 17:55:14

基于TMS320F280039C的7.2kW单相光伏储能Heric并网逆变器设计解析

这个项目的核心,是拿到一套“基于 TMS320F280039C 的 7.2kW 单相光伏储能 Heric 并网逆变器”完整工程资料,包括 DSP 源码、PCB 工程和原理图。对做电力电子、数字电源、光伏储能控制的人来说,这套材料最大的价值不是“能跑”,而是…

阅读更多 →
从RAG落地到MCP实战:向量数据库融合架构的工程化体验 2026/9/1 17:55:14

从RAG落地到MCP实战:向量数据库融合架构的工程化体验

文章目录RAG在KES里到底怎么跑混合检索:不止是向量相似度嵌入模型导入和大模型缓存真实落地案例:某央企的智能体建设DeepSeek私有化部署中的向量角色关于性能基准数据写在最后兼容是对前人努力的尊重是确保业务平稳过渡的基石然而这仅仅是故事的起点上篇…

阅读更多 →
FPGA+Verilog实现AM信号解调:从原理到上板调试全解析 2026/9/1 17:55:14

FPGA+Verilog实现AM信号解调:从原理到上板调试全解析

简介:本资源面向FPGA开发初学者与通信工程实践者,提供一套完整的AM调幅信号数字解调Verilog实现方案,覆盖从MATLAB建模、Quartus II综合到ModelSim仿真验证的全流程。压缩包共620个文件,约243.27MB,包含149个Quartus编…

阅读更多 →
Java图书管理系统:从零构建完整项目,掌握核心开发技能 2026/9/1 17:55:14

Java图书管理系统:从零构建完整项目,掌握核心开发技能

这次我们来看一个经典的Java练手项目——图书管理系统。对于很多Java初学者来说,从“Hello World”到独立完成一个功能完整的项目,中间往往缺少一个清晰的指引。这个项目就是一个绝佳的跳板,它不追求复杂炫技,而是聚焦于如何用Jav…

阅读更多 →
从动漫角色识别入门目标检测:YOLOv8数据采集到部署全攻略 2026/9/1 17:52:13

从动漫角色识别入门目标检测:YOLOv8数据采集到部署全攻略

1. 从一个奇怪的需求说起 如果你是一个动漫爱好者,同时又是一个程序员,那你大概率会面临这样一个“灵魂拷问”:能不能写个程序,把二次元老婆(或者说喜欢的动漫角色)的图片全部抓下来?更进阶一点…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞