Apa Perbedaan antara Perbedaan Gaussian, Laplace of Gaussian, dan Mexican Hat Wavelet?

10

Ada tiga teknik yang digunakan dalam CV yang tampaknya sangat mirip satu sama lain, tetapi dengan perbedaan yang halus:

  • Laplacian of Gaussian:2[g(x,y,t)f(x,y)]
  • Perbedaan dari Gaussians:[g1(x,y,t)f(x,y)][g2(x,y,t)f(x,y)]
  • Konvolusi dengan wavelet Ricker :Ricker(x,y,t)f(x,y)

Seperti yang saya pahami saat ini: DoG adalah perkiraan LoG. Keduanya digunakan dalam deteksi gumpalan, dan keduanya berfungsi sebagai filter band-pass. Konvolusi dengan wavelet Topi Meksiko / Ricker tampaknya mencapai efek yang sangat mirip.

Saya telah menerapkan ketiga teknik ini pada sinyal pulsa (dengan penskalaan yang diperlukan untuk mendapatkan besaran yang sama) dan hasilnya sangat dekat. Bahkan, LoG dan Ricker terlihat hampir identik. Satu-satunya perbedaan nyata yang saya perhatikan adalah dengan DoG, saya memiliki 2 parameter gratis untuk disetel ( dan ) vs 1 untuk LoG dan Ricker. Saya juga menemukan wavelet adalah yang termudah / tercepat, karena dapat dilakukan dengan konvolusi tunggal (dilakukan melalui perkalian dalam ruang Fourier dengan FT kernel) vs 2 untuk DoG, dan konvolusi plus Laplacian untuk LoG. σ 1σ1σ1

Hasil konvolusi wavelet Ricker, Laplacian of Gaussian, dan Difference of Gaussian

  • Apa keuntungan / kerugian komparatif dari masing-masing teknik?
  • Apakah ada berbagai kasus penggunaan di mana yang satu mengalahkan yang lain?

Saya juga memiliki pemikiran intuitif bahwa pada sampel diskrit, LoG dan Ricker merosot ke operasi yang sama, karena dapat diimplementasikan sebagai kernel .[ - 1 , 2 , - 1 ]2

[1,2,1]or[010141010]for 2D images

Menerapkan operasi itu ke gaussian menimbulkan wavelet Ricker / Hat. Selain itu, karena LoG dan DoG terkait dengan persamaan difusi panas, saya rasa saya bisa mencocokkan keduanya dengan parameter yang cukup mengutak-atik.

(Saya masih basah dengan hal-hal ini agar merasa bebas untuk memperbaiki / mengklarifikasi semua ini!)

DeusXMachina
sumber

Jawaban:

6

Laplace of Gaussian

Laplace of Gaussian (LoG) dari gambar dapat ditulis sebagaif

2(fg)=f2g

dengan kernel Gaussian dan konvolusi. Yaitu, Laplace dari gambar yang dihaluskan oleh kernel Gaussian identik dengan gambar yang dihubungkan dengan Laplace dari kernel Gaussian. Konvolusi ini dapat diperluas lebih lanjut, dalam kasus 2D, sepertig

f2g=f(2x2g+2y2g)=f2x2g+f2y2g

Dengan demikian, dimungkinkan untuk menghitungnya sebagai penambahan dua konvolusi dari gambar input dengan turunan kedua dari kernel Gaussian (dalam 3D ini adalah 3 konvolusi, dll.). Ini menarik karena kernel Gaussian dapat dipisahkan, seperti halnya turunannya. Itu adalah,

f(x,y)g(x,y)=f(x,y)(g(x)g(y))=(f(x,y)g(x))g(y)

yang berarti bahwa alih-alih konvolusi 2D, kita dapat menghitung hal yang sama menggunakan dua konvolusi 1D. Ini menghemat banyak perhitungan. Untuk kernel Gaussian terkecil yang dapat dipikirkan, Anda akan memiliki 5 sampel di setiap dimensi. Konvolusi 2D memerlukan 25 perkalian dan penambahan, dua konvolusi 1D membutuhkan 10. Semakin besar kernel, atau semakin banyak dimensi dalam gambar, semakin signifikan penghematan komputasi ini.

Dengan demikian, LoG dapat dihitung menggunakan empat konvolusi 1D. Tetapi kernel LoG itu sendiri tidak dapat dipisahkan.

Ada perkiraan di mana gambar pertama kali berbelit-belit dengan kernel Gaussian dan kemudian diimplementasikan menggunakan perbedaan yang terbatas, mengarah ke kernel 3x3 dengan -4 di tengah dan 1 di empat tetangganya di tepi.2

Ricker wavelet atau operator topi Meksiko identik dengan LoG, hingga penskalaan dan normalisasi .

Perbedaan Gaussians

Perbedaan Gaussians (DoG) dari gambar dapat ditulis sebagaif

fg(1)fg(2)=f(g(1)g(2))

Jadi, seperti halnya dengan LoG, DoG dapat dilihat sebagai konvolusi 2D tunggal yang tidak dapat dipisahkan atau jumlah (perbedaan dalam kasus ini) dari dua konvolusi yang dapat dipisahkan. Melihatnya seperti ini, sepertinya tidak ada keuntungan komputasi untuk menggunakan DoG atas LoG. Namun, DoG adalah filter band-pass yang dapat ditala, LoG tidak dapat diubah dengan cara yang sama, dan harus dilihat sebagai operator turunannya. DoG juga muncul secara alami dalam pengaturan ruang-skala, di mana gambar disaring pada banyak skala (Gaussians dengan sigma yang berbeda), perbedaan antara skala berikutnya adalah DoG.

