From e033ef69a8bb58dd5fa0902942f628481c21c666 Mon Sep 17 00:00:00 2001
From: Daniel Suess <daniel@dsuess.me>
Date: Fri, 22 Nov 2019 15:19:04 +1100
Subject: [PATCH] Clip proposal boxes to valid range in single_mask_target
 (#1688)

* Clip proposal boxes to valid range in single_mask_target

* Fix the clipping value in mask_target_single
---
 mmdet/core/mask/mask_target.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/mmdet/core/mask/mask_target.py b/mmdet/core/mask/mask_target.py
index 423f5ef..6603f11 100644
--- a/mmdet/core/mask/mask_target.py
+++ b/mmdet/core/mask/mask_target.py
@@ -19,6 +19,9 @@ def mask_target_single(pos_proposals, pos_assigned_gt_inds, gt_masks, cfg):
     mask_targets = []
     if num_pos > 0:
         proposals_np = pos_proposals.cpu().numpy()
+        _, maxh, maxw = gt_masks.shape
+        proposals_np[:, [0, 2]] = np.clip(proposals_np[:, [0, 2]], 0, maxw - 1)
+        proposals_np[:, [1, 3]] = np.clip(proposals_np[:, [1, 3]], 0, maxh - 1)
         pos_assigned_gt_inds = pos_assigned_gt_inds.cpu().numpy()
         for i in range(num_pos):
             gt_mask = gt_masks[pos_assigned_gt_inds[i]]
-- 
GitLab