Skip to content

Commit bd9f97a

Browse files
author
Matt Sokoloff
committed
update coco utils
1 parent bf8b1b7 commit bd9f97a

File tree

1 file changed

+27
-14
lines changed

1 file changed

+27
-14
lines changed

examples/integrations/detectron2/coco_utils.py

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
from concurrent.futures import ThreadPoolExecutor, as_completed
2+
import functools
13
import random
4+
import json
5+
import os
6+
27
import numpy as np
38
from PIL import Image
9+
from tqdm import tqdm
410
import cv2
11+
512
from detectron2.utils.visualizer import Visualizer
613

714

@@ -47,30 +54,36 @@ def partition_coco(coco_instance_data, coco_panoptic_data = None, splits = None)
4754
return partitions
4855

4956

50-
def visualize_coco_examples(coco_examples, metadata_catalog, scale = 1.0, max_images = 5, resize_dims = (768, 512)):
57+
def visualize_object_inferences(metadata_catalog, coco_examples, predictor, scale = 1.0, max_images = 5, resize_dims = (768, 512)):
5158
images = []
5259
for idx, example in enumerate(coco_examples):
5360
if idx > max_images:
5461
break
5562
im = cv2.imread(example['file_name'])
63+
outputs = predictor(im)
5664
v = Visualizer(im[:, :, ::-1], metadata_catalog, scale=scale)
57-
out = v.draw_dataset_dict(example)
58-
images.append(cv2.resize(out.get_image(), resize_dims))
65+
out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
66+
images.append(cv2.resize(out.get_image()[:, :, ::-1], resize_dims))
5967
return Image.fromarray(np.vstack(images))
6068

6169

62-
def visualize_object_inferences(coco_examples, metadata_catalog, predictor, scale = 1.0, max_images = 5, resize_dims = (768, 512)):
63-
images = []
64-
for idx, example in enumerate(coco_examples):
65-
if idx > max_images:
66-
break
67-
im = cv2.imread(example['file_name'])
68-
outputs = predictor(im)
69-
v = Visualizer(im[:, :, ::-1], metadata_catalog, scale=scale)
70-
out = v.draw_instance_predictions(outputs["instances"].to("cpu"))
71-
images.append(cv2.resize(out.get_image()[:, :, ::-1], resize_dims))
72-
return Image.fromarray(np.vstack(images))
70+
def visualize_coco_examples(metadata_catalog, object_examples, panoptic_examples = None, scale = 1.0, max_images = 5, resize_dims = (768,512)):
71+
if panoptic_examples is not None:
72+
lookup = {d['file_name'] : d for d in panoptic_examples}
7373

74+
images = []
75+
for idx, example in enumerate(object_examples):
76+
if idx > max_images:
77+
break
78+
im = cv2.imread(example['file_name'])
79+
v = Visualizer(im[:, :, ::-1], metadata_catalog, scale=scale)
80+
out = v.draw_dataset_dict(example)
81+
if panoptic_examples is not None:
82+
example_panoptic = lookup.get(example['file_name'])
83+
if example_panoptic is not None:
84+
out = v.draw_dataset_dict(example_panoptic)
85+
images.append(cv2.resize(out.get_image(), resize_dims))
86+
return Image.fromarray(np.vstack(images))
7487

7588

7689
def _process_panoptic_to_semantic(input_panoptic, output_semantic, segments, id_map):

0 commit comments

Comments
 (0)