2016-04-24 8 views
2

Ziel ist es, Objekte aus Bildern zu lokalisieren. Ich entschied mich, ein bestehendes Modell zu modifizieren und zu trainieren. Ich kann jedoch nicht entscheiden, ob ich das Modell mit Masken oder nur mit ROIs trainieren soll.Auswählen von Zugbildern für das konvolutionelle neuronale Netzwerk

Zum Beispiel: Für Daten der Klasse 1 wird nur das Objekt der Klasse 1 auf dem Bild angezeigt, alle anderen Regionen werden mit Nullen gefüllt und für die 2. Klasse mache ich dasselbe und verlasse nur 2. Objekt der Klasse in der Maske usw. für die 3. und 4. Klasse.

Die zweite Möglichkeit, die ROIs zu verwenden: Ich werde jede Klasse aus dem Bild ohne Maske zuschneiden, nur die Region auf Interesse.

Dann Ich hoffe, das ähnliche Sache weiterhin tun: https://github.com/jazzsaxmafia/Weakly_detector

Soll ich die den ersten Weg oder zweite wählen? Alle Kommentare wie "Ihr Plan wird nicht funktionieren, versuchen Sie es" wird ebenfalls geschätzt.

--Edit-- klar,

Originalbild sein: http://s31.postimg.org/btyn660bf/image.jpg

1'st Ansatz unter Verwendung von Masken:

1'st Ansatz ROIs:

P. S: Die Standorte der Objekte für die neuen Beispiele in sehr ähnlich sein, so vielleicht die Maske Ansatz kann ein bisschen mehr nützlich sein. Für den ROI-Ansatz muss ich jedes Objekt mit sehr unterschiedlichen Größen normalisieren. Die Normalisierung der gesamten Bildmaske kann jedoch die Varianz zwischen der ursprünglichen Bildmaske viel weniger verringern.

Antwort

1

CNNs sind im Allgemeinen ziemlich robust gegenüber unterschiedlichen Hintergründen, vorausgesetzt, sie sind auf eine große Menge an qualitativ hochwertigen Daten geschult. Daher würde ich annehmen, dass der Unterschied zwischen der Verwendung der Masken- und ROI-Ansätze nicht sehr groß sein wird. Für das, was es wert ist, müssen Sie die Größe der Bilder normalisieren, die Sie dem CNN zuführen, unabhängig davon, welchen Ansatz Sie verwenden.

Ich habe einige Gestenerkennungssoftware implementiert und stieß auf eine ähnliche Frage. Ich könnte einfach den rohen, unverarbeiteten ROI verwenden, oder ich könnte eine vorverarbeitete Version verwenden, die einen Großteil des Hintergrunds ausfiltert. Ich habe es grundsätzlich in beide Richtungen versucht und die Genauigkeit der Modelle verglichen. In meinem Fall konnte ich etwas bessere Ergebnisse von den vorverarbeiteten Bildern erzielen.Auf der anderen Seite waren die Hintergründe in meinen Bildern viel komplexer und abwechslungsreicher. Wie auch immer, meine Empfehlung wäre, einen soliden Mechanismus zu bauen, um die Genauigkeit Ihres Modells zu testen und zu testen, was am besten funktioniert.

Ehrlich gesagt ist das Wichtigste, Lose von guten Proben für jede Klasse zu sammeln. In meinem Fall sah ich immer wieder Verbesserungen, bis ich ungefähr 5000 Bilder pro Klasse erreichte. Da das Sammeln von Daten sehr lange dauert, sollten Sie die Rohbilder in Originalgröße zusammen mit allen Metadaten, die an der eigentlichen Datensammlung beteiligt sind, erfassen und speichern, um mit verschiedenen Methoden zu experimentieren (Maskierung vs. ROI) variierende Eingabebildgrößen, andere Vorverarbeitung wie Histogrammnormierung usw.), ohne dass neue Daten gesammelt werden müssen.

Verwandte Themen