kotaro-kinoshita/yomitoku

YomiTokuはAIを活用した日本語文書解析エンジンを提供するPythonパッケージです。 Yomitoku is an AI-powered document image analysis package designed specifically for the Japanese language.

YomiToku – 面向日语的文档 AI

YomiToku 是一个开源的 Python 库,用于对日语(和英语)文档图像执行 OCR、版面分析、表格结构解析和阅读顺序估计。它附带四个针对特定任务训练的模型(文本检测、文本识别、版面分析和表格语义),可在 GPU 或 CPU 上运行,并提供轻量级“精简”模式以加快推理速度。


功能

  • 全文 OCR – 识别超过 7000 个日语字符,支持手写、竖排和混合语言文本。
  • 版面解析 – 识别段落、图形、表格和阅读顺序,保留文档的视觉结构。
  • 表格语义解析器 – 将表格提取为键值对或网格数据,输出包含单元格 ID 和坐标的结构化 JSON。
  • 提取器 – 根据用户提供的模式,将表单中的字段通过基于规则或 LLM 增强的方式提取为 YAML/JSON。
  • 多种导出格式 – Markdown、HTML、JSON、CSV、可搜索 PDF,以及可选的图形/图像导出。

主要特性

特性 详情
以日语为中心的模型 基于日语文档数据集训练;支持竖排书写和手写字符。
GPU 加速,低显存 支持 ≤8 GB 显存;轻量模型(--lite)可在 CPU 上流畅运行。
Web 演示 通过 WebAssembly/WebGPU 进行纯浏览器推理(无需上传图像)。
CLI 和 Python API yomitoku 用于批量处理,yomitoku_table 用于表格解析,yomitoku_extract/yomitoku_extract_with_llm 用于结构化提取。
可扩展提取 基于规则(快速,无需 LLM)和基于 LLM(通过 vLLM,例如 Qwen-3-8B-Instruct)模式。
商业许可 在 CC BY-NC-SA 4.0 下非商业用途免费;企业功能提供付费本地或 AWS Marketplace 许可。

安装

pip install yomitoku            # 核心 OCR 和版面
# 提取功能的可选扩展
pip install "yomitoku[extract]"

需要 Python 3.10-3.13、PyTorch ≥2.5 以及 CUDA ≥11.8 以支持 GPU 加速。为没有兼容 CUDA 的环境提供了 Dockerfile。


快速开始(CLI)

# 完整 OCR + 版面,输出带图形的 Markdown
yomitoku path/to/image_or_dir -f md -o out_dir -v --figure

# 更快的纯 CPU 模式
yomitoku path/to/image -f json --lite -d cpu -o out_dir

快速开始(Python API)

import cv2
from yomitoku import DocumentAnalyzer

# 可选的轻量配置
configs = {
    "ocr": {
        "text_recognizer": {
            "model_name": "parseq-tiny-dynw-v4",
            "dynamic_width": True,
            "batch_bucketing": True,
            "device": "cpu",
        },
        "text_detector": {"device": "cpu", "infer_onnx": True},
    }
}

analyzer = DocumentAnalyzer(configs=configs, device="cpu")
img = cv2.imread("sample.jpg")
results, ocr_vis, layout_vis = analyzer(img)
results.to_json("output.json")

表格语义解析器(CLI)

yomitoku_table docs/ -o tables_out -v   # 提取键值对和网格 JSON

选项: --simple(仅文本)、--raw(完整模式)、--lite、--grid_only、--kv_only 等。


提取器(CLI)

# 基于规则的提取
 yomitoku_extract invoice.jpg -s schema.yaml -o out_dir -v

# 基于 LLM 的提取(需要运行 vLLM 服务器)
yomitoku_extract_with_llm receipt.jpg -s schema.yaml -m Qwen/Qwen3-8B-Instruct

文档与演示


许可证

源代码和模型权重在 CC BY-NC-SA 4.0 下发布(允许非商业用途)。商业部署需要付费许可(本地或 AWS Marketplace)。


总结

YomiToku 提供了一个即用型、面向日语的文档 OCR 和版面处理流水线,可在普通硬件上本地运行,或通过零安装的 Web 演示访问。它适合需要从表单中提取高精度日语文本、表格解析或结构化数据的开发者,并提供基于规则和 LLM 增强的选项。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目