Skip to content

Commit 7432b66

Browse files
author
Matt Sokoloff
committed
format
1 parent f36f24d commit 7432b66

File tree

1 file changed

+35
-20
lines changed

1 file changed

+35
-20
lines changed

examples/integrations/detectron2/coco_utils.py

Lines changed: 35 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
def get_annotations(images, all_annotations):
1616
image_lookup = {image['id'] for image in images}
17-
return [annot for annot in all_annotations if annot['image_id'] in image_lookup]
17+
return [
18+
annot for annot in all_annotations if annot['image_id'] in image_lookup
19+
]
1820

1921

2022
def partition_indices(total_n, splits):
@@ -27,34 +29,41 @@ def partition_indices(total_n, splits):
2729

2830
splits = np.cumsum(splits)
2931
for idx in range(len((splits))):
30-
start = 0 if idx == 0 else int(total_n * splits[idx-1])
32+
start = 0 if idx == 0 else int(total_n * splits[idx - 1])
3133
end = int(splits[idx] * total_n)
3234
yield start, end
3335

3436

35-
36-
def partition_coco(coco_instance_data, coco_panoptic_data = None, splits = None):
37+
def partition_coco(coco_instance_data, coco_panoptic_data=None, splits=None):
3738
images = coco_instance_data['images']
38-
n_classes = len({category['id'] for category in coco_instance_data['categories']})
39+
n_classes = len(
40+
{category['id'] for category in coco_instance_data['categories']})
3941
random.shuffle(images)
4042
partitions = []
4143
for start, end in partition_indices(len(images), splits):
42-
partition = {'instance' : dict(
43-
categories = coco_instance_data['categories'],
44-
images = images[start:end],
45-
annotations = get_annotations(images[start:end], coco_instance_data['annotations'])
46-
)}
44+
partition = {
45+
'instance':
46+
dict(categories=coco_instance_data['categories'],
47+
images=images[start:end],
48+
annotations=get_annotations(
49+
images[start:end], coco_instance_data['annotations']))
50+
}
4751
if coco_panoptic_data is not None:
4852
partition['panoptic'] = dict(
49-
categories = coco_panoptic_data['categories'],
50-
images = images[start:end],
51-
annotations = get_annotations(images[start:end], coco_panoptic_data['annotations'])
52-
)
53+
categories=coco_panoptic_data['categories'],
54+
images=images[start:end],
55+
annotations=get_annotations(images[start:end],
56+
coco_panoptic_data['annotations']))
5357
partitions.append(partition)
5458
return partitions
5559

5660

57-
def visualize_object_inferences(metadata_catalog, coco_examples, predictor, scale = 1.0, max_images = 5, resize_dims = (768, 512)):
61+
def visualize_object_inferences(metadata_catalog,
62+
coco_examples,
63+
predictor,
64+
scale=1.0,
65+
max_images=5,
66+
resize_dims=(768, 512)):
5867
images = []
5968
for idx, example in enumerate(coco_examples):
6069
if idx > max_images:
@@ -67,9 +76,14 @@ def visualize_object_inferences(metadata_catalog, coco_examples, predictor, scal
6776
return Image.fromarray(np.vstack(images))
6877

6978

70-
def visualize_coco_examples(metadata_catalog, object_examples, panoptic_examples = None, scale = 1.0, max_images = 5, resize_dims = (768,512)):
79+
def visualize_coco_examples(metadata_catalog,
80+
object_examples,
81+
panoptic_examples=None,
82+
scale=1.0,
83+
max_images=5,
84+
resize_dims=(768, 512)):
7185
if panoptic_examples is not None:
72-
lookup = {d['file_name'] : d for d in panoptic_examples}
86+
lookup = {d['file_name']: d for d in panoptic_examples}
7387

7488
images = []
7589
for idx, example in enumerate(object_examples):
@@ -86,7 +100,8 @@ def visualize_coco_examples(metadata_catalog, object_examples, panoptic_examples
86100
return Image.fromarray(np.vstack(images))
87101

88102

89-
def _process_panoptic_to_semantic(input_panoptic, output_semantic, segments, id_map):
103+
def _process_panoptic_to_semantic(input_panoptic, output_semantic, segments,
104+
id_map):
90105
panoptic = np.asarray(Image.open(input_panoptic), dtype=np.uint32)
91106
panoptic = rgb2id(panoptic)
92107

@@ -98,7 +113,8 @@ def _process_panoptic_to_semantic(input_panoptic, output_semantic, segments, id_
98113
Image.fromarray(output).save(output_semantic)
99114

100115

101-
def separate_coco_semantic_from_panoptic(panoptic_json, panoptic_root, sem_seg_root, categories):
116+
def separate_coco_semantic_from_panoptic(panoptic_json, panoptic_root,
117+
sem_seg_root, categories):
102118
"""
103119
Create semantic segmentation annotations from panoptic segmentation
104120
annotations, to be used by PanopticFPN.
@@ -144,4 +160,3 @@ def iter_annotations():
144160
futures.append(executor.submit(fn, *args))
145161
for _ in tqdm(as_completed(futures)):
146162
_.result()
147-

0 commit comments

Comments
 (0)