PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Objekterkennung



Spongebob
03.11.2004, 22:06
Hallo alle zusammen

Bin in dem Gebiet Objekterkennung noch relativ neu und auch hier im Forum und habe deshalb auch noch nicht so den Überblick was alles schon erwähnt und geschrieben wurde. Deshalb entschuldige ich mich sollte mein Anliegen hier schön ausreichent diskutiert worden sein.

Es geht hierbei um folgendes. Ich haben ein Programm das auf ein Bild den Canny-Algorithmus anwendet, mir also die Kanten findet. Mein Ziel ist es nun erstmal ganz einfache Objekte(Quadrat Kreis Dreieck ) erkennen zu können(größenunabhängig). Neuronale Netze wollte ich hier nicht verwenden da das für den zweck wohl etwas überzogen ist. Mein Problem ist nun das ich bis jetzt noch nicht wirklich einen Überblick ](*,) habe wie die eigentliche Erkennung ablaufen kann und welche Möglichkeiten es gibt.

Wäre euch sehr dankbar wenn mir jemand einen Überlick und Tips geben könnte.

Gruss Spongebob

eFFex
04.11.2004, 06:27
du machst ein bild, digitalisierst es und jagst deinen Algorithmus drauf

zefram
04.11.2004, 11:41
du machst ein bild, digitalisierst es und jagst deinen Algorithmus drauf
Eine echte Experten-Antwort ...

Spongebob: Wenn du die (geschlossenen) Linienzuege der Objekte hast (also ohne Luecken), kannst du fuer den Anfang versuchen, das Verhaeltnis von Umfang und Flaeche zu bestimmen. (Kompaktheit). Man kann es so skalieren, dass die Kompaktheit fuer einen Kreise =1 ist und bei anderen Objekten entsprechend groesser, je weiter sie von der Kreisform abweichen.
Du kannst auch die Ecken zaehlen, indem du den Kanten Richtungen zuordnest usw.

Weitere Merkmale, die invariant gegenueber Rotation, Bewegung und Skalierung sind, sind die sogenannten Momente. Einfach mal danach googeln, da findet sich sicher ne Menge.

Etwas aufwaendiger ist auch das Ausrechnen von Fourierdeskriptoren der Linienzuege, damit kann man aber dann auch Buchstaben unterscheiden und das ganze auch relativ rotationsinvariant.

Hoffe das gibt erstmal ein paar mehr Anregungen als der letzte Beitrag ...

zefram
04.11.2004, 11:50
Noch ein Nachtrag: Um die gefundenen Kanten in Geradengleichungen umzuwandeln (fast wie in der Schule mit y=m*x+a, aber nur fast) ist die Hough-Transformation ganz nett. Die gibts auch etwas komplizierter fuer Kreise, Ellipsen ...

Und ueberhaupt zu empfehlen: (Bernd?) Jaehne, Digitale Bildverarbeitung

Spongebob
04.11.2004, 13:20
Hi Zefram

Ich danke dir für deine Antwort. Ich werde mal noch etwas in die Richtung die du angesprochen hast lesen und hoffe das es mich weiter bringt. Das mit der Houghtransformation hatte ich mir auch überlegt, nur hab ich jetzt gelesen das dieser Ansatz zumindest für die Erkennung von Kreisen Ellipsen usw. in der Praxis nicht weiter verfolgt wird(Steinbrecher).
Gut das du mich darauf bringst. Ich habe mir vor kurzen sogar persönlich von Herrn Jähne das Buch ausgeliehen ;) . Werd es dann doch nochmal etwas Gründlicher anschauen.
Wenn du sonst noch gute Quellen kennst oder so bin ich natürlich sehr dankbar für jede Info die mich weiterbringt.


Gruß
Spongebob

Spongebob
04.11.2004, 13:27
Hi eFFex

Du hättest doch bei deiner Antwort nicht so ins Detail gehen brauchen ;) aber danke für die Mühe

Gruß
Spongebob

eFFex
04.11.2004, 13:48
war auf Grund der frühen Morgenstunde zu müde, deine frage voll zu erfassen. ich dachte du hättest deinen Algorithmus und wüsstest nichts damit anzufangen..........=)

BlackyJack
01.12.2004, 17:16
Hallo zusammen,

Wie schließt man denn die Lücken am besten, die beim Canny-filtern entstehen?
Hab gegoogled und schon mal herausgefunden, dass die Lücken an Kreuzungspunkten auf die Non-Maximum-Suppression zurückzuführen ist. Ein interessanter Lösungsansatz scheint mir eine zusätzliche Eckendetektion zu sein, aber irgendwie funktioniert das alles noch nciht so, wie ich's mir vorstelle.

Würde mich sehr freuen wenn ihr mir irgendwie weiterhelfen könntet.

Gruß
BlackyJack

zefram
03.12.2004, 16:52
Wie schließt man denn die Lücken am besten, die beim Canny-filtern entstehen?
Stichwort: morphologische operationen, closing, opening, dilation, erosion.
Was du moechtest laesst sich zu nem bestimmten Ausmass mit Closing loesen.

Fuer Objekterkennungen lohnt es sich, die per Kantendetektor (Canny, Sobel ...) gefundenen Kanten auf ihre Skelettlinie zu reduzieren. (Skelettierung)


eine zusätzliche Eckendetektion
Stichwort Harris Corner Detector