【免费下载链接】ndlocr-lite
NDLOCR-Liteアプリケーションのリポジトリ(ソースコードを含む)NDLOCR‑Lite application repository (including source code)
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 拆成三个协同工作的模块,这也是它识别稳定的关键:
布局识别(Layout Recognition)用 DEIMv2 检测模型找出页面里的文字块、文字行、图片、表格等区域。其骨干网络是一个从 DINOv3 蒸馏而来的ViT-Tiny小模型,因此速度快、体积小。 检测类别配置见 src/config/ndl.yaml,涵盖
text_block、line_main、block_table等 16 类版面元素。文字列识别(Text Line Recognition)对每一行文字,使用 PARSeq 模型读出具体的字符串。它采用级联策略:内置 30 / 50 / 100 字三种长度的模型,短行用小模型、长行才调用大模型,从而在速度与精度之间取得平衡(模型文件位于 src/model/)。
读序整序(Reading Order Reorder)日文有横排、竖排、竖中横等多种排版,这一步负责把打乱的行按正确阅读顺序重新排序,模块代码在 src/reading_order/ 下。
上图中的黑框是「版面块」,红框是「单行文字」,正是布局识别模块在页面上画出的识别结果。
两种使用方式:图形界面 or 命令行
方式一:桌面应用(推荐给新手)
下载并解压对应操作系统的压缩包,双击ndlocr_lite运行即可(注意:存放路径不要包含日文全角字符,否则可能无法启动)。
操作只需三步:
- 选择要 OCR 的图片文件夹或直接选单张图片 / PDF
- 选择输出目录
- 点击「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 | 指定要处理的目录或单张图 |
--output | OCR 结果输出目录 |
--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)
相关推荐
如何快速掌握轻量级异步编程:smol与futures-lite完整指南
如何快速掌握轻量级异步编程:smol与futures lite完整指南 smol是一个轻量级且高效的Rust异步运行时,它通过整合多个小型异步库,为开发者提供了
后端Mac本地AI图像生成神器:Mochi Diffusion离线创作全攻略
Mac本地AI图像生成神器:Mochi Diffusion离线创作全攻略 你是否厌倦了在线AI图像生成工具的延迟和隐私风险?想要在Mac上享受完全离线的AI艺术
人工智能AI 应用媒体生成本地部署OpCore-Simplify终极指南:5分钟完成黑苹果EFI自动生成的完整教程
OpCore Simplify终极指南:5分钟完成黑苹果EFI自动生成的完整教程 OpCore Simplify是一款革命性的黑苹果智能配置工具,专为希望简化O
开发工具CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考