Was ist der Unterschied zwischen den Hough- und Radon-Transformationen?


34

Ich kenne die Radon-Transformation aus CT-Untersuchungen, aber nicht aus der Hough-Transformation. Wikipedia sagt

Die (r, θ) -Ebene wird manchmal als Hough-Raum für die Menge von geraden Linien in zwei Dimensionen bezeichnet. Durch diese Darstellung kommt die Hough-Transformation der zweidimensionalen Radon-Transformation konzeptionell sehr nahe. (Sie können als unterschiedliche Betrachtungsweisen derselben Transformation angesehen werden. [5])

Ihre Ausgabe sieht für mich gleich aus:

Seite-an-Seite-Rho-gegen-Theta-Diagramme für Hough- und Radon-Transformation

  • Wolfram Alpha: Radon
  • Wolfram Alpha: Gut

Also verstehe ich den Unterschied nicht. Sind sie nur dasselbe, was auf unterschiedliche Weise gesehen wird? Was sind die Vorteile der einzelnen Ansichten? Warum werden sie nicht zur "Hough-Radon-Transformation" zusammengefasst?


Hey, eine Art unabhängige Frage, aber könnten Sie Ihr Bezier-Heatmap-Farbschema teilen, das Sie in diesem Bild verwendet haben ? Es sieht ziemlich gut aus, und ich habe mich gefragt, ob Sie ein Array von RGB-Werten haben, das es beschreibt. M×3
DumpsterDoofus

@DumpsterDoofus Ich denke, ich habe es nicht veröffentlicht, weil es kludgy ist und ich wollte es zuerst polieren, aber da ich es noch nicht getan habe: Nicht-Bezier-Version ist hier gist.github.com/endolith/2879736 und Bezier-Versuch ist hier gist .github.com / endolith / ef948b924abf289287bd auch hier verwendet flic.kr/p/dWSfUd
Endolith

Danke, ich habe es letzte Nacht herausgefunden. Es kann kompakt geschrieben werden alsRGB(x)=((2x)xBoole[0x1]x2Boole[1x1]x(x+2)Boole[1x0]).
DumpsterDoofus

@DumpsterDoofus Fühlen Sie sich frei, meinen Code aufzuräumen :)
Endolith

Antworten:


31

Die Hough-Transformation und die Radon-Transformation sind sich tatsächlich sehr ähnlich, und ihre Beziehung kann lose als diskretisierte Form der ersteren definiert werden.

RnRn

Ich denke, eine vernünftige Analogie für den Unterschied zwischen den beiden wäre wie der Unterschied zwischen

  1. Berechnung der charakteristischen Funktion einer Zufallsvariablen als Fouriertransformation ihrer Wahrscheinlichkeitsdichtefunktion (PDF) und
  2. Generieren einer zufälligen Sequenz, Berechnen der empirischen PDF-Datei durch Histogramm-Binning und anschließendes entsprechendes Transformieren.

Die Hough-Transformation ist jedoch ein schneller Algorithmus, der für bestimmte Artefakte anfällig sein kann. Radon ist mathematisch fundierter, genauer, aber langsamer. Tatsächlich können Sie die Artefakte in Ihrem Hough-Transformationsbeispiel als vertikale Streifen sehen. Hier ist ein weiteres kurzes Beispiel in Mathematica:

