Mengapa beberapa Gaussian Blurs?

9

Menerapkan banyak Gaussian blur dapat menghasilkan efek yang setara dengan Gaussian blur yang lebih kuat.

Misalnya pertanyaan ini mengatakan bahwa: Apakah melakukan beberapa Gaussian mengaburkan sama dengan melakukan satu blur yang lebih besar?

Wikipedia juga mengatakannya, tetapi mengatakan bahwa itu akan selalu sama dengan banyak perhitungan atau lebih untuk melakukannya dalam banyak blur dibandingkan melakukannya dalam satu blur tunggal.

Menerapkan beberapa, gaussian blur berurutan pada gambar memiliki efek yang sama dengan menerapkan gaussian blur tunggal yang lebih besar, yang jari-jarinya adalah akar kuadrat dari jumlah kuadrat dari jari-jari blur yang benar-benar diterapkan. Sebagai contoh, menerapkan blur gaussian berturut-turut dengan jari-jari 6 dan 8 memberikan hasil yang sama dengan menerapkan blur gaussian tunggal jari-jari 10, karena \ sqrt {6 ^ 2 + 8 ^ 2} = 10. Karena hubungan ini, waktu pemrosesan tidak dapat diselamatkan dengan mensimulasikan gaussian blur dengan pengaburan yang lebih kecil dan berurutan - waktu yang dibutuhkan setidaknya sama besar dengan melakukan blur besar tunggal.

Sumber: https://en.wikipedia.org/wiki/Gaussian_blur#Mechanics

Namun, saya pernah mendengar dan membaca tentang orang-orang yang melakukan banyak pengaburan dalam grafik waktu nyata untuk mendapatkan pengaburan yang lebih kuat.

Apa manfaatnya jika tidak ada pengurangan dalam perhitungan?

Alan Wolfe
sumber
3
Apakah Anda yakin mereka berbicara tentang banyak gaussian blur? Melakukan beberapa Box blur adalah cara umum untuk memperkirakan gaussian blur.
yuriks
Info menarik. Saya percaya begitu, ya, tetapi bisa saja salah!
Alan Wolfe
1
Mungkin lebih sederhana hanya untuk sampel piksel tetangga, yang juga jauh lebih intuitif sebagai model fisik difusi, lihat 12 langkah untuk Navier-Stokes, langkah 7
joojaa

Jawaban:

14

Ada dua kasus yang bisa saya pikirkan di mana beberapa blur akan dilakukan secara berurutan pada satu gambar.

Pertama, saat melakukan blur dengan radius besar, ini dapat mengurangi perhitungan total jika Anda pertama kali melakukan downsample gambar (yang merupakan blur) dan kemudian melakukan blur dengan radius lebih kecil pada gambar downsampled. Sebagai contoh, downsampling gambar dengan 4x dan kemudian melakukan blur Gaussian selebar 10px pada hasilnya akan mendekati melakukan blur Gaussian selebar 40px pada gambar asli — tetapi kemungkinan akan jauh lebih cepat karena peningkatan lokalitas dalam pengambilan sampel dan lebih sedikit sampel yang diambil secara keseluruhan.

Kotak perkiraan Gaussian luas

Filter downsampling awal seringkali hanya berupa kotak (seperti yang ditunjukkan di atas), tetapi juga dapat dengan sendirinya menjadi sesuatu yang lebih canggih, seperti segitiga atau filter bikubik, untuk meningkatkan perkiraan.

Perkiraan Mitchell-Netravali atas Gaussian yang luas

Ini adalah downsample Mitchell-Netravali (kubik) diikuti oleh seorang Gaussian. Menariknya, ternyata menggunakan Gaussian untuk downsampling awal tidak membuat perkiraan yang bagus jika tujuan Anda adalah menggunakannya untuk menghasilkan Gaussian yang lebih besar.

Langkah downsampling awal juga sering digunakan ketika menerapkan efek visual seperti kedalaman bidang dan blur gerak, untuk alasan yang sama.

Alasan kedua untuk melakukan banyak pengaburan Gaussian adalah untuk memperkirakan filter yang tidak dapat dipisahkan dengan memadukan berbagai Gaussi dari jari-jari yang berbeda. Ini biasanya digunakan dalam mekar, misalnya. Efek bloom standar bekerja dengan thresholding pertama untuk mengekstraksi objek terang dari gambar, kemudian membuat beberapa salinan objek terang kabur (biasanya menggunakan teknik downsample-kemudian-blur yang baru saja dibahas), dan akhirnya menimbang dan menjumlahkannya bersama-sama. Hal ini memungkinkan seniman tingkat kontrol yang lebih besar atas bentuk akhir dan penampilan mekar.

Jumlah tiga Gaussians menciptakan fungsi "berekor berat"

Di sini, misalnya, adalah jumlah tertimbang dari tiga Gaussians (garis merah) yang menghasilkan bentuk yang lebih sempit dan ekor lebih berat daripada Gaussian tunggal (garis biru). Ini adalah jenis konfigurasi yang populer untuk digunakan untuk mekar, karena kombinasi dari pusat yang sempit dan terang dengan lingkaran lebar yang difus secara visual menarik. Tetapi karena bentuk filter semacam ini tidak dapat dipisahkan, lebih murah untuk membuatnya dari campuran Gaussians daripada mencoba memfilternya secara langsung.

Variasi lain pada ide ini adalah konsep profil difusi yang digunakan dengan hamburan bawah permukaan untuk rendering kulit. Radius blur yang berbeda dapat digunakan untuk saluran merah, hijau, dan biru untuk memperkirakan cara panjang gelombang cahaya pencar yang berbeda secara berbeda, seperti pada GPU Shading 3 skin shading chapter oleh Eugene d'Eon dan Dave Luebke. Faktanya, kertas itu menggunakan campuran dari tujuh Gaussians yang berbeda, dengan bobot R, G, dan B yang berbeda untuk masing-masingnya, untuk memperkirakan respons hamburan kulit manusia yang tidak dapat dipisahkan dan bergantung pada panjang gelombang.

Profil difusi dari artikel GPU Permata 3 tentang naungan kulit

Nathan Reed
sumber