SUBBAB 3: Operator Turunan Pertama
Setelah selesai mempelajari materi, mahasiswa diharapkan:
- Mampu mengenal konsep dan bentuk kernel operator Roberts.
- Mampu melakukan konvolusi citra dengan kernel Roberts menggunakan teknik padding.
- Mampu melakukan tahapan lanjutan operator Roberts, yaitu perhitungan magnitudo gradien dan thresholding.
Operator Roberts adalah salah satu metode paling sederhana untuk mendeteksi tepi. Metode ini digunakan untuk mendeteksi perubahan kecerahan secara tiba-tiba di arah diagonal.

Gambar 3.12 Hasil pendeteksian tepi operator Roberts
🔍 Tujuan Roberts:
Tujuan operator Roberts adalah menemukan tepi dengan memperkirakan turunan pertama (perubahan nilai) antara piksel yang bersebelahan secara diagonal.
- Perubahan arah x (diagonal kanan bawah)
- Perubahan arah y (diagonal kiri bawah)
Rumus Turunan Diskret untuk Roberts:
Operator Roberts digunakan untuk menghitung perubahan intensitas secara diagonal pada citra. Operator ini memperkirakan gradien dalam dua arah:
Gradien dalam arah x (diagonal kanan bawah):
$$
G_x = f(x, y) - f(x+1, y+1)
$$
Gradien dalam arah y (diagonal kiri bawah):
$$
G_y = f(x+1, y) - f(x, y+1)
$$
Artinya:
f(x, y)adalah nilai piksel saat ini.f(x+1, y+1)adalah piksel diagonal kanan bawah dari posisi sekarang.f(x+1, y)danf(x, y+1)berada di sekitar piksel untuk mendeteksi perubahan arah y.
Dari rumus turunan diskrit sebelumnya, bisa diterjemahkan langsung menjadi matriks kernel Roberts, yang akan digeser (konvolusi) ke seluruh gambar untuk mendeteksi tepi. Berikut adalah matriks kernel untuk operator Roberts.
- Kernel Gx (deteksi perubahan diagonal kanan bawah):
- Kernel Gx digunakan untuk mendeteksi tepi secara diagonal dari kiri atas ke kanan bawah.
- Mendeteksi perbedaan antara piksel saat ini dan piksel diagonal di kanan bawahnya.
- Kernel ini sangat sederhana dan hanya terdiri dari dua nilai non-nol.
$$ G_x = \begin{bmatrix} +1 & 0 \\ 0 & -1 \end{bmatrix} $$ - Kernel Gy (deteksi perubahan diagonal kiri bawah):
- Kernel Gy digunakan untuk mendeteksi tepi secara diagonal dari kanan atas ke kiri bawah.
- Mendeteksi perbedaan antara piksel kanan atas dan piksel kiri bawah dari piksel saat ini.
- Sama seperti Gx, kernel ini juga sangat sederhana dan bekerja dalam skala 2×2 piksel.
$$ G_y = \begin{bmatrix} 0 & +1 \\ -1 & 0 \end{bmatrix} $$
Setiap kernel ini akan menghitung seberapa besar perubahan kecerahan antara dua piksel diagonal yang berdekatan.
Berikut adalah hasil deteksi tepi Operator Roberts yang meliputi hasil konvolusi kernel horizontal (Gx), hasil konvolusi kernel vertikal (Gy), magnitude gradient, dan hasil thresholding-nya.


