¿Medidas de similitud entre curvas?

17

Me gustaría calcular la medida de similitud entre dos conjuntos ordenados de puntos, los que están en Usuario en comparación con los que están en Maestro :

! [Ejemplo] (http://i50.tinypic.com/2uj0580.jpg)

Los puntos son curvas en el espacio 3D, pero estaba pensando que el problema se simplifica si los trazo en 2 dimensiones como en la imagen. Si los puntos se superponen, la similitud debe ser del 100%.

Alex
fuente
¿Necesita dar cuenta de la escala, rotación y / o traducción?
nico
No, no necesito tenerlos en cuenta.
Alex
lo que significa que voy a aplicar cuidar de eso.
Alex

Respuestas:

11

Estás comparando trayectorias o curvas . Este es un tema estudiado. El análisis de procrustes y la deformación dinámica del tiempo , como dice EMS, son herramientas del oficio. Una vez que haya alineado las curvas, querrá medir la distancia, digamos la distancia de Fréchet . Si desea compartir algunos de sus datos, nosotros mismos podemos echarle un vistazo.

Lectura relevante:

Si no tiene en cuenta la dimensión temporal:

Podría adaptar al usuario y al maestro a densidades gaussianas multivariadas y encontrar el volumen de su producto, eso es bastante fácil. Si desea más precisión, puede utilizar una estimación de densidad no paramétrica.

Emre
fuente
Gracias Emre por tu sugerencia! He actualizado el problema. Creo que ahora puede ser más simple, así que eche un vistazo.
Alex
Podrías adaptar al Usuario y al Profesor a densidades gaussianas multivariantes y encontrar el volumen de su producto, eso es bastante fácil ¿Podrías indicarme los recursos correctos para aprender esto? Realmente novato aquí.
Sibbs Gambling
¿Será suficiente la distancia euclidiana para curvas alineadas?
Vladimir Chupakhin
Usé
3

Puede considerar la distancia Procrustes , o alguna distancia basada en la deformación dinámica del tiempo (incluso si una de sus dimensiones no es "tiempo" per se, aún puede usar esta idea de transformación). Vea este trabajo reciente sobre Tracklets para ver un caso de uso ilustrativo de deformación dinámica del tiempo para medir la similitud entre las curvas espaciales 3D talladas por trayectorias de puntos en videos.

Hay muchas bibliotecas con cálculos de distancia Procrustes incorporados, como Matlab o la biblioteca PyGeometry para Python.

ely
fuente
2

La publicación original solicitó una métrica entre los puntos ORDENADOS en 3D. La única métrica es la distancia de Frechet. No se mencionó el tiempo como una de las dimensiones, por lo que supongo que todas las dimensiones tienen unidades de distancia (es decir, las unidades no están mezcladas). Esto se puede hacer modificando una función cargada recientemente en el intercambio de archivos MathWorks (cálculo de distancia de Frechet: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Estas rutinas se escribieron para puntos en el plano, pero la extensión a los puntos 3D es sencilla.

Rich Kenefic
fuente
1
¿Estás seguro de que la distancia de Frechet es entre pares ordenados? la página de wikipedia dice que un punto en una ruta puede coincidir con múltiples puntos en otra. Además, seguramente hay más de una de esas métricas. ¿Qué pasa con la suma de las distancias entre pares ordenados?
naught101
1

XYdH(X,Y)=max{supxXinfyY||xy||,supyYinfxX||xy||}

TenaliRaman
fuente
supinfmaxmin
1
XY
Gracias por el enlace, solo había visto la distancia de Hausdorff en visión artificial en el libro de Tony Chan. Es genial ver más enfoques computacionales.
ely
1

La similitud es la cantidad que refleja la fuerza de la relación entre dos objetos o dos características. Esta cantidad generalmente tiene un rango de -1 a +1 o se normaliza en 0 a 1. De lo que necesita calcular la distancia de dos características por uno de los siguientes métodos:

  1. Distancia de coincidencia simple
  2. La distancia de Jaccard
  3. Distancia de Hamming
  4. Coeficiente de Jaccard
  5. coeficiente de correspondencia simple

Para la línea ... puede representarla por las propiedades de ángulo (a) y longitud (l) o L1 = P1 (x1, y1), P2 (x2, y2) a continuación es la similitud con ay l.

ahora mida el ángulo para ángulos y longitudes

  • A_user = 20 y Length_User = 50
  • A_teacher30 y Length_Teacher = 55
  • Ahora, normalice los valores.

Usando distancia euclidiana

similitud = raíz cuadrada ((A_user - A_teacher30) ^ 2 + (Length_User - Length_Teacher) ^ 2)

da la medida de similitud. También puede utilizar los métodos mencionados anteriormente según el problema y las características.

sso
fuente