Browse Source

bugfix: pp-structurev3 (#3667)

changdazhou 8 months ago
parent
commit
58fba19c2f

+ 4 - 1
paddlex/inference/models/object_detection/processors.py

@@ -806,6 +806,9 @@ class DetPostProcess:
                             )
                 boxes = boxes[keep_mask]
 
+        if boxes.size == 0:
+            return np.array([])
+
         if layout_unclip_ratio:
             if isinstance(layout_unclip_ratio, float):
                 layout_unclip_ratio = (layout_unclip_ratio, layout_unclip_ratio)
@@ -814,7 +817,7 @@ class DetPostProcess:
                     len(layout_unclip_ratio) == 2
                 ), f"The length of `layout_unclip_ratio` should be 2."
             elif isinstance(layout_unclip_ratio, dict):
-                pass 
+                pass
             else:
                 raise ValueError(
                     f"The type of `layout_unclip_ratio` must be float, Tuple[float, float] or  Dict[int, Tuple[float, float]], but got {type(layout_unclip_ratio)}."

+ 2 - 0
paddlex/inference/pipelines/layout_parsing/utils.py

@@ -592,6 +592,8 @@ def get_single_block_parsing_res(
 
         if label == "table":
             for table_res in table_res_list:
+                if len(table_res["cell_box_list"]) == 0:
+                    continue
                 if (
                     _calculate_overlap_area_div_minbox_area_ratio(
                         block_bbox, table_res["cell_box_list"][0]