Langkah-langkah kesamaan antara kurva?

17

Saya ingin menghitung ukuran kesamaan antara dua set poin yang dipesan --- yang di bawah Pengguna dibandingkan dengan yang di bawah Guru :

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

Poinnya adalah kurva dalam ruang 3D, tetapi saya berpikir bahwa masalahnya disederhanakan jika saya memplotnya dalam 2 dimensi seperti pada gambar. Jika poin tumpang tindih, kesamaan harus 100%.

Alex
sumber
Apakah Anda perlu memperhitungkan penskalaan, rotasi, dan / atau terjemahan?
nico
Tidak, saya tidak perlu memperhitungkannya.
Alex
artinya saya akan menerapkan mengurus itu.
Alex

Jawaban:

11

Anda membandingkan lintasan , atau kurva . Ini adalah topik yang dipelajari. Analisis procrustes dan pembengkokan waktu dinamis , seperti yang dikatakan EMS, adalah alat perdagangan. Setelah Anda meluruskan kurva, Anda ingin mengukur jarak, katakanlah jarak Fréchet . Jika Anda ingin membagikan beberapa data Anda, kami dapat melakukannya sendiri.

Bacaan yang relevan:

Jika Anda mengabaikan dimensi temporal:

Anda dapat menyesuaikan Pengguna dan Guru untuk multivarian kepadatan Gaussian dan menemukan volume produk mereka - itu cukup mudah. Jika Anda ingin lebih akurat, Anda bisa menggunakan estimasi kepadatan nonparametrik.

Emre
sumber
Terima kasih Emre atas saran Anda! Saya telah memperbarui masalah - Saya pikir ini mungkin lebih sederhana sekarang, jadi silakan lihat.
Alex
Anda dapat menyesuaikan Pengguna dan Guru untuk multivarian kepadatan Gaussian dan menemukan volume produk mereka - itu cukup mudah. Tolong tunjukkan saya sumber yang tepat untuk mempelajari ini? Benar-benar pemula di sini.
Sibbs Gambling
Apakah jarak Euclidean cukup untuk kurva yang selaras?
Vladimir Chupakhin
Saya menggunakan koefisien korelasi untuk membandingkan kesamaan dan menjepit hasil antara 0 dan 1.
M.kazem Akhgary
3

Anda dapat mempertimbangkan jarak Procrustes , atau jarak tertentu berdasarkan pembengkokan waktu dinamis (bahkan jika salah satu dimensi Anda bukan "waktu" per se, Anda masih dapat menggunakan ide transformasi ini). Lihat karya terbaru ini di Tracklets untuk melihat kasus penggunaan penggambaran waktu dinamis untuk mengukur kesamaan antara kurva ruang 3D yang diukir oleh lintasan titik dalam video.

Ada banyak perpustakaan dengan perhitungan jarak Procrustes bawaan , seperti Matlab, atau perpustakaan PyGeometry untuk Python.

Ely
sumber
2

Posting asli meminta metrik antara poin ORDERED dalam 3D. Satu-satunya metrik tersebut adalah jarak Frechet. Tidak disebutkan waktu sebagai salah satu dimensi, jadi saya akan berasumsi bahwa semua dimensi memiliki satuan jarak (yaitu satuan tidak dicampur). Ini dapat dilakukan dengan memodifikasi fungsi yang baru-baru ini diunggah ke pertukaran file MathWorks (Penghitungan jarak Frechet: http://www.mathworks.com/matlabcentral/fileexchange/38714 ). Rutinitas ini ditulis untuk titik-titik di pesawat, tetapi ekstensi ke titik 3D langsung.

Kenefic kaya
sumber
1
Apakah Anda yakin jarak Frechet antara pasangan yang dipesan? yang halaman wikipedia mengatakan bahwa titik dalam satu jalur dapat dicocokkan dengan beberapa titik lain. Juga, pasti ada lebih dari satu metrik seperti itu. Bagaimana dengan jumlah jarak antara pasangan yang dipesan?
naught101
1

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

TenaliRaman
sumber
supinfmaxmin
1
XY
Terima kasih atas tautannya, saya hanya melihat jarak Hausdorff dalam visi komputer dalam buku Tony Chan. Sangat keren melihat lebih banyak pendekatan komputasi.
ely
1

Kesamaan adalah kuantitas yang mencerminkan kekuatan hubungan antara dua objek atau dua fitur. Kuantitas ini biasanya memiliki kisaran -1 hingga +1 atau dinormalisasi menjadi 0 hingga 1. Daripada Anda perlu menghitung jarak dua fitur dengan salah satu metode berikut:

  1. Jarak pencocokan sederhana
  2. Jarak Jaccard
  3. Jarak Hamming
  4. Koefisien Jaccard
  5. koefisien pencocokan sederhana

Untuk garis ... Anda dapat mewakilinya dengan sudut (a) dan panjang (l) properti atau L1 = P1 (x1, y1), P2 (x2, y2) di bawah ini adalah kemiripan dengan a dan l.

sekarang ukur sudut untuk sudut dan panjang

  • A_user = 20 dan Length_User = 50
  • A_teacher30 dan Length_Teacher = 55
  • Sekarang, normalisasikan nilainya.

Menggunakan jarak euclidean

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

memberikan ukuran kesamaan. Anda juga dapat menggunakan metode yang disebutkan di atas berdasarkan masalah dan fitur-fiturnya.

juga
sumber