¿Cuál es la diferencia entre las transformaciones Hough y Radon?


34

Estoy familiarizado con la transformación de radón al aprender sobre las tomografías computarizadas, pero no con la transformación de Hough. Wikipedia dice

El plano (r, θ) a veces se denomina espacio Hough para el conjunto de líneas rectas en dos dimensiones. Esta representación hace que la transformación de Hough sea conceptualmente muy cercana a la transformación de radón bidimensional. (Pueden verse como diferentes formas de ver la misma transformación. [5])

Su salida me parece igual:

gráficos de rho vs theta lado a lado para la transformación de Hough y Radon

Entonces no entiendo cuál es la diferencia. ¿Son lo mismo visto de diferentes maneras? ¿Cuáles son los beneficios de cada vista diferente? ¿Por qué no se combinan en "la transformación de Hough-Radon"?


Oye, una pregunta no relacionada, pero ¿podrías compartir el esquema de colores de mapa de calor de Bezier que usaste en esta imagen ? Se ve bastante bien, y me preguntaba si tenía una matriz de valores RGB que lo describieran. METRO×3
DumpsterDoofus

@DumpsterDoofus supongo que no he publicado porque es kludgy y quería pulirlo principio, pero ya que tengo todavía no: no bézier versión está aquí gist.github.com/endolith/2879736 y bézier intento es aquí lo esencial .github.com / endolith / ef948b924abf289287bd también se usa aquí flic.kr/p/dWSfUd
endolith

Gracias, realmente lo descubrí anoche, se puede escribir de forma compacta comoRsolsi(X)=((2-X)XBoole[0 0X1]X2Boole[-1X1]-X(X+2)Boole[-1X0 0]).
DumpsterDoofus

@DumpsterDoofus Siéntase libre de limpiar mi código :)
endolith

Respuestas:


31

La transformada de Hough y la transformada de radón son de hecho muy similares entre sí y su relación puede definirse libremente como la primera es una forma discretizada de la segunda.

La transformación de radón es una transformación matemática integral, definida para funciones continuas en en hiperplanos en . La transformación de Hough, por otro lado, es inherentemente un algoritmo discreto que detecta líneas (extensibles a otras formas) en una imagen mediante sondeo y binning (o votación).RnorteRnorte

Creo que una analogía razonable para la diferencia entre los dos sería como la diferencia entre

  1. calcular la función característica de una variable aleatoria como la transformada de Fourier de su función de densidad de probabilidad (PDF) y
  2. generando una secuencia aleatoria, calculando su PDF empírico por agrupación de histograma y luego transformándolo apropiadamente.

Sin embargo, la transformación de Hough es un algoritmo rápido que puede ser propenso a ciertos artefactos. El radón, siendo más matemáticamente sólido, es más preciso pero más lento. De hecho, puede ver los artefactos en su ejemplo de transformación de Hough como estrías verticales. Aquí hay otro ejemplo rápido en 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 última imagen es realmente tenue, aunque la negué para mostrar las estrías en color oscuro, pero está ahí. Inclinar el monitor ayudará. Puede hacer clic en todas las figuras para ampliar la imagen.

Parte de la razón por la cual la similitud entre los dos no es muy conocida es porque los diferentes campos de la ciencia y la ingeniería han usado históricamente solo uno de estos dos para sus necesidades. Por ejemplo, en tomografía (médica, sísmica, etc.), microscopía, etc., la transformación de radón se usa quizás exclusivamente. Creo que la razón de esto es que mantener los artefactos al mínimo es de suma importancia (un artefacto podría ser un tumor mal diagnosticado). Por otro lado, en el procesamiento de imágenes, la visión por computadora, etc., se utiliza la transformación Hough porque la velocidad es primaria.


Puede encontrar este artículo bastante interesante y de actualidad:

M. van Ginkel, CL Luengo Hendriks y LJ van Vliet, Una breve introducción a las transformaciones de radón y Hough y cómo se relacionan entre sí , Quantitative Imaging Group, Imaging Science & Technology Department, TU Delft

Los autores argumentan que aunque los dos están muy estrechamente relacionados (en sus definiciones originales) y equivalentes si escribe la transformación de Hough como una transformación continua, el Radón tiene la ventaja de ser más intuitivo y tener una base matemática sólida.


También está la transformación de radón generalizada similar a la transformación de Hough generalizada, que funciona con curvas parametrizadas en lugar de líneas. Aquí hay una referencia que trata de ello:

Toft, PA, "Uso de la transformación de radón generalizada para la detección de curvas en imágenes ruidosas" , IEEE ICASSP-96, vol. 4, 2219-2222 (1996)


Oh, pensé que se agregaron a la imagen intencionalmente. No me di cuenta de que son artefactos. Entonces, ¿el radón es Hough como DFT es FFT? Pero también hay una transformación de Hough generalizada que puede encontrar círculos y otras cosas, y tal vez cosas similares para la transformación de radón
endolito

1
Sí, está la transformación de radón generalizada que funciona para curvas parametrizadas. Supongo que es más difícil hacerlo para curvas completamente arbitrarias, pero no sé mucho al respecto. He agregado una referencia a mi respuesta.
Lorem Ipsum

La transformación de radón también se puede acelerar con los métodos FFT. Supongo que Hough no puede ser? ¿Hough es aún más rápido? Supongo que depende del tamaño de la imagen?
endolito el

1
@endolith Es mi experiencia que Hough es más rápido. Sin embargo, mi uso de estos dos es detectar las pocas líneas impares en algo con lo que estoy jugando. Nunca lo usé en un trabajo serio, ni he implementado el mío. Por lo tanto, sugeriría hacer eso como una nueva pregunta, ya que no puedo responder con certeza.
Lorem Ipsum

6

Además de la respuesta de Lorem Ipsum que explica la transformación de Hough como una forma discreta de la transformación de radón, me gusta esta explicación descriptiva, también según Ginkel y otros :

ρθ

θθΔρ(X,y)

ΔθΔρ

θθ

Supongo que Hough es dominante en muchos campos debido a su algoritmo simple, mientras que el radón se usa donde la precisión es crucial o el conocimiento disponible a priori.

Consulte también referencias de Matlab (expanda la pestaña Algoritmo ):

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

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.