Laplace of Gaussian
Laplace of Gaussian (LoG) dari gambar dapat ditulis sebagaif
∇2( f∗ g) = f∗ ∇2g
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, seperti∗g∗
f∗ ∇2g= f∗ ( ∂2∂x2g+ ∂2∂y2g)= f∗∂2∂x2g+ f∗ ∂2∂y2g
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
f∗ g( 1 )- f∗g( 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.