Nincs leírás

jingze_cheng 64f4a719e2 docs: 更新README 8 hónapja
cores ef2cfba8ba 效果差重新识别逻辑修改 8 hónapja
deploy de826a378f 更新 'deploy/Jenkinsfile' 11 hónapja
images 4c4c33444e 增加模型,修改测试 2 éve
models a60e590093 feat: 915 model 1 éve
sx_utils aeb0dca2fb 添加注释 10 hónapja
testing 0e62fb7a79 fix: 回退829 1 éve
.gitignore 3658b1af2b init 2 éve
Dockerfile be92760c62 chore: 更新表格结构预测模型版本 8 hónapja
Makefile cddea5c0f0 rollback 1 éve
README.md 64f4a719e2 docs: 更新README 8 hónapja
cpu.Dockerfile 3658b1af2b init 2 éve
docker-compose.yml e0ee86f2ac update docker-compose 8 hónapja
environment.yml 3cf46d5612 fix: 加入方向判断 1 éve
kubeconfig-sxkj 70a7d30c6c fix: Dockerfile 1 éve
kubeconfig-sxkjprod 70a7d30c6c fix: Dockerfile 1 éve
run.py d046d2d764 fix model_dir, add en_ppocr_table_model 2 éve
server.py ef2cfba8ba 效果差重新识别逻辑修改 8 hónapja

README.md

表格识别

基于 PaddleOCR PP-StructureV2, 用于识别表格。

环境

conda env create -f environment.yml

服务端

# port 8080
python server.py --port 8080

单元测试

 python -m unittest discover testing '*_test.py' -v

镜像打包

make all

服务实现

表格识别服务的简化流程如下:

表格区域图片
    |
    | (图像方向预测 + 旋转)
    v
0度方向的图片 -----------------------+
    |                              |
    | (表格结构预测)                 | (文本检测)
    v                              v
表格Cell检测框集                 文本检测框集
    |                              |
    |                              | (图片裁剪 + 文本识别)
    |                              v
    |                         文本识别结果集
    |                              |
    |                              |
    +------------------------------+
                   |
                   | (根据Cell检测框和文本检测框坐标,聚合文本)
                   v
               表格识别结果

流程说明:

  1. 图像方向预测和旋转。我们使用 PaddleClas 内建的图像分类器预测文本区域图片的方向,并将图片旋转为 0 度。
    这是因为我们训练文本检测模型所用的文本图片方向均为 0 度(即水平方向的文字为从左向右排列,竖直方向的文本为从上向下排列)。

    源码:./server.py#rotate_to_zero

  2. 表格结构预测。将0度方向图片输入表格结构预测模型,得到表格 Cell 检测框列表。

    源码:PaddleOCR/ppstructure/table/predict_table.py#L108

  3. 文本检测和识别。将0度方向的图片输入文本检测模型,得到文本检测框并裁剪出图像,将文本图像输入文本识别模型,得到文本识别结果。

    源码:PaddleOCR/ppstructure/table/predict_table.py#L112

  4. 文本聚合。根据表格 Cell 检测框和文本检测框的坐标,聚合文本,得到包含表格结构和内容的识别结果。

    源码:PaddleOCR/ppstructure/table/predict_table.py#L100

  5. 重新识别(流程图上未表示)。我们会对表格的识别结果评分,若表格识别结果评分较低,则对表格区域图片进行一些预处理后重复上述识别流程。

    源码:./cores/check_table.py

参考: