Для моего проекта, который касается распознавания эмоций, у меня есть набор данных, состоящий из нескольких видео, которые варьируются от 0,5 с до 10 с. У меня есть приложение, которое просматривает каждое видео и создает файл .csv, содержащий функции, которые он извлекает из каждого кадра в видео, т. Е. Каждая строка представляет каждый кадр из видео (без изменения количества строк) и столбцов. представляют различные функции, извлеченные приложением из фрейма (без фиксированных номеров столбцов). Каждое имя файла .csv также содержит код, представляющий эмоцию, выражаемую в видео.
Первоначально я планировал извлечь каждый кадр из видео и передать каждый кадр в качестве входных данных для следующего CNN-LSTM (CNN для модель пространственных объектов и LSTM для временных характеристик), которую я планировал использовать.
model = Sequential()
model.add(Input(input_shape))
model.add(Conv3D(6, (1, 5, 5), (1, 1, 1), activation='relu', name='conv-1'))
model.add(AveragePooling3D((1, 2, 2), strides=(1, 2, 2), name='avgpool-1'))
model.add(Conv3D(16, (1, 5, 5), (1, 1, 1), activation='relu', name='conv-2'))
model.add(AveragePooling3D((1, 2, 2), strides=(1, 2, 2), name='avgpool-2'))
model.add(Conv3D(32, (1, 5, 5), (1, 1, 1), activation='relu', name='conv-3'))
model.add(AveragePooling3D((1, 2, 2), strides=(1, 2, 2), name='avgpool-3'))
model.add(Conv3D(64, (1, 4, 4), (1, 1, 1), activation='relu', name='conv-4'))
model.add(Reshape((30, 64), name='reshape'))
model.add(CuDNNLSTM(64, return_sequences=True, name='lstm-1'))
model.add(CuDNNLSTM(64, name='lstm-2'))
model.add(Dense(6, activation=tf.nn.softmax, name='result'))
Я все еще планирую использовать модель CNN-LSTM, но сейчас не знаю, как структурировать свой набор данных. Я думал о том, чтобы пометить каждый кадр в каждом файле .csv соответствующей эмоцией, а затем объединить все файлы .csv в один файл .csv. Этот объединенный файл .csv будет затем передан вышеупомянутой модели после изменения формы ввода и других необходимых параметров, но я не знаю, сможет ли модель различить видео, если это будет сделано таким образом.
Итак, в заключение, мне нужна помощь в структурировании моего набора данных и того, как этот набор данных должен быть передан в модель CNN-LSTM.