Минималистский пример преобразования из пользовательского набора данных в формат COCO с помощью pycococreator - PullRequest
0 голосов
/ 05 марта 2020

Цель состоит в том, чтобы преобразовать массив numpy (2164, 190, 189, 2), содержащий пары изображений в градациях серого и грунтового, в формат COCO:

grey+groundtruth (left).

Я попытался сгенерировать минималистическую аннотацию в кокосовом формате следующим образом:

from pycococreatortools import pycococreatortools

N = 1
grey = data[N,:,:,0]
labels = data[N,:,:,1]
mask1 = labels == 1
mask2 = labels == 2
mask3 = labels == 3

segmentation_id = "chromosome1_1" 
image_id = "0001"
category_info = "chromosome1"
binary_mask = mask1
image = grey
print(image.size, image.shape)

annotation_info_mask1 = pycococreatortools.create_annotation_info(segmentation_id, image_id, 
                                                              category_info,
                                                              binary_mask,
                                                              image.size, tolerance=2)

, и я получил следующую ошибку:


TypeError Traceback (самая последняя последний вызов)

in () 2 category_info, 3 binary_mask, ----> 4 image.size, допуск = 2)

2 кадра

/ usr / local /lib/python3.6/dist-packages/PIL/Image.py в resize (self, size, resample, box) 1866) 1867 -> 1868 size = tuple (size) 1869 1870, если box отсутствует:

TypeError: объект 'int' не повторяется

Здесь image.size равен 35910 , а image.shape равен (190, 189).

Кажется, что create_annotation_info () ожидает кортеж или список. Это правильно? Каков будет правильный способ сделать это?

Черновая записная книжка Colab находится здесь, чтобы получить весь набор данных.

...