Nachdem Sie ein Videoframe über ein Convnet übergeben und eine Ausgabe-Feature-Map erhalten haben, wie leiten Sie diese Daten an ein LSTM weiter? Wie übertrage man mehrere Frames an den LSTM durch den CNN?
In anderen Arbeiten möchte ich Video-Frames mit einem CNN verarbeiten, um die räumlichen Merkmale zu erhalten. Dann möchte ich diese Features an einen LSTM weitergeben, um eine zeitliche Verarbeitung der räumlichen Merkmale vorzunehmen. Wie verbinde ich den LSTM mit den Videofunktionen? Zum Beispiel, wenn das Eingangsvideo 56x56 ist und dann, wenn es durch alle CNN-Schichten läuft, sagen wir, es kommt als 20: 5x5 heraus. Wie sind diese Frame für Frame mit dem LSTM verbunden? Und sollten sie zuerst eine vollständig verbundene Ebene durchlaufen? Danke, JonWie übertrage ich Videofunktionen von einem CNN zu einem LSTM?
Antwort
Grundsätzlich können Sie jeden Rahmen Features flattern und sie in eine LSTM-Zelle füttern. Mit CNN ist es genauso. Sie können jeden Ausgang von CNN in eine LSTM-Zelle einspeisen.
Für FC, es liegt an Ihnen.
Siehe eine Netzwerkstruktur von http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-180.pdf.
Die Architektur von cnn + LSTM Modell wie das Diagramm unten aussehen Grundsätzlich müssen Sie die Zeit verteilt Wrapper für CNN-Ebene erstellen und dann die Ausgabe von CNN auf die LSTM Schicht passieren
cnn_input= Input(shape=(3,200,100,1)) #Frames,height,width,channel of imafe
conv1 = TimeDistributed(Conv2D(32, kernel_size=(50,5), activation='relu'))(cnn_input)
conv2 = TimeDistributed(Conv2D(32, kernel_size=(20,5), activation='relu'))(conv1)
pool1=TimeDistributed(MaxPooling2D(pool_size=(4,4)))(conv2)
flat=TimeDistributed(Flatten())(pool1)
cnn_op= TimeDistributed(Dense(100))(flat)
Danach können Sie Ihre CNN Ausgabe an LSTM
passierenerinnern Sie bitte den Eingang zu dieser Zeit verteilt CNN sein muss (Anzahl der Frames, row_size, COLUMN_SIZE, Kanäle)
Und schließlich können Sie softmax auf der letzten Ebene anwenden, um einige Vorhersagen zu erhalten
Danke , das ist großartig! – Jon
Ich denke, ich verdiene ein upvote :-) – naaviii