2016-05-25 12 views
0

Ich möchte die Two-Stream Convolutional Networks for Action Recognition in Videos reproduzieren.Wie multidimensionale Daten zu caffe lmdb eingeben?

Aber es fühlt sich an, als ob ich eine Wand geschlagen habe, wenn es darum geht, Multi-Frame-Input für Caffe zu geben.

Da das Single-Frame-Netzwerk 50% Genauigkeit gibt. Aber wenn ich eine Eingabe von 30 * 227 * 227 über eine LMDB geben. 20 (10 Rahmen mit jeweils 3 Kanälen). Die accuracy barely reaches 4%.

Das lässt mich glauben, dass die Eingabe, die ich Caffe gebe, nicht im erforderlichen Format oder Modell ist falsch (weniger wahrscheinlich).

Ich möchte eine Eingabe im Stil von 3 x 10 x 227 x 227 geben. Aber die Caffe LMDB hat nur ein paar Variablen als Eingabe. Nämlich Höhe, width, Kanäle, Daten, Label.

Das lässt mich Daten nur in 3 Dimensionen schreiben und dann die 4. Frames Dimension kippen.

Kennt jemand eine Arbeit um diese?

Oder wissen Sie, wo ich irgendwelche Beispiele von Caffe mit Multi-Frame-Daten für die Klassifizierung finden kann.

Soweit ich weiß, verwendet Caffe 4D-Blobs, um Daten zu handhaben und damit auch nicht mit Chargen umgehen kann, wenn ich es zur Arbeit bekomme. Es wird also immer nur mit einem Sample arbeiten. Und dies hängt auch davon ab, wie die Filter gestaltet sind und ob sie die Korrelation der Rahmen so handhaben können, wie sie in der 4. Dimension sind, die allgemein als eine Charge verwendet wird.

Irgendwelche Ideen zu diesem Thema?

Ps. Ich habe auch versucht HDF5 similar results.

+0

versuchen Sie hdf5 Eingabe stattdessen – Shai

+0

Versucht, dass auch .. Angehängt die Ergebnisse sowie –

+0

Blick auf Ihre HDF5-Ergebnisse: Die Eingangsgröße ist 50x48x58x58. Ist es mit dieser Frage verbunden? die Genauigkeit beginnt bei ~ 3%, steigt dann aber stetig an ... – Shai

Antwort

0

Gemäß dem erwähnten Artikel ist das RGB-Bild eine Eingabe für den Spatial-Stream und gestapelte optische Flussframes für den Temporal-Stream. Daher sollten Sie zunächst optische Flussrahmen für einen zeitlichen Stream extrahieren. Jeder Punkt des optischen Flussrahmens entspricht einem Vektor mit x- und y-Komponenten, die als Bildkanäle zu sehen sind. Durch Stapeln von L optischen Frames erhalten Sie ein Bild mit 2 * L Kanälen, und Ihre Eingabe für Caffe wird Standard batch_sizex2LxHxW sein. Werfen Sie einen Blick auf diese repo und code für weitere Hilfe.