2012-04-05 3 views
1

Ich sah verschiedene Artikel über OCR-Formularerkennung (Datenextraktion) und sie sagten, dass sie Neural Network verwendet, um Formerkennung zu tun, also, was ist die Beziehung zwischen künstlichem neuronalem Netzwerk (ANN) und Formularerkennung? Wenn ich Felder aus einer BusinessCard extrahieren möchte, ist es erforderlich, ANN zu verwenden oder ist das optional? Mit anderen Worten, wann brauche ich ANN und wann nicht?Was ist die Beziehung zwischen OCR und künstlichem neuronalem Netzwerk?

Antwort

1

Es ist ein bisschen anders. ANN ist nur ein "Experte" in allen OCR. Aber OCR-Engines enthalten viele Experten. Wenn Sie ANN studieren, werden Sie eine einfache OCR-Engine mit nur ANN bauen, aber dies ist nicht vergleichbar mit modernen Motoren, die dies in Verbindung mit Tri-Gramm, Morphologie, Datentypen (sehr wichtig für BCR und Formulare), Wörterbüchern, verbundenen Komponenten Algorithmus verwenden usw. Betrachten Sie es als eines der Werkzeuge in der Trickkiste, um qualitativ hochwertige Ergebnisse zu erhalten. Ein guter Motor wird ANN und alle anderen integrieren. In BCR gibt es zusätzliche Überlegungen und es sollte sehr schwer auf verbundenen Komponenten, Wörterbücher zuerst, dann verwenden Sie ANN und Mustererkennung für die tatsächliche Erkennung.

1

ANN ist eine Möglichkeit OCR durchzuführen. Da sind andere. Wenn Sie also Felder aus einer BusinessCard mit ANN extrahieren möchten, ist dies nur optional.

+0

Was sind die anderen Techniken, die ich verwenden kann, um Felder von Visitenkarten zu extrahieren? –

+1

Für OCR benötigen Sie normalerweise mehr als ein Modul zur Zeichenerkennung (das könnte ein ANN, SVM, ... sein). Zuerst müssen Sie Blöcke, Zeilen, Spalten extrahieren und normalisieren, skalieren, rotieren Sie Ihr eingegebenes Bild ... – alfa

+0

Was ist SVM, gibt es irgendwelche Artikel, um es zu lernen? oder irgendwelche Artikel darüber, wie man Blöcke, Zeilen, Spalten extrahiert und das Eingabebild normalisiert, skaliert, rotiert? –

1

Gute Frage. Ich habe vor kurzem einige Zeit mit OCRopus verbracht, einem Google-Projekt, das OCR macht - du kannst es kostenlos bekommen und damit selbst spielen. Ich bin mir ziemlich sicher, dass es ein ANN als eines der Module dahinter hat. Der gesamte Prozess der optischen Zeichenerkennung kann jedoch viele Schritte haben (viele verschiedene kleine Module, die jeweils etwas tun und die Ergebnisse an das nächste Modul weitergeben).

So, hier sind einige der Dinge, die ich durch die Module in diesem Projekt als getan erinnern:

  1. ein Modul Es war, dass das Bild in Schwarzweiß gedreht - das macht es einfacher für die spätere Module Zurecht kommen.
  2. Speckles/Spackles loswerden.
  3. Geraderichten der Textzeilen.
  4. Bruchtextzeilen in einzelne Worte (es ein paar Wochen gewesen ist, nicht sicher, über diese ein)

Grundsätzlich Sie die oben mit wenig Bits von Code tun können, die nicht ein neuronales Netz beinhalten kann. Es ist also einfacher, mit diesen kleinen Codezeilen zu arbeiten.

Das neurale Netz, denke ich, wird nur verwendet, um die einzelnen Zeichen zu erkennen - welcher Charakter einer Gruppe von möglichen Zeichen ist es.

Es gibt einen Trainingsbefehl in der OCRopus, den ich über eine Woche am Laufen hatte, und es schickte weiterhin Linienmuster an die Karte, wobei die Karte langsam geändert wurde. Ich denke, dass es den ANN-Teil trainierte.