From cd91bdb532cd87ee938afbb0ba2e7303e86a9886 Mon Sep 17 00:00:00 2001
From: Vladislav Sovrasov <vladislav.sovrasov@intel.com>
Date: Fri, 23 Feb 2024 07:45:21 +0900
Subject: [PATCH] Filter invalid iseg boxes in cpp to match python

---
 model_api/cpp/models/src/instance_segmentation.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/model_api/cpp/models/src/instance_segmentation.cpp b/model_api/cpp/models/src/instance_segmentation.cpp
index 7988b124..b0769ccd 100644
--- a/model_api/cpp/models/src/instance_segmentation.cpp
+++ b/model_api/cpp/models/src/instance_segmentation.cpp
@@ -356,6 +356,11 @@ std::unique_ptr<ResultBase> MaskRCNNModel::postprocess(InferenceResult& infResul
         obj.height = clamp(
             round((boxes[i * objectSize + 3] - padTop) * invertedScaleY - obj.y),
             0.f, floatInputImgHeight);
+
+        if (obj.height * obj.width <= 1) {
+            continue;
+        }
+
         cv::Mat raw_cls_mask{masks_size, CV_32F, masks + masks_size.area() * i};
         cv::Mat resized_mask;
         if (postprocess_semantic_masks || has_feature_vector_name) {