``` @workspace 根据zhch/PP-StructureV3-zhch.yaml生成流水线执行markdown mermaid流程图,图中需要注明调用的模型以及传递的数据 ``` ```mermaid graph TD A[输入文档图像/PDF] --> B{use_doc_preprocessor: True} B -->|是| C[DocPreprocessor子流水线] B -->|否| D[LayoutDetection] C --> C1[DocOrientationClassify
PP-LCNet_x1_0_doc_ori] C1 -->|方向矫正后图像| C2[DocUnwarping
UVDoc] C2 -->|预处理后图像| D D[LayoutDetection
PP-DocLayout_plus-L] -->|版面检测结果
各区域边界框| E[GeneralOCR子流水线] E --> E1[TextDetection
PP-OCRv5_server_det] E1 -->|文本检测框| E2[TextLineOrientation
PP-LCNet_x1_0_textline_ori] E2 -->|文本行方向| E3[TextRecognition
PP-OCRv5_server_rec] E3 -->|OCR结果
文本+坐标| F{并行处理各子模块} D -->|版面区域| F F -->|表格区域| G[TableRecognition子流水线] F -->|印章区域| H[SealRecognition子流水线] F -->|公式区域| I[FormulaRecognition子流水线] F -->|图表区域| J[ChartRecognition] F -->|区域检测| K[RegionDetection] %% TableRecognition详细流程 G --> G1[TableClassification
PP-LCNet_x1_0_table_cls] G1 -->|有线表| G2[WiredTableStructureRecognition
SLANeXt_wired] G1 -->|无线表| G3[WirelessTableStructureRecognition
SLANet_plus] G2 --> G4[WiredTableCellsDetection
RT-DETR-L_wired_table_cell_det] G3 --> G5[WirelessTableCellsDetection
RT-DETR-L_wireless_table_cell_det] G4 -->|表格结构+单元格| G6[TableOrientationClassify
PP-LCNet_x1_0_doc_ori] G5 -->|表格结构+单元格| G6 G6 --> G7[内部GeneralOCR
box_thresh: 0.4] G7 -->|表格OCR结果| G8[文本匹配到单元格
生成HTML表格] %% SealRecognition详细流程 H --> H1[SealOCR子流水线] H1 --> H2[SealTextDetection
PP-OCRv4_server_seal_det] H2 -->|印章文本检测框| H3[TextRecognition
PP-OCRv5_server_rec] H3 -->|印章文本识别结果| H4[印章识别结果] %% FormulaRecognition详细流程 I --> I1[FormulaRecognition
PP-FormulaNet_plus-L] I1 -->|公式识别结果| I2[LaTeX格式公式] %% ChartRecognition详细流程 J --> J1[ChartRecognition
PP-Chart2Table] J1 -->|图表转表格结果| J2[表格化图表数据] %% RegionDetection详细流程 K --> K1[RegionDetection
PP-DocBlockLayout] K1 -->|细粒度区域检测| K2[区域检测结果] %% 结果汇总 G8 --> L[结果汇总与整合] H4 --> L I2 --> L J2 --> L K2 --> L E3 --> L L --> M[生成结构化输出] M --> N[保存为JSON/Markdown] %% 数据流标注 classDef inputData fill:#e1f5fe classDef model fill:#fff3e0 classDef output fill:#e8f5e8 classDef pipeline fill:#f3e5f5 class A,C2 inputData class D,C1,C2,E1,E2,E3,G1,G2,G3,G4,G5,G6,G7,H2,H3,I1,J1,K1 model class G8,H4,I2,J2,K2,M,N output class C,E,G,H,I pipeline ``` ## 关键数据传递说明: ### 1. **主数据流** - **输入**: 文档图像/PDF - **DocPreprocessor**: 预处理后的标准化图像 - **LayoutDetection**: 版面区域边界框 `[x1,y1,x2,y2,class_id,confidence]` - **GeneralOCR**: OCR结果 `{text, bbox, confidence}` ### 2. **表格识别数据流** - **输入**: 表格区域图像 + 整体OCR结果 - **TableClassification**: 表格类型标签 `"wired_table"/"wireless_table"` - **StructureRecognition**: HTML结构标签序列 `["", "", "", ...]` - **CellsDetection**: 单元格边界框列表 - **内部OCR**: 表格区域专用OCR结果(较低box_thresh=0.4) - **输出**: HTML格式表格 ### 3. **并行处理特点** - 各子模块基于版面检测结果**并行处理** - **数据共享**: 主GeneralOCR结果被多个子模块复用 - **参数差异**: 不同模块使用不同的OCR参数优化 ### 4. **最终输出** - **JSON格式**: 结构化的识别结果 - **Markdown格式**: 可读性强的文档格式 - **图像保存**: 处理过程中的可视化结果 这个流程图清楚展示了PP-StructureV3的复杂数据流和模型调用关系,特别突出了TableRecognition中OCR结果的复用和匹配机制。