преобразование значений индекса в (R, G, B) значения (цветовую карту) в python в полностью сверточной нейронной сети для сегментации изображения - PullRequest
0 голосов
/ 06 октября 2019

Я делаю сегментацию изображения в наборе данных PASCAL VOC 2012. У меня есть 21 класс, включая фон, сгенерированный из модели сегментации. Форма вывода сегментации имеет вид (224,224,21), где каждый (224 * 224) является картой объектов каждого из 21 класса. Каждая из этих карт содержит индексы (1-я карта содержит значения в массиве 1, только когда этот пиксель принадлежит классу 1, в противном случае он становится недействительным и скоро для других классов). Теперь я хочу преобразовать эти значения индекса в каждой карте (0,1,2, .. 20) в соответствующие им значения (R, G, B) и сохранить их в виде изображения. (POSCAL VOC имеет соответствующее значение (R, G, B), определенное для каждого значения индекса). Я понятия не имею, как этого добиться. Любая помощь очень ценится.

У меня есть несколько вопросов о цветовом сопоставлении на SO и в других блогах, использующих набор данных PASCAL VOC, но я не мог их понять.

1 Ответ

0 голосов
/ 06 октября 2019

Если вы хотите использовать эти данные для визуализации, вы можете конвертировать так:

RGB_colors = [(12,12,12), (13,13,13), ... 21 color for 21 classes ...]

image = np.zeros( (224,224,3) )  # black RGB image
for i in range(image.shape[0]) :
    for j in range(image.shape[1]) :
        color_index = output[i,j].index(1)  # index of '1' value
        image[i,j] = RGB_colors[ color_index ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...