Apa yang dimaksud dengan peningkatan bilateral?

9

Saya telah bekerja dengan berbagai algoritma interpolasi termasuk linear, cubic (dan bilinear dan bicubic), interpolasi berbasis bezier lainnya (dan nurbs, dll), interpolasi lagrange dan beberapa lainnya, tetapi saya belum dapat menemukan info dasar yang menjelaskan apa upampling bilateral itu.

Saya telah dapat menemukan informasi tentang Joint Bilateral Upsampling yang terbaik yang dapat saya katakan menginterpolasi beberapa bagian data secara paralel, menggunakan petunjuk dari masing-masing untuk membantu interpolasi lainnya dengan lebih baik, tetapi saya mengalami kesulitan dalam memisahkan informasi BU dan JBU.

Adakah yang bisa menjelaskan ide-ide dasar tentang apa yang dimaksud dengan upampling bilateral?

Alan Wolfe
sumber
1
Makalah asli tentang pemfilteran bilateral, "Pemfilteran Bilateral untuk Gambar Abu-abu dan Warna" , oleh Tomasi dan Manduchi: users.cs.duke.edu/~tomasi/papers/tomasi/tomasiIccv98.pdf
Julien Guertault

Jawaban:

9

Sepertinya Anda menanyakan dua hal. Saya tidak dapat berbicara secara teknis tentang JBU, tetapi saya dapat memberikan gambaran umum tentang konsep-konsep yang diperlukan dan penyaringan bilateral secara umum. Anda mungkin perlu menemukan lebih banyak detail sendiri, tetapi ini harus memberikan struktur yang koheren untuk memulai.


Memperbaiki "Gambar" s

Banyak orang yang memproses gambar melihat pemfilteran sebagai sesuatu yang harus dilakukan sebagai pasca-proses, atau sebagai cara untuk menskala gambar. Perspektif ahli matematika lebih akurat, deskriptif, dan kompleks.

Ketika Anda memiliki file gambar, Anda tidak memiliki gambar nyata. Anda memiliki "nilai" piksel, yang hanya valid di pusat piksel. Secara kasar, setiap piksel memiliki area yang menghasilkan warna tersebut. Secara matematis, apa yang Anda lakukan adalah menggunakan filter rekonstruksi tetangga terdekat untuk merekonstruksi gambar sebenarnya dari nilai piksel. Jadi "gambar" sebenarnya adalah kumpulan sampel dan filter rekonstruksi, biasanya tetangga terdekat .

Resampling

Saat Anda memperbesar gambar, apa yang sebenarnya Anda lakukan adalah resampling . Bagaimana kamu melakukan ini? Anda mengambil sinyal Anda, dan menghasilkan set sampel baru dari itu. Tetapi untuk sebuah gambar, saya hanya mengatakan kami tidak memiliki gambar asli; kita harus merekonstruksi terlebih dahulu. Jadi prosedur resampling yang khas terlihat seperti ini:

  1. Ambil nilai piksel Anda.
  2. Rekonstruksi gambar di antara nilai-nilai, yang hidup di pusat pixel, dengan menggunakan penyaringan rekonstruksi.
  3. Ukur satu set sampel baru dari gambar yang direkonstruksi, mungkin berjarak berbeda.
  4. Buang sampel lama dan gunakan yang baru.

Poin kuncinya adalah bahwa filter rekonstruksi yang digunakan adalah "filter" yang digunakan untuk resampling. Misalnya, "bicubic upsample" akan menggunakan filter rekonstruksi bicubic.

Ternyata jika Anda menggunakan fungsi sinc untuk filter rekonstruksi, dan Anda tidak mengecilkan gambar, Anda mendapatkan (secara teoritis) gambar yang sama kembali. Bahkan, jika Anda memperbesar gambar dan kemudian menurunkannya lagi, Anda akan mendapatkan jawaban yang sama. Ini biasanya tidak berlaku untuk filter lainnya.

