PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mustererkennung



p_mork
01.03.2007, 16:19
Hallo!

Sicher haben einige von Euch den POB-EYE-Roboter auf www.roboter-teile.de und einige Videos vom ihm gesehen. Gerade bin ich dabei, einen ähnlichen Roboter auch mit der Kamera C8088 und einem LPC2214 (ARM mit 60MHz) nachzubauen. Nur weiss ich irgendwie nicht so genau, wie das Suchen nach Mustern grundsätzlich funktioniert. Im Netz find ich immer nur Sachen wie Kantenerkennung, Unschärfeausgleich usw. Also immer nach dem Prinzip altes Bild->Bearbeitung->neues Bild, aber nie altes Bild->Bearbeitung->Vektoren. Wie kann man denn z.b. irgendwie nach einem Dreieck suchen? Mit einer Matriz, die man drüberschiebt und wo bestimmte Werte auftauchen das sind dann die Ecken oder ganz anders? Ich suche aber keine fertigen Funktionen sondern eher Verfahren.

MfG Mark

plusminus
01.03.2007, 18:28
Also Mustererkennung am PC würd ich mit Neuronalen Netzen machen, das geht ziemlich fix. Inwieweit man das auf nen uC runterskaliert bekommt (also wieweit der das in einigermaßen echtzeit berechnen kann) ist die andere Frage...

p_mork
01.03.2007, 20:46
Hallo plusminus,

was meinst Du mit Neuronalen Netzen?

MfG Mark

stochri
01.03.2007, 21:58
http://de.wikipedia.org/wiki/K%C3%BCnstliches_neuronales_Netz

insbesondere

http://de.wikipedia.org/wiki/Schrifterkennung

plusminus
01.03.2007, 23:02
Ich hab da auch Quellcode bei PSC vor ner ganzen Weile hochgeladen...

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=61258&lngWid=-10

Bzw in den News auf meine [www]-Page bissel runterscrollen, da ist noch ne neuere Version.

p_mork
02.03.2007, 13:55
Hallo!

@plusminus:
Jetzt habe ich zumindest kapiert, wie man mit dem "%-Verfahren" einfache Muster erkennen. Nur wie isoliert man jetzt die einzelnen Objekte von dem Rest des Bildes, um diese dann zu prüfen? Mit Sobel die Kanten erkennen und dann nach Linien suchen, die immer wieder den gleichen Punkt passieren? :-k

@stochri:
Ich habe mir die beiden Artikel durchgelesen, aber nicht so ganz kapiert(besonders das mit KNN). ](*,) Kennst Du vllt einen Artikel, wo das so geschrieben ist, dass es auch ein 15-jähriger verstehen kann?

Oder ist das Thema generell zu komplex, sodass ich damit erst in ein paar Jahren weitermachen sollte?

MfG Mark

plusminus
02.03.2007, 16:04
wenn du mit dem Sobel-Operator die kanten herausfilterst, dann bist du schonmal einen großen Schritt näher zur mini-Objekt-Erkennung gekommen.

Sagen wir mal Kreise und Quadrate.

Das tolle an Neuronalen Netzen ist ja, dass die Input-Werte nur grob stimmen müssen, wie du auch auf dem PSC-Link gesehen haben wirst.
Du selbst erkennst ja auch einen Ball, der schon gut etwas an Luft verloren hat.
Du übergibst quasi einfach ein BitMuster und hinten kommt raus, was es mit welcher Wahrscheinlichkeit war.

Das Problem wäre nurnoch aus dem Bild einzelne Bereiche herauszusuchen, in denen zusammenhängende kanten vorkommen. Diese Bereiche übergibst du an das NN udn tadaaa die kanten sehen so aus wie ein Kreis!

Ich sag nur Learning by doing ;) Alles ist machbar !

p_mork
02.03.2007, 19:43
Das Problem wäre nurnoch aus dem Bild einzelne Bereiche herauszusuchen, in denen zusammenhängende kanten vorkommen

Jaja, nur wie? So eine Art virtuelle Linienverfolgung machen und immer gucken, ob man an dem Punkt schon mal war?

MfG Mark

plusminus
03.03.2007, 14:10
Hm, wenn dus bis zu diesem Bild geschafft hast

https://www.roboternetz.de/wissen/images/5/5d/NachSobel.jpg

, dann bräuchtest du nur noch nen such-algo, der die Gewichtung der weißen punkte errechnet...

Aus dem Stand fällt mir da nichts fertiges ein...

Müsste man mal suchen...

p_mork
03.03.2007, 16:07
dann bräuchtest du nur noch nen such-algo, der die Gewichtung der die Häufigkeit der weißen punkte errechnet...


Eine sehr gute Idee eigentlich. Insbesondere wenn ich weiß, dass das Dreick schwarz auf einem weißen Blatt gezeichnet ist, dann kann ich ja das Bild nach den "stärksten" Kanten filtern. Dann bleiben da nur noch wenige weiße Punkte übrig, womit das noch etwas vereinfacht wird.

Danke für die Idee!

MfG Mark

ogni42
04.03.2007, 16:27
Hier ist ein Beispiel für Objekterkennung und Klassifikation mit Neuronalen Netzen:
http://www.techinfo.rwth-aachen.de/cgi-bin/axInterface