Konvolusi Citra Digital
Summary
TLDRThis video explains the concept of convolution in digital image processing, particularly its role in improving image quality. It discusses how convolution operates by applying a filter (kernel) to the original image, affecting pixels based on their neighboring values. The process is demonstrated step-by-step with an example, highlighting how convolution can be used for various tasks such as noise reduction and edge detection. The speaker also covers different methods for handling image borders during convolution and emphasizes that the choice of kernel influences the output of the operation.
Takeaways
- ๐ Convolution is a fundamental operation in digital image processing, particularly at the local level, where the value of a pixel is influenced by neighboring pixels.
- ๐ Convolution uses a kernel, a matrix that is applied to the image, to modify the pixel values and enhance image quality.
- ๐ Kernels are typically smaller than the original image, with common sizes being 3x3, 5x5, or other dimensions.
- ๐ฏ The origin point of the kernel, usually located at the center of the matrix, determines where the convolution result will be placed in the output image.
- ๐ข Convolution is not simply matrix multiplication; it involves matching positions of kernel values and image pixel intensities and multiplying them together.
- ๐ผ๏ธ The clipping process is important in convolution to ensure that the resulting pixel values stay within valid intensity ranges, usually between 0 and 255.
- โ๏ธ After each convolution step, the kernel shifts over the image, and the same process repeats across different coordinates.
- โ๏ธ When the kernel reaches image edges where no pixels exist, there are several ways to handle it: by using pixel values from the original image, duplicating edge pixels, or applying a constant value.
- ๐๏ธ Convolution can be applied for various tasks like noise reduction, edge detection, and image sharpening, with the kernelโs values determining the specific effect.
- ๐ง The difference in convolution results comes from the different kernel configurations, allowing the technique to perform multiple image enhancement operations.
Q & A
What is the purpose of convolution in image processing?
-Convolution in image processing is used to improve image quality by applying filters that manipulate pixel values based on neighboring pixels. It is essential in tasks such as noise reduction, edge detection, and image enhancement.
What is a kernel in convolution, and how is it used?
-A kernel is a matrix used in convolution to determine how surrounding pixel values affect a specific pixel. It is applied to the image to generate a new set of pixel values based on this interaction. Kernels can vary in size and are crucial in defining the filter's behavior.
How are kernel coordinates defined, and what is the significance of the origin?
-Kernel coordinates are defined based on their position relative to the image. The origin, typically at the center of the kernel, determines the alignment of the kernel with the image. This position is important because it affects the final outcome of the convolution process.
What is the difference between linear and non-linear filters in image processing?
-Linear filters, such as those used in convolution, modify pixel values based on a weighted sum of surrounding pixels. Non-linear filters, like median filters, are used for tasks like edge detection and remove noise by considering pixel relationships differently, often not relying on a linear combination.
How does convolution handle image edges or borders?
-Convolution can handle edges by either ignoring the pixels that fall outside the image, duplicating the values from the edge, or filling in constant values such as 0 (padding). This ensures that the convolution process is applied uniformly across the image.
Why is it important to apply clipping during the convolution process?
-Clipping is essential to ensure pixel intensity values remain within a valid range, usually between 0 and 255 for an 8-bit image. If a value exceeds the range, clipping brings it back within limits, preventing distorted or incorrect image output.
What is the process for applying a convolution kernel to an image?
-To apply a convolution kernel, you align the kernel with the image starting at a specific position (e.g., (0,0)). For each position, you multiply corresponding pixel values by the kernelโs coefficients and sum them to produce a new pixel value. This process is repeated as the kernel shifts across the entire image.
What are some common applications of convolution in image processing?
-Convolution is used for various image processing tasks such as noise reduction, edge detection, sharpening, and blurring. Different types of kernels are used depending on the desired effect, like Gaussian blur for smoothing or Sobel operators for edge detection.
How does the size of the kernel affect the convolution process?
-The size of the kernel affects the scope of pixel interactions. Larger kernels take into account a broader area of neighboring pixels, which can produce smoother or more significant transformations, while smaller kernels focus on more localized changes.
How does convolution differ from matrix multiplication?
-Convolution differs from standard matrix multiplication because it involves multiplying and summing values from corresponding positions in a grid, but it also shifts the kernel over the entire image. Matrix multiplication is a more straightforward linear combination of matrix elements without this shifting operation.
Outlines
๐ Introduction to Convolution and Image Processing
This paragraph introduces the concept of convolution in digital image processing. It explains the computational levels in image enhancement, focusing on local computation, where the manipulation of a pixel is influenced by its neighboring pixels. Convolution is described as a linear filtering process used in local-based image enhancement, and it involves applying a kernel, a matrix smaller than the original image, to calculate new pixel values.
๐ผ๏ธ Kernel Placement and Basic Convolution Process
Here, the basic process of convolution is outlined. The kernel (a 3x3 matrix in this example) is initially placed at the top-left corner of the image (coordinates 0,0), and the convolution begins by multiplying corresponding pixel values from the image and the kernel, summing them up to produce a new value. The kernel is then shifted across the image. The explanation distinguishes convolution from standard matrix multiplication, emphasizing the unique method of aligning the kernel with pixel positions.
โ๏ธ Shifting the Kernel Across the Image
This paragraph continues the explanation of the convolution process, describing how the kernel is shifted across the image, row by row and column by column, while multiplying and summing corresponding pixel values. Special attention is given to the edge pixels, where convolution might stop as there are no more pixels to process. The result is a feature map smaller than the original image, reflecting the kernel's impact on local pixel values.
๐ Handling Edge Pixels and Different Approaches
The focus here is on how to handle pixels at the edges of an image during convolution. Three methods are described: (1) copying the pixel values from the original image to the feature map, (2) duplicating edge pixel values across the borders, and (3) using constant values (e.g., 0 or 255) to fill in the missing data. Each method ensures that no pixels are left unprocessed, maintaining the integrity of the convolution operation.
Mindmap
Keywords
๐กConvolution
๐กKernel
๐กImage Processing
๐กPixel
๐กLocal Operation
๐กClipping
๐กCoordinate System
๐กEdge Detection
๐กNoise Reduction
๐กFilter
๐กImage Quality
Highlights
Introduction to convolution operation in image processing, highlighting its importance in improving image quality.
Explanation of different levels of computation in image processing: point level, global level, and local level.
Convolution is described as a linear filtering process that operates at the local level, using surrounding pixel values to manipulate an image.
Introduction to kernel, a crucial component in convolution, acting as a matrix used to filter the image.
Description of kernel sizes, such as 3x3, 5x5, and 7x7, and their role in convolution operations.
Clarification of the distinction between pixel values in an image and coefficients in a kernel.
The origin or center of the kernel matrix affects the output of the convolution process.
Coordinate systems of an image and kernel are compared, explaining how they are aligned for convolution.
The process of convolution involves multiplying corresponding pixel values in the image with kernel coefficients and summing them.
Detailed explanation of clipping operations, which ensure that pixel values remain within a valid range after convolution.
Discussion on different padding methods to handle boundary pixels during convolution, such as replicating edge pixels or assigning constant values.
Different use cases of convolution, including image enhancement, noise reduction, and edge detection, are outlined.
Emphasis on how varying the kernel matrix changes the convolution output, allowing for different effects on the image.
Step-by-step explanation of how convolution works on a 5x5 image using a 3x3 kernel, including the sliding window approach.
Final summary reiterating the importance of convolution in digital image processing and its broad applications in enhancing and analyzing images.
Transcripts
Hai assalamualaikum warahmatullahi
wabarakatuh Pada kesempatan kali ini
saya akan membahas tentang operasi
konvolusi seperti yang sudah dibahas
sebelumnya di materi sebelumnya bahwa
dalam pengolahan perbaikan kualitas
Citra itu terdapat level komputasi level
titik level global dan level lokal nah
di level lokal itu proses dimana ketika
kita ingin memanipulasi atau mengubah
sore pixel itu dipengaruhi oleh nilai
pixel disekitarnya nah konvolusi ini
merupakan proses filter ya filter yang
linear jadi dalam perbaikan kualitas
Citra itu loh yang berbasis lokal itu
ada filter linear dan filter frontliner
nah pada proses filter linear kita
menggunakan operasi konvolusi jadi
operasi konvolusi ini merupakan operasi
dasar dalam pengolahan Citra digital nah
disini karena Citra digital ini
merupakan fungsi dua dimensi atau fungsi
m diskrit ya Jadi kita menggunakan yang
2 dimensi itu nah nah oh jadi kita
King's diskrit dimana disini untuk
fungsi MK revolusi itu kita menggunakan
hx koma y kemudian situ dfx koma y koma
itu adalah intensitas pixelnya dari
Citra asli begitu ya maaf kemudian Dika
ini bukan kali tapi ini dalam Bang
konvolusi dikonsultasikan dengan nilai
gxy tangki aksi ini adalah Kernel jadi
di dalam proses konvolusi itu selain ada
Citra asingnya kita punya namanya Kernel
nah Kernel itu apa karena itu merupakan
matriks cukurannya umumnya bisa tiga
kali 35 kali 52 kali satu dua kali dua
kali dua ukurannya idealnya kernelnya
konvolusi itu ukuran yang lebih kecil
dari Citra aslinya gitu ya Nah jika kita
mengenal kalau misalkan di pixel jika
kita punya Citra asli di dalam satu
Citra itu kita mengenal bahwa nilai di
dalam kotak ini adalah pixel atau
intensitas cahaya sementara jika pada
email kita sebut itu sebagai koefisien
saya sampaikan bahwa kena itu adalah
matriks juga tapi nilai yang di dalam
matriks ini 12 1043 dan seterusnya Jadi
bukan pixel ya tapi koefisien dari
Kernel bisa kita sebut dengan di sini
mungkin ada yang atau convolution filter
gitu ya terus mungkin templatenya Mas
gitu ya kemudian Kernel ini dia punya
titik tengah fotone Origin Origin ini
akan mempengaruhi posisi dimana hasil
dari proses evolusinya nah titik Origin
itu biasanya di Posisinya itu ada di
pusat simetris dari suatu Kernel Jadi
kalau misalnya tiga kali tiga pakar
pusat sintetik original ada di sini
kalau lima kali lima Itu posisinya ada
di sini gitu ya misalkan ya ya
di pokoknya pusat simetri spasi titik
Origin itu oke nah kemudian kalau kita
membahas tentang koordinatnya sekarang
Biasanya kalau kita membahas koordinat
pixel ya kalau pixel itu kalau kita
membahas Citra skincorner Spesialnya itu
dimulai dari ujung kiri atas jadi 0,0 ya
di sini gitu kan Nah kalau kita membahas
tentang Kernel titik koordinat titik 0,0
Yaitu dimulai dari depan ijinnya jadi
karena disini Kernel ada tiga kali tiga
maka Biasanya kalau si 0,0 nya itu titik
pusatnya di sini makan oknum di sini
koordinat-koordinat kernelnya berarti di
sini 0,1 yang ini nol koma minus 1
kemudian ini 1,0 ini anda 1,0 dan
seterusnya jadi berbeda Nah kalau
misalkan ada lagi Kernel yang ukurannya
dua kali 26 Biasanya kalau jadi enggak
susahnya menunjukkan titik pusatnya gitu
Titik tengahnya Biasanya sih ada di
ujung kiri atas disini sehingga disini
koordinat 0,0 dari kernelnya
gitu ya jadi titik pusat ini dengan kita
tahu titik pusatnya nanti akan
mempengaruhi Dimana posisi hasil dari
konvolusi nya Nah sekarang kita akan
bahas Bagaimana sih proses dari
konvolusi tersebut sebelumnya harus
tegaskan kembali bahwa sebetulnya ia
mempengaruhi output dari proses
konvolusi kernelnya jadi Kernel ini
koefisiennya bisa beragam macam-macam
sesuai kebutuhan gitu ya Jadi itulah
yang akan mempengaruhi hasil atau output
dari suatu proses konvolusi gimana
caranya sekarang kita ilustrasinya
begini misalkan saja ini ada Citra
aslinya adalah kernelnya sebetulnya sih
ini kita tempel di posisi koordinat
citranya 0,0 ya Jadi kalau misalkan saya
gambarkan saya Gambarkan kembali seperti
ini misalkan Ya saya punya Citra
ukurannya lima kali lima misalkan
Hai nah yang pertama itu sih kernelnya
itu akan diposisikan di 0,0 dulu jadi
disini karena disini cekal kernelnya
tiga kali tiga maka kita seolah-olah
kayak menempelkan stiker l itu di atas
citranya jadi ini tiga kali tiga Nah
seperti ini ya jadi itu dilakukan dari
titik 0,0 ya dulu jika ini Kernel tiga
kali tiga maka titik Origin ada di sini
kan Ya nah sekarang kita akan bahas
Bagaimana sih prosesnya begitu ya proses
untuk mengkonsolidasi caranya adalah
kita mengalihkan ya nilai yang
berkesesuaian dari posisi Kernel dan
posisi citranya Oke saya akan fokus di
sini ya ini misalkan saja sekarang Oh
dia mengkonversi diposisi ini begitu ya
walaupun dilakukan dari caranya adalah
ini ditambah bt2q tambah dp4 ditambah
sampai dengan
MP3 live 9 Nah kayak jadi caranya
seperti itu jadi beda bukan bukan
seperti perkalian matriks yang sudah
pernah kita pelajari pada koperasi Adit
mati KM perkalian dua buah Citra
akhirnya itu agak berbeda Jadi konvolusi
itu kita mengalikan dengan posisi yang
berkesesuaian jadi misalkan saja saya
punya di sini nilainya adalah 123456789
maka ya kalau kita lihat koordinatnya di
mana nih titik tangannya dimana disini
kan kalau kita tempel ini disini tiga
kali tiga berarti dia ada di koordinat
ini kan dia ada di coordinate ini yang
kelima ini lima Ini berarti koordinatnya
adalah kalau disini 0,0 maka disini 0,1
0,2 ini 1,0 20 maka koordinat ini adalah
koordinat 1,1 maka akan saya tulis
adalah hak 1,1 sama dengan satu kali aja
dia Katakanlah dia ini misalkan ini saya
kasih nilainya minus 10 minus 1
Hai kemudian no minus 140 minus 10
desain Griya jadi seakan kalikan satu
kali ini ada satu ditambah dua kali
0plus tiga kali minus 1 sampai dengan
ini ya ditambah 9 dikali 50 sini kan
bisa kan kita punya nilainya kita punya
nilainya adalah Misalnya kita temukan
belah minus 5 gitu saja lain dinas 5
hati-hati dalam proses dalam proses
konvolusi juga terapkan operasi kliping
facto perlu diperhatikan kliping kita
adalah jika nilainya kurang dari nilai
minimum suatu intensitas cahaya maka
anda bulatkan ke norican karena nilainya
negatif Kita kulit ingin jadi sama
dengan nol maka mau saya tulis kembali
saya bikin kembali matriks hasil
konvolusi ya atau kita sebut dengan
fitur map disini 23 mana tadikan 1,1
isikan nama kasih nol ini untuk
konvolusi tadi kita taruh di sini nekno
ah kita kemudian selanjutnya proses yang
berikutnya dia akan geser satu baris eh
sorry satu kolom jadi-jadian seperti ini
sekarang kita geser satu kolom jadi
posisinya di sini oke seperti ini Ya
dengan langkah yang sama nah artinya
kalau titik Origin ya adalah di E3
tempatkan di sini maka yang berikutnya
koordinatnya adalah koordinat 1,2 maka
anda tulis Nanti anda jabarkan disini
adalah hak 1,2 dengan cara yang sama dua
kali ini nah 13 dikali nol dan
seterusnya gitu ya misalkan kita punya
nilainya adalah Misalnya kita punya
nilainya Kalau lebih dari misalkan 300
menteri nitip sementara ini 8gid makanya
Anda bulatkan menjadi 255 Nah jadi
operasi kliping harus diterapkan di Anda
jabarkan caranya ya kayak ginilah Disini
belum ada ya janda jabatan caranya bisa
kita dapat 320 karena di bulat dikliping
Kan hasilnya jual
Hai maka hasil sini menjadi 255 key
berikutnya lagi geser lagi dia satu
kolom Nah ya kemudian satu kolom lagi
Jadi sekarang posisinya ada di sini oke
dengan langkah yang sama berarti ini di
koordinat hak 13 berpihak 13 Manda tulis
caranya kemudian kalau kurang atau
melebihi dari batas speednya atau
pixelnya maka kliping gitu ya Nah
kemudian setelah itu selesai dia geseran
ikan pada saat ya geser tersebut ke
koordinat di 0,3 itu berarti kan karang
harus tiga kali tiga ini enggak ada
pixel dong di sini akan Nah ini enggak
ada nih enggak ada nilai disini kan
kalau di lima kali lima mas sebenarnya
kalau kita geser kurangkan maka tidak
kita konvolusi berhenti ya untuk geser
satu kolom ini dia berhenti dari atau
selesai setelah itu apa yang dilakukan
dia akan turun satu baris jadi yang
tadinya 1,0 sekarang yang kita proses
adalah eh tadinya 0,0 ya di sini ya
sekarang kita proses di 1,0
Sekarang kita akan proses yang disini
nah sini ya oke dengan cara yang sama
seperti tadi jadi kalau sekarang berarti
koordinat mana korslet ini ya yaitu
koordinat 2,1 gitu ya jadi H2 koma satu
kemudian geser lagi kalau geser lagi
berarti kita memproses di-hack 2,2 ya
kalau kita geser Lagian berarti
koordinatnya di sini ya Nah ini kan kita
turun satu baris ya terus satu baris
kemudian geser satu kolom akan otomatis
di sini nih ordinatnya h222 setelah
dengan cara yang sama kemudian kita
geser lagi satu kolom gitu ya kita geser
satu kolom Berarti sekarang nilai kita
ada di sini Sorry prosesnya di sini
mungkin iya tiga kali tiga eh kan 123
Iya berarti sekarang pergi prosesnya ha
2,3 dengan cara yang sama nah ini pun
sama begitu kita geser satu kolom lagi
menit
Ya maksudnya cuman ada dua sisa2 pixel
maka tidak di konvolusi ya Jadi kalau
tadi ini hasil sampai dengan 1,3 kan
beli sampai sini akan koordinator 0,001
020304 ini berarti 10 ya kan 2,0 3,0 4,0
kabar ikan ini yang ini koordinat 1,1
1,2 kemudian 1,3 inilah isinya kemudian
2,1 berarti ini 2,2 ini kemudian 2,3 ini
Key jadi yang ini enggak kita konvolusi
pada saat geserkan ini ya kosongkan
dikonsumsi akhirnya Bagaimana turun lagi
satu baris ya jadi ikut turun lagi
sekarang koordinatnya mulai dari yang
2,0 ini berarti ya kita turun lagi
kotakin lagi tiga kali tiga gitu Anda
proses lagi berarti kita akan memproses
di koordinat adalah 123
Thomas satunya dengan cara yang sama Mas
3,1 di sini ya Eh sini kemudian geser
lagi kan geser lagi berarti kita
memproses di koordinat 3,2 h352 itu ya
masih di sini Setelah itu kita proses
lagi pada koordinat 3,3 jika 3,3 h33 key
nah disini nah pada saat kita turun lagi
satu baris selesaikan di sini ya turun
lagi satu baris ini ternyata harus kita
proses juga Karena yang dibawahnya ini
juga sama-sama kosongkan sudah nggak ada
lagi enggak ada nilai namakan selesai
sesaat selesai proses konvolusi untuk
Citra 5 ke-5 ini untuk tidak ke-3 nah
jika anda perhatikan prosesnya ya ini
hasil dari konvolusi itu kita
menghasilkan tiga kali tiga disini
Padahal tadinya lima kali makan
Bagaimana sekarang dengan nilai yang
tepian
atas-bawah kiri-kanan ini akan menjadi
jadi konvolusi kan maka Seperti apa kita
memberikan nilai Sunter nggak boleh
kosong dong nilai si pixel dalam suatu
Citra Nah ada 3 cara Ada tiga cara cara
yang pertama yaitu bisa pinggir ini
diabaikan dari konvolusi nah tapi kita
berikan nilai yang sama dari Citra
aslinya jadi kalau seumpamanya kita
punya Citra aslinya itu adalah sore ini
misalkan yang bisa aslinya 4435 4234 ini
dan seterusnya ya Nah maka kita salin
lagi dari Citra asli itu kepada hasil
konvolusi nya bisa dihasilkan solusi nih
Nias yang udah kita konvolusi ikan yang
ini nih yang diarsir yang enggak dikata
konvolusi tadi maka mushallin cara
pertama itu salin dari pisang situasinya
pertama yang kedua cara yang kedua
adalah kita menyerang kedua itu adalah
kita duplikasi elemen citranya ya Jadi
kita duplikasi halaman citranya dengan
tadi kosong nih ya
nggak bisa kita konsumsi ikan besar kita
geser kesini sedikit nggak punya ya di
sini nah lakukan konsumsi kau seorang
itu kita konvolusi tapi gimana nilai
yang disini nilai yang di ujung sini
kita saling dari nilai yang di depannya
Nah jadi kita taruh di sini lainnya 4656
30 kayaknya dan nilai Anda solusi supaya
bisa dapat disini kan tuh Nggak bolong
betinanya kan Nah kalau yang sebelah
kiri kan kalau hasil konvolusi sebelah
kiri Ini kosongkan maka dengan cara yang
sama seperti tadi ya yang area sininya
Anda salin tapi nilai pixel nya ambil
dari yang paling terakhir ini sama yang
atas juga yang atas itu Anda salin dari
nilai piksel yang ini supaya kita bisa
dapat nilai di atas ini kan nah yang di
bawah itu Anda salin pixelnya dari yang
atas nah itu caranya kedua tapi kita
butuh waktu lebih lama lagi kalau kalian
kedua masalah kompatibilitas waktunya
juga lebih lama nih Nah kalau saya
tidak cara yang ketiga yang tidak di
konvolusi itu kita berikan nilai
konstanta Jadi kalau cara yang ketiga
itu nilai enggak kita konvolusi besar
berkonstanta bisa nilainya nol gitu ya
atau kalau misalnya 8gid bisa kasih
nilainya 255 misalnya Kasihlah konstanta
jadi mesan kalau no ini semuanya enggak
boleh pokoknya nggak boleh kosong aja si
pixel yang tidak di konvolusi itu ya
bikin ini boleh nah ini adalah proses
untuk konvolusi Oke fungsi konvolusi nih
beragam jadi bisa digunakan untuk IMEI
hansmann Kemudian untuk ngilangin noise
untuk melembutkan Citra untuk deteksi
tepi dan sebagainya 6 sekali lagi
operasi konvolusi nya sama seperti tadi
kita hanya melakukan proses flight dari
eh ciri tekanan kemudian atas ke bawah
begitu ya Nah kemudian Apa yang membuat
beda kok hasilnya bisa digunakan untuk
hilangin noise dan sebagainya sekali
lagi yang bikin beda adalah kernelnya
jadi
nyari itu akan mempengaruhi output dari
proses konvolusi nya begitu ya Nah ini
adalah proses konvolusi mudah-mudahan
bisa mudah dipahami setiap materi
konvolusi terima kasih wassalamualaikum
warahmatullahi
Browse More Related Video
How Blurs & Filters Work - Computerphile
Introduction to Computer Vision: Image and Convolution
Image Processing on Zynq (FPGAs) : Part 1 Introduction
ๅทฅ็จๆธๅญธ(ไธ)ๆๆซๅ ฑๅ Group 5
Pertemuan 2 : Citra Digital, Sampling, dan Quantization - Part 1 : Apa itu citra digital ?
26 - Denoising and edge detection using opencv in Python
5.0 / 5 (0 votes)