news 2026/10/14 17:08:49

无需GPU的轻量级日语OCR:开源工具NDLOCR-Lite完整介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无需GPU的轻量级日语OCR:开源工具NDLOCR-Lite完整介绍

【免费下载链接】ndlocr-lite

NDLOCR-Liteアプリケーションのリポジトリ(ソースコードを含む)NDLOCR‑Lite application repository (including source code)

项目地址:https://gitcode.com/gh_mirrors/nd/ndlocr-lite
点击查看免费下载

NDLOCR-Lite是由日本国立国会图书馆(NDL)实验室开源的一款轻量级日语 OCR(光学字符识别)工具。它的最大特点是完全不需要 GPU,仅凭笔记本或普通家用的 CPU 就能高速把图书、杂志等扫描图片转成文本,非常适合想在本地批量做日文资料数字化、又不想折腾显卡的新手用户。


什么是 NDLOCR-Lite?

简单来说,NDLOCR-Lite 是一个把「图片」变成「文字」的开源程序。它针对日语(横排 + 竖排)做了专门优化,把扫描书页、报纸、杂志等影像文件识别为结构化文本。

它是更完整版 NDLOCR 的「轻量版」,目标是让普通人在家庭电脑上也能顺畅使用。项目基于 CC BY 4.0 许可 开放,开发者还基于 ONNX 模型让识别过程能在纯 CPU 上跑起来。

💡 从 v1.2 版本开始,工具还显著强化了手写文字的识别能力,连手写日记也能尝试转成文字。


为什么「轻量级」?三大核心优势

优势说明
🖥️无需 GPU模型以 ONNX 形式运行在 CPU 上,普通笔记本即可流畅处理
📦跨平台已验证支持 Windows 11、macOS(Apple M 系列)、Linux(Ubuntu 22.04)
📄格式全面支持 jpg、png、tiff、jp2、bmp、webp 图片,还能直接处理 PDF

它是怎么工作的?三大功能模块

NDLOCR-Lite 把一次 OCR 拆成三个协同工作的模块,这也是它识别稳定的关键:

  1. 布局识别(Layout Recognition)用 DEIMv2 检测模型找出页面里的文字块、文字行、图片、表格等区域。其骨干网络是一个从 DINOv3 蒸馏而来的ViT-Tiny小模型,因此速度快、体积小。 检测类别配置见 src/config/ndl.yaml,涵盖text_block、line_main、block_table等 16 类版面元素。

  2. 文字列识别(Text Line Recognition)对每一行文字,使用 PARSeq 模型读出具体的字符串。它采用级联策略:内置 30 / 50 / 100 字三种长度的模型,短行用小模型、长行才调用大模型,从而在速度与精度之间取得平衡(模型文件位于 src/model/)。

  3. 读序整序(Reading Order Reorder)日文有横排、竖排、竖中横等多种排版,这一步负责把打乱的行按正确阅读顺序重新排序,模块代码在 src/reading_order/ 下。

上图中的黑框是「版面块」,红框是「单行文字」,正是布局识别模块在页面上画出的识别结果。


两种使用方式:图形界面 or 命令行

方式一:桌面应用(推荐给新手)

下载并解压对应操作系统的压缩包,双击ndlocr_lite运行即可(注意:存放路径不要包含日文全角字符,否则可能无法启动)。

操作只需三步:

  1. 选择要 OCR 的图片文件夹或直接选单张图片 / PDF
  2. 选择输出目录
  3. 点击「OCR」按钮,完成后即可在界面里预览识别结果

⚠️ 首次启动可能需要约 1 分钟来加载模型,请耐心等待。macOS / Windows 首次运行可能弹出安全提示,按系统指引「允许运行」即可。

方式二:命令行(推荐给进阶用户)

需要先安装Python 3.10 及以上,然后克隆仓库并安装依赖:

git clone https://gitcode.com/gh_mirrors/nd/ndlocr-lite cd ndlocr-lite pip install -r requirements.txt cd src

批量处理一个目录:

python3 ocr.py --sourcedir 9892834_0001 --output tmpdir

处理单张图片:

python3 ocr.py --sourceimg digidepo_1287221_00000002.jpg --output tmpdir

如果你使用uv,一条命令即可装成全局命令ndlocr-lite:

git clone https://gitcode.com/gh_mirrors/nd/ndlocr-lite cd ndlocr-lite uv tool install .

常用参数说明(详见 src/ocr.py):

