2017-07-24 4 views
2

Um ein wenig Kontext zu geben: Ich bin ziemlich neu im maschinellen Lernen, ich habe gelesen und einige pädagogische Videos gesehen, wie CNN funktioniert.Wie man mit verschiedenen Eingangsgrößen in CNN-Modellen umgehen kann

Ich habe bisher zwei Modelle ausprobiert, ein CNN-Modell einer zufälligen Person und das Google Inception v3-Modell. Ich könnte das CNN-Modell dieser zufälligen Person verstehen und was dort passiert. Was ich nicht verstehe, ist, wie man es mit verschiedenen Ausgabegrößen, die nicht nur eine andere Skalierung oder Rotation sind, arbeiten lässt. Lass mich einfach erklären, was ich mache:

Ich möchte grundsätzlich ein Bild (mit einem Logo) als Marke klassifizieren können. Zum Beispiel geben Sie mir ein Bild, das das Starbucks-Logo enthält, und unser Modell wird Ihnen sagen, dass es Starbucks ist. Es wird nur ein Logo in jedem Bild geben (für meinen Fall). Der erste Versuch war mit dem Anfangsmodell: versucht mit 20.000 Iterationen mit 2.000 Starbucks Quittungsbildern, 2.000 Walmart Quittungsbildern und 2.000 zufälligen Bildern, die nicht mit Starbucks oder Walmart verwandt waren, so konnte ich das Bild auch als "Weder" klassifizieren. Habe eine Genauigkeit von 88%, nicht gut genug und die Kreuzentropie sinkt nicht auf weniger als 0.4. Dann habe ich versucht, das Logo aus diesen Bildern zu entfernen und es erneut versucht. Diesmal würde es auf beschnittenen Bildern wie ein Zauber wirken, aber auf größeren Bildern, die das Starbucks-Logo oder Walmart enthalten, würde es kläglich scheitern.

Das Gleiche gilt für die DeepLogo Weg: https://github.com/satojkovic/DeepLogo

Es funktioniert gut mit dem 32 x 32 Bild aber sobald ich die Eingangsgröße zu ändern, es funktioniert nicht.

Wie kann ich das überwinden?

EDIT: Ich verwende diese für Umschulung auf dem Modell Inception: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/image_retraining

+0

Nehmen wir an, dass Ihr Netzwerk 128 x 128 Bild aufnimmt. Sobald Sie ein Bild erhalten haben, ändern Sie die Größe der kürzeren Seite auf 128 und behalten Sie das Seitenverhältnis bei. Sie nehmen verschiedene (markierte) Ernten der Größe 128 x 128, um ein vollständig konnektives neuronales Netzwerk auf verschiedenen Bildausschnitten zu trainieren. Auf der letzten Ebene können Sie das Mittel-Max-Pooling und dann eine FC-Schicht als Klassifizierer anfügen. –

+0

Wenn Sie CNNs verwenden, sollten Ihre Eingabebilder immer die gleiche Größe haben, in der Sie Ihr Netzwerk trainiert haben, um Funktionen auf Bildern dieser Größe zu finden. Die Ausgabe des Netzwerkes ist auch in allen Fällen dieselbe Größe, wenn Sie eine Struktur für Ihr Netzwerk mit Größen definieren. Aber Sie könnten die Größe des Bildes ändern und sie auffüllen, um das gleiche Seitenverhältnis zu bleiben. – Mathias

+0

@ ParagS.Chandakkar ah Ich sehe, also im Grunde das Bild durchlaufen. Ich werde das auf jeden Fall versuchen, aber ich habe eine Frage dazu: Sagen wir, mein Logo ist 128 x 128 und alle meine Trainingsdaten sind 128 x 128. Jetzt habe ich ein 1024 x 256 Bild und das Logo, mit der gleichen Größe (128 x 128) existiert in diesem Bild, wenn ich das Seitenverhältnis und die Größe verändere, wird es das Logo kleiner machen und ich werde es nicht klassifizieren können. Recht? – Peyman

Antwort

0

Pooling-Schicht? Aus meiner Sicht verbessert Pooling-Layer die statistische Effizienz und auch die Übersetzungsinvarianz. Und am wichtigsten, in Ihrem Fall kann es in verschiedenen Größen von Bildern verwendet werden. Vielleicht könnten Sie etwas darüber nachforschen. Das Buch "Deep Learning" von Goodfellow wäre meine Empfehlung.

+0

Danke für die Buchempfehlung, also für die Einfachheit, sagen wir, ich habe auf einem Set von 128 x 128 Bildern trainiert, jetzt möchte ich sehen ob eines dieser Logos in einem 1024 * 860 Bild vorhanden ist, sollte ich das Bild durchqueren und sehen wenn ich es kann? Wie sollte ich die Größe ändern? Ich kann sicherlich das gleiche Seitenverhältnis beibehalten, aber das würde das Logo in diesem Bild zu klein machen. – Peyman

Verwandte Themen