img = Import["http://i.stack.imgur.com/mODZj.gif"];
radon = Radon[img, Method -> "Radon"];
hough = Radon[img, Method -> "Hough"];
GraphicsRow[{#1, #2, ColorNegate@ImageDifference[#1, #2]} & @@ {radon,hough}]

Das letzte Bild ist wirklich schwach, obwohl ich es negiert habe, um die Streifen in dunkler Farbe zu zeigen, aber es ist da. Das Kippen des Monitors hilft. Sie können auf alle Figuren klicken, um ein größeres Bild zu erhalten.

Ein Grund, warum die Ähnlichkeit zwischen den beiden nicht sehr bekannt ist, ist, dass verschiedene Bereiche der Wissenschaft und Technik historisch nur einen dieser beiden Bereiche für ihre Bedürfnisse genutzt haben. Beispielsweise wird in der Tomographie (medizinisch, seismisch usw.), Mikroskopie usw. möglicherweise ausschließlich die Radontransformation verwendet. Ich denke, der Grund dafür ist, dass es von größter Wichtigkeit ist, Artefakte auf ein Minimum zu beschränken (ein Artefakt könnte ein falsch diagnostizierter Tumor sein). Auf der anderen Seite wird bei der Bildverarbeitung, der Bildverarbeitung usw. die Hough-Transformation verwendet, da die Geschwindigkeit an erster Stelle steht.


Vielleicht finden Sie diesen Artikel sehr interessant und aktuell:

M. van Ginkel, CL Luengo Hendriks und LJ van Vliet, Eine kurze Einführung in die Radon- und Hough-Transformationen und ihre Beziehung zueinander , Quantitative Imaging Group, Abteilung für Imaging Science & Technology, TU Delft

Die Autoren argumentieren, dass Radon den Vorteil hat, intuitiver zu sein und eine solide mathematische Basis zu haben, obwohl die beiden (in ihren ursprünglichen Definitionen) eng verwandt und äquivalent sind, wenn Sie die Hough-Transformation als kontinuierliche Transformation schreiben.


Es gibt auch die generalisierte Radontransformation ähnlich der generalisierten Hough-Transformation, die mit parametrisierten Kurven anstelle von Linien arbeitet. Hier ist eine Referenz, die sich damit befasst:

Toft, PA, "Verwenden der verallgemeinerten Radon-Transformation zur Erkennung von Kurven in verrauschten Bildern" , IEEE ICASSP-96, Vol. 4, 2219-2222 (1996)


Oh, ich dachte, diese wurden absichtlich zum Bild hinzugefügt. Wusste nicht, dass es Artefakte sind. Also ist Radon zu Hough wie DFT zu FFT? Aber es gibt auch verallgemeinerte Hough-Transformationen, die Kreise und ähnliches für Radon-Transformationen finden können?
Endolith

1
Ja, es gibt die generalisierte Radon-Transformation, die für parametrisierte Kurven funktioniert. Ich würde annehmen, dass es schwieriger ist, dies für völlig willkürliche Kurven zu tun, aber ich weiß nicht so viel darüber. Ich habe meiner Antwort einen Verweis hinzugefügt.
Lorem Ipsum

Die Radon-Transformation kann auch mit FFT-Methoden beschleunigt werden. Ich vermute, der Hough kann nicht sein? Ist Hough noch schneller? Ich vermute, es hängt von der Bildgröße ab?
Endolith

1
@endolith Ich habe die Erfahrung gemacht, dass Hough schneller ist. Meine Verwendung dieser beiden Methoden besteht jedoch darin, die wenigen ungeraden Linien in etwas zu erkennen, mit dem ich herumspiele. Ich habe es nie in ernsthafter Arbeit benutzt, noch habe ich mein eigenes implementiert. Daher würde ich vorschlagen, dies als neue Frage zu stellen, da ich nicht sicher antworten kann.
Lorem Ipsum

6

Zusätzlich zu Lorem Ipsums Antwort , die die Hough-Transformation als diskretisierte Form der Radon-Transformation erklärt, mag ich diese beschreibende Erklärung - auch nach Ginkel und anderen :

ρθ

θθΔρ(x,y)

ΔθΔρ

θθ

Ich denke, Hough ist aufgrund seines einfachen Algorithmus in vielen Bereichen führend, während Radon dort eingesetzt wird, wo Genauigkeit von entscheidender Bedeutung ist oder A-priori-Kenntnisse vorliegen.

Siehe auch Matlab-Referenzen (erweitern Sie die Registerkarte Algorithmus ):

www.mathworks.com/help/images/ref/radon.html

www.mathworks.com/help/images/ref/hough.html

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.