From 13f72755558d7a9adbd7b1a4879509fb39a932d2 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Mon, 18 Oct 2021 14:24:48 +0200 Subject: [PATCH] Update/inplace ops (#5233) * Clip Objects365 autodownload labels (#5214) Fixes out of bounds labels that seem to affect ~10% of images in dataset. * Inplace ops --- data/Objects365.yaml | 7 ++++--- detect.py | 2 +- utils/loggers/wandb/wandb_utils.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/data/Objects365.yaml b/data/Objects365.yaml index 5c0a732253e3..97a424fd03a0 100644 --- a/data/Objects365.yaml +++ b/data/Objects365.yaml @@ -63,7 +63,7 @@ download: | from pycocotools.coco import COCO from tqdm import tqdm - from utils.general import download, Path + from utils.general import Path, download, np, xyxy2xywhn # Make Directories dir = Path(yaml['path']) # dataset root dir @@ -105,7 +105,8 @@ download: | annIds = coco.getAnnIds(imgIds=im["id"], catIds=catIds, iscrowd=None) for a in coco.loadAnns(annIds): x, y, w, h = a['bbox'] # bounding box in xywh (xy top-left corner) - x, y = x + w / 2, y + h / 2 # xy to center - file.write(f"{cid} {x / width:.5f} {y / height:.5f} {w / width:.5f} {h / height:.5f}\n") + xyxy = np.array([x, y, x + w, y + h])[None] # pixels(1,4) + x, y, w, h = xyxy2xywhn(xyxy, w=width, h=height, clip=True)[0] # normalized and clipped + file.write(f"{cid} {x:.5f} {y:.5f} {w:.5f} {h:.5f}\n") except Exception as e: print(e) diff --git a/detect.py b/detect.py index d9961f5f457d..ff8e32acbaed 100644 --- a/detect.py +++ b/detect.py @@ -139,7 +139,7 @@ def wrap_frozen_graph(gd, inputs, outputs): else: img = torch.from_numpy(img).to(device) img = img.half() if half else img.float() # uint8 to fp16/32 - img = img / 255.0 # 0 - 255 to 0.0 - 1.0 + img /= 255.0 # 0 - 255 to 0.0 - 1.0 if len(img.shape) == 3: img = img[None] # expand for batch dim t2 = time_sync() diff --git a/utils/loggers/wandb/wandb_utils.py b/utils/loggers/wandb/wandb_utils.py index 5c92ed947c7b..a4940afd2308 100644 --- a/utils/loggers/wandb/wandb_utils.py +++ b/utils/loggers/wandb/wandb_utils.py @@ -433,7 +433,7 @@ def log_training_progress(self, predn, path, names): "box_caption": "%s %.3f" % (names[cls], conf), "scores": {"class_score": conf}, "domain": "pixel"}) - total_conf = total_conf + conf + total_conf += conf boxes = {"predictions": {"box_data": box_data, "class_labels": names}} # inference-space id = self.val_table_path_map[Path(path).name] self.result_table.add_data(self.current_epoch,