Я создаю маску для задачи сегментации следующим образом.
lbl = load_img(im)
lbl = scipy.misc.imresize(lbl, (self.image_shape[1], self.image_shape[0]))
bg_color = np.array([255, 255, 255])
building_color = np.array([255, 0, 0])
road_color = np.array([0, 0, 255])
gt_bg = np.all(lbl == bg_color, axis=2)
building_bg = np.all(lbl == building_color, axis=2)
road_bg = np.all(lbl == road_color, axis=2)
building_bg = gt_bg.reshape(*building_bg.shape, 1)
road_bg = gt_bg.reshape(*road_bg.shape, 1)
gt_bg = gt_bg.reshape(*gt_bg.shape, 1)
lbl = np.concatenate((gt_bg, building_bg, road_bg), axis=2)
return np.array([lbl])
Я пытаюсь сегментировать три атрибута, чтобы было три разных значения пикселей. Это все еще правильный способ создания маски? потому что потеря тренировки, как правило, составляет менее 50.