Keras: время CNN + LSTM для распознавания видео - PullRequest
0 голосов
/ 14 февраля 2019

Proposed deep learning model

Я пытаюсь реализовать модель, показанную на картинке выше, которая в основном состоит из распределенных по времени CNN, за которыми следует последовательность LSTM с использованием Keras с TF.Я разделил два типа классов и извлек кадры из каждого захваченного видео.Извлечение кадров является переменным, не исправляйте.

Однако у меня возникла проблема при попытке выяснить, как можно загрузить свои кадры изображений для каждого видео в каждом классе, чтобы они стали x_train, x_test,y_train, y_test.

model = Sequential()

model.add(
TimeDistributed(
    Conv2D(64, (3, 3), activation='relu'), 
    input_shape=(data.num_frames, data.width, data.height, 1)
   )
)  

Я не знаю, как набрать data.num_frames, если каждое видео содержит n разного количества извлеченных кадров.

Входные данные - это небольшие видео всего 3-8 секунд (т.е. последовательность кадров).

1 Ответ

0 голосов
/ 14 февраля 2019

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

Однако у вас будут проблемы с созданием пакета видео с numpy, поскольку numpy не принимает переменные размеры.

Вы можете обучать каждое видео отдельно или создавать фиктивные кадры.(заполнение нулями), чтобы все видео имели одинаковую максимальную длину.Затем используйте слой Masking, чтобы игнорировать эти кадры.(Некоторые версии Keras имеют проблемы при использовании TimeDistributed + Masking)

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