def parse_json(self, filename: str, classes: list) -> List[Annotation]:
        with open(filename, 'r') as json_file:
            json_data = json.load(json_file)
            images = json_data["images"]
            categories = json_data["categories"]
            annotations = []
            for anno in json_data["annotations"]:
                image_id = anno["image_id"]
                cls_id = anno["category_id"]

                for info in images:
                    if info["id"] == image_id:
                        annotation = Annotation(
                            info["file_name"].split(".")[0])
                        annotation.image_size()
                for category in categories:
                    if category["id"] == cls_id:
                        annotation.class_id = category["name"]
                bndbox = {
                    "xmin": anno["bbox"][0],
                    "ymin": anno["bbox"][1],
                    "xmax": anno["bbox"][2] + anno["bbox"][0],
                    "ymax": anno["bbox"][3] + anno["bbox"][1]
                }
                annotation.bbox = (bndbox["xmin"], bndbox["ymin"],
                                   bndbox["xmax"], bndbox["ymax"])
                annotations.append(annotation)
            return annotations