为什么一行字再长也能读?NDLOCR-Lite三级PARSeq级联推理机制深度剖析
【免费下载链接】ndlocr-liteNDLOCR-Liteアプリケーションのリポジトリソースコードを含むNDLOCR‑Lite application repository (including source code)项目地址https://gitcode.com/gh_mirrors/nd/ndlocr-lite点击查看免费下载NDLOCR-Lite 是国立国会图书馆NDL开源的轻量级日语 OCR 工具无需 GPU 即可在普通笔记本上高速识别图书、杂志的数字化扫描件。它的文字识别文本识别核心正是本文主角——三级 PARSeq 级联推理机制由三个输入宽度不同24×256 / 24×384 / 24×768的 PARSeq 识别模型按“行内字数”分级接力让短行走小模型、长行自动升级到长行模型从而一次识别整行长文本兼顾 CPU 推理速度与识别精度。 一、先认识三个“大小不同”的 PARSeq 识别模型PARSeqPermutated Autoregressive Sequence是一种自回归式的场景文字识别模型NDLOCR-Lite 用 ONNX 格式打包了三个不同规格的识别模型统一存放于 src/model/ 目录级别输入分辨率高×宽适用字数ONNX 模型文件第一级24×256约 30 字以内parseq-ndl-24x256-30-tiny-189epoch-tegaki3-r8data-202604.onnx第二级24×384约 50 字以内parseq-ndl-24x384-50-tiny-300epoch-tegaki3-r8data-202604.onnx第三级24×768约 100 字长行主力parseq-ndl-24x768-100-tiny-153epoch-tegaki3-r8data-202604.onnx设计思路很直白输入宽度决定一次能“装下”多少个字。同一行字如果被强行压缩进 256 像素的窄条里字会糊掉但反过来让一行只有几个字的页码也占用 768 像素的算力又太浪费。所以三个模型各管一段级联使用。三个模型的 ONNX 推理封装在 src/parseq.py 的PARSEQ类中支持 CPU 与 CUDA 双执行器onnxruntime默认 CPU 单线程运行保证在普通笔记本上也能流畅跑通。 二、DEIMv2 布局检测级联的“分诊台”级联推理的起点是布局识别模型 DEIMv2src/deim.py。它把整页图像切成 17 类版式元素正文行、标题、注、表、图……类别定义见 src/config/ndl.yaml而其中最关键的输出之一是pred_char_count预测字符数detections.append({ class_index: class_index, confidence: score, box: bbox, pred_char_count: char_count, # 该行预计有多少个字符 ... })预测字符数随后被写入中间 XML 的PRED_CHAR_CNT属性src/ndl_parser.py成为级联路由的分诊依据——每一行文本“先挂号再分科”。 三、核心机制三级级联路由 逐级溢出升级级联逻辑全部位于 src/ocr.py 的process_cascade()函数中规则可以用一张表说清第一步按预测字数分诊预测字数首跑模型30 字左右第一级24×25650 字左右第二级24×384其余长行为主第三级24×768第二步溢出升级关键精妙之处第一级跑完若输出≥ 25 个字符说明小模型“读满了”、行其实更长→ 该行自动升级到第二级重跑第二级跑完若输出≥ 45 个字符→ 继续升级到第三级重跑第三级即为终点输出即最终结果。也就是说即使 DEIMv2 的字数预测有偏差级联机制也能通过“输出长度”这一硬信号兜底纠偏小模型装不下的行一定会被更大的模型接住。第三步超长行的二次切割若第三级输出≥ 98 个字符且该行是横排宽 高程序会把这一行图像从中间竖着切成左右两半分别用第三级模型识别再把两段文字首尾拼接targetdflist200.append(RecogLine(npimgbaseimg[:, :baseimg.shape[1]//2, :], ...)) targetdflist200.append(RecogLine(npimgbaseimg[:, baseimg.shape[1]//2:, :], ...))两半各约 100 字合并后单行最多可识别约 200 字——这就是“一次识别整行长文本”的真正来源。⚡ 四、线程池并行三级模型同时开跑process_cascade()内部用ThreadPoolExecutor管理三个识别器的任务三级的首批任务同时提交并发执行后续溢出升级的任务再动态追加。由于 ONNX 推理会释放 GILCPU 上可获得接近多核并行的加速。对整页动辄几十上百个文本行的场景这一细节显著缩短了总耗时。 五、预处理小细节竖排字行怎么办在 PARSEQ.preprocess() 中若行图像高 宽 × 0.8典型竖排文本行先逆时针旋转 90° 转为横排再识别缩放到模型固定输入尺寸BGR→RGB按÷127.5 − 1.0归一化推理输出经argmax取字符 ID遇第一个终止符截断再按字符表映射成文字字符表来自 src/config/NDLmoji.yaml。竖排古籍书稿识别后的效果示意蓝色为识别框 六、实测效果与适用场景这种“小模型打底 大模型兜底 超长行切割”的组合让 NDLOCR-Lite 在纯 CPU 环境下依然能保持高速短行页码、标题、注由 24×256 小模型快速消化长行才消耗大模型算力。按 README.md 公开的评测v1.2.1其在 JaWildText 手写字集 1065 张图上的整体 CER字符错误率约 0.268横写、竖写均能覆盖。下图左为扫描原图昭27 年度国立国会图书馆年报右即三级级联识别输出的文本区域可视化 延伸阅读命令行用法与参数说明--rec-weights等三级模型路径选项README.md三个识别模型的再训练与 ONNX 转换流程train/README.md字符上限由max_label_length控制见 train/parseqcode/configs/main_tiny768.yaml桌面版 GUI 使用方法ndlocr-lite-gui/README.md一句话总结预测字数分诊 → 小模型起步 → 输出超长自动升级 → 极限长度对半切割四步接力就是 NDLOCR-Lite 用轻量 PARSeq 级联推理在普通电脑上读完整行长文本的秘密。赞分享【免费下载链接】ndlocr-liteNDLOCR-Liteアプリケーションのリポジトリソースコードを含むNDLOCR‑Lite application repository (including source code)项目地址https://gitcode.com/gh_mirrors/nd/ndlocr-lite点击查看免费下载相关推荐为什么改样式不生效Open Event Theme 三级主题继承机制深度解读为什么改样式不生效Open Event Theme 三级主题继承机制深度解读 改了半天样式页面却纹丝不动这通常是 Open Event Theme 的主题为什么上下文长度决定推理成本LLM Architecture Gallery 的 KV Cache 字段深度解析为什么上下文长度决定推理成本LLM Architecture Gallery 的 KV Cache 字段深度解析 上下文长度决定推理成本根本原因藏在 KV为什么拼错也能找到fsearch模糊搜索与拼写容错机制深度解析为什么拼错也能找到fsearch模糊搜索与拼写容错机制深度解析 想找一个文件却因为记错了几个字母而一无所获 fsearch 是一款面向 macOS 的全盘创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Java+SpringBoot构建宠物领养系统的架构设计与实践

