|
|
2 дней назад | |
|---|---|---|
| .vscode | 1 неделя назад | |
| docs | 3 дней назад | |
| legacy_table_line_generator | 1 неделя назад | |
| ocr_comparator | 1 неделя назад | |
| ocr_tools | 2 дней назад | |
| ocr_utils | 3 дней назад | |
| ocr_validator | 1 неделя назад | |
| table_line_generator | 5 дней назад | |
| README.md | 1 неделя назад | |
| ocr_platform.code-workspace | 1 неделя назад | |
| pyrightconfig.json | 1 неделя назад |
一个统一的 OCR 识别与处理平台,集成了多种 OCR 工具、智能验证、结果对比、表格线生成等功能,专为金融文档、财务报表等复杂文档设计。
📚 详细文档:更多技术文档、环境配置、使用说明等,请查看 docs/
平台采用"技术层 + 应用层"的分层架构设计,技术层负责OCR识别、校验和迭代优化,应用层负责业务规则校验和报告生成。
OCR工具评估与选择
工具封装与增强
OCR识别工具层(平级关系)
技术校验
标注与改进
bank_statement_wired_unet.yaml)重新识别数据迭代闭环
业务校验
报告生成
ocr_platform/
├── docs/ # 📚 详细文档目录
│ ├── paddlex/ # PaddleX 相关文档
│ ├── mineru/ # MinerU 相关文档
│ ├── dotsocr/ # DotsOCR 相关文档
│ ├── ocr_tools/ # OCR 工具技术文档
│ └── legacy_table_line_generator/ # 遗留工具文档
│
├── ocr_tools/ # 🔧 OCR 工具集合(单独一个子仓)
│ ├── ocr_merger/ # OCR 结果合并工具
│ ├── paddle_common/ # PaddleX 公共模块
│ ├── ppstructure_tool/ # PP-StructureV3 工具(依赖paddle框架)
│ ├── paddle_vl_tool/ # PaddleOCR-VL 工具(依赖paddle框架)
│ ├── mineru_vl_tool/ # MinerU VLM 工具(依赖mineru)
│ ├── dots.ocr_vl_tool/ # DotsOCR VLM 工具(依赖dots.ocr)
│ ├── universal_doc_parser/ # 统一文档解析器(依赖mineru)
│ ├── ocr_batch/ # 批量处理工具
│ ├── pytorch_models/ # PyTorch 模型推理接口
│ └── daemons/ # 守护进程脚本
│
├── ocr_validator/ # 🔍 OCR 可视化验证系统(单独一个子仓)
│ └── streamlit_ocr_validator.py # Streamlit 验证界面
│
├── ocr_comparator/ # 🔄 OCR 结果对比工具
│ └── compare_ocr_results.py # 结果对比核心模块
│
├── table_line_generator/ # 📏 表格线生成器(单独一个子仓)
│ ├── backend/ # FastAPI 后端
│ ├── core/ # 核心算法
│ ├── frontend/ # Vue 3 前端
│ ├── templates/ # 表格模板
│ └── config/ # 配置文件
│
├── legacy_table_line_generator/ # 📏 遗留表格线生成器(单独一个子仓)
│ └── streamlit_table_line_editor.py # Streamlit 版本编辑器
│
└── ocr_utils/ # 🛠️ OCR 工具包(公共工具)
├── bbox_utils.py # bbox 处理工具
├── file_utils.py # 文件处理工具
├── pdf_utils.py # PDF 处理工具
├── image_utils.py # 图像处理工具
└── ...
git clone https://gitee.com/zhch158_admin/ocr_platform.git -c user.name=zhch158_admin -c user.email=zhch158@sina.com
cd ocr_platform
git config --local user.name "zhch158_admin"
git config --local user.email "zhch158@sina.com"
项目支持多个 Python 环境,根据使用的工具选择:
paddle_env 环境(Python 3.11+)mineru2 环境(Python 3.12+)py312 环境(Python 3.12+)详细环境配置请查看:
# 使用 PaddleOCR-VL
cd ocr_tools/paddle_vl_tool
python main.py --input document.pdf --output_dir ./output
# 使用 PP-StructureV3
cd ocr_tools/ppstructure_tool
python main.py --input document.pdf --output_dir ./output
# 使用 MinerU VLM
cd ocr_tools/mineru_vl_tool
python main.py --input document.pdf --output_dir ./output
# 使用 DotsOCR VLM
cd ocr_tools/dots.ocr_vl_tool
python main.py --input document.pdf --output_dir ./output
cd ocr_tools/ocr_merger
python merge_mineru_paddle_ocr.py \
--mineru_json mineru_result.json \
--paddle_json paddleocr_result.json \
--output_dir ./merged_output
cd ocr_comparator
python compare_ocr_results.py \
file1.json file2.json \
--output_file comparison_report \
--output_format markdown
cd ocr_validator
streamlit run streamlit_ocr_validator.py
# 新版本(Vue + FastAPI)
cd table_line_generator/backend
uvicorn main:app --reload
# 前端(另一个终端)
cd table_line_generator/frontend
npm install
npm run dev
# 遗留版本(Streamlit)
cd legacy_table_line_generator
streamlit run streamlit_table_line_editor.py
提供多种 OCR 工具的批量处理能力,支持 PDF、图片等多种输入格式。
主要工具:
paddle_vl_tool/ - PaddleOCR-VL 批量处理ppstructure_tool/ - PP-StructureV3 批量处理mineru_vl_tool/ - MinerU VLM 批量处理dots.ocr_vl_tool/ - DotsOCR VLM 批量处理universal_doc_parser/ - 统一文档解析框架ocr_merger/ - OCR 结果合并工具ocr_batch/ - 批量处理编排工具详细文档:docs/ocr_tools/
基于 Streamlit 的交互式 OCR 结果验证工具,支持多工具结果对比、差异分析、可视化标注等功能。
主要功能:
独立的 OCR 结果对比库,支持多种对比模式和差异分析。
主要功能:
基于 Vue 3 + FastAPI 的现代化表格线生成工具,支持可视化编辑、模板应用、批量处理等功能。
主要功能:
详细文档:table_line_generator/README.md
基于 Streamlit 的表格线生成工具(遗留版本),保留用于向后兼容。
详细文档:legacy_table_line_generator/README.md | docs/legacy_table_line_generator/
统一的工具函数库,提供公共的 OCR 处理功能。
主要模块:
bbox_utils.py - bbox 提取和坐标转换file_utils.py - 文件处理工具pdf_utils.py - PDF 处理工具image_utils.py - 图像处理工具html_utils.py - HTML/Markdown 处理工具number_utils.py - 数字解析和标准化完整文档索引:docs/README.md
paddle_vl_tool 或 ppstructure_tool 进行 OCR 识别table_line_generator 生成表格线(如需要)ocr_validator 进行结果验证ocr_comparator 对比不同工具的结果universal_doc_parser 进行统一文档解析ocr_merger 合并多个 OCR 工具的结果ocr_validator 进行交叉验证table_line_generator 处理复杂表格ocr_batch 进行批量 OCR 识别ocr_merger 批量合并结果ocr_comparator 生成对比报告欢迎提交 Issue 和 Pull Request!
docs/ 目录README.mdMIT License
注意:本项目是一个统一的 OCR 处理平台,整合了多个 OCR 工具和辅助功能。各模块可以独立使用,也可以组合使用以满足不同的业务需求。