-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Bildverarbeitung Hough-Transformation Alternativen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127

    Bildverarbeitung Hough-Transformation Alternativen

    Anzeige

    Hallo... Habe ein Bild aus einem Interferometer das bestimmte streifen / ringmuster ergibt.
    wenn ich das jetz Fouriertransformiere bekomme ich bei nem streifenmuster ein maximum in der mitte, sowie 2 kleiner maxima links und rechst bzw oben und unten davon, (zb link oben, rechts unten).
    Um zu sehe in welchem Winkel die Streifen verlaufen kann ich jetz einfach schauen in welchem winkel die gedacht linie durch die 3 maxima verläuft .
    (das macht bis jetz die hough-transformation)
    Is aber irgdnwie suboptimal, wiel sehr rechenaufwändig...

    Hat irgdnwer ne idee, wie ich das rechentechnisch günstiger lösen kann?
    Bei so linenfolgerobotern könnte man das ja auch so ähnlich lösen oder?

    (wens intressiert: geht drum ein Objekt ganz supigenau zu vermessen, dazu muss es aber erst positioniert werden, mit dem streifenmuster kann man dann erkenne wohin das geschoben werden muss.. so ungefähr)

    bin für alle tipps dankbar...
    meine projekte: robotik.dyyyh

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    goara,

    ich nehme an, Du arbeitest mit einer zweidimensionalen FFT? Das Endergebnis, dass Dich interessiert, ist der Neigungswinkel des "Streifenmusters"? Welche Verarbeitungsschritte machst Du zwischen FFT und Hough-Filter?

    Ciao,

    mare_crisium

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    hallo mare_crisum...

    genau is ne 2d fft

    als erstes habe ich das gemessene bild überlagert mit dem sollbild:

    wenn es nicht genu positioniert ist also verschoben gibt es dieses linienmuster..

    daraus will ich jetzt die verschiebung bekommen.. erst fft -->

    dann die maxima suchen :

    und dann die hough

    das funktioinert so auch.. aber es ist ein wenig übertireben mit der hough finde ich, das kann man doch sicher auch einfacher lösen oder ??
    meine projekte: robotik.dyyyh

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Tachchen goara,

    sieht sehr interessant aus . Darf man wissen, wie das Bild entsteht?

    Ich glaube auch, dass es einfacher geht. Guck' Dir doch mal die angehängte Datei an. Den Algorithmus, den ich da beschreibe, kannst Du auf die Fouriertransformierte loslassen. Er liefert Dir dann unter anderem die Steigung einer Geraden, die mitten durch die hellsten Bereiche verläuft. Man kann das auch noch weiter ausbauen, so dass das Ding auch eine Genauigkeitsschätzung für die Steigung und den Aufpunkt liefert.

    Sag' mal, ob's funktioniert.

    Ciao,

    mare_crisium

    Edit_1: Du wendest die FFT auf das "gemessene bild überlagert mit dem sollbild" an. Kannst Du die beiden Bilder hier mal einzeln (vor der Überlagerung) einstellen? Vielleicht kann man ja auch den Überlagerungsschritt einsparen.

    Übrigens gibt es für diese hübsche schwarze Figur mit den vier Schleifchen an den Ecken (ein Hypozykloid) auch eine mathematische Beschreibung.

    mare_

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    hallo mare..

    erst mal danke fuer die antwort.. war grad ne woche im urlaub, desswegen hab ich nix geschrieben...

    das bild entsteht in einem interferrometer, allerdings werden mehrere kleine bereiche (diese schleifen) gemessen, und nicht alles auf einmal, damit es überall scharf ist.
    das originalbild kann ich mal suchen, dann poste ich das hier.. da sieht man aber nicht wirklich was interessantes.

    wo ist denn die angehängte datei ?? kann die hier nirgends entdecken ???

    mfg

    goaran
    meine projekte: robotik.dyyyh

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Guten Abend, goara,

    ich hatte die Datei wieder gelöscht, weil ich nichts von Dir gehört hatte und ich immer Schwierigkeiten mit der upload-quota habe. Die Datei ist hier wieder angehängt. Meine Methode ist eine Abwandlung des bekannten Algorithmus, mit dem man nach dem Prinzip der minimalen Summe der Abweichungsquadrate (vulgo "Methode der kleinsten Fehlerquadrate") eine Ausgleichsgerade durch eine "Punktwolke" legt. Im Prinzip bieten auch fast alle Tabellen-Kalkulationsprogramme so eine Funktion an (z.B. Openoffice.calc oder MS-Excel). Wenn Du den Schwellwert für die Maximums-Suche etwas heruntersetzt, bekommst Du mehr als nur 4 Punkte - eben eine grössere "Punktwolke". Mit einer grösseren Anzahl von Datenpunkten kannst Du den Einfluss des "Rauschens" auf die Auswertungsergebnisse verkleinern.

    Die 4 Maxima im vorletzten Bild gehören meiner Meinung nach zu dem schwach geneigten Streifenmuster, das man im Originalbild sieht. Wenn man dieses Muster ohne die überlagerten "Schleifen" bekommen könnte, dann lieferte die Auswertung genauere Ergebnisse.

    Die Überlagerung, die Du erwähnst, ist auch aus folgendem Grund für die Auswahl der Auswertungsmethode interessant: Wenn Du zwei Originalfunktionen durch Faltung überlagerst und dann fourier-transformierst, kommt dasselbe heraus, als wenn Du beide Funktionen separat fourier-transformierst und die Fouriertransformierten dann miteinander multiplizierst. Dasselbe gilt auch umgekehrt: Eine Faltung der Fouriertransformierten führt bei der Fourier-Rücktransformation zu multiplikativer Überlagerung im Raum der Originalfunktionen. - Will sagen: Wenn man die einzelnen Originalfunktionen separat fourier-transformieren könnte, oder die Überlagerung ganz weglassen könnte, wäre die Auswertung vllt noch stärker zu vereinfachen.

    Na, es gibt eben einige Möglichkeiten, aus Deinen Daten was zu machen .

    Ciao,

    mare_crisium

    Edit: Anhang gelöscht wg. Upload-Quota

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    23.04.2007
    Ort
    stuttgart
    Beiträge
    1.127
    hallo mare.. nochmal danke fuer die datei.. habe sie mir gezogen, kannst du also wieder löschen..
    werde mir das mal anschauen, aber das hört sich ganz brauchbar an..

    ja die maxima kommen von den streifen, und die streifen sind ja auch das messergebnis das ich haben will (zumindest beim ersten schritt für die ausrichtug)
    Die Schleifen kann man leider nicht wegbekommen, das liegt an der Messmethode.
    Werde mal versuchen das anzuwenden und dann mal die Ergebnisse (falls was brauchbares rauskommt hier reinstellen)
    meine projekte: robotik.dyyyh

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2008
    Alter
    34
    Beiträge
    17
    hallo mare

    Hab mir dein pdf gründlich durchgelesen und bin echt beeindruckt. Habe mir selbst ein ähnliches Verfahren überlegt, jedoch hab ich eine ganz andere Problemstellung. Ich wollte endlich mal eine brauchbare alternative zum hough algorithmus programmieren, der ebenfalls auf der methode der kleinsten quadrate beruht, jedoch auch mehrere Linien in einem Bild finden kann und am besten noch anfangs und endpunkt findet. Hast du dir zu dem Thema schonmal gedancken gemacht?

    Bei der Methode der kleinsten quadrate kann man ja z.B. diesen Faktor r bestimmen, der den Grad der liniaren Abhängigkeit angibt (wertebereich -1;1). Damit bestimmt man mit welcher wahrscheinlichkeit eine Ansamlung von Punkten zu einer Linie gehören. Ich möchte also irgendwie eine Ansamlung von Punkte anschauen und gucken, ob das hinzufügen des nähsten Punktes dazu führt dass r unter dem Threshold liegt. Wenn das der fall ist darf der Punkt zu der Ansammlung hinzugefügt werden, sonst nicht. Nachdem man dann mehrere ansamlungen hat kann man für jede einzelne mit linearer regression eine Linie berechenen und so hoffentlich bessere ergebnisse als die hough transformation erreichen.

    Mir fehlt vor allem die zündende Idee, in welcher Rheienfolge man die Punkte im Bild durchlaufen soll, wie man an die erste ansammlung von Punkten kommen soll und wie man das programm laufzeittechnisch gut designen kann.

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Hi, tompcat,

    danke für die alogrithmischen Blumen !

    Interessante Idee, die Du da vorschlägst. Ich melde mich, wenn ich meine Lösungsidee besser formulieren kann.

    Ciao,

    mare_crisium

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    13.05.2008
    Alter
    34
    Beiträge
    17
    hi mare crisisum

    Würde mich echt interesieren, was du für lösungsansätze hast. Ich stecke momentan woanders fest. Annahme wir hätte ein binarisiertes Bild, aus dem wir die Linien bestimmen wollen. Dann könnte man das Kartesische Produkt zu all den Punkten ausrechnen die weiß sind (vectoriell). Und trotz diesem Aufwand O(2^n) wird es schwer daraus die wahrscheinlichen linien zu bestimmen. Der Faktor der linearen abhängikeit, wird dann groß, wenn zufälligerweise 3 Punkte genau in einer Linie stehen. Wenn man aber eine Linie aus 40 Punkten erkennen möchte ist die wahrscheinlichkeit, dass man sie findeted sehr gering mit dem Faktor der linearen abhängikeit. Man könnte natürlich auch irgendwie die anzahl der Punkte irgendwie mit in die rechnung aufnehmen, aber irgendwie erscheint mir das nicht als eine schöne lösung / hab noch keine formel gefunden, die die anzahl und die Lineare abhängigkeit in ein schönes Verhältniss zueinander legt.

    Hab mich mal mit einem Mathematiker unterhalten, der die idee hatte das karthesische produkt auf sagen wir mal 7 elemente zu beschränken, aus allen Tupeln die lineare Abhängigkeit zu berechen, dann die Regresionsgerade zu ziehen, gucken welche punkte sonst noch gut passen, indem man sich den Abstand zur geraden ansieht, neue regressionsgerade berechnen.... und den Vorgang solange wiederholen, bis keine Punkte mehr dazukommen. Hier könnte man probleme erhalten, wenn eine linie stark verauscht ist und die andere nicht, jedoch ist das ein fall, der nicht alzuwahrscheinlich vorkommt, also eventuell brauchbar. Was hast du dir überlegt?

    schöne Grüße

    Tompcat

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •