From 034c22255b4392ae8c9ddf4aa64d59d7885c3d81 Mon Sep 17 00:00:00 2001 From: Vasilis Vryniotis Date: Sun, 20 Feb 2022 10:22:50 +0000 Subject: [PATCH] Fix bbox scaling estimation for Large Scale Jitter (#5446) * Fix bbox scaling estimation for Large Scale Jitter * Fix linter --- references/detection/transforms.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/references/detection/transforms.py b/references/detection/transforms.py index 5924fa0c560..342d491ceb1 100644 --- a/references/detection/transforms.py +++ b/references/detection/transforms.py @@ -317,6 +317,8 @@ def forward( elif image.ndimension() == 2: image = image.unsqueeze(0) + orig_width, orig_height = F.get_image_size(image) + r = self.scale_range[0] + torch.rand(1) * (self.scale_range[1] - self.scale_range[0]) new_width = int(self.target_size[1] * r) new_height = int(self.target_size[0] * r) @@ -324,7 +326,8 @@ def forward( image = F.resize(image, [new_height, new_width], interpolation=self.interpolation) if target is not None: - target["boxes"] *= r + target["boxes"][:, 0::2] *= new_width / orig_width + target["boxes"][:, 1::2] *= new_height / orig_height if "masks" in target: target["masks"] = F.resize( target["masks"], [new_height, new_width], interpolation=InterpolationMode.NEAREST