Пользовательский слой keras для выбора области изображения - PullRequest
0 голосов
/ 10 марта 2020

Я создаю модель в Керасе, которая сначала находит регион, изображение, содержащее соответствующую информацию, а затем классифицирует регион.

модель сначала имеет сверточную сеть, которая выводит (x, y, x_width, y_width )

Затем я беру исходное изображение и пользовательский слой, обрезаю эту область из изображения и масштабирую его до (64,64,3).

Я не могу заставить работать пользовательский слой хотя:

class ImageLayer(Layer):
    def __init__(self):
        pass

    def __call__(self, inputs):
        poss, imgs = inputs 
        for i in range(len(imgs)):
            img = [[pixel for pixel in row[poss[i][1]:poss[i][1]+poss[i][3]]] for row in imgs[i][poss[i][0]:poss[i][0]+poss[i][2]]]
            img = cv2.resize(img, dsize=(64, 64))
            imgs[i] = list(img)
        return np.array(imgs)

    def get_output_shape_for(self, input_shape):
        return (input_shape[0], 64, 64, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...