2012-04-27 91 views
7

Estoy buscando un algoritmo para encontrar el mejor ajuste entre una nube de puntos y una esfera.Mínimos cuadrados lineales Ajuste de la esfera a los puntos

Es decir, desean minimizar

formula http://img855.imageshack.us/img855/6033/codecogseqn.gif

donde C es el centro de la esfera, r su radio, y cada P un punto en mi conjunto de n puntos. Las variables son, evidentemente, Cx, Cy , Cz y r. En mi caso, puedo obtener un conocido de antemano, dejando solo los componentes de C como variables.

Realmente no quiero tener que usar ningún tipo de minimización iterativa (por ejemplo, el método de Newton, Levenberg-Marquardt, etc.) - Prefiero un conjunto de ecuaciones lineales o una solución que usa SVD explícitamente.

Respuesta

0

Se puede encontrar una breve descripción de la ecuación matricial here.

he visto que WildMagic Biblioteca utiliza iterative method (al menos en la versión 4)

3

No hay ecuaciones matriciales próximos. Su elección de E se comporta mal; sus derivados parciales ni siquiera son continuos, menos aún lineales. Incluso con un objetivo diferente, este problema de optimización parece fundamentalmente no convexo; con un punto P y un radio distinto de cero r, el conjunto de soluciones óptimas es la esfera sobre P.

Probablemente debería recurrir a un intercambio con mayor conocimiento de optimización.

+0

Probablemente desee utilizar algo como 'sum [i = 0..n] (| P_i - C |^2 - r^2)^2' en su lugar, por lo que sus derivadas se comportarán correctamente. Y, como su problema será no lineal en cualquier caso, probablemente esté atrapado con alguna forma de iteración. – comingstorm

0

La tesis vinculada contiene un problema: no maneja el ruido correctamente y sobreestima el radio. (El centro está bien). Parece que debería ser posible encontrar una corrección basada en la estimación del ruido aplicado.

+0

¿Qué enlazó la tesis? ¿Te refieres a MBo [respuesta] (http://stackoverflow.com/a/10344804/696485)? Parece que su "respuesta" debería ser un comentario. –

Cuestiones relacionadas