π [Fix] the PadAndResize bug in data augment
Browse files
yolo/tools/data_augmentation.py
CHANGED
@@ -46,12 +46,8 @@ class PadAndResize:
|
|
46 |
padded_image = Image.new("RGB", (self.target_width, self.target_height), self.background_color)
|
47 |
padded_image.paste(resized_image, (pad_left, pad_top))
|
48 |
|
49 |
-
boxes[:, 1]
|
50 |
-
boxes[:, 2]
|
51 |
-
boxes[:, 3] *= scale # xmax
|
52 |
-
boxes[:, 4] *= scale # ymax
|
53 |
-
boxes[:, [1, 3]] += pad_left
|
54 |
-
boxes[:, [2, 4]] += pad_top
|
55 |
|
56 |
transform_info = torch.tensor([scale, pad_left, pad_top, pad_left, pad_top])
|
57 |
return padded_image, boxes, transform_info
|
|
|
46 |
padded_image = Image.new("RGB", (self.target_width, self.target_height), self.background_color)
|
47 |
padded_image.paste(resized_image, (pad_left, pad_top))
|
48 |
|
49 |
+
boxes[:, [1, 3]] = (boxes[:, [1, 3]] * new_width + pad_left) / self.target_width
|
50 |
+
boxes[:, [2, 4]] = (boxes[:, [2, 4]] * new_height + pad_top) / self.target_height
|
|
|
|
|
|
|
|
|
51 |
|
52 |
transform_info = torch.tensor([scale, pad_left, pad_top, pad_left, pad_top])
|
53 |
return padded_image, boxes, transform_info
|