参数作用
--sourcedir/--sourceimg指定要处理的目录或单张图
--outputOCR 结果输出目录
--viz额外输出带识别框的可视化图片(蓝框标注)
--device默认cpu;装好onnxruntime-gpu的服务器可填cuda用 GPU
--enable-tcy开启「竖中横」检测,改进竖排文字的读取
--json-only只输出 JSON,跳过 xml / txt

识别效果展示

下面分别展示活字印刷书页、竖排版面与手写文字的实际识别效果。

工具的输出不只是纯文字,而是带位置信息的结构化结果,方便后续校对与排版:

  • .txt:纯文本,最易读
  • .xml:保留每行的坐标、类型、置信度等信息
  • .json:包含每行的包围盒(bounding box)、是否竖排、文本内容等

官方还在 evaluation_jptype.csv 中公开了针对日语活字图书与杂志的F 值识别评测结果。


进阶:模型再训练与自定义(开发者向)

如果你有自有数据,可以替换或微调内置模型。完整的训练与 ONNX 转换流程写在 train/README.md:

  • 布局识别(DEIMv2):训练代码与配置在 train/deimv2code/,用--det-weights指定新的 onnx 文件
  • 文字列识别(PARSeq):训练代码在 train/parseqcode/,用--rec-weights/--rec-weights30/--rec-weights50指定不同长度模型

训练基于 PyTorch 框架,再统一导出为 ONNX 供 CPU 运行。


运行环境与许可

  • 依赖清单:requirements.txt(核心是onnxruntime、opencv、pillow、numpy、pypdf等,均偏 CPU 友好)
  • 桌面应用:基于 Flet 构建,源码在 ndlocr-lite-gui/,ndlocr-lite-gui/README.md 介绍了各系统的自行构建方法
  • 开源许可:程序本体遵循 CC BY 4.0;因布局识别骨干使用了 DINOv3 蒸馏模型,若使用随附的预训练模型需同时遵守 DINOv3 的相应许可

小结

NDLOCR-Lite 是一款免费、开源、无需 GPU 的日语 OCR 工具,把「布局识别 + 文字识别 + 读序整序」三大能力打包,让普通笔记本就能完成图书、杂志、手写稿的文本化。无论你是想快速把纸质资料数字化的新手,还是希望定制模型的开发者,都能从它身上找到合适的使用方式。

【免费下载链接】ndlocr-lite

NDLOCR-Liteアプリケーションのリポジトリ(ソースコードを含む)NDLOCR‑Lite application repository (including source code)

项目地址:https://gitcode.com/gh_mirrors/nd/ndlocr-lite
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 17:07:41

上海莘庄壁挂炉维修|松下壁挂炉故障维修|主板失灵无法启动上门排查|欧米到家报修热线

🔥 壁挂炉是家庭中冬季24小时不间断供暖与供热水的核心设备,一旦突发不点火、不加热、漏水异响或显示屏报错,全家取暖和热水往往立刻受影响。上海家庭使用的壁挂炉品牌繁多,电控逻辑和燃烧结构差异较大。本文系统梳理上海地区壁挂…

作者头像 李华
网站建设 2026/10/14 17:06:40

MQTT遗嘱消息LWT与离线判定:从幽灵在线到精准状态管理

1. 从一次"幽灵在线"事故说起设备明明已经拔了电源,平台上的在线状态却还亮着绿灯,刷新页面、重启服务端都无济于事,直到几分钟甚至几十分钟后才姗姗来迟地变成离线。这种"幽灵在线"的现象,做物联网平台的人几…

作者头像 李华
网站建设 2026/10/14 17:04:37

Pandas DataFrame.to_html() 生成HTML表格与CSS美化实战指南

做数据分析的人,谁还没为“把表格弄到网页上”这件事折腾过几回?报表系统里要展示一个带样式的数据表格,往往绕不开前后端联调、接口对接一堆杂事。其实最省事的路子一直都很朴素——让 Pandas 直接把 DataFrame 转成 HTML。今天要聊的DataFr…

作者头像 李华
网站建设 2026/10/14 17:04:30

插件加载失败排查全解析:从did not activate到插件协议四件套

先说个结论:99% 的“插件加载失败”报错,不是因为插件本身有多脆弱,而是因为我们把“插件”这两个字想得太简单了。前几天我处理了一个特别典型的问题,启动日志里刷着harness failed to load plugins web boot: 2 entries did not…

作者头像 李华