Использование фильтров с керасом и OpenCv? - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь построить модель Q-Learning, используя Reinforcement Learning, чтобы играть в простую "Chrome Dino Game". Но я застрял при попытке использовать функцию OpenCV для легкой фильтрации изображений. Вот мой код CNN:

class ConvolutionalNeuralNetwork:
    def __init__(input_shape, action_space):   # Removed Self
        model = models.Sequential()
        model.add(Conv2D(32,
                              8,
                              strides=(4, 4),
                              padding="valid",
                              activation="relu",
                              input_shape=input_shape,
                              data_format="channels_first"))
        model.add(Conv2D(64,
                              4,
                              strides=(2, 2),
                              padding="valid",
                              activation="relu",
                              input_shape=input_shape,
                              data_format="channels_first"))
        model.add(Conv2D(64,
                              3,
                              strides=(1, 1),
                              padding="valid",
                              activation="relu",
                              input_shape=input_shape,
                              data_format="channels_first",))
        model.add(Flatten())
        model.add(Dense(512, activation="relu"))
        model.add(Dense(action_space))
        model.compile(loss="mean_squared_error",
                           optimizer=RMSprop(lr=0.00025,
                                             rho=0.95,
                                             epsilon=0.01),
                           metrics=["accuracy"])
        return cur_input
        model.build(input_shape=(80,80))
        model.summary()

Я добавил эту простую функцию для эффективной предварительной обработки моего вывода до желаемого уровня, однако не могу понять, как и где соединить их оба в коде

def process_img(image):
    image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    image = image[:300, :500]
    return image

Для наглядной демонстрации я пытаюсь сделать что-то вроде этого (игнорировать последний набор): Processing the Image for further analysis

Примечание: Я предпочитаю использовать OpenCV, если это возможно, но если есть какая-то другая альтернатива, которая является FAST и эффективной и может быть легко использована, я приму ее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...