Mustererkennung - leichte kost
-
Danke, für den link.
Ich hab das mal ein bisschen überflogen.
Mir ist das irgendwie schon zu spezifisch. Ich möchte die Grundlagen lernen.
Komm ich um KI nicht herum?
-
Doch Du kannst auch ohne KI Mustererkennung machen.
Was willst/mußt Du denn genau machen? Es gibt da nämlich ziemlich unterschiedliche Algorithmen.
Kriegst Du ein Bild vorgelegt und mußt sagen: Das ist ein Kreis, das ist ein Rechteck etc. oder kriegst Du ein Bild vorgelegt und mußt dadrauf Kreise, Linien, Rechtecke etc. finden?
Zu letzterem gab es neulich einen Artikel im C/C++ User's Journal.Auf jeden Fall ist es wohl sinnvoll, erstmal einen Hochpassfilter über das Bild laufen zu lassen, um die Kanten deutlicher zu kriegen.
MfG Jester
-
Danke für den Hinweis. Ich werde mal nach diesem Artikel suchen. Hast du zufällig den Titel parat?
Das mit dem Hochpassfilter werde ich mir merken.
-
"Computing the Hough Transform" heißt der Artikel.
Aber ich sehe gerade, der extrahiert nur Geraden. Aber vielleicht nützt er Dir trotzdem was.MfG Jester
P.S.: Was ist denn nun Deine Aufgabe?
-
Soweit ich informiert bin, wird über eine Kamera (s/w, 640,480) ein Bild über ein bestimmtes Werkstück zum PC gesendet. Dieser wertet das bild aus (Muster) und identifiziert das Werkstück. Der Rest ist Open End. Ein Lehrer hat nen Vorschlag gemacht, diese Informationen einenm Roboter zu übermitteln und dieser Soll das Werkstück irgendwie einsortieren.
Warscheinlich braucht man dann gar keine richtige Mustererkennung, aber es interessiert mich und es kann ja auch nicht schaden.
-
Also sieht er immer nur ein Werkstück?
Wieviele verschiedene gibt's davon?
Was sind das für Teile, sind die dann von unterschiedlichen Seiten zu sehen, also in beliebiger Rotation oder fest immer von der gleichen Seite?MfG Jester
-
So genau ist das noch nicht festgelegt, aber da ich nur eine Kammera bekomme, wird das Werkstück nur von oben forografiert. Wie viele verschiedene es gibt, ist eigentlich egal, da er sowieso eine Mustererkennung durchführen muss.
-
Jover schrieb:
Wie viele verschiedene es gibt, ist eigentlich egal, da er sowieso eine Mustererkennung durchführen muss.
Achso, und daher ist das egal... vielleicht ist es für manche Methoden der Mustererkennung aber wichtig zu wissen, wieviele es sind?
Für ein solches Problem bieten sich zum Beispiel Support-Vektor-Maschinen oder PCA an. Und da muß man eine Matrix behandeln, die mit steigender Anzahl der Objekte größer wird... und da wird's langsam eklig.
http://www.learning-with-kernels.org/ hier gibt's zum Beispiel ein paar Infos.MfG Jester
-
Das Problem hast du allgemein, wenn du irgendwas benutzt was eine Tabelle mit "Ähnlichkeiten" zu den erwarteten Werkstücken errechnet wird, wo dann das mit der höchsten Ähnlichkeit gewählt wird (z.b. NN).
Bye, TGGC (Der Held ist zurück)
-
Eben und offen gesagt fällt mir auch kaum ein Ansatz zur Mustererkennung ein, der nicht so ähnlich arbeitet, schließlich ist das genau der Sinn und die Bedeutung von Muster erkennen.
-
Das versteh ich jetzt leider nicht so richtig. Wieso braucht man ein Vergleichsobjekt um z.B.: einen Kreis auf dem Werkstück zu erkennen?
Oder meint ihr ein Vergleichsobjekt um die Werkstücke irgendwie sortieren zu können?
PS. Danke für den Link
-
Naja, um die Werkstücke klassifizieren zu können mußt Du ja wissen, wie sie aussehen. Deswegen hast Du ja von jedem schon vorher mal einige Bilder. Und jetzt versuchst Du festzustellen, worin sich die einzelnen Werkstücke ganz besonders unterscheiden und was die besonderen Eigenschaften eines jeden Teils sind. Dabei versuchst Du so wenig wie mögliche Daten als Vergleichsdaten übrigzubehalten, um den Einstufungstest effizient zu machen. Außerdem sollten diese Eigenschaften in irgendeiner Form invariant unter Verschiebung und leichter Drehung des Objektes sein. Sonst könntest Du ja gleich Pixel für Pixel mit dem Referenzbild vergleichen.
MfG Jester