Sebagian besar filter memperkirakan filter tulus ke lebih atau kurang derajat. Penyimpangan menghasilkan hilangnya gambar.

Penyaringan

Jika Anda menggunakan hal yang sama sebelum / sesudah laju sampling, Anda melakukan sesuatu yang disebut "pemfilteran". Secara formal, pemfilteran dilakukan resampling tanpa perubahan laju sampel. Pemfilteran adalah kasus khusus resampling.

Satu-satunya tujuan yang mungkin untuk memfilternya untuk membuang informasi (misalnya, seorang Gaussian) atau mungkin juga untuk mengubah atau menambah informasi palsu (mis. Sobel).

Penyaringan Bilateral

Anda dapat menggunakan banyak filter berbeda untuk memfilter. Penyaringan bilateral adalah salah satunya. Saya tidak percaya itu dianggap state-of-the-art untuk tujuan apa pun sekarang (meskipun saya tidak tahu apa itu; mungkin beberapa hal pembelajaran mesin bermodel yang saya harapkan).

Filter bilateral adalah filter non-linear, artinya tidak memiliki representasi Fourier yang bagus. Secara konseptual, ini seperti Gaussian, tetapi warna sumber itu sendiri juga menjadi faktor "jarak" piksel dari yang lain. Ini cenderung melicinkan daerah yang rata sambil menjaga pinggirannya.

Peningkatan Bilateral

Sekarang, saya harap Anda melihat ke mana saya akan pergi dengan ini: filter apa pun yang dapat Anda gunakan untuk memfilter, Anda dapat menggunakan untuk meningkatkan atau menurunkan skala, yang benar-benar hal yang sama (karena semua itu adalah resampling).

Jika Anda telah menerapkan filter bilateral, Anda seharusnya dapat menerapkan resampler filter bilateral - seperti halnya, jika Anda telah menerapkan filter Gaussian, Anda harus dapat mengimplementasikan resampler filter Gaussian.

Satu-satunya kesulitan adalah definisi. Sayangnya, perbedaan antara pemfilteran dan resampling secara sistemik membingungkan hingga tidak adanya dalam literatur pemrosesan gambar. Untuk menerapkan filter tipe bilateral, saya akan sangat bergantung pada kesamaannya dengan resampling Gaussian. IIRC (saya belum membaca makalah ini bertahun-tahun) penyaringan bilateral diajukan dalam bentuk piksel, bukan sampel.

Imallett
sumber
Bagaimana penyaringan bilateral bekerja secara khusus adalah apa yang saya coba dapatkan informasi tentang. Dapatkah Anda menguraikan itu?
Alan Wolfe
Seseorang dapat meminjamkan gambar untuk penjelasan di awal dari sini
joojaa
@AlanWolfe Saya berasumsi Anda bertanya setelah konteks yang lebih luas, karena menerapkan penyaringan bilateral dasar sangat mampu Google dan agak sederhana. Seperti yang saya tulis, ide dasarnya adalah membuat faktor nilai menjadi bobot, bukan hanya jarak.
imallett
Juga jawaban @ joolaa cukup bagus dan mungkin berguna sebagai penjelasan kedua dari ikhtisar saya.
imallett
1
Sekarang saya memiliki istilah "filter bilateral" Saya lebih beruntung di Google. Terima kasih untuk itu.
Alan Wolfe
3

Ini mungkin tidak mengeksplorasi kedalaman penuh dari istilah ini, tetapi hal pertama yang terlintas dalam pikiran saya ketika saya mendengar "peningkatan bilateral" adalah pencampuran yang sadar-kedalaman dari gambar-gambar beresolusi rendah ke yang beresolusi tinggi; misalnya, ketika Anda membuat geometri alfa-dicampur ke buffer setengah-resolusi (untuk penghematan kinerja) dan kemudian menggabungkannya kembali ke target render utama. Angelo Pesce menulis posting yang menjelaskannya dengan baik.

IneQuation
sumber