Membandingkan dua histogram menggunakan jarak Chi-Square

18

Saya ingin membandingkan dua gambar wajah. Saya menghitung histogram-LBP mereka. Jadi sekarang saya perlu membandingkan dua histogram ini dan mendapatkan sesuatu yang akan memberi tahu seberapa banyak histogram ini sama (0 - 100%).

Ada banyak cara untuk menyelesaikan tugas ini, tetapi penulis metode LBP menekankan (Deskripsi Wajah dengan Pola Biner Lokal: Aplikasi untuk Pengenalan Wajah. 2004) bahwa perfom jarak Chi-Square lebih baik daripada persimpangan Histogram dan statistik Log-likelihood.

Penulis juga menunjukkan rumus jarak Chi-Square:

i=1n(xiyi)2(xi+yi)

Di mana n adalah sejumlah nampan, xi adalah nilai dari nampan pertama, yi adalah nilai dari nampan kedua.

Dalam beberapa penelitian (misalnya Keluarga Jarak Histogram Quadratic-Chi) saya melihat bahwa rumus jarak Chi-Square adalah:

12i=1n(xiyi)2(xi+yi)

Dan ada http://www.itl.nist.gov/div898/handbook/eda/section3/eda35f.htm Saya melihat rumus jarak Chi-Square adalah:

i=1n(xiyi)2yi

Saya terjebak dengan itu. Saya punya beberapa pertanyaan:

  1. Ekspresi apa yang harus saya gunakan?
  2. Bagaimana saya harus menafsirkan hasil perbedaan? Saya tahu perbedaan yang sama dengan 0 berarti kedua histogram sama, tetapi bagaimana saya bisa tahu ketika kedua histogram sama sekali berbeda? Apakah saya perlu menggunakan tabel Chi-Square untuk itu? Atau apakah saya perlu menggunakan ambang batas? Pada dasarnya saya ingin memetakan perbedaan ke persen.
  3. Mengapa ketiga ungkapan ini berbeda?
Anton Holovin
sumber
Apakah yi bukan nilai dari bin yang sama dengan xi tetapi dalam distribusi komparator, daripada bin kedua?
ReneBt

Jawaban:

7

@Silverfish meminta perluasan jawaban oleh PolatAlemdar, yang tidak diberikan, jadi saya akan mencoba mengembangkannya di sini.

Kenapa nama chisquare berjarak? Tes chisquare untuk tabel kontingensi didasarkan pada jadi idenya adalah untuk menjaga formulir ini dan menggunakannya sebagai pengukur jarak. Hal ini memberikan rumus ketiga OP, denganxidiartikan sebagai pengamatan danyisebagai harapan, yang menjelaskan komentar PolatAlemdar ini "Hal ini digunakan dalam distribusi probabilitas diskrit", seperti misalnya dalam kebaikan pengujian fit. Bentuk ketiga inibukanfungsi jarak, karena asimetris dalam variabelxdany. Untuk perbandingan histogram, kita menginginkan fungsi jarak yang simetris dalamxdany, dan dua bentuk pertama memberikan ini. Perbedaan di antara mereka hanyalah faktor konstan1

χ2=cells(OiEi)2Ei
xiyixyxy , yang tidak penting selama Anda hanya memilih satu formulir secara konsisten (meskipun versi dengan faktor tambahan112 lebih baik jika Anda ingin membandingkan dengan bentuk asimetris). Perhatikan kesamaan dalam rumus ini dengan jarak euclide kuadrat, yang bukan kebetulan, jarak chisquare adalah semacamjarak euclideantertimbang. Karena alasan itu, rumus dalam OP biasanya diletakkan di bawah tanda root untuk mendapatkanjarak. Berikut ini kami ikuti ini.12

Jarak Chisquare digunakan juga dalam analisis korespondensi. Untuk melihat hubungan ke bentuk yang digunakan di sana, biarkan menjadi sel-sel dari tabel kontingensi dengan R baris dan C kolom. Nyatakan total baris menjadi x + j = i x i j dan kolom total dengan x i + = j x i j . Jarak chisquare antara baris l , k diberikan oleh χ 2 ( l , k ) =xijRCx+j=ixijxi+=jxijl,k Untuk kasus dengan hanya dua baris (dua histogram) ini memulihkan formula pertama OP (modulo tanda root).

χ2(l,k)=j1x+j(xljxl+xkjxk+)2
EDIT

Menjawab pertanyaan dalam komentar di bawah ini: Sebuah buku dengan diskusi panjang tentang jarak chisquare adalah "CORRESPONDENCE ANALYSIS in PRACTICE (Edisi Kedua)" oleh Michael Greenacre (Chapman & Hall). Ini adalah nama yang mapan, berasal dari kemiripannya dengan chisquare yang digunakan dengan tabel kontingensi. Distribusi apa yang dimilikinya? Saya belum pernah mempelajarinya, tapi mungkin (dalam beberapa kondisi ...) ia akan memiliki beberapa distribusi chisquare, kira-kira. Bukti harus serupa dengan apa yang dilakukan dengan tabel kontingensi, kebanyakan literatur tentang analisis korespondensi tidak masuk ke teori distribusi. Sebuah makalah yang memiliki beberapa teori yang mungkin relevan adalah http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101-74382016000100023 . Lihat juga/stats//search?q=%22chisquare+distance%22 untuk beberapa posting lain yang relevan di situs ini.

kjetil b halvorsen
sumber
Bisakah saya bertanya mengapa persamaan terakhir Anda disebut jarak chisquare? Apakah sudah didistribusikan? Bisakah Anda memberikan derivasi, atau tautan ke satu? Sepertinya saya tidak dapat menemukannya.
LeastSquaresWonderer
1
Lihat hasil edit saya di atas.
kjetil b halvorsen
3

Saya menemukan tautan ini cukup berguna: http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html

Saya tidak yakin mengapa, tetapi OpenCV menggunakan rumus ke-3 yang Anda daftarkan untuk perbandingan histogram Chi-Square.

Dalam hal makna, saya tidak yakin algoritma pengukuran akan memberi Anda rentang terbatas, seperti 0% hingga 100%. Dengan kata lain, Anda dapat memastikan bahwa dua gambar adalah sama: nilai korelasi 1,0 atau nilai chi-square 0,0; tetapi sulit untuk menetapkan batas pada seberapa berbedanya dua gambar: bayangkan membandingkan gambar yang benar-benar putih dengan gambar yang benar-benar hitam, nilai numeriknya bisa berupa Infinity atau mungkin bukan angka.

Russell
sumber
2

xy

Dua lainnya digunakan dalam menghitung kesamaan histogram.

PolatAlemdar
sumber
1
$x$x
2
xy
0

Seperti yang diminta OP, nilai dalam persentase (untuk persamaan 1):

hal=χS100N

halχNS adalah nilai maksimum yang mungkin dalam bin.

Dilengkapi sesuai permintaan:

Menghitung persamaan ini orang dapat memiliki persentase perbedaan dari histogram penuh. Menghitung ini untuk kedua histogram dan kemudian mengurangkan satu dari yang lain, satu dapat memiliki perbedaan dalam persentase.

Carlos Barcellos
sumber
2
Saya mengalami kesulitan melihat bagaimana ini merupakan jawaban untuk semua pertanyaan. Bisakah Anda menguraikan?
The Laconic
Ini akan memberi (dalam persentase, seperti yang diminta) betapa berbedanya satu histogram dari histogram penuh. Jika Anda menghitung persamaan ini dari kedua histogram, kami akan mengetahui perbedaan dari satu ke yang lain karena ini digunakan untuk triangulasi.
Carlos Barcellos