• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN PERANGKAT LUNAK

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN PERANGKAT LUNAK"

Copied!
9
0
0

Teks penuh

(1)

BAB III

PERANCANGAN PERANGKAT LUNAK

3.1. Sistem Pendeteksi Senyum

Sistem pendeteksi senyum dalam skripsi ini dibuat dengan membandingkan tiga buah metode, yaitu Harris Corner Detection, Edge Based Corner Detection, dan FAST Corner Detection. Sistem pendeteksi senyum ini bertujuan untuk mendeteksi citra masukan merupakan ekspresi tersenyum atau bukan.

Perancangan perangkat lunak sistem pendeteksi senyum ini dibuat dengan menggunakan Matlab 2012b. Source code pemrograman ditulis dengan Matlab dan telah dibuat untuk sistem pendeteksi senyum ini mencakup source code pra proses color segmentation, ketiga metode pendeteksi senyum, yaitu Harris Corner Detection, Edge Based Corner Detection, dan FAST Corner Detection.

3.2. Pemrosesan Data

Dalam skripsi ini, pada bagian pemrosesan data akan dilakukan proses konversi citra RGB ke grayscale, serta pra proses color segmentation.

3.2.1. Konversi Citra RGB ke Grayscale

Dalam skripsi ini, citra masukan yang masih berupa citra RGB seperti ditunjukkan pada Gambar 3.1, yang akan di konversi ke citra grayscale seperti ditunjukkan pada Gambar 3.2.

Gambar 3.1. Contoh Citra RGB Bibir yang Digunakan Dalam Skripsi

(2)

3.2.2. Color Segmentation

Pada skripsi ini, metode pra proses color segmentation menjadi kombinasi untuk membandingkan hasil akurasinya terhadap metode lain yang tidak di pra proses dengan color segmentation terlebih dahulu. Untuk mengekstraksi warna merah pada daerah bibir, digunakan metode thresholding pada citra RGB. Sistem akan mempertahankan warna asli pada citra yang memiliki nilai Red yang lebih dari 80, nilai Green yang kurang dari 80 dan nilai Blue yang kurang dari 100. Selain batas nilai ini, sistem akan mengubahnya menjadi warna hitam atau mengubah nilainya menjadi 0. Diagram alir color segmentation dapat dilihat pada Gambar 3.3. Source code pra proses color segmentation dapat dilihat pada Lampiran A.1.

Gambar 3.3. Diagram Alir Pra Proses Color Segmentation

Masukan dir = citra bibir yang

dideteksi dengan metode Viola Jones

y=imread(dir) pic(mm,nn,:)=[0,0,0] nn=nn+1 pic(mm,nn,1)<80 pic(mm,nn,2)>80 pic(mm,nn,3)>100 nn=size(pic,2)? Selesai Mulai Ya pic=y mm=1 nn=1 Tidak Tidak mm=size(pic,1)? Ya Tidak mm=mm+1 Ya

(3)

3.3. Harris Corner Detection

Pada metode Harris Corner Detection, citra masukan yang tidak di pra proses maupun yang sudah di pra proses akan dihitung nilai kesudutannya menggunakan parameter sigma dan konstanta sensitivitas yang diubah-ubah. Diagram alir metode Harris Corner Detection dapat dilihat pada Gambar 3.4. Source code metode Harris Corner Detection dapat dilihat pada Lampiran A.2.

Mulai

Masukan dir= citra bibir

pic=imread(dir) level=graythresh(pic) bw=im2bw(pic,level) im=double(bw(:,:,1)) sigma=1 k=0.09 dx=[-1 0 1; -1 0 1; -1 0 1] dy=dx’ Ix=conv2(im,dx,’same’) Iy=conv2(im,dy,’same’) g=fspecial(‘gaussian’,max (1,fix(6*sigma+1)),sigma) Ix2=conv2(Ix.^2,g,’same’) Iy2=conv2(Iy.^2,g,’same’) Ixy=conv2(Ix.*Iy,g,’same’) 1 1 cim=(Ix2.*Iy2-Ixy.^2)-k*(Ix2+Iy2).^2 [r,c,max_local]=findLocalMaximum(cim,3*sigma) thres=0.01*max(max_local(:)) [r,c]=find(max_local>=thres) points=[r,c] Selesai

(4)

3.4. Edge Based Corner Detection

Pada metode ini, citra masukan akan dideteksi tepiannya terlebih dahulu menggunakan Sobel edge detection terlebih dahulu sebelum citra dideteksi sudutnya menggunakan Harris Corner Detection. Diagram alir metode Edge Based Corner Detection dapat dilihat pada Gambar 3.5. Source code metode Edge Based Corner Detection dapat dilihat pada Lampiran A.3.

Mulai

Masukan dir=direktori citra

bibir yang telah diekstrak pic=imread(dir) level=graythresh(pic) bw=im2bw(pic,level) bw3=edge(bw,’sobel’) im=double(bw3(:,:,1)) sigma=1 k=0.09 dx=[-1 0 1; -1 0 1; -1 0 1] dy=dx’ Ix=conv2(im,dx,’same’) Iy=conv2(im,dy,’same’) g=fspecial(‘gaussian’,max (1,fix(6*sigma+1)),sigma) Ix2=conv2(Ix.^2,g,’same’) Iy2=conv2(Iy.^2,g,’same’) Ixy=conv2(Ix.*Iy,g,’same’) 2 2 cim=(Ix2.*Iy2-Ixy.^2)-k*(Ix2+Iy2).^2 [r,c,max_local]=findLocalMaximum(cim,3*sigma) thres=0.01*max(max_local(:)) [r,c]=find(max_local>=thres) points=[r,c] Selesai

(5)

3.5. FAST Corner Detection

Metode FAST Corner Detection terkenal dengan waktu komputasinya yang sangat cepat karena “hanya” membandingkan nilai satu titik terhadap empat titik di sekitarnya. Jika tidak ada minimal tiga buah titik yang memenuhi syarat, maka titik tersebut bukanlah titik sudut. Kemudian sistem akan bergeser ke titik baru untuk dibandingkan lagi nilainya. Kecepatan deteksi FAST Corner Detection jauh diatas Harris Corner Detection dan Edge Based Corner Detection. Diagram alir metode FAST Corner Detection dapat dilihat pada Gambar 3.6. Source code metode FAST Corner Detection dapat dilihat pada Lampiran A.4.

Mulai Masukan dir=citra bibir pic=imread(dir) pic=rgb2gray(pic) thres=11 ctr=0 kk=0 [yy xx]=size(pic) i=4 j=4 pic(j-3,i)>bts1 bts1=pic(j,i)+thres bts2=pic(j,i)-thres Tidak pic(j-3,i)<bts2 ctr=ctr+1 Ya ctr=ctr+1 Ya pic(j+3,i)>bts1 pic(j+3,i)<bts2 Tidak Tidak ctr=ctr+1 Ya ctr=ctr+1 Ya pic(j,i-3)<bts2 pic(j,i-3)>bts1 ctr=ctr+1 ctr=ctr+1 pic(j,i+3)>bts1 pic(j,i+3)<bts2 ctr=ctr+1 ctr=ctr+1 Ctr>=4? kk=kk+1 j=yy-3? j=j+1 i=xx-3? i=i+1 Selesai 3 Ya Ya 3 Tidak Tidak Ya 4 4

(6)

3.6. Deteksi Senyum

Metode-metode pendeteksi sudut yang sudah disebutkan sebelumnya akan berusaha menemukan titik sudut pada citra dengan ekspresi tersenyum. Titik sudut ini akan dirata-rata koordinat sumbu y nya untuk mendapatkan satu koordinat rata-rata ekspresi tersenyum. Proses diulang untuk kesemua dataset pelatihan untuk kemudian diperoleh koordinat rata-rata seluruh ekspresi tersenyum.

Proses pendeteksian dilakukan dengan melakukan rata-rata koordinat citra uji. Jika koordinat rata-rata citra uji lebih besar daripada koordinat rata-rata ekspresi tersenyum, maka citra tersebut bukan ekspresi tersenyum. Sebaliknya, jika koordinat rata-rata citra uji lebih kecil atau sama dengan koordinat rata-rata ekspresi tersenyum, maka citra merupakan ekspresi tersenyum. Diagram alir proses pendeteksian senyum dapat dilihat pada gambar 3.7.

Mulai

load nilai rata-rata ekspresi tersenyum

Deteksi titik sudut citra bibir

points = seluruh titik sudut yang terdeteksi oleh

sistem [xkiri, k] = max(points(:,2)); [i, j] = ind2sub(size(points), k); ykiri = points(i,1); [xkanan, k] = min(points(:,2)); [ii, jj] = ind2sub(size(points), k); ykanan = points(ii,1); rata=(ykiri+ykanan)/2;

rata < tengah? Tidak

Ya

Bukan Tersenyum

Ekspresi Tersenyum

Selesai

(7)

3.7. Perhitungan Akurasi

Perhitungan akurasi dilakukan dengan menghitung jumlah citra uji dengan ekspresi tersenyum yang dideteksi tersenyum oleh sistem dan menghitung jumlah citra uji dengan ekspresi bukan tersenyum yang dideteksi bukan tersenyum oleh sistem. Citra dengan ekspresi tersenyum yang dideteksi benar oleh sistem disebut True Positive (TP) dan citra dengan ekspresi bukan tersenyum yang dideteksi benar oleh sistem disebut True Negative (TN). Kedua parameter ini yang digunakan untuk menghitung. Tabel hasil TN dan TP dari setiap metode serta kombinasi parameternya dapat dilihat pada Lampiran B.

3.8. Pembuatan Dataset Skripsi

Dataset yang digunakan pada skripsi berupa citra bibir dengan ekspresi tersenyum dan ekspresi bukan tersenyum. Dataset diperoleh dengan menggunakan kamera digital dengan image quality small dan diambil dalam kondisi pencahayaan yang cukup dengan warna latar belakang yang rata seragam. Jarak antara kamera dengan subyek disesuaikan agar seluruh bagian wajah dapat tertangkap oleh kamera. Posisi kamera akan berada tegak lurus dari wajah subyek. Dataset ini kemudian akan diekstraksi bagian bibirnya saja dengan menggunakan bantuan metode Viola Jones dan diresize menjadi berukuran 260×100 piksel.

Dataset yang telah diperoleh dapat digunakan dalam proses pendeteksian senyum, baik sebagai dataset pelatihan maupun sebagai dataset pengujian. Dataset pelatihan akan terdiri dari 125 citra dengan ekspresi tersenyum lebar dan 125 citra dengan ekspresi tersenyum tipis.

Dataset pengujian True Positive terdiri dari 100 ekspresi tersenyum; 50 ekspresi tersenyum tipis dan 50 ekspresi tersenyum lebar, dan dataset pengujian True Negative terdiri dari 100 ekspresi selain tersenyum. Gambar 3.8 adalah dataset untuk ekspresi tersenyum lebar, Gambar 3.9 adalah dataset untuk ekspresi tersenyum tipis, dan Gambar 3.10 adalah dataset untuk ekspresi bukan tersenyum.

(8)

Gambar 3.8. Contoh Dataset dengan Ekspresi Tersenyum Lebar

Gambar 3.9. Contoh Dataset dengan Ekspresi Tersenyum Tipis

Gambar 3.10. Contoh Dataset dengan Ekspresi Bukan Tersenyum

3.9. Graphical User Interface

Pada skripsi ini juga dibuat fasilitas Graphical User Interface (GUI) pada Matlab untuk mendemokan sistem pendeteksi senyum. Fasilitas GUI dibuat agar pengguna lebih mudah mengoperasikan program yang telah dibuat pada skripsi ini. Selain itu, GUI juga dibuat untuk melakukan pengujian kualitas sistem pada sebuah citra. Fasilitas GUI ini meliputi tombol browse untuk memilih citra yang akan diuji, text untuk menampilkan direktori dari citra yang dipilih, dan sebuah axes untuk menampilkan citra yang dipilih. Terdapat sebuah popup menu yang berisi pilihan ketiga metode pendeteksi senyum yang akan digunakan dan radio button untuk pilihan penggunaan pra proses color segmentation.

Sebelum citra dideteksi, pengguna diwajibkan menekan tombol “DETECT” terlebih dahulu. Hasil pendeteksian senyum akan ditampilkan di sebuah kolom, dan sebuah kolom lainnya untuk menampilkan waktu komputasi dari metode yang dipilih. Gambar 3.11 adalah contoh GUI yang akan digunakan pada skripsi ini. Gambar 3.12 adalah contoh GUI yang menampilkan hasil pendeteksian ekspresi wajah dan waktu komputasinya. Source code Graphical User Interface dapat dilihat pada Lampiran A.6.

(9)

Gambar 3.11. Graphical User Interface Skripsi

Gambar

Gambar 3.1. Contoh Citra RGB Bibir yang Digunakan Dalam Skripsi
Gambar 3.3. Diagram Alir Pra Proses Color Segmentation
Gambar 3.4. Diagram Alir Metode Harris Corner Detection
Gambar 3.5. Diagram Alir Metode Edge Based Corner Detection
+5

Referensi

Dokumen terkait

langsung disarankan produk internet yang sesuai dengan bidang usahanya, promosi yang efektif dan tepat sasaran bagi customer yang dituju, serta data lain yang

Misalnya peran untuk melakukan analisis koneksitas perencanaan dan penganggaran, peran untuk menilai kesesuaian item belanja dan biaya dengan peraturan perundangan (uji efektivitas

Perceived quality dapat dimanfaatkan untuk melakukan perluasan merek dengan cara menggunakan merek tertentu yang sudah ada ke dalam kategori produk baru.. Alasannya, sebuah merek

Adanya program GEMPITA yang di gagas oleh pemerintah Provinsi Jawa Barat dan Permen Nomor 53/M- DAG/PER/2008 menjadi peluang bagi pemerintah Kabupaten Cirebon

Hasil ini menunjukkan bahwa ekstrak air kulit kayu mahoni dan senyawa rutin memiliki aktivitas antioksidan yang tinggi, sedangkan sampel kitosan, nanokitosan, nanopartikel dengan

Penelitian ini bertujuan untuk menggambarkan bagaimana seseorang membentuk identitasnya sebagai fans klub sepak bola untuk kemudian memahami bagaimana proses

Pada menjalankan kuasa-kuasa yang diberi oleh seksyen 187B Kanun Tanah Negara, notis adalah dengan ini diberi bahawa adalah dicadangkan untuk menggantikan

Menetapkan : PERATURAN WALIKOTA TENTANG ALOKASI DANA HIBAH UNTUK REPLIKASI PENATAAN LINGKUNGAN PERMUKIMAN BERBASIS KOMUNITAS (REPLIKASI PLPBK) KOTA BANJARMASIN TAHUN