ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RapidOCR 古籍识别实战:从竖排文字 OCR 扫描到可读文本

RapidOCR 古籍识别实战:从竖排文字 OCR 扫描到可读文本 RapidOCR 古籍识别实战从竖排文字 OCR 扫描到可读文本【免费下载链接】RapidOCR Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCRRapidOCR 是一套支持 ONNX Runtime、OpenVINO、PaddlePaddle 等多种推理后端的开源 OCR 工具。本文以古籍 OCR 为背景从实操者视角讲清三件事竖排文字识别怎么跑起来、翻车时调哪些参数、哪些场景不必硬上。先还原两个真实翻车现场第一批翻车来自一沓泛黄带污渍的手稿扫描正文从右往左竖排。默认流程直接跑检测把相邻两栏合并成一个框左侧细栏整条漏掉识别输出不是乱码就是半截。第二个现场是繁体正文夹杂日文注脚的一页繁体字被读成形近的简体注脚日文直接输出乱串。这两类问题不是OCR 做不了古籍而是默认参数按现代横排文档调的古籍页面要单独处理。安装并跑通第一页先安装pip install rapidocr onnxruntime再用仓库自带测试图跑四行代码from rapidocr import RapidOCR ocr RapidOCR() result ocr(python/tests/test_files/issue_170.png) print(result.txts, result.scores)首次运行会自动下载对应模型到 python/rapidocr/models 目录如需查阅源码可克隆仓库 https://gitcode.com/GitHub_Trending/ra/RapidOCR 。竖排检测参数怎么调、结果怎么读竖排支持靠哪三步流程是文本检测 → 方向分类 → 字符识别。古籍页面上det 把每一竖排检成一个瘦高框python/rapidocr/utils/process_img.py 里的裁剪步骤先把框透视矫正为水平条带若条带高宽比 ≥ 1.5明显是竖条就旋转 90° 让竖排变横排再进识别随后 cls 按 config 里的label_list: [0, 180]判定方向把旋转后仍倒着的栏翻回来。所谓竖排识别就是裁剪旋转 方向分类 横排识别模型的组合并没有独立的竖排模型。config.yaml 里最常动的参数都在 python/rapidocr/config.yaml 中古籍场景最常碰这几个Det.box_thresh/Det.thresh框置信度与二值图阈值默认 0.5 和 0.3Det.unclip_ratio检测框扩张比例默认 1.6Det.limit_side_len推理前短边尺寸默认 736Global.text_score识别置信度过滤线默认 0.5另外Global.use_vertical_padding默认开启对宽高远超 8:1 或高度不足 30 像素的图片做上下补边属于极端比例扫描页的兜底。结果字段怎么核对返回值里result.txts、result.scores、result.boxes三者一一对应。加return_word_boxTrue可拿到字级框python/tests/test_return_word.py 里有现成竖排用例测试图 text_vertical_words.png 期望逐字输出已取之時不參一人見而。想肉眼核对框的位置可用 CLI 的-vis参数存标注图或用 python/rapidocr/utils/ 下的 to_json / to_markdown 直接导出。要留意一点输出顺序是检测顺序不等于古籍从右往左的阅读顺序栏序需要自己按框的 x 坐标排序。上图这类旋转 180° 的页面正是 cls 环节的职责方向分低于cls_thresh默认 0.9时保留原方向足够高则翻转后再进识别。症状 → 手段三个高频坑位 坑位一低分辨率模糊页漏字扫描只有百余 DPI 时模型输入本来就是糊的预处理还会把长边压到Global.max_side_len默认 2000超清扫描件同样丢细节。对策分两步原图尚可但检测看不见细栏时调大Det.limit_side_len给检测器更大输入原图很大时调大Global.max_side_len避免过度缩小。调多少取决于页面尺寸小批量试错是常态。坑位二繁体模型如何选择繁简混排、日文混排默认识别模型是简体 ch 词表。纯繁体古籍改用params{Rec.lang_type: chinese_cht}走独立繁体模型python/rapidocr/default_models.yaml 中的 chinese_cht 条目繁体占比高、版式杂的文献古籍python/tests/test_rec_language.py 给了现成组合Rec.lang_type ch_doc加 server 档识别模型它是带独立文献字典的 ch_doc 模型。中日混排页则先看默认配置——当前版本默认走 PP-OCRv6 多语言模型模型名带multi_前缀先按默认跑个别日文行仍乱再单独把Rec.lang_type切到japan。坑位三置信度偏低怎么调score 低于text_score默认 0.5的整行会被直接过滤。担心漏行时临时把Global.text_score降到 0.3 附近看全量再人工核对担心误检则反向调高。注意阈值分两层det 层的box_thresh/thresh决定这一栏能不能被检出rec 层的 score 决定这一行字认得多有把握。漏栏是检测问题乱字是识别问题分开调才有用。RapidOCR 适合与不适合哪些古籍适合字迹尚清晰的竖排单栏扫描简体、繁体均可中日混排横排现代文档需要字级框、JSON / Markdown 导出的流程以及多后端部署——onnxruntime、openvino、mnn、paddle、tensorrt、pytorch 后端齐全见 python/rapidocr/inference_engine/ 目录。不适合残损严重、笔画缺失和透墨重的页面隶书、行草等古典手写体与印章也不负责阅读顺序还原——它只输出文字与框从右往左的栏序、表格和多栏混排布局都要自己后处理。别指望置信度过滤替代人工校对它只是帮你把低分行挑出来。古籍数字化里RapidOCR 省时间的地方是竖排流水线与字级框省不掉的是栏序排序和人工核对。先用默认参数跑一小批页面再按上面的症状逐项调参能避开大半弯路。【免费下载链接】RapidOCR Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表