in gt_converter/convert_coco.py [0:0]
def _build_category_ids(self, manifest_path, job_name, background_color):
"""
Build a dictionary mapping label ids to annotation RBG colors
:param manifest_path: Path to manifest ffile
:param job_name: SageMaker gt jobname
:param background_color: RGB tuple for background color
:return: Dictionary of label ids mapped to RBG colors
"""
metadata_key = job_name + "-ref-metadata"
colors_found = set()
for label in self.manifest_reader(manifest_path):
for i in label[metadata_key]["internal-color-map"].keys():
colors_found.add(
label[metadata_key]["internal-color-map"][i]["hex-color"]
)
# Convert to RGB
colors_found = [
tuple(int(s.lstrip("#")[i : i + 2], 16) for i in (0, 2, 4))
for s in list(colors_found)
]
colors_found.remove(background_color)
# Construct color:label dict
num_labels = len(colors_found) # one of these is the background color
# Define which colors match which categories in the images
category_ids = {}
for i in range(num_labels):
category_ids[str(colors_found[i])] = i # TODO: Write as COCO format
return category_ids