Quelle est la différence entre les transformations de Hough et de Radon?


34

Je connais bien la transformation du radon en apprenant les techniques de scanographie, mais pas la transformation de Hough. Wikipedia dit

Le plan (r, θ) est parfois appelé espace de Hough pour l'ensemble des lignes droites à deux dimensions. Cette représentation rend la transformation de Hough conceptuellement très proche de la transformation de Radon à deux dimensions. (Ils peuvent être vus comme différentes manières de regarder la même transformation. [5])

Leur résultat me semble identique:

Parcelles côte à côte rho vs thêta pour la transformation de Hough et Radon

Donc, je ne comprends pas quelle est la différence. Sont-ils simplement la même chose vue de différentes manières? Quels sont les avantages de chaque vue différente? Pourquoi ne sont-ils pas combinés dans "la transformation de Hough-Radon"?


Hé, genre de question sans rapport, mais pourriez-vous partager votre schéma de couleurs de carte de chaleur Bézier que vous avez utilisé dans cette image ? Cela a l'air bien, et je me demandais si vous aviez un tableau de valeurs RVB décrivant. M×3
DumpsterDoofus

@DumpsterDoofus Je suppose que je ne l'ai pas publiée parce que c'est kludgy et que je voulais le polir d'abord, mais depuis que je ne l'ai pas encore: la version non-bezier est ici gist.github.com/endolith/2879736 et la tentative de bezier est ici gist .github.com / endolith / ef948b924abf289287bd également utilisé ici flic.kr/p/dWSfUd
endolith

Merci, je l'ai en fait compris hier soir, il peut être écrit de manière compacte comme RgB(X)=((2-X)XBoole[0X1]X2Boole[-1X1]-X(X+2)Boole[-1X0]).
DumpsterDoofus

@DumpsterDoofus N'hésitez pas à nettoyer mon code :)
endolith

Réponses:


31

La transformation de Hough et la transformation de radon sont en effet très similaires et leur relation peut être définie de manière vague si la première est une forme discrétisée de la seconde.

RnRn

Je pense qu'une analogie raisonnable pour la différence entre les deux serait comme la différence entre

  1. calculer la fonction caractéristique d'une variable aléatoire comme la transformée de Fourier de sa fonction de densité de probabilité (PDF) et
  2. générer une séquence aléatoire, calculer son PDF empirique par le tri de l'histogramme, puis le transformer de manière appropriée.

Cependant, la transformation de Hough est un algorithme rapide qui peut être sujet à certains artefacts. Le radon, plus mathématiquement parlant, est plus précis mais plus lent. Vous pouvez en fait voir les artefacts dans votre exemple de transformation de Hough sous forme de stries verticales. Voici un autre exemple rapide dans 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}]

La dernière image est vraiment pâle, même si je l’ai niée pour montrer les stries de couleur sombre, mais c’est là. Incliner le moniteur aidera. Vous pouvez cliquer sur toutes les figures pour agrandir l'image.

Une des raisons pour lesquelles la similitude entre les deux n'est pas très connue est que différents domaines de la science et de l'ingénierie ont historiquement utilisé un seul de ces deux domaines pour répondre à leurs besoins. Par exemple, en tomographie (médicale, sismique, etc.), en microscopie, etc., la transformation du radon est peut-être utilisée exclusivement. Je pense que la raison en est que minimiser les artefacts est de la plus haute importance (un artefact pourrait être une tumeur mal diagnostiquée). Par contre, dans le traitement des images, la vision par ordinateur, etc., c'est la transformation de Hough qui est utilisée car la vitesse est primordiale.


Vous pourriez trouver cet article très intéressant et d'actualité:

M. van Ginkel, CL Luengo Hendriks et LJ van Vliet, Une brève introduction aux transformations de Radon et de Hough et aux relations entre elles , Groupe de l'imagerie quantitative, Département des sciences et technologies de l'imagerie, TU Delft

Les auteurs soutiennent que, bien que les deux soient très proches (dans leurs définitions d'origine) et équivalentes si vous écrivez la transformation de Hough en tant que transformation continue, le radon a l'avantage d'être plus intuitif et de disposer d'une base mathématique solide.


Il y a aussi la transformée généralisée de Radon similaire à la transformée généralisée de Hough, qui fonctionne avec des courbes paramétrées au lieu de lignes. Voici une référence qui traite de cela:

Toft, PA, "Utilisation de la transformée généralisée de Radon pour la détection de courbes dans des images bruitées" , IEEE ICASSP-96, vol. 4, 2219-2222 (1996)


Oh, je pensais que ceux-ci avaient été ajoutés intentionnellement à l'image. Je ne savais pas qu'ils étaient des artefacts. Donc, le radon est à Hough comme DFT est à FFT? Mais il y a aussi une transformation généralisée de Hough qui peut trouver des cercles et des choses, et peut-être des choses similaires pour la transformation de Radon?
endolith

1
Oui, il y a la transformation généralisée du radon qui fonctionne pour les courbes paramétrées. Je suppose que c'est plus difficile à faire pour des courbes complètement arbitraires, mais je ne sais pas grand chose à ce sujet. J'ai ajouté une référence à ma réponse.
Lorem Ipsum

La transformation de radon peut également être accélérée avec les méthodes FFT. Je suppose que le Hough ne peut pas être? Hough est-il encore plus rapide? Je suppose que cela dépend de la taille de l'image?
endolith

1
@endolith D'après mon expérience, Hough est plus rapide. Cependant, mon utilisation de ces deux méthodes est de détecter les quelques lignes étranges dans quelque chose avec lequel je bidouille. Jamais utilisé dans un travail sérieux, je n'ai pas mis en œuvre le mien. Je suggérerais donc de poser cette question comme une nouvelle question, car je ne peux pas y répondre avec certitude.
Lorem Ipsum

6

En plus de la réponse de Lorem Ipsum expliquant la transformation de Hough en tant que forme discrétisée de la transformation de radon, j'aime cette explication descriptive - également selon Ginkel et d'autres :

ρθ

Cela devient clair en comparant leurs algorithmes (discrets). Pour chaque θθΔρ(X,y)

ΔθΔρ

θθ

Je suppose que Hough est dominant dans de nombreux domaines en raison de son algorithme simple, alors que le radon est utilisé là où la précision est cruciale ou la connaissance a priori disponible.

Voir aussi les références Matlab (développez l' onglet Algorithme ):

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

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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.