Frage

Lassen Sie uns sagen, dass ich ein kleines Bitmap haben, die eine einzelne Ziffer (0..9) in Handschrift enthält.

Ist es möglich, die Ziffer mit einem (zweischichtige) perceptron zu erkennen?

Gibt es andere Möglichkeiten, einstelligen Bereich aus Bitmaps neben der Verwendung neuronaler Netze zu erkennen?

War es hilfreich?

Lösung

Feeding jedes Pixel einer Bitmap direkt in ein neuronales Netz wird viel Training erforderlich ist, und wird für den Umgang mit Skalierung oder Drehung des Bildes nicht gut funktionieren.

Um das neuronale Netzwerk durchführen gute Klassifizierung helfen, müssen Sie einige Vorverarbeitung Schritte auszuführen.

  • Normalisieren das Bild:
    • Stellen Sie den Kontrast und die Helligkeit, so dass das Histogramm des Bildes ein Referenzbild übereinstimmt.
    • das Bild verwischen, entfernen Lärm.
    • wandelt es in schwarz und weiß, einige Schwelle verwendet wird.
    • Finden Sie den Begrenzungsrahmen der Form, Maßstab auf eine vordefinierte Größe.
  • verschiedene Merkmale des Bildes berechnen, die verwendet werden können, um eine Stelle von einem anderen zu unterscheiden:
    • Die Eulerzahl des Bildes - zeigt Ihnen, wie viele „Löcher“ gibt in der Form ist (zB zwei Löcher für die Ziffer 8).
    • Die Anzahl der weißen Pixel (die Fläche der Ziffer)
    • Die Hauptkomponenten des Satzes von Koordinaten des weißen Pixels - erfahren Sie, wie „längliche "die Form ist.
    • ... andere Funktionen, die Sie daran denken können dazu neigen, ähnliche Werte für ähnliche Stellen zu haben.

Die Hauptkomponenten können auch verwendet werden Rotation der Form zu normalisieren, so daß die längste Achse senkrecht ist.

Die Funktionen sind, was Sie in das neuronale Netz einspeisen für die Einstufung, nicht die Pixel.

Andere Tipps

Hier ist ein Link zu einer riesigen Datenbank von handgeschriebenen Ziffern. Die Vorderseite hat auch relativ Leistungsdaten für viele verschiedene Methoden, darunter 2 Schicht Neuronale Netze. Dies sollte Ihnen einen guten Start geben: MNIST Ziffern Datenbank und Leistung

Sie möchten vielleicht auch Geoff Hinton Arbeiten Restricted Boltzmann-Maschinen überprüfen, , die er sagt, führt ziemlich gut, und es gibt einen guten erläuternden Vortrag über seine Website (sehr sehenswerte).

Hier ist ein Matlab Beispielprogramm , die ein trainiertes neuronales Netzwerk verwendet, um zu erkennen, einstelligen Bereich (Bildgröße auf 28 festgelegt * 28).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top