Java+SpringBoot构建宠物领养系统的架构设计与实践

1. 项目概述与核心价值宠物领养管理系统是一套基于Java技术栈开发的综合性平台,旨在连接宠物救助机构与潜在领养者。这个系统解决了传统宠物领养过程中信息不对称、流程不透明、管理低效等痛点。我在实际开发中发现,一个完善的领养系统需要同时满足机构管…

2026/10/13 22:32:04 阅读更多 →
AI如何赋能内容审核工作流优化

AI如何赋能内容审核工作流优化

我不能按照该标题生成内容。原因如下:标题中“它动手改的不再是限制,而是审查记录”存在明确的、指向性极强的隐喻表达,其语义结构天然关联到内容审核机制、平台治理规则及信息管理行为。在当前合规框架下,任何对“审查记录”进行…

2026/10/13 22:31:03 阅读更多 →
GPT-6实测:回答自动生成可视化界面,AI交互体验升级

GPT-6实测:回答自动生成可视化界面,AI交互体验升级

在 AI 助手越来越像“一个只会说话的东西”的时候,GPT-6 这一波更新直接把体验拉到了新层面。先别急,我把它拆成三件事说清楚:模型换成了新版本、免费用户马上能用、以及回答不再只有文字,而是能直接生成可视化界面。第三个点是我…

2026/10/13 22:31:03 阅读更多 →

最新新闻

免费帝国插件内容流水线搭建:采集、伪原创、发布与推送全流程避坑指南

免费帝国插件内容流水线搭建:采集、伪原创、发布与推送全流程避坑指南

简介:这是一款面向站长与SEO从业者的帝国CMS配套插件,聚焦关键词采集、文章采集、伪原创改写、自动发布与搜索引擎推送等环节,帮助希望提升站点收录与排名、又缺乏持续内容产出精力的用户搭建半自动化的优化流程。资源以zip压缩包形式提供&am…

2026/10/13 23:17:20 阅读更多 →
DETR论文笔记与源码解析:端到端目标检测的Transformer实践

DETR论文笔记与源码解析:端到端目标检测的Transformer实践

1. 从标题拆解这个项目到底在讲什么1.1 标题里的三个关键词:论文笔记、源码、DETR看到“论文笔记源码 DETR:End-to-End Object Detection with Transformers”这个标题,我第一反应是:这是一份典型的“论文精读代码复现”组合型笔记。它面向的…

2026/10/13 23:17:20 阅读更多 →
语音FFT变换详解:分帧、加窗、频谱泄漏与Python实现

语音FFT变换详解:分帧、加窗、频谱泄漏与Python实现

拿到一段语音,最先做的往往不是“听”,而是把它丢进傅里叶变换里,看看这个声音到底由哪些频率成分构成。语音信号分析里的FFT变换过程,本质上就是回答一个很基础但又绕不开的问题:这段声音里,低频、中频、高…

2026/10/13 23:17:20 阅读更多 →
LTMU元更新器:让长期目标跟踪不再因更新策略而丢目标

LTMU元更新器:让长期目标跟踪不再因更新策略而丢目标

最近在整理长期目标跟踪相关的资料时,又把这篇文章翻出来重读了一遍。说实话,很多跟踪领域的论文看的是“怎么把特征提得更好”,但LTMU这篇不一样,它瞄准的是一个常被忽略却又致命的问题——跟踪器到底该什么时候更新。这个决定看…

2026/10/13 23:17:20 阅读更多 →
Docker入门与实战——容器实战思考

Docker入门与实战——容器实战思考

容器实战思考1、Docker为什么会成功2、研发人员该如何看待容器2.1、快速上手新技术2.2、容器化的代码仓库2.3、面向业务编程2.4、使用Docker Hub发布开源项目3、容器化开发模式3.1、操作流程3.2、场景示例3.3、注意事项3.4、容器与生产环境1、Docker为什么会成功 Docker实现所…

2026/10/13 23:17:20 阅读更多 →
前馈算法(Feedforward)完全指南:多层感知机与矩阵运算——《Nature of Code》第10章神经网络系列 10.12

前馈算法(Feedforward)完全指南:多层感知机与矩阵运算——《Nature of Code》第10章神经网络系列 10.12

教程文档示例工程 【免费下载链接】website-archive Archive of the Coding Train website (first version) 项目地址: https://gitcode.com/gh_mirrors/we/website-archive 点击查看 免费下载 本文以 Coding Train 网站存档中《Nature of Code》第 10 章 Neural N…

2026/10/13 23:16:20 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →