1 votos

Ajuste del plano a los puntos 3D mediante la transformada de Hough

Tengo un conjunto de $N$ puntos en forma de su $xyz$ coordenadas. No estoy utilizando todas ellas debido al elevado tiempo de cálculo. Busco encontrar el mejor ajuste del plano a un conjunto de puntos dado.

He utilizado esto como referencia: Hugh transforme en la página 3, hay un algoritmo número 2 que me interesa

Calculo sus coordenadas del espacio de Hough utilizando esta fórmula:

$$p = x_n \cos(\theta)\sin(\phi) + y_n\sin(\phi)\sin (\theta) + z_n\cos(\phi),$$

donde $\phi \in [-90°, 90°]$ , $\theta \in [0°, 360°]$ .

Aquí es donde probablemente me equivoque:

Así que para cada punto estoy calculando $180 × 360$ posibles combinaciones de grados en sin y cos. He definido una matriz que tiene $360$ filas y $180$ columnas para cada combinación de $\phi$ y $\theta$ . Incremento las celdas de esta matriz si el umbral $p$ es menor que $0.03$ .

Si esto es incorrecto, por favor dígame qué estoy haciendo mal allí.

Así que al final tengo una matriz de votos y los números más altos en la matriz representan la combinación de $\phi$ y $\theta$ que son la mejor solución para el algoritmo.

Pero lo que necesito es la fórmula clásica del avión:

$$Ax + By + Cz + D = 0.$$

¿Cómo puedo obtener esa ecuación de $\phi$ y $\theta$ que obtengo del algoritmo?

2voto

Se necesitan tres parámetros para especificar una superficie en 3D: dos ángulos $\phi$ y $\theta$ y un radio $r$ .

Esto significa que se necesita una matriz tridimensional, con valores para $\phi$ , $\theta$ como ha hecho, y valores para $r \in [0, R]$ , donde $R$ es el radio máximo posible para sus datos.

Después de ejecutar el algoritmo, obtendrá los valores $\phi^\ast$ , $\theta^\ast$ y $r^\ast$ que corresponden al mayor número de votos en su matriz.

Ahora sabes que los puntos del plano óptimo satisfacen $r^\ast = x \cos(\theta^\ast)\sin(\phi^\ast) + y\sin(\theta^\ast)\sin(\phi^\ast) + z\cos(\phi^\ast)$ .

En otras palabras, si ponemos $A = \cos(\theta^\ast)\sin(\phi^\ast)$ , $B = \sin(\theta^\ast)\sin(\phi^\ast)$ , $C = \cos(\phi^\ast)$ y $D = -r^\ast$ su plano está parametrizado por $Ax+By+Cz+D=0$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X