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?
image-processing
interpolation
image
Alan Wolfe
sumber
sumber
Jawaban:
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:
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.
sumber
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.
sumber