From 1c5c4aa3faa63ca80fc2432fa2fb8877f9f7a449 Mon Sep 17 00:00:00 2001 From: Prabhat Roy Date: Fri, 25 Feb 2022 10:39:27 -0800 Subject: [PATCH] [fbsync] Fix bbox scaling estimation for Large Scale Jitter (#5446) Summary: * Fix bbox scaling estimation for Large Scale Jitter * Fix linter Reviewed By: jdsgomes Differential Revision: D34475306 fbshipit-source-id: 717e7b09d5b2b01758711799ae1ef1bcb1f75050 --- 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