В архиве вы найдете:
- 654 изображения в папке images. Пример изображения:
- Соответствующие этим изображениям аннотации в формате COCO, которые представляют собой информацию о разметке данных. Аннотации можно найти в файле train/annotations.json. Пример визуализации разметки:
annotations.json - словарь. Он имеет три ключа ['images', 'annotations', 'categories']:
- annotations['images'] - это список словарей вида {'id': 0, 'file_name': '0.jpg', 'width': 464, 'height': 464}. То есть в annotations['images'] лежит список словарей с информацией об изображениях. В частности там указан id изображения, путь до него - file_name, а также его ширина и высота - width и height.
- annotations['categories'] - это список словарей вида {'id': 1, 'name': 'text'}. То есть здесь лежит список всех категорий в датасете с указанием численного id и названия name . У нас всего один класс объектов, поэтому в этом списке всего один элемент.
- annotations['annotations'] - это список словарей вида {'id': 0, 'image_id': 0, 'category_id': 10, 'area': 44320.0, 'bbox': [94, 62, 239, 323], 'iscrowd': 0, "segmentation": [[1080.09, 969.1, 1072.95, 976.89, 1069.71, 986.63, 1077.49, 995.06, 1090.48, 995.06, 1100.21, 993.12, 1109.95, 991.82, 1119.03, 983.38, 1124.23, 974.29}.Тут лежит информация о выделенных объектах на изображениях - то есть информация о каждом полигоне, а также доступна информация о каждом bounding box.
- id - уникальный номер аннотации;
- image_id - уникальный номер изображения к которому относится данная аннотация;
- segmentation - координаты полигона, представлен в виде списка координатных пар XY;
- category_id - номер категории, описывает к какому классу относится конкретное слово в аннотации. Класс всего 1;
- area - не используется;
- bbox - координаты bounding box в формате XYWH (XY - коордианты левого верхнего угла, WH - длина и ширина bounding box). В данной задаче не используется;
- iscrowd - не используется;
- Соответствующие этим изображениям бинарные маски. Бинарную маску в виде словаря можно найти в файте train/binary.npz. Загрузить это файл, посмотреть ключи словаря и достать элемент по ключу можно с помощью (см. документацию):
binary = np.load('binary.npz')
keys = binary.files
element = binary[keys[0]]
Визуализация бинарной маски: