Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "Pengenalan Pola Computer Vision Materi 8 Eko Prasetyo Teknik Informatika UBHARA 2012."— Transcript presentasi:

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

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

3 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 1.Lakukan segmentasi untuk mendapatkan wilayah malaria dalam format gray. 2.Konversikan citra tersegmentasi tersebut ke citra biner untuk mendapatkan area (A). 3.Lakukan proses morfologi (boundary extraction) untuk mendapatkan tepi (P) 4.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. 3

4 Penyiapan data set 4 Citra RGB Perbaikan citra Citra tersegmentasi (format gray) Area = Perimeter = DataCompactnessCircularityKelas Gamet Gamet Gamet Gamet Gamet Gamet Schizonts Schizonts Schizonts Schizonts Schizonts Schizonts Data latih dari kelas Gamet Data latih dari kelas Schizonts Data uji dari kelas Gamet Data uji dari kelas Schizonts

5 Source Code Ekstrasi Fitur 5 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; 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; File: ekstraksi_gamet.mFile: ekstraksi_schizonts.m

6 Source Code Ekstrasi Fitur 6 %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)]; File: persiapkan_data.m

7 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. 7

8 K-Nearest Neighbor 8 1 tetangga terdekat (1-NN)2 tetangga terdekat (2-NN) 3 tetangga terdekat (3-NN) 7 tetangga terdekat (7-NN)

9 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 D z  D, yaitu K tetangga terdekat dari z 9

10 Contoh Data uji 1: ◦ Comp = ◦ Circ = Data uji 2: ◦ Comp = ◦ Circ = Gunakan K-NN untuk memprediksi kelasnya ◦ Gunakan jarak Euclidean ◦ Gunakan K=1, K=3. Bandingkan dengan kelas yang asli, apakah sama atau tidak ? 10 DataCompactnessCircularityKelas Gamet Gamet Gamet Gamet Gamet Schizonts Schizonts Schizonts Schizonts Schizonts Sedikit modifikasi dalam contoh ini !

11 Untuk data uji 1 11 DataCompactnessCircularityKelasJarak1-NN3-NN Gamet NN Gamet NN Gamet Gamet Gamet Schizonts Schizonts NN Schizonts Schizonts Schizonts Untuk K=1 1 data terdekat dari kelas Gamet (gamet 1), jumlah data kelas Gamet > kelas Schizonts maka data uji (Comp = , Circ = ) 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 = , Circ = ) diprediksi masuk kelas 1 (Gamet)  Sama dengan kelas aslinya

12 Untuk data uji 2 12 Untuk K=1 1 data terdekat dari kelas Schizonts (schizonts 4), jumlah data kelas Schizonts > kelas Gamet maka data uji (Comp = , Circ = ) 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 = , Circ = ) diprediksi masuk kelas 2 (Schizonts )  Sama dengan kelas aslinya DataCompactnessCircularityKelasJarak1-NN3-NN Gamet Gamet Gamet Gamet Gamet Schizonts NN Schizonts Schizonts Schizonts NN Schizonts NN

13 K-NN di matlab Class = knnclassify(Sample, Training, Group, k, distance, rule) 13 ParameterKeterangan 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. GroupVektor (matrik 1 kolom) yang setiap barisnya menyatakan kelas dari baris yang sama dalam matrik Training. kJumlah 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) ruleString 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

14 Contoh source prediksi 14 K = 1; 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; 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]

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

16 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. 16

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


Download ppt "Pengenalan Pola Computer Vision Materi 8 Eko Prasetyo Teknik Informatika UBHARA 2012."

Presentasi serupa


Iklan oleh Google