Bladeren bron

fix STFPM

gaotingquan 1 jaar geleden
bovenliggende
commit
490a23e739

+ 1 - 0
paddlex/inference/components/task_related/__init__.py

@@ -25,3 +25,4 @@ from .table_rec import TableLabelDecode
 from .det import DetPostProcess, CropByBoxes, DetPad
 from .instance_seg import InstanceSegPostProcess
 from .warp import DocTrPostProcess
+from .seg import Map_to_mask

+ 40 - 0
paddlex/inference/components/task_related/seg.py

@@ -0,0 +1,40 @@
+# copyright (c) 2024 PaddlePaddle Authors. All Rights Reserve.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import numpy as np
+from skimage import measure, morphology
+
+from ..base import BaseComponent
+
+
+class Map_to_mask(BaseComponent):
+    """Map_to_mask"""
+
+    INPUT_KEYS = "pred"
+    OUTPUT_KEYS = "pred"
+    DEAULT_INPUTS = {"pred": "pred"}
+    DEAULT_OUTPUTS = {"pred": "pred"}
+
+    def apply(self, pred):
+        """apply"""
+        score_map = pred[0]
+        thred = 0.01
+        mask = score_map[0]
+        mask[mask > thred] = 255
+        mask[mask <= thred] = 0
+        kernel = morphology.disk(4)
+        mask = morphology.opening(mask, kernel)
+        mask = mask.astype(np.uint8)
+
+        return {"pred": mask[None, :, :]}

+ 0 - 28
paddlex/inference/components/transforms/image/common.py

@@ -19,7 +19,6 @@ from copy import deepcopy
 
 import numpy as np
 import cv2
-from skimage import measure, morphology
 
 from .....utils.cache import CACHE_DIR
 from ....utils.io import ImageReader, ImageWriter
@@ -540,30 +539,3 @@ class ToCHWImage(BaseComponent):
         """apply"""
         img = img.transpose((2, 0, 1))
         return {"img": img}
-
-
-class Map_to_mask(BaseComponent):
-    """Map_to_mask"""
-    INPUT_KEYS = "pred"
-    OUTPUT_KEYS = "pred"
-    DEAULT_INPUTS = {"pred": "pred"}
-    DEAULT_OUTPUTS = {"pred": "pred"}
-
-    def apply(self, pred):
-        """apply"""
-        # from skimage import measure, morphology
-        # import cv2
-        # from PIL import Image
-        # import numpy as np
-        # import imageio
-
-        score_map = pred[0]
-        thred = 0.01
-        mask = score_map[0]
-        mask[mask > thred] = 255
-        mask[mask <= thred] = 0
-        kernel = morphology.disk(4)
-        mask = morphology.opening(mask, kernel)
-        mask = mask.astype(np.uint8)
-
-        return {"pred": mask[None, :, :]}

+ 4 - 4
paddlex/inference/models/anomaly_detection.py

@@ -19,10 +19,10 @@ from ...modules.anomaly_detection.model_list import MODELS
 from ..components import *
 from ..results import SegResult
 from ..utils.process_hook import batchable_method
-from .base import CVPredictor
-from ..components.transforms.image.common import Map_to_mask 
+from .base import BasicPredictor
 
-class UadPredictor(CVPredictor):
+
+class UadPredictor(BasicPredictor):
 
     entities = MODELS
 
@@ -44,7 +44,7 @@ class UadPredictor(CVPredictor):
             model_prefix=self.MODEL_FILE_PREFIX,
             option=self.pp_option,
         )
-        self._add_component(("Predictor", predictor))
+        self._add_component(predictor)
         self._add_component(Map_to_mask())
 
     @register("Resize")