Computer Vision Materi 8

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

PENGENALAN POLA Dr. Kusrini, M.Kom.
Analisis Outlier.
Kesimpulan BUKU Data Mining
K Nearest Neighbour. Nearest Neighbour Rule Tersedia beberapa data (x,y) yang terklasifikasi menjadi 2 kelas k = 1 k = 3 Diberikan query point q, titik.
ALJABAR.
Array Dimensi Banyak Gerlan A. Manu, ST.,MKom
Materi Kuliah Kalkulus II
TURUNAN DIFERENSIAL Pertemuan ke
PENDAHULUAN.
Model Sistem Pengenalan Pola
Fisika Dasar Oleh : Dody
CITRA BINER Kuliah ke 11 4/7/2017.
Klasifikasi (Season 2) Nearest Neighbor
Klasifikasi (Season 1) Naive Bayes
Sistem Berbasis Fuzzy Materi 4
FUNGSI MATEMATIKA DISKRIT K- 6 Universitas Indonesia
5.MONTE CARLO 5.1. Metode Monte Carlo
Turunan Numerik Bahan Kuliah IF4058 Topik Khusus Informatika I
Selamat Datang Dalam Kuliah Terbuka Ini
Pemrogramman Terstruktur
Progress Final Project Ke-1
Kompresi Citra KOMPRESI CITRA Nurfarida Ilmianah.
FUNGSI STRUKTUR DISKRIT K-8 Program Studi Teknik Komputer
Bahan Kuliah IF2091 Struktur Diskrit
Bahan Kuliah IF2120 Matematika Diskrit
Pohon (bagian ke 6) Matematika Diskrit.
WISNU HENDRO MARTONO,M.Sc
Mata Kuliah : Metode Numerik Gianinna Ardanewari
BAB V (lanjutan) VEKTOR.
VISION.
Membuat Data Menjadi informasi untuk pengambilan keputusan manajerial
Clustering (Season 2) Self-Organizing Map
JARINGAN SARAF TIRUAN LANJUTAN
Pengolahan Citra Digital Materi 6
Artificial Immune System
Pertemuan 3 JARINGAN PERCEPTRON
MODUL KULIAH 10 Ekstraksi Fitur Bentuk
ANALISIS OUTLIER 1 Data Mining.
Sistem Berbasis Fuzzy Materi 4
MODUL 12 Aplikasi Pengenalan Kematangan Tomat (Fitur Warna)
Pengenalan Dasar Citra
K-SUPPORT VECTOR NEAREST NEIGHBOR UNTUK KLASIFIKASI BERBASIS K-NN
Sistem Berbasis Fuzzy Materi 5
Klasifikasi.
MODUL16 Aplikasi Fitur Bentuk
Pengenalan Pola Materi 1
Pertemuan 3 Pengolahan Citra Digital
Segmentasi Citra Materi 6
9.2 Ekstraksi Fitur Bentuk dan Kontur
Aplikasi Kecerdasan Komputasional
Computer Vision Materi 7
Algoritma kNN (k-Nearest Neighbor)
Clustering (Season 1) K-Means
Classification Supervised learning.
Clustering (Season 2) Self-Organizing Map
Analisis Klastering K-Means Model Datamining Kelompok 1 Eko Suryana
PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Digital Image Processing
Algoritma kNN (k-Nearest Neighbor)
Klasifikasi Nearest Neighbor
KLASIFIKASI.
Pembelajaran terbimbing dengan pendekatan parametriks dan nonparametriks Kuliah 3.
K-Nearest Neighbourhood (KNN)
CLUSTERING.
Segmentasi Citra Materi 6
REKOGNISI CITRA Konsep Dasar Rekognisi
IMPLEMENTASI ALGORITMA k-NN
Intro Algoritma K-Nearest Neighbor (K- NN) adalah sebuah metode klasifikasi terhadap sekumpulan data maupun dokumen berdasarkan pembelajaran  data yang.
Algoritma kNN (k-Nearest Neighbor)
Transcript presentasi:

