Eğriler arasındaki benzerlik ölçüleri?


17

İki sıralı nokta kümesi arasındaki benzerlik ölçüsünü hesaplamak istiyorum --- Kullanıcı altındaki olanlar Öğretmen altındaki ile karşılaştırıldığında :

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

Noktalar 3D uzaydaki eğrilerdir, ancak resimdeki gibi 2 boyutta çizersem sorunun basitleştirildiğini düşünüyordum. Noktalar çakışırsa, benzerlik% 100 olmalıdır.


Ölçekleme, döndürme ve / veya çeviriyi hesaba katmanız mı gerekiyor?
nico

Hayır, bunları hesaba katmam gerekmiyor.
Alex

yani uygulayacağım bununla ilgilen.
Alex

Yanıtlar:


11

Yörüngeleri veya eğrileri karşılaştırıyorsunuz . Bu çalışılan bir konudur. EMS'nin söylediği gibi, procrustes analizi ve dinamik zaman eğriliği ticaretin araçlarıdır. Eğrileri hizaladıktan sonra mesafeyi ölçmek isteyeceksiniz, Fréchet mesafesini söyleyin . Verilerinizden bazılarını paylaşmak isterseniz, kendimiz bir çatlak alabiliriz.

İlgili okuma:

Geçici boyutu göz ardı ederseniz:

Kullanıcıyı ve Öğretmeni Gauss yoğunluklarını çok değişkenli hale getirebilir ve ürünlerinin hacmini bulabilirsin - bu oldukça kolay. Daha fazla doğruluk istiyorsanız, bunun yerine parametrik olmayan bir yoğunluk tahmini kullanabilirsiniz.


Emre öneriniz için teşekkürler! Sorunu güncelledim - şimdi daha basit olabileceğini düşünüyorum, lütfen bir göz atın.
Alex

Kullanıcıyı ve Öğretmeni Gauss yoğunluklarını çok değişkenli hale getirebilir ve ürünlerinin hacmini bulabilirsin - bu oldukça kolay Lütfen bunu öğrenmek için beni doğru kaynaklara yönlendirebilir misin? Gerçekten acemi.
Sibbs Kumar

Öklid mesafesi hizalanmış eğriler için yeterli olacak mı?
Vladimir Chupakhin

Benzerlikleri karşılaştırmak için korelasyon katsayılarını kullandım ve sonucu 0 ile 1 arasında sıkıştırdım.
M.kazem Akhgary

3

Procrustes mesafesini veya dinamik zaman eğrisine dayanan bir mesafeyi düşünebilirsiniz (boyutlarınızdan biri kendi başına "zaman" olmasa bile, bu dönüşüm fikrini kullanabilirsiniz). Videolarda nokta yörüngeleri tarafından oyulmuş 3B uzay eğrileri arasındaki benzerliği ölçmek için dinamik zaman eğrisinin açıklayıcı bir kullanım örneği için bu son İzlemeler konusuna bakın .

Matlab veya Python için PyGeometry kütüphanesi gibi yerleşik Procrustes mesafe hesaplamalarına sahip birçok kütüphane vardır .


2

Orijinal yayın, 3D olarak SİPARİŞ noktaları arasında bir metrik istedi. Böyle bir metrik Frechet mesafesidir. Boyutlardan biri olarak zamandan bahsedilmedi, bu yüzden tüm boyutların mesafe birimleri olduğunu varsayalım (yani birimler karışık değildir). Bu, MathWorks dosya değişimine yakın zamanda yüklenen bir işlevi değiştirerek yapılabilir (Frechet mesafe hesaplaması: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Bu rutinler düzlemdeki noktalar için yazılmıştır, ancak 3B noktalara genişletme basittir.


1
Frechet mesafesinin sıralı çiftler arasında olduğundan emin misiniz? wikipedia sayfası tek yolu bir nokta başka kat puan eşleştirilebilir söylüyor. Ayrıca, kesinlikle böyle bir metrikten daha fazlası var. Sıralı çiftler arasındaki mesafelerin toplamı ne olacak?
naught101

1

XY olarak tanımlanır, dH(X,Y)=max{supxXinfyY||xy||,supyYinfxX||xy||}.


I don't think this is a very tractable approach. Unless you mean to approximate this by replacing all of the sup and inf with max and min.. but Hausdorff distance won't be well approximated by these in many cases. How do you propose to actually compute (in software) such distances?
ely

1
@EMS There are two ways to go about this, 1. either consider X and Y as discrete point sets, makes things simpler 2. or try to come up with some form of convex hull for each point set (not quite sure whether this is necessary) and something like [this][1] could be used to approximately compute the distance. [1]: cg.cs.uni-bonn.de/aigaion2root/attachments/guthe-2005-fast.pdf
TenaliRaman

Thank you for the link, I had only seen Hausdorff distance in computer vision in Tony Chan's book. It's cool to see more computational approaches.
ely

1

Similarity is quantity that reflects the strength of relationship between two objects or two features. This quantity is usually having range of either -1 to +1 or normalized into 0 to 1. Than you need to calculate the distance of two features by one of the methods below:

  1. Simple Matching distance
  2. Jaccard's distance
  3. Hamming distance
  4. Jaccard's coefficient
  5. simple matching coefficient

For line... you can represent it by angle (a) and length (l) properties or L1= P1(x1,y1), P2(x2,y2) below is the similarity with a and l.

now measure the angle for angles and lengths

  • A_user =20 and Length_User =50
  • A_teacher30 and Length_Teacher =55
  • Now, normalize the values.

Using euclidean distance

similarity = SquareRoot((A_user - A_teacher30 )^2 +(Length_User - Length_Teacher )^2)

gives the similarity measure. You can also use above mentioned methods based on the problem and the features.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.