Algoritma Thinning dan Aplikasinya
Disusun oleh : Andreas Albert (1201000121) Hardi Kusumawijaya (1201000458) Herman Hartono (1201000512) Liong Sauw Fei (1201000628) Yohanna Gerolin (1201001101)
Pendahuluan Apakah thinning itu? Tujuan thinning: Teknik untuk membuat suatu garis menjadi tipis tanpa merusak informasi penting dalam citra asli Tujuan thinning: memperoleh kerangka obyek untuk mempermudah proses pengenalan obyek (umumnya untuk pengenalan karakter) mempermudah proses analisis struktur obyek mempermudah ekstraksi fitur-fitur penting seperti end points, junction points.
Kategorisasi Algoritma Thinning :
Pada umumnya, dalam hal pattern recognition, image processing, dan masalah computer vision, akurasi dan kecepatan menjadi dua hal yang sangat penting. Pada metode-metode konvensional, yang menangani satu piksel pada suatu saat, biasanya memerlukan waktu yang lama untuk array yang besar. Oleh karena itu, parallel methods, yang dapat menangani banyak piksel secara bersama-sama menjadi metode thinning yang populer.
Parallel Algorithm Menggunakan 2 Sub iterasi Input Citra dijital Citra dijital tersebut dapat dianggap sebagai mariks dan setiap elemen dari matriks merepresentasikan grid point dengan koordinat bilangan bulat (integer) di Euclidean plane (bidang Euclidean). Anggap P merupakan himpunan dari grid point gambar yang diberikan, yaitu :
di mana (i,j) menunjukan koordinat dari grid point p, dan m, n menentukan jumlah grid point pada arah x dan arah y di ruang Euclidean 2-dimensi secara beurutan. Asumsi grid point terdistribusi secara merata dengan grid yang konstan, misal, jarak antara dua grid point yang saling berbatasan baik vertikal maupun horisontal adalah sama di seluruh bidang.
Invers dari grid mendefinisikan resolusi grid dari suatu gambar, yang merupakan jumlah grid point per satuan panjang. Binary Image nilai f(i,j) dari suatu grid point dengan koordinat (i,j) hanya dapat berupa 0 atau 1, misal, piksel putih atau hitam. Dengan kata lain, , untuk piksel yang merupakan background. , untuk piksel yang merupakan objek.
Menggunakan operasi lokal dalam 3x3 (8-tetangga) Menggunakan operasi lokal dalam 3x3 (8-tetangga). Elemen dari tetangga dapat dinomori dengan cara sebagai berikut sebagai contoh: p n1 n7 n8 n6 n5 n4 n3 n2
Titik-titik n1, n2,…,n8 merupakan 8-tetangga dari p dan titik-titik tersebut merupakan 8-adjacent dari p, lokasi piksel n1, n3, n5, n7 merupakan 4-tetangga dari p dan titik-titik tersebut merupakan 4-adjacent dari p. Tetangga Nα(p) dari sebuah lokasi piksel p termasuk p dan lokasi piksel α-adjacent-nya (α=4 or α=8). Untuk alasan praktis, angka yang diambil adalah kelipatan 8, maka, contoh, tetangga 9 memiliki titik yang sama dengan tetangga 1.
Algoritma Zhang dan Suen (1984) Menghilangkan titik-titik batas yang teridentifikasi dari pola citra, kecuali titik-titik yang termasuk kerangka dari citra. Setiap iterasi terdiri dari dua sub iterasi (atau sering disebut dengan sub siklus). Pada sub iterasi yang pertama, setiap titik pada citra diperiksa dan titik tersebut dihapus dari pola citra apabila memenuhi semua kondisi berikut :
Langkah 1 Titik tersebut termasuk dalam pola citra yang tidak dihapus, yaitu nilai piksel dari titik p sama dengan satu. Langkah 2 Titik tersebut adalah suatu titik batas tetapi bukan merupakan titik yang terisolasi ataupun akhir dari garis thinning, yaitu jika angka-angka 8-tetangga dari pola citra lebih besar atau sama dengan dua, dan lebih kecil atau sama dengan enam.
Langkah 3 Titik tersebut mempunyai jumlah piksel putih yang terletak sebelum piksel hitam pada 8-tetangganya sama dengan satu dan 8-tetangga dari titik tersebut mempunyai urutan; n3, n2, n1, n8, n7, n6, n5 dan n4 yang ekivalen dengan aturan Rutovitz’s crossing number. Jumlahnya tersebut dikalkulasi dengan cara menghitung jumlah dari transisi-transisi dari satu titik pada pola citra ke satu titik pada latar belakang citra dan begitupun sebaliknya ketika memutari 8-tetangganya pada arah yang berlawanan dengan jarum jam.
Jadi, jumlahnya hanya bisa merupakan bilangan bulat genap, karena transisi harus sepasang, yaitu apabila terdapat suatu transisi antara dua titik, haruslah ada transisi lain yang berhubungan. Kondisi ini akan dipenuhi jika jumlah penyilangan bernilai dua.
Diagram berikut memperlihatkan contoh-contoh dari konfigurasi piksel-piksel yang berbeda dan jumlah penyilangannya. XR(p) = 0 XR(p) = 8 p
Contoh tadi adalah dua contoh kasus yang ekstrim Contoh tadi adalah dua contoh kasus yang ekstrim. Sebelah kiri, mempunyai jumlah penyilangan minimum sebesar nol, dan pada sebelah kanan, mempunyai jumlah penyilangan maksimum sebesar delapan. Contoh sebelah kiri mempunyai piksel hitam pada ke semua 8-tetangganya, sedangkan pada contoh sebelah kanan mempunyai piksel hitam pada 4 diagonal pada 8-tetangganya, yaitu n2, n4, n6 dan n8. Algoritma ini tidak diperkirakan untuk memecahkan contoh kasus pada sebelah kiri, karena pada kondisi 2 hanya membiarkan titik-titik batas untuk berlanjut.
XR(p) = 2 XR(p) = 4 XR(p) = 6 Ketiga contoh diatas mendemonstrasikan kemungkinan konfigurasi 8-tetangga dengan jumlah peyilangan dua, empat dan enam. Jumlah penyilangan dengan metode Rutovitz tetap sama apabila piksel putih dan piksel hitam berubah satu dengan yang lain p
Langkah 4 Apabila ada sedikitnya salah satu dari tiga tetangga yang berdekatan, yaitu n1, n3 dan n7 dari 8-tetangganya merupakan latar belakang dari citra.
Langkah 5 Apabila ada sedikitnya salah satu dari tiga tetangga yang berdekatan, yaitu n1, n7 dan n5 dari 8-tetangganya merupakan latar belakang dari citra
Sub iterasi yang kedua memiliki kondisi yang sama dengan sub iterasi yang pertama, kecuali untuk kondisi 4 dan 5, yang diganti dengan rotasi 180o. Kondisi 4 dan 5 untuk sub iterasi kedua adalah sebagai berikut: Langkah 4 Apabila ada sedikitnya salah satu dari tiga tetangga yang berdekatan, yaitu n5, n7 dan n3 dari 8-tetangganya merupakan latar belakang dari citra
Apabila ada sedikitnya salah satu dari tiga tetangga yang berdekatan, yaitu n5, n3 dan n1 dari 8-tetangganya merupakan latar belakang dari citra.
Diagram untuk menjelaskan mengapa sub iterasi yang pertama menghapus titik batas timur-selatan atau titik ujung utara-barat, dan sub iterasi yang kedua menghapus titik batas utara-barat atau titik ujung timur-selatan dengan memetakan titik-titik atas dasar kondisi 4 dan 5, dan letak mereka dalam diagram untuk kedua sub iterasi adalah sebagai berikut : Utara n4 n3 n2 Barat n5 p n1 Timur n6 n7 n8 Selatan
Algoritma paralel ini menghasilkan koordinat-koordinat dari setiap titik-titik yang memenuhi semua kondisi diatas dan titik-titik tersebut dipindahkan menjadi titik-titik pada latar belakang dari citra di setiap akhir dari sub-sub iterasi yang dijalankan.
Contoh Aplikasi Pengenalan karakter Karakter dalam bahasa apapun, akan dapat dikenali dengan lebih mudah apabila terlebih dahulu diterapkan algoritma thinning, kemudian baru setiap karakternya dicocokkan dengan database yang ada.
Pengecekan bentuk jalur pada pembuatan PCB (Printed Circuit Board)
Pengenalan bentuk dalam industri (baut, mur, kunci, dan lain sebagainya)
Pengenalan sidik jari
Hand Gesture Recognition
Aplikasi medis
Q & A
Terima Kasih