Computer Vision Materi 8 Pengenalan Pola Computer Vision Materi 8 Eko Prasetyo Teknik Informatika UBHARA 2012

Skenario Computer Vision Citra Input Perbaikan Kualitas Segmentasi Data latih Training data latih dengan metode pengenalan pola Ekstrasi Fitur Citra menjadi Data set Pemecahan Data set Prediksi kelas data uji dengan model dari pengenalan pola Data uji Dapat diketahui label kelas data uji

Kasus Citra Malaria Ada 2 jenis : Gamet dan Schizonts Gamet: 6 citra, Schizonts: 6 citra Yang diinginkan: membuat sistem yang dapat mengenali jenis malaria berdasarkan bentuk sel malaria. Menggunakan fitur Compactness dan Circularity Lakukan pada setiap citra Lakukan segmentasi untuk mendapatkan wilayah malaria dalam format gray. Konversikan citra tersegmentasi tersebut ke citra biner untuk mendapatkan area (A). Lakukan proses morfologi (boundary extraction) untuk mendapatkan tepi (P) Hitung Compactness dan Circularity Pecah data set menjadi 2: Gamet: 5 data latih, 1 data uji Schizonts: 5 data latih, 1 data uji Proses menggunakan teknik pengenalan pola.

Penyiapan data set Citra RGB Perbaikan citra Citra tersegmentasi (format gray) Area = 9.5394 Perimeter = 1.3173 Data Compactness Circularity Kelas Gamet 1 18.3906 0.6833 1 Gamet 2 18.5596 0.6771 Gamet 3 17.4962 0.7182 Gamet 4 19.0415 0.6599 Gamet 5 18.0512 0.6962 Gamet 6 18.6939 0.6722 Schizonts 1 10.9189 1.1509 2 Schizonts 2 9.6131 1.3072 Schizonts 3 11.1411 1.1279 Schizonts 4 9.7031 1.2951 Schizonts 5 10.8432 1.1589 Schizonts 6 9.5394 1.3173 Data latih dari kelas Gamet Data uji dari kelas Gamet Data latih dari kelas Schizonts Data uji dari kelas Schizonts

Source Code Ekstrasi Fitur File: ekstraksi_gamet.m File: ekstraksi_schizonts.m namafile{1} = 'fgamet6-45.tif'; namafile{2} = 'fgamet6-90.tif'; namafile{3} = 'fgamet6-135.tif'; namafile{4} = 'fgamet6-180.tif'; namafile{5} = 'fgamet6-225.tif'; namafile{6} = 'fgamet6-270.tif'; for i=1:6 f = imread(namafile{i}); f = im2double(f); f2 = im2bw(f); f2 = imfill(f2, 'holes'); st = [0 1 0;1 1 1;0 1 0]; ftepi = f2 - imerode(f2,st); P = sum(sum(ftepi)); A = sum(sum(f2)); Comp = P^2/A; Circ = 4*pi*A / P^2; data_gamet(i,:) = [Comp Circ 1]; end; namafile{1} = 'fs-0.tif'; namafile{2} = 'fs-45.tif'; namafile{3} = 'fs-90.tif'; namafile{4} = 'fs-135.tif'; namafile{5} = 'fs-180.tif'; namafile{6} = 'fs-225.tif'; for i=1:6 f = imread(namafile{i}); f = im2double(f); f2 = im2bw(f, 0.01); f2 = imfill(f2, 'holes'); st = [0 1 0;1 1 1;0 1 0]; ftepi = f2 - imerode(f2,st); P = sum(sum(ftepi)); A = sum(sum(f2)); Comp = P^2/A; Circ = 4*pi*A / P^2; data_schizonts(i,:)=[Comp Circ 2]; end;

Source Code Ekstrasi Fitur File: persiapkan_data.m %Pisahkan data data_gamet_latih = data_gamet(1:5,1:2); kelas_gamet_latih = data_gamet(1:5,3); data_schizonts_latih = data_schizonts(1:5,1:2); kelas_schizonts_latih = data_schizonts(1:5,3); %data latih untuk pelatihan data_latih = [data_gamet_latih; data_schizonts_latih]; kelas_latih = [kelas_gamet_latih; kelas_schizonts_latih]; %data uji untuk prediksi data_uji = [data_gamet(6,1:2); data_schizonts(6,1:2)]; kelas_uji_asli = [data_gamet(6,3); data_schizonts(6,3)];

