Interesse an einem OCR-Projekt auf LGPL-Basis?

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

hi,

muss ich mal in meinem 10 Jahre alten Code wühlen. Damit ich die Bitmaps zum Training für SNNS nutzen kann Ansonsten muss ich dafür wieder einen Konverter schreiben.
Für den Anfang sind Bitmaps sicherlich ok. Aber für Schrift, die unterschiedlich groß ist werden wohl Vektoren besser geeignet sein. Ansonsten könnte man die Schrift normalisieren ähnlich zur Musik.
Na ich werde erst mal das Programm suchen. Ich melde mich wenn ich getestet habe. Ach der alte Code war in Matlab - aber das wird ja auch
in PB gehen.

Bis dann
mar
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

Hi,

na ja habe mal etwas rumgespielt mit vergleichbaren Daten,
wie du sie so hast. Für computergenerierte Daten wird das
funktionieren. Aber dann kann man auch gleich einen Bildvergleicher
schreiben. Natürlich braucht man sich um Ähnlichkeiten bei NN's
keine Sorgen machen. Wenn das Trainingfile diese Unterschiede
beinhaltet wird es das auch später richtig wiedergeben.
Allerdings glaube ich nicht, dass es wirklich ein gescannten
Computerausdruck ohne Eingangskonvertierungen erkennen wird.
Die Hauptarbeit wird die Aufbereitung der Daten sein und auch die
richtige Auswahl der Trainingsdatensätze.
Nun muss ich mal ein paar Konvertierungen testen und das
Netz zum Wiedergeben der Ergebnisse in PB eingeben.

Im Moment habe ich Zeichen von 24x24 Pixeln Größe und
2 * 75 verschiedene Zeichen zum Testen.

Welche Größen hast du so geplant?
Wie willst du die Daten aufbereiten?

mar
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

Nur noch mal zur Sicherheit - ich werde erst mal kein Backpropagation Lernalgo in PB schreiben. - frühestens wenn alles andere perfekt läuft - oder auch nie - lieber keine Versprechungen.

mar
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hi mar,

Danke für dein Interesse!
Welche Größen hast du so geplant?
Also ich dachte, dass eine 16x16 Bitmap (Matrix) ausreichen sollte. Ich kann die Zeichen aber auch auf 24x24 skaliert liefern. Kein Problem.
Wie willst du die Daten aufbereiten?
Also ich habe zu jedem Zeichen einen zugehörigen Block (in der Regel ist das die Zeile) und absolute nPoisition (x/y). Ein Block kann aber auch eine Bitmap oder ein Barcode sein (meist ist es dann als ein Zeichen im Block erkannt).

Wenn Du mir also ein erkanntes Zeichen lieferst (zB die Bitmap ist zu 80% ein A) dann kann ich das wieder in den Zusammenhang (Zeile, Position) bringen. Eine Prüfinstanz ist dann noch zu erstellen (Oh oder Null, I oder 1 etc.).
Wenn das Trainingfile diese Unterschiede
beinhaltet wird es das auch später richtig wiedergeben.
Normalerweise wird durch das NN ja erst die Fehlertoleranz erreicht (im Gegensatz zum direkten Bitmapvergleich). Meines wissens muss das NN nicht mit Fehlern trainiert werden sondern bestenfalls mit weiteren Zeichensätzen (falls man das nicht sowieso getrennt handhaben möchte).
ich werde erst mal kein Backpropagation Lernalgo in PB schreiben.
Wie willst Du dein Netz trainieren, ohne einen Lernalgorithmus?

Volker
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

Na das Netz läuft schon mit 2 verschiedenen Zeichensätzen a 24x24.
Das ist standardmäßig bei SNNS dabei.

SNNS - ist ein Programm zum Trainieren von NN.
Das ist zwar schon 10 Jahre alt - aber ich denke
mal das was wir hier machen ist auch nicht wirklich neuer.

Im Moment versuche ich einen Recall in PB hinzukriegen.
mar
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hallo,

Ich werde nächste Woche einen Webspace unter www.x-beliebig.info einrichten auf dem das Projekt vorerst gehostet wird. Dann stelle ich den bestehenden Source online und wir können loslegen. Evtl. machen wir später ein CVS für das Projekt auf. So lange wir zu zweit sind, macht das wohl noch keinen Sinn...

Volker
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

Man gut, dass es PB 4.0 schon gibt - sonst hätte ich das Handtuch geschmissen 8) .
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

Normalerweise wird durch das NN ja erst die Fehlertoleranz erreicht (im Gegensatz zum direkten Bitmapvergleich). Meines wissens muss das NN nicht mit Fehlern trainiert werden sondern bestenfalls mit weiteren Zeichensätzen (falls man das nicht sowieso getrennt handhaben möchte).

NN - lernen das was man ihnen anbietet - auswendig, natürlich nur dann, wenn die Struktur des NN und die Lerndaten es zulassen.

Bei unbekannten Sachen fangen die NN genauso an zu schätzen, wie es auch mathematische Funktionen machen würden. Der Vorteil von NN ist, das man sich um die Logik im NN (außer der Struktur des NN) nicht weiter kümmern muss. Dafür ist das NN aber auch wie eine Black Box im Physikunterricht zu sehen.

NN - müssen Fehler auch lernen.

zB. sind bei 75 Zeichen schon immer gleich 74 falsche mit dabei!

mar
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Finde das Thema zwar sehr interessant, habe aber leider auch keine Zeit
mitzumachen. Ich kann euch nur als weitere Starthilfe meine Codes hier
anbieten:
http://www.purebasic.fr/german/viewtopi ... neuronales

Wünsche viel Glück mit dem Vorhaben :allright:
mar
Beiträge: 107
Registriert: 06.08.2005 14:49

Beitrag von mar »

achso :wink: ich habe vergessen zuzustimmen.

Geht in Ordnung, versuchen wir ein paar Zeichen wiederzuerkennen.
CVS - ist noch etwas übertrieben. Ab drei wär so was ok. Ich denke im Moment arbeitet eh erstmal jeder an was anderem.
mar
Antworten