From dfa64595605f7db5b8f4cd6d57b853275194d4d2 Mon Sep 17 00:00:00 2001 From: pnsuau Date: Tue, 15 Nov 2022 13:55:43 +0000 Subject: [PATCH] feat(aug): configurable online mask delta augmentation by x and y axis --- data/online_creation.py | 19 ++++++++++++------- options/base_options.py | 10 ++++++---- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/data/online_creation.py b/data/online_creation.py index 594749676..2f6c7b8db 100644 --- a/data/online_creation.py +++ b/data/online_creation.py @@ -87,13 +87,18 @@ def crop_image( xmax = math.floor(int(bbox[3]) * ratio_x) ymax = math.floor(int(bbox[4]) * ratio_y) - if ( - mask_delta > 0 - ): # increase mask box so that it can fit the reconstructed object (for semantic loss) - ymin -= mask_delta - ymax += mask_delta - xmin -= mask_delta - xmax += mask_delta + if len(mask_delta) == 1: + mask_delta_x = mask_delta[0] + mask_delta_y = mask_delta[0] + elif len(mask_delta) == 2: + mask_delta_x = mask_delta[0] + mask_delta_y = mask_delta[1] + + if mask_delta_x > 0 or mask_delta_y > 0: + ymin -= mask_delta_y + ymax += mask_delta_y + xmin -= mask_delta_x + xmax += mask_delta_x if mask_square: sdiff = (xmax - xmin) - (ymax - ymin) diff --git a/options/base_options.py b/options/base_options.py index 2f46fd3e4..7b6277b7d 100644 --- a/options/base_options.py +++ b/options/base_options.py @@ -587,8 +587,9 @@ def initialize(self, parser): parser.add_argument( "--data_online_creation_mask_delta_A", type=int, - default=0, - help="mask offset to allow generation of a bigger object in domain B (for semantic loss) for domain A", + default=[0], + nargs="*", + help="mask offset to allow generation of a bigger object in domain B (for semantic loss) for domain A, format : width (x) height (y) or only one size if square", ) parser.add_argument( "--data_online_creation_mask_square_A", @@ -629,8 +630,9 @@ def initialize(self, parser): parser.add_argument( "--data_online_creation_mask_delta_B", type=int, - default=0, - help="mask offset to allow genaration of a bigger object in domain B (for semantic loss) for domain B", + default=[0], + nargs="*", + help="mask offset to allow genaration of a bigger object in domain B (for semantic loss) for domain B, format : width (y) height (x) or only one size if square", ) parser.add_argument( "--data_online_creation_mask_square_B",