K-Nearest Neighbor Algoritma yang melakukan klasifikasi berdasarkan kedekatan lokasi (jarak) suatu data dengan data yang lain. Prinsip sederhana yang diadopsi oleh algoritma K- NN adalah: “Jika suatu hewan berjalan seperti bebek, bersuara kwek-kwek seperti bebek, dan penampilannya seperti bebek, maka hewan itu mungkin bebek”. Pada algoritma K-NN, data berdimensi q, dapat dihitung jarak dari data tersebut ke data yang lain, Nilai jarak ini yang digunakan sebagai nilai kedekatan/kemiripan antara data uji dengan data latih.

K-Nearest Neighbor 1 tetangga terdekat (1-NN)

Algoritma K-NN z = (x’,y’), adalah data uji dengan vektor x’ dan label kelas y’ yang belum diketahui Hitung jarak d(x’,x), jarak diantara data uji z ke setiap vektor data latih, simpan dalam D Pilih Dz  D, yaitu K tetangga terdekat dari z

Sedikit modifikasi dalam contoh ini ! Data uji 1: Comp = 18.6939 Circ = 0.6722 Data uji 2: Comp = 9.5394 Circ = 1.3173 Gunakan K-NN untuk memprediksi kelasnya Gunakan jarak Euclidean Gunakan K=1, K=3. Bandingkan dengan kelas yang asli, apakah sama atau tidak ? Data Compactness Circularity Kelas Gamet 1 18.3906 0.6833 1 Gamet 2 18.5596 0.6771 Gamet 3 17.4962 0.7182 Gamet 4 19.0415 0.6599 Gamet 5 18.0512 0.6962 Schizonts 1 10.9189 1.1509 2 Schizonts 2 18.6131 0.9072 Schizonts 3 11.1411 1.1279 Schizonts 4 9.7031 1.2951 Schizonts 5 10.8432 1.1589 Sedikit modifikasi dalam contoh ini !

Untuk data uji 1 Data Compactness Circularity Kelas Jarak 1-NN 3-NN Gamet 1 18.3906 0.6833 1 0.3035 NN Gamet 2 18.5596 0.6771 0.1344  --- Gamet 3 17.4962 0.7182 1.1986 --- Gamet 4 19.0415 0.6599 0.3478 Gamet 5 18.0512 0.6962 0.6431 Schizonts 1 10.9189 1.1509 2 7.7897 Schizonts 2 18.6131 0.9072 0.2485 Schizonts 3 11.1411 1.1279 7.5665 Schizonts 4 9.7031 1.2951 9.0124 Schizonts 5 10.8432 1.1589 7.8658 Untuk K=1 1 data terdekat dari kelas Gamet (gamet 1), jumlah data kelas Gamet > kelas Schizonts maka data uji (Comp = 18.6939, Circ = 0.6722) diprediksi masuk kelas 1 (Gamet)  Sama dengan kelas aslinya Untuk K=3 2 data terdekat dari kelas Gamet , 1 data terdekat dari kelas Schizonts jumlah data kelas Gamet > kelas Schizonts maka data uji (Comp = 18.6939, Circ = 0.6722) diprediksi masuk kelas 1 (Gamet)  Sama dengan kelas aslinya

