Как я могу получить маску 28x28 в маске RCNN? - PullRequest
0 голосов
/ 11 апреля 2020

В маске RCNN модель сегментации экземпляра генерирует маски для каждого обнаруженного объекта. Маски являются мягкими масками (со значениями в пикселях с плавающей запятой) и имеют размер 28x28 во время обучения, поэтому прогнозируемые маски масштабируются до размеров ограничительной рамки, и мы можем наложить их на исходное изображение, чтобы визуализировать окончательный результат.

Пожалуйста, как мне получить маску 28x28 до ее изменения?

У меня есть следующий код:

def apply_mask(image, mask, color, alpha=1):
"""apply mask to image"""
for n, c in enumerate(color):
    image[:, :, n] = np.where(
        mask == 1,
        image[:, :, n] * (1 - alpha) + alpha * c,
        image[:, :, n]
    )
return image

for i in range(n_instances):
    if not np.any(boxes[i]):
        continue

    if ids[i] == 1:
        color = [255,255,255]
        mask = masks[:, :, i]
        image_background_substracted = apply_mask(background, mask, color)

        return image_background_substracted
    else:
        return background 
...