Intuisi untuk konvolusi dalam pemrosesan gambar

9

Saya telah membaca banyak dokumen tentang konvolusi dalam pemrosesan gambar, dan kebanyakan dari mereka mengatakan tentang formulanya, beberapa parameter tambahan. Tidak ada yang menjelaskan intuisi dan makna sebenarnya di balik melakukan konvolusi pada gambar. Misalnya, intuisi derivasi pada grafik membuatnya lebih linier misalnya.

Saya pikir ringkasan singkat dari definisi ini adalah: konvolusi dikalikan tumpang tindih antara gambar dan kernel, setelah jumlah itu lagi dan memasukkannya ke jangkar. Dan ini tidak masuk akal bagi saya.

Menurut artikel ini tentang konvolusi, saya tidak dapat membayangkan mengapa konvolusi dapat melakukan beberapa hal yang "sulit dipercaya". Misalnya, deteksi garis dan tepi pada halaman terakhir tautan ini. Cukup pilih konvolusi kernel yang tepat dapat membuat efek yang bagus (mendeteksi garis atau mendeteksi tepi).

Adakah yang bisa memberikan intuisi (tidak harus menjadi bukti yang rapi) tentang bagaimana hal itu bisa dilakukan?

hqt
sumber

Jawaban:

13

Saya pikir cara paling sederhana untuk memikirkan Konvolusi adalah sebagai metode mengubah nilai piksel ke nilai baru berdasarkan bobot piksel terdekat.

Sangat mudah untuk melihat mengapa Box Blur:

_____________
|1/9|1/9|1/9|
|1/9|1/9|1/9|
|1/9|1/9|1/9|
-------------

bekerja. Menggabungkan kernel ini sama dengan menelusuri setiap piksel dari sebuah foto dan membuat nilai baru dari piksel itu menjadi rata-rata dari dirinya sendiri dan delapan piksel di sekitarnya.

Jika Anda mendapatkannya, Anda dapat melihat mengapa Gaussian Blur bekerja:

_____________________
|.01|.04|.07|.04|.01|
|.04|.16|.26|.16|.04|
|.07|.26|.41|.26|.07|
|.04|.16|.26|.16|.04|
|.01|.04|.07|.04|.01|
---------------------

Ini pada dasarnya hal yang sama, kecuali rata-rata tertimbang lebih kuat terhadap piksel yang lebih dekat. Fungsi yang menentukan seberapa cepat bobot jatuh saat Anda bergerak lebih jauh adalah Fungsi Gaussian , tetapi Anda tidak perlu mengetahui detail fungsi untuk menggunakannya untuk kabur.

Kernel deteksi tepi dalam artikel yang terhubung masuk akal jika Anda melihatnya cukup lama juga:

__________
|-1|-1|-1|
|-1|.8|-1|
|-1|-1|-1|
----------

Ini pada dasarnya mengatakan bahwa nilai piksel dimulai pada 8/9 dari nilai aslinya. Anda kemudian kurangi nilai setiap piksel di sekitarnya untuk sampai pada piksel baru Anda.

Jadi jika nilai piksel tinggi dan nilai piksel di sekitarnya juga tinggi, mereka akan membatalkan satu sama lain. Jika nilai piksel rendah dan semua piksel di sekitarnya juga rendah, mereka juga akan membatalkan satu sama lain. Jika nilai piksel tinggi dan nilai piksel di sekitarnya rendah (seperti dalam piksel di tepi objek), nilai piksel baru akan tinggi.

Brian
sumber
6

Salah satu cara untuk berpikir tentang konvolusi / korelasi silang adalah seolah-olah Anda sedang mencari sinyal di data Anda. Semakin banyak data yang terlihat seperti kernel, semakin tinggi nilai yang dihasilkan. Saya sebenarnya mengambil kebalikan dari kernel, yaitu seperti pada korelasi silang, tetapi pada dasarnya hal yang sama.

Misalnya, katakanlah Anda mencari langkah arah dalam data 1d Anda.

Kernel bisa jadi

[-1 1]

dan mari kita terapkan itu ke data

[2 2 2 2 2 1 1 1 1 1]

Hasilnya akan

[0 0 0 0 0 1 0 0 0 0]

Yang mendeteksi lokasi langkah. Langkah yang lebih besar akan memberikan nilai yang lebih besar.

Ini berfungsi karena ketika Anda mengalikan sebuah pola dengan yang muncul di kernel Anda mendapatkan nilai tinggi.

Deteksi tepi (atau deteksi pola lainnya) bekerja dengan cara yang sama, misalnya dengan kernel

[-1 2 -1]

Perluasan ke dimensi yang lebih tinggi juga bisa dipikirkan jika demikian.

Ini harus memberi Anda intuisi setidaknya tentang beberapa aplikasi pemrosesan gambar konvolusi.

Bitwise
sumber
4

Jika Anda berpikir konvolusi agak terlalu sulit untuk dipahami, saya sarankan Anda mulai mencari tentang Matematika Morfologi yang diterapkan untuk pemrosesan gambar, ide besar di balik Matematika Morfologi adalah bahwa Anda akan melakukan operasi yang sangat dekat dengan konvolusi, untuk "mengubah" morfologi gambar, tetapi mempertahankan informasi topologi, dengan cara ini, Anda dapat membuat gambar manusia yang berdiri, kerangka, yang cukup banyak manusia tongkat, cobalah menerapkan operasi erosi, kemudian melebarkan operasi, lalu pergi ke tempat terbuka / tutup operasi, Anda akan mulai memahami apa yang bisa dilakukan oleh topeng pada setiap piksel gambar, dan bagaimana topeng itu dapat digunakan dalam skenario besar untuk mencapai hasil yang luar biasa (seperti menemukan tempat untuk memulai sesuatu menggunakan erosi terakhir), begitu Anda memahami Matematika Morfologi, konvolusi sedikit lebih sulit,karena didasarkan pada kalkulus, dan didefinisikan setelah diintegrasikan, tetapi masih, banyak konvolusi mudah dipahami, seperti median blur, gaussian blur, mempertajam, deteksi tepi, laplace, gradien, dll.

H_DANILO
sumber