Interesse an einem OCR-Projekt auf LGPL-Basis?

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Interesse an einem OCR-Projekt auf LGPL-Basis?

Beitrag von Kukulkan »

Hallo,

Ich habe einen Source geschrieben (PB3.94) der bereits folgendes macht:

- erkennen der Textbereiche
- erkennen der Textzeilen
- erkennen der Zeichen darin
- ausgabe der einzelnen Zeichen als Bitmaps

Lerncode habe ich nur einen Pattern-Basierenden Testcode der nicht gut funktioniert. :(

Hier ein Bild der bisherigen Arbeit:
Bild

Ich denke darüber nach, ob ich daraus ein LGPL-Projekt machen soll?

Ziele des Projektes wären:
- eine DLL für das volle OCR (liefert ASCII-Text)
- eine OCR-Anwendung (?)
- eine Training-Anwendung für verschiedene Zeichensätze

Zielgruppe:
- Entwickler die eine OCR benötigen (desshalb die DLL)
- Eine open-source OCR-Anwendung
- Werbung für PureBasic (der PB-Code ist ja dann Open-Source)

Im Moment wären zu tun:
- Zeichenerkennung per Neuronaler Netze (oder was besseres?)
- Training-Anwendung

In einem weiteren Schritt könnte dann eine volle OCR-Anwendung daraus entstehen.

Dabei benötige ich aber Mitstreiter die sich das technisch zutrauen. Interesse?

PS. Die LGPL desshalb, weil ich die DLL dann selbst in kommerzielle Projekte integrieren möchte. Ist das ein fairer Ansatz?

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

Beitrag von Kukulkan »

Sehe ich das richtig, dass an einer freien OCR überhaupt kein Interesse besteht? :|

Volker
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

so kannst du das nicht sagen.

von meiner seite z.b. würde durchaus grundsätzliches interesse bestehen, so ein projekt mitzuverfolgen, und irgendwann darauf zurückgreifen zu können.

aber energien für mitarbeit kann ich nicht erübrigen, ich hab praktisch mein limit erreicht, bei manchen sachen komm ich schon nich mehr nach, wenn ich noch mehr zusage, platzt mir der kopp oder ich spring ausm fenster....

also, grundsätzlich sehr interessant, aber (sorry) findet nicht ausreichend priorität bei mir im moment...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
fsw
Beiträge: 74
Registriert: 12.09.2004 03:31
Wohnort: North by Northwest

Beitrag von fsw »

Volker lass den Kopf nicht haengen.

Das Projekt is SEHR interessant, aber wie Kaeru schon gesagt hat, die ZEIT spielt ne grosse rolle.

Hab leider zu wenig Zeit um an so einem grossen Projekt zu proggen /:->
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Ich würde liebend gerne bei sollch einem Projekt mit wirken, da ich selbst
auch Verwendung für ein OCR hätte. Aber ich fürchte, dass ich nicht das
nötige Know How für die restliche ToDo Liste habe. Von Neuronalen
Netzwerken verstehe ich leider garnichts.
Bild
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

Du könntest den verwendeten Zeichensatz ja mit den installierten Fonts per 2D-Drawing vergleichen....

Nur so 'ne Idee.. :? /:->
Bild
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Wäre aber itneresanter, das mit einem NN zu machen, da dieser auch
Schriften erkennen kann, die nicht auf der Windows Installation dabei
sind.
Bild
Benutzeravatar
Kukulkan
Beiträge: 1066
Registriert: 09.09.2004 07:07
Wohnort: Süddeutschland
Kontaktdaten:

Beitrag von Kukulkan »

Hallo,
Du könntest den verwendeten Zeichensatz ja mit den installierten Fonts per 2D-Drawing vergleichen....

Nur so 'ne Idee..
Das ist ja aber keine schlechte Idee. Dennoch ist das Vergleichen alleine nicht genug. Ein O (Oh) ist nunmal nicht das gleiche wie eine 0 (Null). Für die OCR und auch ein neuronales Netz schon. Desshalb steckt da noch viel mehr dahinter. Was auch ein Problem ist, ist die Tatsache der Doppelzeichen. Je nach Zeichensatz rutschen manche Buchstabenkombinationen so sehr zusammen, dass ich diese nicht mehr sinnvoll trennen kann. Es sind so Dinge wie ft, rt und ein paar andere. Da reicht ein Font-Vergleich nicht. Es muss für viele gängige Fonts ein Vergleichskatalog erstellt werden. Das wäre dann das Trainingsprogramm. Dem bringt man das ft dann eben als eigenes Zeichen mit der 'Übersetzung' als ft bei.

Evtl. erbarmt sich ja doch mal jemand...

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

Beitrag von mar »

Hallo,

Zeit ist bei mir auch ein Problem....

Ich hätte da ein paar Fragen. Welchen Plan hast du mit den NN

Welche NN wolltest du dafür verwenden? Hast du ein paar
Sachen, die man lesen sollte dazu, um abzuschätzen, wieviel
Zeit man braucht? Bis jetzt habe ich nur einfachste Sachen
selber programmiert. Ansonsten immer schon fertige
Programme zum trainieren genutzt.

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

Beitrag von Kukulkan »

Hi mar,
Welche NN wolltest du dafür verwenden?
Ich dachte an ein Backpropagation-Netzwerk, angewandt auf eine 16x16 Matrix, zur Mustererkennung. Darin sollten ca. 100 Zeichen (A-Z, a-z, gängige Umlaute, Ziffern, Satzzeichen) enthalten bzw. gelernt sein.

Am besten sollte diese Komponente folgende Funktionen haben:

Lerne ein Zeichen
(Übergabe einer 16x16 Bitmap mit dem zu lernenden Zeichen und der korrekten Zuordnung)

Erkenne ein Zeichen
(Übergabe einer 16x16 Bitmap und Rückgabe des Zeichens und einer
Verlässlichkeitsschätzung wie zB 'Sicher zu 60%')

Ich denke, die gelernten Werte sollten in eine ASCII-Datei gespeichert sein. Diese kann dann später für verschiedene Zeichensätze verwendet werden und auch unter den Usern ausgetauscht werden.

Als weitere Komponente sollte es eine Funktion geben, die zB Anhand des aktuellen Kontextes unterscheidet, ob eine erkannte 0 (Null) nicht besser als O (Oh) interpretiert werden soll oder umgekehrt. Oder ein erkanntes kleines L (l) nicht besser als 1 oder I (Ih)... Sozusagen ein Lektor für die erkannten Zeichen.

Das zumindest ist der Plan...

Ich bräuchte aber jemanden, der sich mit NN auskennt und in der Lage ist die Erkennungs- und Lernfunktionen umzusetzen.

Ein guter Startpunkt dafür kann die Wikipedia sein:
http://de.wikipedia.org/wiki/Backpropagation

Ich glaube, dass auch schon mal jemand hier im Board etwas mit NN gemacht hat. Ich geh mal suchen...

Volker
Antworten