Untuk data uji 2 Data Compactness Circularity Kelas Jarak 1-NN 3-NN Gamet 1 18.3906 0.6833 1 8.8739  --- --- Gamet 2 18.5596 0.6771 9.0429 Gamet 3 17.4962 0.7182 7.9793 Gamet 4 19.0415 0.6599 9.5248 Gamet 5 18.0512 0.6962 8.5344 Schizonts 1 10.9189 1.1509 2 1.3895 NN Schizonts 2 18.6131 0.9072 9.0830 Schizonts 3 11.1411 1.1279 1.6129 Schizonts 4 9.7031 1.2951 0.1652 Schizonts 5 10.8432 1.1589 1.3134 ---  Untuk K=1 1 data terdekat dari kelas Schizonts (schizonts 4), jumlah data kelas Schizonts > kelas Gamet maka data uji (Comp = 9.5394, Circ = 1.3173) diprediksi masuk kelas 2 (Schizonts )  Sama dengan kelas aslinya Untuk K=3 3 data terdekat dari kelas Schizonts jumlah data kelas Schizonts > kelas Gamet maka data uji (Comp = 9.5394, Circ = 1.3173) diprediksi masuk kelas 2 (Schizonts )  Sama dengan kelas aslinya

K-NN di matlab Class = knnclassify(Sample, Training, Group, k, distance, rule) Parameter Keterangan Sample Matrik dimana baris merupakan data, kolom merupakan fitur. Sample merupakan data uji yang akan diklasifikasikan kedalam kelas. Matrik Sample harus mempunyai jumlah kolom (fitur) yang sama dengan matrik Training. Training Matrik yang digunakan untuk mengelompokkan baris didalam matrik Sample. Matrik Traning harus mempunyai jumlah kolom yang sama dengan Sample. Setiap baris dalam matrik Training mempunyai relasi kelas pada baris yang sama pada matrik Group. Group Vektor (matrik 1 kolom) yang setiap barisnya menyatakan kelas dari baris yang sama dalam matrik Training. k Jumlah tetangga terdekat yang digunakan untuk klasifikasi. Nilai defaultnya adalah 1. distance String yang menyatakan metrik jarak yang digunakan untuk mencari tetangga terdekat, pilihannya: ‘euclidean’, jarak Euclidean (default) ‘cityblock’, jarak Manhattan atau jumlah absolut perbedaan nilai antar fitur ‘cosine’, jarak 1 – cos(sudut antara 2 titik) ‘correlation’, jarak 1 – korelasi diantara titik (nilai sekuen) ‘hamming’, jarak prosentase bit yang berbeda (cocok untuk data biner) rule String untuk menetapkan aturan dalam memutuskan bagaimana mengklasifikasikan Sample, pilihannya: ‘nearest’, aturan mayoritas pada titik terdekat (default); ‘random’, aturan mayoritas pada titik secara acak; ‘consensus’, aturan kesepakatan

Contoh source prediksi kelas_uji_hasil = knnclassify(data_uji, data_latih, kelas_latih, K); display(['Untuk K = ', num2str(K)]); display('Kelas Hasil Prediksi | Kelas Asli'); [kelas_uji_hasil kelas_uji_asli] K = 3;

Contoh source prediksi >> prediksi_malaria Untuk K = 1 Kelas Hasil Prediksi | Kelas Asli ans = 1 1 2 2 Untuk K = 3

Evaluasi K-NN Algoritma yang menggunakan seluruh data latih untuk melakukan proses klasifikasi (complete storage). Mengakibatkan untuk data dalam jumlah yang sangat besar, proses prediksi menjadi sangat lama. Tidak membedakan setiap fitur dengan suatu bobot Pada ANN (Artificial Neural Network) yang berusaha menekan fitur yang tidak punya kontribusi terhadapklasifikasi menjadi 0 pada bagian bobot, NN tidak ada bobot untuk masing-masing fitur. Menyimpan sebagian atau semua data dan hampir tidak ada proses pelatihan, maka K-NN sangat cepat dalam proses training (karena memang tidak ada) tetapi sangat lambat dalam proses prediksi. Hal yang rumit adalah menentukan nilai K yang paling sesuai K-NN pada prinsipnya memilih tetangga terdekat, Parameter jarak juga penting untuk dipertimbangkan sesuai dengan kasus datanya. Euclidean sangat cocok untuk menggunakan jarak terdekat (lurus) antara dua data, tetapi Manhattan sangat robust untuk mendeteksi outlier dalam data.

To Be Continued … Materi 9 – Pengenalan Pola (lanjut) ANY QUESTION ?