jingze_cheng 60c8cdada2 docs: 更新README | 8 hónapja | |
---|---|---|
cores | 8 hónapja | |
deploy | 11 hónapja | |
images | 2 éve | |
models | 1 éve | |
sx_utils | 9 hónapja | |
testing | 1 éve | |
.gitignore | 2 éve | |
Dockerfile | 8 hónapja | |
Makefile | 1 éve | |
README.md | 8 hónapja | |
cpu.Dockerfile | 2 éve | |
docker-compose.yml | 8 hónapja | |
environment.yml | 1 éve | |
kubeconfig-sxkj | 1 éve | |
kubeconfig-sxkjprod | 1 éve | |
run.py | 2 éve | |
server.py | 8 hónapja |
基于 PaddleOCR PP-StructureV2, 用于识别表格。
conda env create -f environment.yml
python run.py --port 8080
python -m unittest discover testing '*_test.py' -v
make all
模型类别 | 模型名称 | 模型配置 |
---|---|---|
表格结构检测 | ch_ppstructure_mobile_v2.0_SLANet | ./server.py |
如果更新了模型权重,请同时修改创建镜像时的下载地址:
$ cat Dockerfile
...
# 模型下载地址
RUN mkdir -p models/table && cd models/table && wget ftp://192.168.199.31/SLANet_ch/20240222/SLANet_ch.zip
...
表格流程中的文本检测、文本识别我们使用了 PP-StructureV2 内建的模型。
请参考:表格模型训练与评估
表格识别服务的简化流程如下:
表格区域图片
|
| (图像方向预测 + 旋转)
v
0度方向的图片 -----------------------+
| |
| (表格结构预测) | (文本检测)
v v
表格Cell检测框集 文本检测框集
| |
| | (图片裁剪 + 文本识别)
| v
| 文本识别结果集
| |
| |
+------------------------------+
|
| (根据Cell检测框和文本检测框坐标,聚合文本)
v
表格识别结果
流程说明:
图像方向预测和旋转。我们使用 PaddleClas 内建的图像分类器预测文本区域图片的方向,并将图片旋转为 0 度。
这是因为我们训练文本检测模型所用的文本图片方向均为 0 度(即水平方向的文字为从左向右排列,竖直方向的文本为从上向下排列)。
表格结构预测。将 0 度方向图片输入表格结构预测模型,得到表格 Cell 检测框列表。
文本检测和识别。将 0 度方向的图片输入文本检测模型,得到文本检测框并裁剪出图像,将文本图像输入文本识别模型,得到文本识别结果。
文本聚合。根据表格 Cell 检测框和文本检测框的坐标,聚合文本,得到包含表格结构和内容的识别结果。
重新识别(流程图上未表示)。我们会对表格的识别结果评分,若表格识别结果评分较低,则对表格区域图片进行一些预处理后重复上述识别流程。
参考: