Прогнозирование одного изображения из последовательности LSTM - PullRequest
0 голосов
/ 31 марта 2020

Я планирую использовать сеть LSTM для задачи преобразования изображения в изображение. Входные данные состоят из трех изображений, в то время как выходные данные должны содержать только одно изображение.

Вот один пример для предсказания видеокадра, который я нашел:

seq = Sequential()
seq.add(ConvLSTM2D(filters=40, kernel_size=(1,1),
               input_shape=(None, 40, 40, 3), #Will need to change channels to 3 for real images
               padding='same', return_sequences=True,
               activation='relu'))
seq.add(BatchNormalization())
seq.add(ConvLSTM2D(filters=40, kernel_size=(2,2),
               padding='same', return_sequences=True,
               activation='relu'))
seq.add(BatchNormalization())
seq.add(ConvLSTM2D(filters=40, kernel_size=(1,1),
               padding='same', return_sequences=True,
               activation='relu'))
seq.add(BatchNormalization())
seq.add(ConvLSTM2D(filters=40, kernel_size=(2,2),
               padding='same', return_sequences=True,
               activation='relu'))
seq.add(BatchNormalization())
seq.add(Conv3D(filters=3, kernel_size=(1,1,1),
           activation='sigmoid',
           padding='same', data_format='channels_last'))
seq.compile(loss='binary_crossentropy', optimizer='adadelta')

Выход имеет одинаковую длину / количество хотя фреймы в качестве входных данных.

Теперь мне интересно, как я могу изменить вывод, чтобы предсказать только один кадр?

Заранее спасибо,

ура,

M

EDIT: я только что заметил, что могу установить флаг return_sequence в False, возвращая только последние активации состояния. Может ли это быть решением?

...