Из маски сегментации я пытаюсь извлечь, какие метки представлены в маске.
Это изображение, которое я просматриваю в модели сегментации semanti c в AWS Sagemaker.
Код для создание прогнозов и отображение маски.
from sagemaker.predictor import json_serializer, json_deserializer, RealTimePredictor
from sagemaker.content_types import CONTENT_TYPE_CSV, CONTENT_TYPE_JSON
%%time
ss_predict = sagemaker.RealTimePredictor(endpoint=ss_model.endpoint_name,
sagemaker_session=sess,
content_type = 'image/jpeg',
accept = 'image/png')
return_img = ss_predict.predict(img)
from PIL import Image
import numpy as np
import io
num_labels = 21
mask = np.array(Image.open(io.BytesIO(return_img)))
plt.imshow(mask, vmin=0, vmax=num_labels-1, cmap='jet')
plt.show()
Это изображение представляет собой созданную маску сегментации, которая представляет мотоцикл, а все остальное является фоном.
[
Как видно из кода, существует 21 возможная метка, и в маске использовались 2: одна для мотоцикла, а другая для фона. Сейчас я хотел бы выяснить, как распечатать, какие этикетки фактически использовались в этой маске из 21 возможных вариантов?