Indra OCR:1M参数的CPU OCR模型,比Tesseract快15倍,如何接近1B级模型精度? 【免费下载链接】indra1M param OCR model - runs on CPU, 15x faster than tesseract, close to 1B param models in accuracy项目地址https://gitcode.com/gh_mirrors/indra4/indra点击查看免费下载Indra OCR 是一款仅 1M 参数、纯 CPU 运行的轻量级 OCR 模型支持 PDF 与图片转 Markdown / 文本 / JSON实测比 Tesseract 快 15 倍精度接近 1B 参数的大模型。它支持 80 种语言、手写体、倾斜和倒置页面首次运行自动下载约 76 MB 模型无需 GPU 和 PyTorch。一、Indra OCR 凭什么“以小博大”先给结论——这是官方 OmniParseBench 基准2,937 页上OCR 引擎“文本精度 vs 单页耗时”的对比图几个关键数据引擎文本得分表格版面单页中位耗时Indra OCR默认 auto 模式46.761.192.2212 msIndra OCR--math数学模式62.759.692.0357 msPaddleOCR PP-StructureV355.647.871.740,958 msTesseract 519.30–5,496 ms快32 核 CPU 上约 44 页/秒是 Tesseract 的 15 倍、PaddleOCR PP-OCR 文本模型的 10 倍4 核上单页仅约 210 ms。准OmniParseBench 总分 66.7开启--math后 71.4全面领先 PaddleOCR 完整流水线58.4。小主识别器rec.onnx约 125 万参数全部默认模型合计 7.3M 参数基于 ONNX Runtime 推理。 完整基准数据与复现脚本见 README.md 的 Benchmarks 章节和 bench/opb_indra.py。二、快速上手三步完成 PDF 转 Markdown安装只需 Python 3.10pip install indra-ocr一条命令出结果indra-ocr paper.pdf # Markdown 直接输出到终端 indra-ocr *.pdf --out results/ # 每个输入生成一个 .md自动用满所有核心 indra-ocr scan.png --format json # 输出文本行、坐标框、版式块、置信度几个常用参数参数作用--format [md\|text\|json]输出格式默认 Markdown--mode [auto\|ocr\|text]auto优先读 PDF 文本层读不了的页才 OCR默认--math公式转成 LaTeX总分可从 66.7 提升到 71.4--cores N限制并行核心数--keep-furniture在 Markdown 中保留页眉页脚--timings输出每页各阶段的耗时除了命令行它还是一个很薄的 Python 库核心实现分布在 indra_ocr/ 目录下import indra_ocr conv indra_ocr.load(threads4) for i, page in conv.convert(paper.pdf): print(page.markdown) # 标题、列表、表格HTML print(page.blocks) # 按阅读顺序的版式块label / bbox / text可运行的示例脚本examples/ocr_image.py图片转 Markdown / 文本 / JSON和 examples/quickstart.ipynb快速上手 Notebook。三、揭秘1M 参数如何逼平 1B 级大模型小模型通常精度吃亏Indra OCR 的做法不是“堆参数”而是把工程效率花在刀刃上。拆开看主流程见 indra_ocr/pipeline.py1. 按书写系统分治识别每条文本行“对号入座”它并不用一个巨型模型硬啃所有语言而是 4 个专用识别器 1 个行分类器rec.onnx拉丁字母约 50 种语言、西里尔、希腊文及拉丁手写体rec_cjk.onnx简/繁体中文、日文、韩文rec_rtl.onnx阿拉伯、波斯、乌尔都、希伯来等右起文字输出自动转为逻辑顺序rec_world.onnx印地文、泰米尔、泰文、缅甸文等其余文字。分类器把每条文本行路由到对应识别器不确定的行会由主识别器“复核”取置信度更高的结果路由阈值见pipeline.py中的ROUTE_SURE。2. 语言模型兜底读得不行就“重读一遍”对置信度低的行阈值LM_GATE用 n-gram 语言模型做 beam search 重读手写体和噪声页收益明显——模型包里的 46 MB 语言模型就是为它准备的语言模型逻辑见 indra_ocr/lm.py。3. PDF 文本层优先OCR 只补漏--mode auto默认会先校验数字 PDF 的文本层是否可信含对 Hindi 传统字体、Chrome 导出的右起文本层等坑的专项检查可信就直接读文本层不可信才启动 OCR。这招让它在“文本 表格 版面”综合得分上大幅领先也解释了表格和版面两项的高分92.2。4. 每页并行吃满所有 CPU 核心单页内部用多线程加速有限真正的提速来自页间并行每个可用核心跑一个单线程 worker 进程一页一个任务哪怕一个长 PDF 也能用满全部核心进程池实现见 indra_ocr/parallel.py命令行入口见 indra_ocr/cli.py。5. 角度、方向全兜底倾斜最多 45° 的页面自动扶正page.skew旋转 90°/180° 的页面自动转正page.rotation方向模型见pipeline.py中的orient.onnx逻辑支持中/日文竖排页面page.vertical深色背景浅色文字PPT、深色表头也能读。上图是它对双栏学术页的识别效果彩色框是带标签的版式块Text、Section-Header、Page-Header…淡蓝框是文本行全部由 JSON 输出绘制未经人工编辑。更多真实示例见 EXAMPLES.md。四、实战一张斜了 30 度的扫描件倾斜文档是传统 OCR 的重灾区。下面这页被旋转了 30°Indra OCR 检测到倾斜skew: -30.0先扶正再识别输出与正向页面一致坐标还会映射回原页面位置五、诚实清单Indra OCR 不擅长什么它主打“干净印刷体 极速”以下场景请谨慎或考虑 Datalab 的 Chandra 平台复杂表格合并单元格、跨行跨列、无线表格可能错行错列简单网格表格没问题手写体能读但一般OmniParseBench 手写测试 25.2%草书和淡铅笔字迹最差严重退化的扫描件老旧褪色低分辨率扫描得分仅 29.5%列表外的文字系统叙利亚文、藏文、蒙文等只能靠 PDF 文本层多音变符号的拉丁语言捷克语、冰岛语等偶尔会写错相近的变音符号。代码为 Apache 2.0 协议模型权重采用修改版 OpenRAIL-M 协议研究与个人使用免费详见 LICENSE。六、写在最后Indra OCR 证明了 OCR 赛道的另一条路线不追 1B 参数规模用“小模型 分治 工程并行”把 CPU 的性价比打满。如果你的场景是海量文档数字化、PDF 转 Markdown、RAG 数据清洗它几乎是零 GPU 成本的首选而复杂表格和高精度手写识别才需要交给更大的模型。核心源码速查流水线总控检测/识别/阅读顺序indra_ocr/pipeline.py全核心并行 worker 池indra_ocr/parallel.py命令行入口indra_ocr/cli.py本地 Web 查看器indra-ocr-viewerindra_ocr/viewer.py版本演进CHANGELOG.md赞分享【免费下载链接】indra1M param OCR model - runs on CPU, 15x faster than tesseract, close to 1B param models in accuracy项目地址https://gitcode.com/gh_mirrors/indra4/indra点击查看免费下载相关推荐indra-ocr完整解读100万参数OCR模型为何能在纯CPU上跑出49页/秒快Tesseract 11-17倍indra ocr完整解读100万参数OCR模型为何能在纯CPU上跑出49页/秒快Tesseract 11 17倍 indra ocr 是一款只有 100计算机视觉OCRMask2Former训练完全指南从数据准备到模型优化的8个关键步骤Mask2Former训练完全指南从数据准备到模型优化的8个关键步骤 Mask2Former是一个强大的通用图像分割框架能够统一处理全景分割、实例分割和语义人工智能计算机视觉深度学习Tesseract OCR 快速模型项目推荐Tesseract OCR 快速模型项目推荐 1. 项目基础介绍和主要编程语言 项目名称 : Tesseract OCR 快速模型 项目链接 : tessera创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考