Przeglądaj źródła

docs: 更新README

jingze_cheng 8 miesięcy temu
rodzic
commit
f6c89cd31d
1 zmienionych plików z 56 dodań i 7 usunięć
  1. 56 7
      README.md

+ 56 - 7
README.md

@@ -1,15 +1,10 @@
 
 # 表格识别
 
-基于paddleocr v2, 用于识别表格。
+基于 paddleocr v2, 用于识别表格。
 
 ## 环境
 
-- python >= 3.7
-- paddleocr
-- paddlepaddle
-- cv2
-
 ```shell
 conda env create -f environment.yml
 ```
@@ -31,4 +26,58 @@ python server.py --port 8080
 
 ```shell
 make all
-```
+```
+
+## 服务实现
+
+表格识别服务的简化流程如下:
+
+```text
+表格区域图片
+    |
+    | (图像方向预测 + 旋转)
+    v
+0度方向的图片 -----------------------+
+    |                              |
+    | (表格结构预测)                 | (文本检测)
+    v                              v
+表格Cell检测框集                 文本检测框集
+    |                              |
+    |                              | (图片裁剪 + 文本识别)
+    |                              v
+    |                         文本识别结果集
+    |                              |
+    |                              |
+    +------------------------------+
+                   |
+                   | (根据Cell检测框和文本检测框坐标,聚合文本)
+                   v
+               表格识别结果
+```
+
+流程说明:
+
+1. 图像方向预测和旋转。我们使用 PaddleClas 内建的图像分类器预测文本区域图片的方向,并将图片旋转为 0 度。<br>
+    这是因为我们训练文本检测模型所用的文本图片方向均为 0 度(即水平方向的文字为从左向右排列,竖直方向的文本为从上向下排列)。
+
+    源码:[./server.py#rotate_to_zero](./server.py#rotate_to_zero)
+
+2. 表格结构预测。将0度方向图片输入表格结构预测模型,得到表格 Cell 检测框列表。
+
+    源码:[PaddleOCR/ppstructure/table/predict_table.py#L108](https://github.com/PaddlePaddle/PaddleOCR/blob/69832ab5326c6db614af6fb74b530aeae1c9b80e/ppstructure/table/predict_table.py#L108)
+
+3. 文本检测和识别。将0度方向的图片输入文本检测模型,得到文本检测框并裁剪出图像,将文本图像输入文本识别模型,得到文本识别结果。
+
+    源码:[PaddleOCR/ppstructure/table/predict_table.py#L112](https://github.com/PaddlePaddle/PaddleOCR/blob/69832ab5326c6db614af6fb74b530aeae1c9b80e/ppstructure/table/predict_table.py#L112)
+
+4. 文本聚合。根据表格 Cell 检测框和文本检测框的坐标,聚合文本,得到包含表格结构和内容的识别结果。
+
+    源码:[PaddleOCR/ppstructure/table/predict_table.py#L100](https://github.com/PaddlePaddle/PaddleOCR/blob/69832ab5326c6db614af6fb74b530aeae1c9b80e/ppstructure/table/predict_table.py#L100)
+
+5. 重新识别(流程图上未表示)。我们会对表格的识别结果评分,若表格识别结果评分较低,则对表格区域图片进行一些预处理后重复上述流程识别表格图片。
+
+    源码:[./cores/check_table.py](./cores/check_table.py)
+
+参考:
+
+- [PaddleOCR-表格识别](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/ppstructure/table/README_ch.md)