Ada perkiraan untuk kernel DoG yang dapat dipisahkan, mengurangi biaya komputasi hingga setengahnya, meskipun perkiraan itu bukan isotropik, yang mengarah pada ketergantungan rotasi filter.

Saya pernah menunjukkan (untuk diri saya sendiri) kesetaraan dari LoG dan DoG, untuk DoG di mana perbedaan sigma antara dua kernel Gaussian sangat kecil (hingga scaling). Saya tidak punya catatan tentang ini, tetapi tidak sulit untuk ditunjukkan.

Bentuk lain dari penghitungan filter ini

Jawaban Laurent menyebutkan penyaringan rekursif, dan OP menyebutkan perhitungan dalam domain Fourier. Konsep-konsep ini berlaku untuk LoG dan DoG.

The Gaussian dan yang derivatif dapat dihitung menggunakan kausal dan anti-kausal IIR filter. Jadi semua konvolusi 1D yang disebutkan di atas dapat diterapkan dalam waktu konstan dengan sigma. Perhatikan bahwa ini hanya efisien untuk sigma yang lebih besar.

Demikian pula, konvolusi apa pun dapat dihitung dalam domain Fourier, sehingga kernel 2D DoG dan LoG dapat ditransformasikan ke domain Fourier (atau lebih tepatnya dihitung di sana) dan diterapkan dengan penggandaan.

Kesimpulannya

Tidak ada perbedaan signifikan dalam kompleksitas komputasi dari kedua pendekatan ini. Saya belum menemukan alasan yang bagus untuk memperkirakan LoG menggunakan DoG.

Cris Luengo
sumber
Ini jawaban yang fantastis! Saya akan memperbarui ini sebagai jawaban baru, bukan bahwa jawaban Laurent salah atau tidak lengkap, tetapi Anda meluangkan waktu untuk menambahkan perspektif kedua yang bagus untuk pertanyaan yang dijawab tahun lalu.
DeusXMachina
2
DoG dan LoG bertemu pada skala "kulit kayu"
Laurent Duval
4

The Ricker wavelet, the (isotropic) Marr wavelet, the Mexican hat atau Laplacian of Gaussians termasuk dalam konsep yang sama: wavelet yang dapat diterima secara kontinyu (memenuhi syarat-syarat tertentu). Secara tradisional, wavelet Ricker adalah versi 1D. Wavelet Marr atau topi Meksiko adalah nama yang diberikan dalam konteks dekomposisi gambar 2D, Anda dapat mempertimbangkan misalnya Bagian 2.2 dari panorama pada representasi geometris multiskala, terjalin selektivitas spasial, direktif dan frekuensi , Pemrosesan Sinyal, 2011, L. Jacques et Al. Laplacian of Gaussian adalah generalisasi multidimensi.

Namun, dalam praktiknya, orang menerima berbagai jenis diskresi, pada tingkat yang berbeda.

3×33×3

(010141010)

(111181111)
5×5

σ1σ2

Tetapi rasio lain telah digunakan, dalam beberapa piramida Laplacian misalnya, yang mengubah DoG lebih menjadi filter bandpass yang lebih umum atau detektor tepi.

Referensi terakhir: Pencocokan Gambar Menggunakan Generalized Scale-Space Interest Points , T. Lindeberg, 2015.

Laurent Duval
sumber
1
Sangat mencerahkan, terima kasih! Jadi kedengarannya seperti dari Fast Gaussian Smoothing bahwa DoG memiliki kelebihan komputasi karena dapat dilakukan secara langsung dalam domain spasial, jadi saya membayangkan, misalnya, pemrosesan sinyal on-chip untuk CCD / visi komputer terintegrasi. Juga, Panorama tampak seperti keseluruhan bacaan yang fantastis, terima kasih!
DeusXMachina
Dengan perkiraan cepat, Anda memang dapat sejumlah operasi terlepas dari skala
Laurent Duval
1
Dari mana datangnya rasio 1.6? Jika Anda menuliskan matematika, Anda dapat melihat bahwa ada kesetaraan yang tepat antara turunan kedua Gaussian dan perbedaan Gaussian dengan perbedaan yang sangat kecil dalam sigma (hingga penskalaan).
Cris Luengo
1
Dari Marr dan Hildreth, 1980, lampiran B, mereka menyebutnya "perkiraan teknik terbaik", dengan trade-off antara bandwidth dan sensitivitas, berdasarkan kurva prestasi sambil memvariasikan rasio lebar. Saya bertemu beberapa karya di masa lalu oleh orang-orang di Delft, dengan nama yang sama. Kebetulan?
Laurent Duval
1
@LaurentDuval: Saya menyelesaikan PhD di Delft. Tidak ada orang lain di sana dengan nama saya, AFAIK. Saya dapat melihat bagaimana Anda dapat memperoleh (subyektif) optimal berdasarkan sensitivitas dan bandwidth. Jika rasionya terlalu kecil, responsnya terlalu rendah, mungkin lebih tergantung pada kebisingan diskritisasi daripada yang lain; jika rasionya terlalu tinggi, itu bukan filter yang menarik. Masuk akal. Terima kasih!
Cris Luengo