Я создал свой собственный набор данных, который должен идентифицировать определенный тип урожая в поле. Маска RCNN создает маску многоугольника над этим объектом. На изображении около 17 различных объектов, поэтому MaskRCNN создает маску для 17 объектов. Но я не могу найти площадь каждой маски.
Я нашел способ, но не уверен, что он правильный. Я добавил этот код в inspect_balloon_model.ipynb:
r ['masks] .shape [-1] = 17
for i in range(r['masks'].shape[-1]):
mask = r['masks'][:, :, i]
image[mask] = 255
image[~mask] = 0
unique, counts = np.unique(image, return_counts=True)
mask_area = counts[1] / (counts[0] + counts[1])
print(counts[1])
Вот количество 1 это Площадь индивидуальной маски. Это правильно?
РЕДАКТИРОВАТЬ : r ['masks']. Shape ---> (8170, 6000, 17); Исходная форма изображения -> (8170, 6000, 3)
Образец изображения: