Handschrifterkennung



  • Jester: Grundsätzlich finde ich das Projekt eigentlich wie gesagt verdammt interessant; ich habe zwar momentan viel zu tun, aber nachdem ich gerne auch unter Linux damit herumspielen können würde, könnte ich einfach mal die Kernfunktionalität ein bisschen mehr vom GUI trennen und/ oder ein wxWidgets-Frontend schreiben - falls Interesse besteht...
    (Wäre auch eine gute Gelegenheit mal endlich mit wxWidgets herumzubasteln. 🙂 )

    edit: Aber sagt mir doch einfach wenn eine Version heraußen ist, die featurewise eine Zeit lang unverändert bleibt, das hätte den Vorteil dass niemand irgendwelche Arbeit doppelt machen muss... (Vor allem ich nicht. 😉 )



  • Jo, ich sag bescheid. Eigentlich wollte ich jetzt dann mal diesen Benchmark-Mode bauen... allerdings bin ich über's WE heimgefahren und hab das Netzteil für den Laptop vergessen. Noch 46%, dann ist Sense mit Programmieren. 😞
    Ich denke, die PCA wird vom Interface nur noch erweitert, da wird nicht mehr gestrichen. Ich muß mal schauen, daß ich das Interface vom Klassifikator festgeklopft kriege. Wenn Du Dich dann nur auf die Schnittstelle verläßt sollte alles wunderbar funktionieren.

    MfG Jester



  • @Jester

    Testen ist sicher ganz nett. Ideen implementieren oder schöne Vorschläge machen. Aber ein "das kann man doch eh alle mit neuronalen Netzen machen" ist kein ernst zu nehmender Vorschlag sondern klingt für mich eher wie eine leere Worthülse. Da wollte nur jemand demonstrieren, daß er auch Ahnung davon hat.

    öhm nein ganz so ist das nicht... zum Zeitpunkt meiner frage wusste ich ja noch gar nicht wie ihr das realisiert habt und mir ist da halt ein neuronales netz in den kopf gekommen (weils halt relativ einfach ist)

    Die Idee und das allgemeine Prinzip einer PCA kenn ich zwar, würd aber nicht behaupten jetzt die Mathematik dazu zu kennen (wobei das ja auch mehr oder weniger nur ein abgepinsel aus ner Formelsammelung ist, verstehen ist zwar immer von vorteil aber nicht immer nötig) das mit dem neuronalen netz ist mit deswegen sofort in den kopf gekommen weil ich das mal für ne vokallauterkennung also (a,e,i,o,u) gebastelt habe und das auch so halbwegs gefunzt hat...

    dumme Vorschläge was du anders machen sollst (ohne dein genaues Projekt überhaupt zu kennen) wollte ich bestimmt nicht geben... hast du glaub ich in den falschen Hals bekommen... 😉
    vermutlich lag dir noch mein anderer Thread bezüglich meiner Arbeitseinstellung an der Uni schwer im Magen 😃

    Gruss Windalf



  • [quote="Windalf]
    ... hast du glaub ich in den falschen Hals bekommen... 😉
    [/quote]

    Jo, kann sein.
    Nobody's perfect. 🙂



  • so, hab jetzt die komprmierung eingebaut und aktiviert. aber irgendwie frisst meine version jetzt die großen sampels nicht mehr?

    zur info: es gibt jetz ein unterprojekt "converter", mit dem man die datein aus dem alten format ins neue umwandeln kann.
    schlüssel zum ganzen sind die 2 funktionen stringToBin und binToString, die jeweils aus 8 zeichen eines machen, mit der info der 8 zeichen binär gespeichert und vice versa.
    vielleiht hab ich die sachen nur falsch eingebaut, vlt checkt das einer, der sich mit dem projekt etwas auskennt ;9 die methoden, die ihc dazugebaut habe: SaveNew und LoadNew

    www.faulerhund.net/stuff/ErkennerSourceNeu.zip

    edit: als behelfslösung könnte man ja sonst einfach die datei in ein stringstream "entpacken" und aus dem so auslesen wie aus dem istream vorher



  • Hab gestern nach angefangen den Benchmark zu implementieren, bin aber noch nicht so sehr weit gekommen. Werd mir Deinen Source wohl morgen mal anschaun.



  • Korbinian: Könntest Du vielleicht auch Binaries hochladen?
    Ich habe kein Windows und kein Visual Studio um den aktuellen Stand der Dinge anzusehen... 😞
    (Aber mit Binaries könnte ich probieren ob das Ding vielleicht mit Wine läuft. 🙂 )



  • hm, ich hab natüclih wieder nur ein dynamisch gelinktes teil 😞 wenn ich nicht in 6 stunden nach greece aufbrechen würd, würd ich dir eins machen 😉



  • *g* Schon in Ordnung, viel Spaß im Urlaub! 🙂



  • Hallo mal wieder!

    Ich wollt mich nur mal kurz melden. Hab leider im Moment sehr viel zu tun, da ich bald Klausur schreibe. Komme wahrscheinlich erst danach dazu richtig was am Projekt zu tun. 😞



  • Ich spiele jetzt gerade ein bisschen herum; ich möchte die Erkennung gerne noch ein bisschen weiter vom GUI wegbekommen, ich glaube das wäre sinnvoll bevor ich es auf wxwidgets portiere.



  • Ich glaub ich baue auch gleich was ein damit eingegebene Buchstaben aus einer temporären Datei ausgelesen werden, das hätte den Vorteil dass das Testen vereinfacht wäre und die Erkennung selbst zu einem komplett von der GUI unabhängigen Standard-C++ Programm ohne plattformspezifischen Code gemacht werden könnte.



  • Uh, irgendwie hat sich das jetzt ein wenig verselbständigt was ich begonnen habe... 🙂

    Nur so eine Überlegung meinerseits noch:
    Ich will hier wirklich niemandem ans Bein pinkeln, aber eigentlich fand ich das alte Sample-Format gar nicht so schlecht, Klartext ist viel besser wartbar usw. und meines Erachtens wäre es schöner wenn wir die Kompression einem externem Programm/ irgendeiner Library überlassen würden.
    Fändet Ihr es sehr schlimm wenn ich dahingehend was unternehmen würde? (Die Frage geht vor allem an Korbinian der das aktuelle Format implementiert hat und Jester dessen "Baby" das Projekt ja im Grunde ist.)

    edit: Zu später Stunde wiederhole ich mich...



  • nman schrieb:

    ...und die Erkennung selbst zu einem komplett von der GUI unabhängigen Standard-C++ Programm ohne plattformspezifischen Code gemacht werden könnte.

    Hab ich jetzt mal gemacht - die Erkennung kompiliert jetzt mit ein paar Warnungen unter GNU/ Linux. (gcc 3.3.3)
    Ich verpass dem Ding dann demnächst noch ein CLI damit mans auch vernünftig testen kann; heute bin ich ehrlich gesagt schon zu müde um da noch großartig was dran zu machen...



  • Schöne Sache.

    Wie wär's mit zwei verschiedenen Reader für die beiden Formate? Dann könnte man beides lesen. Ich sehe für beides gewisse Vorteile.



  • Ich werde jetzt mal nur Korbinians Variante drinlassen und hoffe dass ich am Wochenende noch ein bisschen Zeit habe um ein Mini-CLI fertigzustellen, bzip2-Kompression oä kann man später ja immer noch einbauen...



  • nman schrieb:

    Korbinian: Könntest Du vielleicht auch Binaries hochladen?
    Ich habe kein Windows und kein Visual Studio um den aktuellen Stand der Dinge anzusehen... 😞
    (Aber mit Binaries könnte ich probieren ob das Ding vielleicht mit Wine läuft. 🙂 )

    Hallo Korbinian,
    ich würde wärmstens empfehlen, die Abhängigkeiten von VC in deinem Code zu eleminieren. Ich habe nach 5 min immer noch nicht gefunden, wo dein Erkennungscode überhaupt versteckt ist. Ausserdem wäre es schön, den aktuellen Stand bzw. die TODO in einer Übersicht zu haben, damit man gleich sieht, was funktionieren sollte und was nicht.
    Ok, genug gekritelt, bin gespannt, wie's weiter geht!

    mfg, CC



  • _CC_: Ich habe die Kernfunktionalität bereits in ein VC++-unabhängiges Standard-C++-Programm gepackt, allerdings habe ich derzeit keine Zeit ein vernünftiges CLI dafür zu basteln ohne das das Hochladen wohl absolut keinen Sinn macht... 😞



  • nman schrieb:

    _CC_: Ich habe die Kernfunktionalität bereits in ein VC++-unabhängiges Standard-C++-Programm gepackt, allerdings habe ich derzeit keine Zeit ein vernünftiges CLI dafür zu basteln ohne das das Hochladen wohl absolut keinen Sinn macht... 😞

    Naja, eigentlich ist das Herzstueck - zumindest fuer mich - das interessanteste. Alles andere ist doch Quark. Also vielleicht doch mal was hochladen, bzw. ein paar Details zum Algorithmus posten.
    thx, CC



  • Man kann es aber derzeit noch nicht verwenden und im Grunde ist mein Code ja nur alter Wein in neuen Schläuchen; hab ein wenig Geduld, ich gehe davon aus dass ich bis Anfang nächster Woche Zeit haben sollte, auch ein CLI zu bauen.
    Bis dahin musst Du Dich halt durch den alten Code durchbeißen der größtenteils aber auch nicht soo schwer zu verstehen ist.


Anmelden zum Antworten