Gambar 3.13 Hasil konvolusi, magnitudo, dan threshold dengan operator Roberts.
Contoh Perhitungan dengan Operator Roberts
Gambar 3.14 menunjukkan citra ukuran 4x4 beserta nilai pikselnya yang akan kita gunakan untuk mendeteksi tepi dengan operator Roberts.
|
|
Gambar 3.14 Matriks citra 4x4 untuk perhtiungan operator Roberts dengan I = Input Matriks
Berikut adalah kernel Roberts yang akan digunakan.
|
$$
G_x =
\begin{bmatrix}
+1 & 0 \\
0 & -1
\end{bmatrix}
$$
|
$$
G_y =
\begin{bmatrix}
0 & +1 \\
-1 & 0
\end{bmatrix}
$$
|
Kita akan melakukan pendeteksian tepi pada matriks di atas menggunakan operator Roberts.
Langkah 1: Teknik Edge Padding
Langkah pertama yang dilakukan sebelum proses konvolusi adalah melakukan teknik padding. Teknik ini menambahkan baris atau kolom di tepi matriks dengan menyalin nilai dari elemen tepi yang ada. Tujuannya adalah agar semua piksel pada citra dapat diproses dengan filter tanpa kehilangan informasi di tepi.
Menentukan Jumlah Padding:- Ukuran filter: \( f = 2 \)
- Maka padding: \( p = \left\lfloor \frac{k - 1}{2} \right\rfloor = \left\lfloor \frac{2 - 1}{2} \right\rfloor = \frac{1}{2}\)
Hasilnya adalah \( \frac{1}{2} \). Permasalahannya, padding tidak bisa setengah piksel, jadi tidak ada padding simetris yang membuat output berukuran sama dengan input. Jadi, Untuk kernel 2×2, tidak ada padding yang diperlukan untuk menjaga ukuran output tetap sama. Artinya, jika kita tidak menambahkan padding, ukuran citra setelah konvolusi akan berkurang satu baris dan satu kolom.
Sumber:Goodfellow, Ian, et al. dalam Deep Learning (2016), bab mengenai konvolusi menjelaskan bagaimana operasi konvolusi bekerja pada citra dan pengaruh ukuran kernel terhadap padding dan ukuran output. Dalam buku ini dijelaskan bahwa untuk kernel berukuran 2×2 yang merupakan kernel berukuran genap, padding yang dibutuhkan untuk menjaga ukuran output citra tetap sama adalah 0, karena tidak ada cara untuk membagi ukuran kernel secara merata di kedua sisi citra tanpa menyebabkan pemotongan pada bagian citra.
Langkah 2: Konvolusi dengan Kernel Roberts
Kalikan tiap elemen citra dengan kernel Gx, lalu jumlahkan hasilnya. Begitu pula dengan kernel Gy.
Petunjuk:Gunakan dropdown untuk memilih kernel yang akan digunakan, lalu klik tombol Mulai Konvolusi.
Input Matriks
Kernel Konvolusi
Hasil Konvolusi
Perhitungan:
Perhitungan akan muncul di sini
Penjelasan:
- Hasil konvolusi Roberts X menunjukkan nilai tinggi yaitu 61, 61, dan 63 pada titik-titik [0, 1], [1, 1] dan [2, 1], menandakan adanya perubahan intensitas besar di titik tersebut.
- Begitu pula dengan kernel Roberts Y, nilai konvolusi tertinggi muncul secara konsisten di titik-titik [0, 1], [1, 1] dan [2, 1], dengan nilai sekitar -65, -66 dan -64, menandakan adanya perubahan intensitas tajam pada titik tersebut.
Langkah 3: Hitung Magnitudo
Setelah kita mendapatkan hasil turunan pertama di arah horizontal (Gx) dan vertikal (Gy), kita bisa menghitung magnitudo gradient. Berikut caranya.
Rumus:Klik tombol Mulai Hitung, lalu klik Lanjut untuk melanjutkan proses.
Perhitungan:
Nilai-nilai pada matriks "Magnitudo" merepresentasikan kekuatan tepi pada tiap piksel, di mana nilai yang tinggi menunjukkan perubahan intensitas yang tajam (area tepi). Sebagai contoh, nilai 89.14 dihasilkan dari kombinasi Gx = 61 dan Gy = -65 yang menunjukkan keberadaan tepi yang kuat pada posisi tersebut.
Langkah 4: Thresholding (Ambang Batas)
Setelah menghitung magnitudo, langkah selanjutnya adalah menyaring hasilnya agar hanya tepi yang kuat
yang ditampilkan. Untuk menentukan threshold kita menggunakan rumus berikut.
- Klik tombol Mulai Hitung, lalu klik Lanjut atau Autoplay untuk melanjutkan proses.
Perhitungan:
Berdasarkan hasil threshold, bagian tepi terdeteksi pada piksel [0,1], [1,1] dan [2,1] karena nilai magnitudonya melebihi 41,622. Piksel-piksel ini membentuk pola vertikal di tengah, menunjukkan adanya garis tepi vertikal. Sementara piksel lainnya bernilai 0, menandakan area non-tepi.
Aktivitas 9
Kerjakan aktivitas berikut untuk menguji pemahaman dan menambah nilai progresmu!Soal 1 dari 2
Gambar 3.15 menunjukkan matriks berukuran 4x4.
|
Gambar 3.15 Matriks citra 4x4
Berikut adalah kernel operator Roberts.
|
$$
G_x =
\begin{bmatrix}
+1 & 0 \\
0 & -1
\end{bmatrix}
$$
|
$$
G_y =
\begin{bmatrix}
0 & +1 \\
-1 & 0
\end{bmatrix}
$$
|