! " # $ % $&" " $ $ & % $
$&'$ ( )&$
Oleh :
Leonardus Ardyandhita Kurniawan Suwardhanis NIM : 075314010
* *
ii
. .
. .
. .
$ ! ( ! $ " ") "" &) / $ ! &$ '$ &) $ & % $
% $ &) )&$ 0! ' $ '
By :
Leonardus Ardyandhita Kurniawan Suwardhanis NIM : 075314010
. *
.
. * . . . *
*
* *
iii Oleh :
Leonardus Ardyandhita Kurniawan Suwardhanis NIM : 075314010
Telah Disetujui Oleh :
Pembimbing
Sri Hartati Wijono, S.Si.,M.Kom. Tanggal….Desember 2011
iv
Yang dipersiapkan dan disusun oleh: Leonardus Ardyandhita Kurniawan Suwardhanis
NIM : 075314010
Telah dipertahankan di depan Tim Penguji pada tanggal 13 Desember 2011 dan dinyatakan memenuhi syarat.
Susunan Tim Penguji
Tanda Tangan Ketua : Anastasia Rita Widiarti, S.Si., M.Kom. …….………… Sekretaris : Albertus Agung Hadhiatma, S.T., M.T. …….………… Anggota : Sri Hartati Wijono, S.Si., M.Kom. ………..
Yogyakarta, ………. Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
(Yosef Agung Cahyanta, S.T., M.T.)
v
Saya menyatakan denga
memuat karya/bagian
kutipan dan daft
vi
* *
dengan sesungguhnya bahwa skripsi yang saya tulis i
agian karya orang lain, kecuali yang telah disebutkan
n daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 15 Desember 20
Penulis
Leonardus Ardyandhita K.S
tulis ini tidak
utkan dalam
lmiah.
ber 2011
a K.S
*
Yang bertanda tangan dib Nama : Leonardu NIM : 07531401 Demi pengembangan ilm Universitas Sanata Dharm
Beserta perangkat yang d
kepada Perpustakaan U
mengalihkan dalam bent
data mendistribusikan sec
media lain untuk kepen
maupun memberikan roy
sebagai penulis.
Demikian pernyataan ini s Dibuat di Yogyakarta. Pada tanggal : 15 Desemb Yang menyatakan,
Leonardus Ardyandhita K
vii
* 1
*
an dibawah ini, saya mahasiswa Universitas Sanata D nardus Ardyandhita Kurniawan Suwardhanis 314010
an ilmu pengetahuan, saya memberikan kepada Perp Dharma karya ilmiah yang berjudul:
ang diperlukan (bila ada). Dengan demikian saya me
an Universitas Sanata Dharma hak untuk me
bentuk media lain, mengelolanya dalam bentuk p
an secara terbatas, dan mempublikasikannya di Inte
kepentingan akademis tanpa perlu meminta ijin d
n royalti kepada saya selama tetap mencantumkan n
an ini saya buat dengan sebenarnya.
esember 2011.
hita K.S
nata Dharma:
a Perpustakaan
ya memberikan
k menyimpan,
ntuk pangkalan
di Internet atau
ijin dari saya
kan nama saya
viii
Selain konten tertulis, gambar porno menjadi salah satu jenis persebaran
pornografi di internet yang perlu dikurangi. Dengan melakukan pendeteksian
gambar porno, diharapkan pengurangan persebaran pornografi di intenet dapat
lebih efektif.
Skripsi ini menjelaskan bagaimana proses deteksi pornografi pada suatu
gambar. Pendeteksian dilakukan dengan menggunakan deteksi kulit HSV yang
digabungkan dengan metode ekstraksi ciri yaitu Fitur Haar;Like berbasis Varians
serta algoritma klasifikasi SVM. Deteksi kulit HSV digunakan untuk memisahkan
area kulit manusia dengan latar belakang pada gambar. Deteksi dilakukan pada
area tengah gambar dan dilakukan pada bagian;bagian tubuh manusia (area kulit)
yang kemudian diikuti dengan proses klasifikasi untuk menentukan apakah bagian
tersebut termasuk konten pornografi atau bukan. Penentuan suatu gambar porno
dan bukan porno dilakukan dengan membandingkan jumlah bagian;bagian tubuh
yang terdeteksi sebagai konten pornografi dengan suatu nilai threshold.
Pada penelitian ini dilakukan 2 jenis pengujian yaitu pengujian 5 cross
validation untuk data training berupa 5015 data positif dan 10000 data negatif dan
pengujian pendeteksian gambar porno dengan 120 data postif dan 100 data
negatif. Pada pengujian 5 cross validation diperoleh error rate sebesar 0.0118
untuk kelompok data ABCD yang kemudian digunakan sebagai model klasifikasi
untuk pengujian pendeteksian gambar yang menghasilkan rata;rata akurasi
sebesar 72,14% dan akurasi terbesar yaitu 80,45%.
ix .
Beside written content, porn image is another kind of pornographic spread
on internet which must be reduced. By doing porn image detecting, pornographic
spread on internet can be reduced effectively.
This thesis explains the process of pornographic detection on an image.
The detection is done by using HSV skin detection which is combined with
feature extraction method, Variance Based Haar;Like Feature and SVM
classification algorithm. HSV skin detection is used to separate human skin area
from image background. The detection is done on the center area of an image and
on the parts of human’s body (skin area) which is followed by classification
process to determine whether the part is considered pornographic content or not.
Determination of an image is considered pornographic image or not is done by
comparing the total of body parts which are detected as pornographic content with
a threshold value.
This research was done by using two kinds of testing method. The first
was 5 cross validation for data training which was 5015 positive data and 10.000
negative data and the second was a test on pornographic image detection by using
120 positive data and 100 negative data. 5 cross validation test obtained 0.0118
error rate for ABCD data group which is used as a model classification for image
detection test. It achieved 72.14% average accuracy and 80.45% as the biggest
accuracy.
x
Persebaran pornografi di internet tentu saja menjadi dampak negatif dari
mudahnya melakukan pencarian informasi di internet. Telah banyak upaya yang
dilakukan untuk mengurangi persebaran pornografi di internet seperti penyaringan
alamat website, kata kuci pencarian dan juga penyaringan gambar.
Skripsi dengan judul “Deteksi Gambar Porno Menggunakan
Penggabungan Deteksi Kulit HSV, Fitur Haar;like Berbasis Varians dan
Klasifikasi SVM” yang telah disusun ini diharapkan dapat memberikan
sumbangsih untuk perkembangan ilmu pengetahuan khususnya dalam bidang
pengenalan pola untuk membantu mengurangi persebaran pornografi di intenet.
Terima kasih yang sebesar;besarnya kepada pihak;pihak yang telah
membantu serta mendukung dalam terselesaikannya penyusunan skripsi ini :
1. Bunda Maria dan Tuhan Yesus yang selalu menyertai di setiap langkah.
2. Ibu Sri Hartati Wijono, S.Si., M.Kom. selaku dosen pembimbing atas
saran, waktu dan kesabaran yang telah diberikan.
3. Ibu Anastasia Rita Widiarti, S.Si., M.Kom. dan Bapak Albertus Agung
Hadhiatma, S.T., M.T. selaku dosen penguji atas saran dan kritikan yang
telah diberikan.
4. Kedua orangtuaku tercinta, Bapak Petrus Suwardanis dan Ibu Elizabeth
Kurniati, S.Pd. untuk doa, perhatian dan semangat yang selalu diberikan.
5. Kakaku tercinta, Scholastica Ardyannita Suwardhanis, S.S. yang selalu
sabar dan memotivasi dalam penyelesaian skripsi ini.
xi
6. Yosephin Seviana Sinthaningtyas yang setia menemani dan memberikan
keceriaan, pikiran serta semangat dalam menyelesaikan skripsi ini.
7. Teman;teman komunitas Jimbes (Taufik, Amiko Bintoro, Mariano Lucky
Zeinnico, Markus Herjuno, Albertus Dio, Robertus Atyantama, Yohanes
Sapto Prabowo, Andri Yudha) yang selalu memberikan salam bahagia dan
merelakan waktu dan tenaganya untuk membantu pencarian data serta
pengolahan data.
8. Teman;teman seperjuangan (Ana Suryaningsih, Daniel Antonius, Andrias
Pratiwi, Arum Citra Dewi, S.Kom., Antonius Hari Widyatmoko, S.Kom.,
Florensia Dwinta, S.Kom., Sari Indah Annata, S.Kom., Bangkit
Widiatmoko, S.Kom., Agustinus Riko, S.Kom.) atas semangat dan
kerelaan waktunya untuk berdiskusi.
9. Seluruh teman;teman Teknik Informatika angkatan 2007 dan pihak;pihak
lain yang tidak dapat disebutkan satu per satu.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan
skripsi ini. Saran dan kritik sangat diharapkan untuk perbaikan kedepannya.
Semoga dapat bermanfaat.
Yogyakarta, 15 Desember 2011
Penulis
xii
1 ... i
1 ... ii
1 ... iii
... iv
... v
* * ... vi
1 ... vii
... viii
. ... ix
... x
... xii
... xv
... xvii
2 ... 1
I. 1. Latar Belakang ... 1
I. 2. Rumusan Masalah... 4
I. 3. Tujuan Penelitian ... 4
I. 4. Batasan Masalah ... 5
I. 5. Luaran Penelitian ... 5
I. 6. Manfaat dan Kegunaan Penelitian ... 5
I. 7. Metodologi Penelitian ... 6
xiii
I.7. 1. Analisis ... 6
I.7. 2. Desain ... 6
I.7. 3. Implementasi ... 6
I.7. 4. Pengujian ... 7
2 1 ... 2
II. 1. Pornografi ... 2
II. 2. Pengenalan Pola... 9
II.2. 1. Proses Pengenalan Pola ... 9
II. 3. Deteksi Kulit ... 10
II. 4. Integral Image... 13
II. 5. Fitur Haar;like ... 16
II.5 .1. Detektor Haar Like ... 17
II.5 .2. Fitur Haar;like berbasis Varians ... 18
II. 6. Support Vector Machine ... 20
II.6 .1. Klasifikasi dengan SVM ... 21
II.6 .2. Kernel RBF ... 24
II. 7. Precision dan Recall ... 25
2 . ... 27
III. 1. Perancangan Sistem Secara Umum ... 27
III.1 .1. Use Case ... 28
III.1 .2. Gambaran Sistem ... 28
III. 2. Data Sampel ... 30
III. 3. Perancangan Sistem ... 30
xiv
III.3. 1. Perancangan Pelatihan Model ... 30
III.3. 2. Perancangan Pendeteksian ... 33
III.3. 3. Perancangan Pengujian Sistem ... 38
III.3. 4. Perancangan Antarmuka ... 42
2 1 ... 46
IV. 1. Implementasi Pelatihan ... 46
IV.1. 1. Implementasi Preproses ... 46
IV.1. 2. Implementasi Ekstraksi Fitur ... 47
IV.1. 3. Implementasi Pelatihan Data ... 50
IV. 2. Implementasi Pendeteksian ... 51
IV.2. 1. Implementasi Deteksi Kulit ... 51
IV.2. 2. Implementasi Pemindaian Gambar ... 53
IV. 3. Implementasi Antarmuka Sistem ... 55
IV.1. 1. Tampilan Pendeteksian Gambar Porno ... 55
IV.1. 2. Tampilan About Program ... 57
IV. 4. Hasil Pengujian ... 58
IV.2. 1. Hasil Pengujian 5;Fold Cross Validation ... 58
IV.2. 2. Hasil Pengujian Pemindaian Gambar ... 63
2 ... 72
V. 1. Kesimpulan ... 72
V. 2. Saran ... 73
... 75
... 78
xv
Gambar 2.1. Integral Image. ... 13
Gambar 2.2. Summed Area Table. ... 14
Gambar 2.3. Menghitung Jumlah Piksel Dengan Integral Image. ... 15
Gambar 2.4. Integral Image tiap wilayah. ... 16
Gambar 2.5. Fitur Haar Like. ... 17
Gambar 2.6. Hyperplane pemisah kelas... 20
Gambar 2.7. Pemetaan data ke ruang vektor berdimensi lebih tinggi. ... 22
Gambar 2.0.8. Gaussian pada RBF. ... 24
Gambar 3.1. Use Case. ... 28
Gambar 3.2. Proses Umum Sistem Deteksi Gambar Porno. ... 29
Gambar 3.3 Proses pengambilan data sampel. ... 30
Gambar 3.4 Ekstraksi dengan fitur haar like 24x24. ... 31
Gambar 3.5 Menghitung varians pada fitur haar like. ... 32
Gambar 3.6. Proses Pelatihan model ... 33
Gambar 3.7 Pendeteksian area kulit dengan HSV. ... 34
Gambar 3.8 Area pendeteksian gambar. ... 35
Gambar 3.9 Pemindaian pada area kulit. ... 36
Gambar 3.10 Threshold pada pemindaian gambar porno. ... 37
Gambar 3.11 Algoritma Penentuan Porno. ... 37
Gambar 3.12. Proses Pemindaian Gambar. ... 38
xvi
Gambar 4.1 Preproses ... 46
Gambar 4.2 Konversi RGB ke HSV ... 51
Gambar 4.3 Matriks pemetaan area kulit hasil deteksi kulit ... 52
Gambar 4.4 Penyempurnaan deteksi area kulit ... 52
Gambar 4.5 Konversi RGB ke Grayscale ... 53
Gambar 4.6 Proses pemindaian gambar ... 54
Gambar 4.7 Klasifikasi gambar porno ... 54
Gambar 4.8. Implementasi tampilan pendeteksian gambar porno. ... 55
Gambar 4.9. Implementasi tampilan menu Open Image. ... 56
Gambar 4.10. Implementasi tampilan Open File. ... 56
Gambar 4.11. Implementasi proses pemindaian gambar porno. ... 57
Gambar 4.12. Implementasi hasil pemindaian gambar porno. ... 57
Gambar 4.13. Implementasi tampilan About Program. ... 58
Gambar 4.14. Data Positif. ... 58
Gambar 4.15. Data Negatif. ... 58
xvii
Tabel 3.1. Tabel rancangan pengujian data training. ... 40
Tabel 3.2. Tabel rancangan pengujian pemindaian. ... 42
Tabel 4.1. Tabel hasil pengujian 5 Fold Cross Validation. ... 62
Tabel 4.2. Tabel rangkuman perhitungan precision dan recall pengujian
pemindaian ... 69
Tabel 4.3. Tabel hasil pemindaian gambar porno. ... 70
1
3 -3 $ " '
Kemudahan mendapatkan suatu materi informasi merupakan keuntungan
yang dapat dirasakan dari berkembangnya internet. Bentuk materi yang dapat
diperoleh juga beragam baik dalam bentuk teks, gambar, maupun video.
Perkembangan teknologi juga berpengaruh pada kemampuan internet dalam
menyediakan informasi. Beraneka ragam informasi telah dapat disimpan dan
disebarkan ke seluruh dunia dengan begitu cepat dan mudah. Akan tetapi tidak
semua jenis informasi tersebut baik untuk diperoleh. Salah satu materi informasi
yang tidak baik untuk diperoleh adalah pornografi.
Persebaran pornografi sangat perlu untuk diperhatikan. (Farouk, 2008)
memaparkan bahwa berdasar survei yang dilakukan toptenreviews.com pada
tahun 2006, rata;rata usia termuda anak;anak pengakses pornografi adalah 11
tahun dan diantara usia 15;17 tahun 80%;nya telah biasa mengakses materi
pornografi hardcore (materi yang terang;terangan menggambarkan adegan
hubungan intim dengan memperlihatkan alat vital, sampai ke bagian
penetrasinya). Dipaparkan pula bahwa 90% akses pornografi dilakukan ketika
atau dengan alasan belajar atau mengerjakan tugas bersama.
(Wibowo, 2010) menuliskan hasil survei di Indonesia yang dilakukan
Yayasan Kita dan Buah Hati sejak 2008 hingga 2010, sebanyak 67%
2
dari 2818 siswa sekolah dasar SD kelas 4, 5, dan 6 di wilayah Jabodetabek
mengaku pernah mengakses informasi pornografi. Sekitar 24% mengaku melihat
pornografi melalui media komik. Selain itu, sekitar 22% melihat pornografi dari
situs internet, 17% dari games, 12% melalui film di televisi, dan 6% lewat telepon
genggam. Hal ini menjelaskan kemudahan yang diberikan internet untuk
memperoleh informasi membuat betapa mudahnya pula pornogafi dapat diakses
oleh anak;anak. Atas dasar hal tersebut maka usaha untuk mengurangi persebaran
pornografi sangat penting untuk dilakukan.
Usaha;usaha yang sering dilakukan pada saat ini untuk mengurangi
persebaran pornografi yaitu dengan melakukan pemblokiran alamat website yang
dianggap mengandung materi pornografi atau pemblokiran kata kunci pada mesin
pencari. Akan tetapi usaha ini kurang efektif karena kemunculan website baru
yang mengandung materi pornografi dapat terjadi dengan begitu cepat sehingga
sangat dimungkinkan masih terdapat website yang lolos dari pemblokiran
tersebut. Selain itu bentuk materi pornografi tidak hanya sebatas teks saja tetapi
dapat juga berbentuk gambar maupun video sehingga pemblokiran menggunakan
kata kunci saja juga dirasa kurang efektif. Usaha pemblokiran berdasarkan isi
materi menjadi cara yang lebih efektif untuk mengurangi persebaran pornografi.
Usaha untuk melakukan pendeteksian pornografi berdasar materi gambar
sudah banyak dikembangkan. (Wang, dkk, 2009) dalam penelitiannya
mengembangkan pendeteksian gambar porno berdasar tingkat daerah kulit
manusia yang terlihat dengan SVM (Support Vector Machine) sebagai classifier;
nya. Kelemahan yang mungkin terjadi adalah lolosnya pendeteksian gambar
3
dimana terdapat manusia yang memperlihatkan organ vitalnya tetapi masih
menggunakan pakaian. (Pramadihanto, dkk, 2007) menggunakan deteksi kulit dan
deteksi obyek untuk melakukan pendeteksian gambar porno. Metode deteksi kulit
yang digunakan tersebut berdasar pada model Peer (Peer, 2003) dengan
menggunakan threshold tertentu pada sistem RGB untuk melakukan segmentasi
kulit manusia yang kemudian dijadikan daerah deteksi obyek. Metode deteksi
obyek yang digunakan (Pramadihanto, dkk, 2007) adalah Haar;Like Feature
(Viola dan Jones, 2001). Penggunaan sistem RGB untuk mendeteksi kulit
mempunyai kekurangan pada gambar manusia yang mempunyai pencahayaan
lebih sehingga warna kulit menjadi diluar aturan threshold yang ditentukan
sebagai warna kulit manusia. Dengan kondisi demikian gambar porno yang
mempunyai pencahayaan lebih atau kurang dapat saja lolos dari pendeteksian.
Dalam penelitian yang dilakukan kali ini, metode yang akan digunakan
untuk melakukan pendeteksian gambar porno adalah dengan deteksi kulit berdasar
HSV (Hue Saturation Value) dan deteksi obyek menggunakan Variance based
Haar;Like Feature (Kahc, dkk, 2009) dengan SVM sebagai classifier;nya.
Deteksi kulit digunakan untuk melakukan segmentasi citra bagian tubuh manusia
sehingga dapat dipisahkan dari citra latar belakangnya. Deteksi kulit berdasar
HSV dipilih karena kemampuanya yang dapat mengeliminasi pencahayaan
gambar sehingga hanya menyisakan warna aslinya. Dengan demikian
keanekaragaman pencahayaan pada data gambar akan dideteksi lebih baik.
Deteksi obyek digunakan untuk mencari bagian citra manusia yang dianggap
mempunyai sifat porno seperti alat kelamin, payudara, maupun obyek yang
4
menunjukkan aktifitas seksual. Untuk deteksi obyek Variance based Haar;Like
Feature digunakan karena kecepatannya dalam melakukan pendeteksian obyek.
Pendeteksian dilakukan dengan melakukan perhitungan selisih varians piksel
gambar asli pada wilayah kulit yang telah dideteksi sebelumnya terhadap fitur
Haar;Like yang terdiri dari hasil pelatihan gambar bagian;bagian obyek dianggap
porno pada classifier SVM. Classifier SVM dipilih karena telah banyak
digunakan pada permasalahan pengenalan pola serta kemampuannya yang dapat
menemukan hyperplane terbaik dan dapat bekerja pada problem non;linear.
3 +3 ! ! "
Rumusan masalah mendasar yang akan diselesaikan pada penelitian ini
adalah :
1. Bagaimana hasil penggabungan metode deteksi kulit berdasar HSV dan
Variance based Haar;Like Feature dengan SVM sebagai classifier untuk
pendeteksian gambar porno?
3 43 "
Penelitian ini dilakukan dengan tujuan untuk:
1. Melakukan langkah pendeteksian obyek porno dengan penggabungan metode
deteksi kulit berdasar HSV dan deteksi obyek menggunakan Variance based
Haar;Like Feature pada citra gambar dengan SVM sebagai classifier;nya.
5
2. Mengetahui keakuratan metode pendeteksian gambar porno yang dilakukan.
3 53 ! ! "
Penelitian ini mempunyai batasan permasalahan yaitu:
1. Pendeteksian gambar porno pada penelitian ini dibatasi hanya pada gambar
berformat RGB dengan ukuran skala 180x270 piksel dan gambar untuk
pelatihan dengan ukuran skala 64x64 piksel.
2. Pendeteksian dibatasi pada citra payudara.
3. Proses pelatihan dan klasifikasi dilakukan dengan toolbox SVM pada
MATLAB.
3 63 $ "
Luaran dari penelitian ini adalah sistem pendeteksi gambar porno yang
mempunyai kemampuan untuk mendeteksi konten pornografi pada sebuah
gambar.
3 73 ) ( ' "
Manfaat dan kegunaan penelitian ini meliputi :
1. Membantu pengembangan metode penyaringan materi pornografi.
2. Membantu masyarakat untuk mengurangi tingkat persebaran pornografi.
6
3. Membantu meningkatkan perkembangan penelitian teknologi informasi di
bidang pengenalan pola dan pengolahan citra khususnya pada bidang
computer vision.
3 83 &(&"&' "
Metodologi yang digunakan dalam melaksanakan penelitian ini meliputi :
383 -3 " ! !
Analisis dilakukan untuk mengetahui hal;hal apa saja yang dibutuhkan
untuk pengembangan sistem. Studi literatur dilakukan untuk mengetahui
kebutuhan;kebutuhan mengenai pendeteksian gambar porno, teknik;teknik
pendeteksiannya serta perbandingan terhadap penelitian lain yang pernah
dilakukan sebelumnya.
383 +3 !
Desain yang dilakukan meliputi desain pengembangan sistem pendeteksi
gambar porno seperti desain use case, penggunaan algoritma dan desain model
data yang akan digunakan.
383 43 %" !
Implementasi dilakukan untuk mengembangkan sebuah sistem pendeteksi
gambar porno sesuai desain yang telah dibuat. Pengembangan sistem dilakukan
7
sesuai dengan model pengembangan sistem waterfall (Pressman, 2002) dengan
menggunakan MATLAB.
383 53 '
Pengujian dilakukan dengan menguji data training yang ada menggunakan
k fold cross validation (Refaeilzadeh, dkk, 2008)dengan membagi data sebanyak
5 bagian. Pembagian data gambar porno dan gambar bukan porno dilakukan
merata untuk tiap bagian. Data training hasil pengujian k fold cross validation
yang terbaik kemudian digunakan untuk menguji pendeteksian gambar porno
pada sejumlah gambar.
8 1
3 -3 &$ &'$ )
Seperti disebutkan dalam Undang;Undang Republik Indonesia No 44
Tahun 2008 Tentang Pornografi pasal 1, definisi pornografi adalah gambar,
sketsa, ilustrasi, foto, tulisan, suara, bunyi, gambar bergerak, animasi, kartun,
percakapan, gerak tubuh, atau bentuk pesan lainnya melalui berbagai bentuk
media komunikasi dan/atau pertunjukan di muka umum, yang memuat kecabulan
atau eksploitasi seksual yang melanggar norma kesusilaan dalam masyarakat.
Muatan pornografi menurut pasal 4 meliputi :
1. persenggamaan, termasuk persenggamaan yang menyimpang
2. kekerasan seksual
3. masturbasi atau onani
4. ketelanjangan atau tampilan yang mengesankan ketelanjangan
5. alat kelamin
6. pornografi anak
Definisi dari gambar porno berarti gambar yang memuat kecabulan atau
eksploitasi seksual yang mengandung satu atau lebih dari 6 muatan pornografi
tersebut.
9
3 +3 ' " &"
Segala macam kemampuan untuk mengenali wajah, mengerti perkataan,
membaca tulisan tangan merupakan kemampuan;kemampuan yang terdapat di
dalam proses kompleks dari pengenalan pola (Richard, dkk, 2003). Pengenalan
pola dapat dikatakan sebagai tindakan untuk mengolah data mentah dan membuat
suatu aksi berdasar kategori dari pola data tersebut.
Pada dasarnya pengenalan pola terdiri dari 3 langkah utama yaitu pemrosesan
awal, ekstraksi fitur dan klasifikasi. Pemrosesan awal merupakan langkah untuk
memfokuskan obyek data yang akan dikenali dengan obyek lain yang tidak
digunakan. Operasi yang dapat dilakukan adalah dengan menerapkan operasi
segmentasi. Ekstraksi fitur dilakukan untuk menyederhanakan data dengan
melakukan pengukuran fitur tertentu sehingga informasi dasar dari data tersebut
dapat terlihat. Proses berikutnya adalah klasifikasi yaitu tindakan untuk
mengelompokkan data atau fitur menjadi beberapa kategori.
3+3 -3 $&! ! ' " &"
Menurut (Witten dan Frank, 2006) pengenalan pola dapat dilakukan dengan
melalui beberapa proses sebelumnya. Proses tersebut dilakukan dengan urutan
sebagai berikut :
1. Penginderaan/Sensing
Penginderaan dilakukan untuk mengambil/mengumpulkan data yang
akan dikenali polanya. Hasil dari pengenalan pola dapat bergantung pada
ukuran data dan distorsi dari penginderaan yang dilakukan.
10
2. Segmentasi
Segmentasi dilakukan untuk membagi;bagi data/clustering menjadi
beberapa daerah atau obyek. Dengan dilakukan segmentasi, data akan
lebih mudah dikenali polanya.
3. Ekstraksi Fitur
Ekstraksi fitur dilakukan untuk mengambil informasi spesifik dari data
agar menjadi lebih sederhana. Dengan demikian proses klasifikasi dapat
dilakukan lebih cepat.
4. Klasifikasi
Klasifikasi dingunakan untuk memisahkan/mengelompokkan data hasil
ekstraksi fitur menjadi kategori;kategori tertentu. Penggunaan fitur yang
lebih kompleks dapat lebih meningkatkan hasil pengenalan pola.
5. Proses Akhir
Mencoba input lain yang mempunyai konteks yang sama dengan target
pola untuk meningkatkan kemampuan pengenalan pola.
3 43 ! "
Deteksi kulit banyak digunakan pada face recognition dan face tracking
pada aplikasi keamanan. Deteksi kulit dilakukan dengan tujuan untuk
memperkecil wilayah pemrosesan gambar agar komputasinya menjadi lebih cepat.
Deteksi kulit dapat diartikan sebagai proses pemilihan piksel dari gambar yang
mempunyai kesesuaian dengan kulit manusia (Albiol, dkk, 2001). Kesulitan yang
11
terjadi pada deteksi kulit diantaranya warna kulit dipengaruhi oleh cahaya sekitar
yang tidak dikenal dalam banyak situasi. Pengambilan foto dari kamera yang
berbeda akan menghasilkan warna yang berbeda walaupun masih pada orang yang
sama dan pada kondisi pencahayaan yang sama sehingga warna kulit dapat
berubah dari orang ke orang.
Model warna yang sering digunakan untuk pemrosesan citra salah satunya
adalah HSV (Hue Saturation Value) atau sering juga disebut HSI (Hue Saturation
Intensity) (Sonka, dkk,1999). Hue mengacu pada persepsi warna (secara teknis,
panjang gelombang yang dominan) misalnya ungu atau oranye. Saturasi
merupakan tindakan dilusi dengan cahaya putih, sehingga dapat menimbulkan
ungu terang, ungu gelap, dan sebagainya. Value atau intensitas pada dasarnya
menyediakan ukuran dari kecerahan warna. Value memberikan ukuran seberapa
banyak cahaya yang dipantulkan dari sebuah obyek atau seberapa banyak cahaya
yang dipancarkan dari suatu daerah (Acharya dan Ajoy, 2005). HSV dapat
digunakan untuk memisahkan informasi intensitas dari warna, sementara warna
dan saturasi sesuai dengan persepsi manusia, sehingga membuat representasi ini
sangat berguna untuk mengembangkan algoritma pengolahan citra.
Untuk melakukan deteksi kulit pada sebuah citra RGB perlu dilakukan
konversi ke HSV. Proses konversi dapat dilakukan dengan asumsi citra RGB
sudah dikenai normalisasi sehingga memenuhi 0 ≤ r,g,b ≤ 1. Normalisasi dapat
dilakukan dengan persamaan berikut :
= , = , = (2.1)
Konversi RGB ke HSV kemudian dilakukan dengan persamaan berikut :
12
= cos (2.2)
= 1 − min , , (2.3)
# = (2.4)
Jika b/i > g/i, maka ubah h=2π h. Perhitungan ini telah dinormalisasi ke rentang
[0,1] jika kita juga mengubah h=h/2π. Sebagai catatan jika r=g=b, maka h tidak
terdefinisi; dan jika i=0, s tidak terdefinisi (Sonka, dkk,1999).
Bila proses konversi telah dilakukan, segmentasi kulit pada citra dapat
dilakukan dengan mengeliminasi piksel yang tidak memenuhi aturan rentang 0.23
≤ S ≤ 0.68 dan 0 ≤ H ≤ 50° (Phung, dkk, 2005). Eliminasi dilakukan dengan
mengubah piksel menjadi bernilai 0. Sebaliknya untuk piksel yang memenuhi
aturan rentang ≤ S ≤ 0.68 dan 0 ≤ H ≤ 50° diubah menjadi bernilai 1. Dengan
demikian akan terbentuk citra biner dimana nilai 1 menunjukkan area kulit dan
nilai 0 area bukan kulit.
Citra biner kemudian dikenai proses reduksi noise dengan teknik
morphological filter menggunakan stuktur elemen 5x5 (Olivera, dkk, 2009).
Proses reduksi noise dilakukan dengan beberapa tahap sebagai berikut :
1. Dilatasi citra biner. Dilatasi adalah suatu proses menambahkan piksel pada
batasan dari obyek dalam suatu gambar (Sela dan Agus, 2011). Dilatasi
akan memperluas area kulit pada citra biner sehingga noise di dalam area
kulit dapat berkurang.
2. Erode citra biner. Erode adalah proses pengkikisan piksel di sekeliling
obyek sehingga ukuran obyek menjadi lebih kecil (Sela dan Agus, 2011).
Erode akan mengu
akibat dari proses
3. Perhalus citra bin
proses penghilang
suatu struktur e
mengurangi noise
dan erode.
3 53 '$ " ' Pada dasarnya inte
area penjumlahan). Dala
terdapat sebuah nilai yang
atas dan kirinya ditambah
Keunggulan summ
sekali jalan pada seluruh
dihitung dengan persamaa $ | $ &, ' = ( &
Jika posisi x;1 atau y;1 b
nilai = 0 (Viola dan Jones
mengurangi tepian yang berlebih dari area kulit yang
roses dilatasi.
tra biner dengan median filtering. Median filterin
hilangan noise dengan mencari nilai median piks
tur elemen (Hakim, dkk, 2010). Median filteri
noise yang ada pada citra biner setelah dikenai prose
integral image merupakan sebuah summed area ta
. Dalam tabel ini, bila diambil titik sembarang (x
ai yang merupakan jumlah dari keseluruhan nilai piks
ambah dengan nilai piksel itu sendiri (x,y) (Batgerati
9 $ +3-3 '$ " '
summed area table adalah dapat dibentuk hanya
luruh piksel citra yang diberikan. Pada tiap piksel,
rsamaan berikut ini :
&, ' ) $ & − 1, ' ) $ &, ' − 1 − $ & − 1, ' −
1 berada diluar batas citra gambar maka akan men
Jones, 2001).
13
yang diperoleh
tering adalah
piksel dalam
iltering akan
i proses dilatasi
a table (tabel
ng (x,y) maka
ai piksel di sisi
erati, 2010).
hanya dengan
, nilai dapat
− 1 (2.5)
n menghasilkan
Sebagai contoh ter
area table untuk i(0,0) m
dimana i(0,0) = 5 + 0 + 0
piksel lainnya. Dengan de
Dengan demikian integra
9 $ +3+3 ( $
" % ( 0 $ :, -;3 :4;
Untuk menghitun
image cukup memerluka
sebelumnya. Persamaan y (
Sebagai contoh terdapat
menjadi integral image
adalah pada daerah ABCD
toh terdapat citra 4x4 seperti pada gambar 2.2.1. Nila
0,0) menjadi i(0,0) = i(0,0) + s(0;1,0) + s(0,0;1) –
0 + 0 – 0 = 5. Perhitungan serupa juga dilakukan untu
gan demikian untuk i(1,1) didapat i(1,1) = 6 + 8 + 7
egral image dari gambar 2.2.1 adalah gambar 2.2.4.
( $ 9" 3 :-; ' ' " % ( 0 $ :, ,;3 :+;
:4; ' ' " % ( 0 $ :- ,;3 :5; ' ' " %
:- -;3
ghitung jumlah piksel dari suatu wilayah citra pada
erlukan 4 nilai dari summed area table yang tela
aan yang digunakan adalah :
&*, '* = $ + ) $ , − $ - − $ .
dapat citra awal seperti gambar 2.3.1. Citra tersebu
seperti pada gambar 2.3.2. Jumlah piksel yang ak
ABCD (lihat gambar 2.3.3).
14
. Nilai summed
– s(0;1,0;1)
n untuk piksel;
8 + 7 – 5 = 16.
2.2.4.
; ' '
" % ( 0 $
a pada integral
g telah dibuat
(2.6)
tersebut diubah
ang akan dicari
15
9 $ +343 ' ' 1 " ! " ' '$ " ' 3 :-; . $ < "3 :+; (
$ 9" 3 :4;= " # # ' ( ' " % ! " # 3
Seperti yang dijelaskan diatas dimana titik (x,y) merupakan jumlah
keseluruhan piksel di sisi atas dan kirinya ditambah (x,y) itu sendiri, maka titik
s(A) bernilai 16, s(B)=32, s(C)=32, dan s(D)=64. Wilayah dari tiap titik dapat
dilihat pada gambar 2.4.
16
9 $ +353 '$ " ' % < " # 3 :-; = " # !: ;3 :+; = " # !: ;3 :4; = " #
!:.;3 :5; = " # !: ;3
Berdasar persamaan diatas, i(x’,y’) yang merupakan wilayah ABCD dapat
diketahui jumlah pikselnya dari integral image yaitu i(x’,y’)=16+64;32;32=16.
Hasil tersebut dapat dibuktikan dengan melihat kembali pada citra asli (gambar
2.3.1). Jumlah piksel pada wilayah yang sama adalah 5+2+3+6=16.
3 63 $ $ "
Fitur Haar;like seperti namanya merupakan fitur dari citra digital yang
digunakan untuk pengenalan obyek dimana mempunyai kemiripan dari fungsi
Haar yang ada pada transformasi wavelets (Viola dan Jones, 2001). Fitur Haar;
like didasari pada perhitungan perbedaan antar wilayah yaitu dengan menghitung
selisih jumlah nilai piksel antar wilayah pada citra grayscale. Deteksi obyek
menggunakan satu set fitur yang merupakan persegi panjang berdekatan secara
17
horisontal dan vertikal dalam bentuk dan ukuran yang sama (lihat gambar 2.5).
Agar mempercepat proses komputasi, citra direpresentasikan menggunakan
integral image sehingga proses perhitungan selisih kedua wilayah dapat dilakukan
dengan cepat.
9 $ +363 $ $ 3
Fitur Haar;like yang digunakan (Viola dan Jones, 2001) pada gambar 2.5
merupakan fitur two rectangle, three rectangle, dan four rectangle. Nilai dari
fitur two rectangle adalah perbedaan jumlah piksel antar dua persegi panjang
yaitu jumlah piksel pada wilayah putih dikurangi wilayah abu;abu. Nilai dari
three rectangle merupakan penjumlahan dari dua persegi panjang luar (putih)
dikurangi dengan jumlah pada persegi panjang di tengah (abu;abu). Untuk nilai
four rectangle merupakan selisih antara jumlah piksel pada persegi antar
diagonal.
36 3-3 &$ $
Detektor pada pengenalan obyek merupakan sebuah sub window dimana
fitur Haar;like diimplementasikan didalamnya. Detektor memindai citra pada
berbagai skala dan lokasi. Penskalaan dilakukan dengan mengubah skala detektor
18
itu sendiri dari pada mengubah skala citra. Proses tersebut dapat dilakukan karena
fitur dapat dihitung pada berbagai skala dengan nilai yang sama. Hasil baik dapat
diperoleh menggunakan faktor skala 1.25 (Viola dan Jones, 2001).
Detektor memindai seluruh lokasi dengan menggeser sub window
sejumlah ∆ piksel. Proses pergeseran ini dipengaruhi oleh skala detektor. Jika
skala sekarang adalah s, maka sub;window akan bergeser sebanyak [s∆] dimana []
merupakan operasi pembulatan.
36 3+3 $ $ " 9 $9 ! ! $ !
Untuk mengetahui perbedaan wilayah seluruh citra pada tiap sub window,
jumlah total dari fitur Haar;like sangat besar dan lebih besar dari jumlah piksel
sub window itu sendiri. Untuk mempercepat proses klasifikasi, maka diperlukan
suatu cara untuk mengetahui fitur;fitur kritis yang paling berpengaruh untuk
proses klasifikasi dari seluruh fitur yang ada. (Viola dan Jones, 2001) mencoba
menggunakan AdaBoost untuk mengatasi masalah tersebut, akan tetapi proses
ekstraksi fitur dengan jumlah sangat besar menjadi operasi yang cukup mahal.
(Kahc, dkk, 2009) menggunakan pendekatan nilai varians sebagai jembatan untuk
melakukan ekstraksi fitur dimana nilai varians dapat merepresentasikan adanya
perbedaan antar wilayah citra.
Varians dari sebuah distribusi atau variabel acak adalah kuadrat deviasi
harapan dari variabel terhadap nilai harapan atau rata;rata variabel itu. Untuk
variabel acak X, maka nilai varians dari X adalah :
/0 1 = 2 13 − 43 (2.7)
19
Dimana E(X2) adalah nilai kuadrat X dan µ adalah nilai harapan X.
Varians merupakan ukuran variabilitas data, yang berarti semakin besar
nilai varians berarti semakin tinggi fluktuasi data antara satu data dengan data
yang lain. Dengan menggunakan varians, maka persebaran piksel tiap wilayah
pada persegi dapat diketahui tingkatnya. Perhitungan nilai fitur Haar;like
kemudian diubah menjadi tingkat perbedaan nilai varians antara persegi panjang
putih dengan abu;abu sehingga memungkinkan untuk mengurangi jumlah fitur
yang digunakan untuk menghitung perbedaan wilayah seluruh citra pada tiap sub
window.
Perhitungan nilai varians ini dapat dihitung dengan cepat menggunakan
integral image. Untuk sebuah citra f(m,n), dapat diperoleh integral image I(x,y)
dan kuadrat integral image I2(x,y). Kuadrat integral image I2(x,y) dapat dicari
dengan mengkuadratkan terlebih dahulu tiap nilai piksel pada suatu gambar
kemudian mengubahnya menjadi integral image dengan perhitungan rumus yang
sama (2.5). Untuk mencari nilai varians pada suatu wilayah citra ABCD (lihat
gambar 2.3.3) kita sebelumnya perlu untuk mencari E(X2) dan µ. Nilai µ dapat
dicari dengan menggunakan persamaan :
4 =5 #6) #7− # − #8 (2.8)
Kemudian nilai E(X2) = E(f(x,y)2) dapat dicari dengan persamaan :
E f x, y 3 =
= I?3) I@3 − IA3 − IB3 (2.9)
dan nilai varians ABCD dapat dihitung dengan persamaan :
/0 C &, ' = E f x, y 3 − μ3 (2.10)
Dimana N adalah jumlah elemen pada wilayah D.
3 73 %%&$ 0 &$ Support Vector M
pada tahun 1992. SV
menemukan hyperplane
dasar dari SVM adalah
bekerja pada permasalaha
fungsi kernel tertentu ag
tinggi.
Hyperplane pemis
kedua kelas (lihat gamba
mengukur margin atau jar
kelas dan mencari titik
maksimal tersebutlah yan
maksimal tersebut mem
untuk memisahkan data. 0 &$ 0
ctor Machine (SVM) pertama kali diperkenalkan ole
SVM adalah metode pembelajaran data yang
ane pemisah terbaik antar kelas pada input space
dalah linear classifier, akan tetapi dikembangkan ag
salahan non;linear. Klasifikasi dalam SVM dapat m
ntu agar dapat bekerja pada data dengan dimensi ya
pemisah terbaik antar kelas adalah sebuah garis pemi
gambar 6). Hyperplane pemisah terbaik dapat dicar
tau jarak hyperplane dengan pola terdekat dari masin
titik maksimalnya (Nugroho, dkk, 2003). Data p
ah yang disebut sebagai support vector. Diketahuinya
membuat garis pemisah hyperplane dapat lebih disem
data.
9 $ +373 #% $%" % ! " !3
20
an oleh Vapnik
yang berusaha
pace. Konsep
kan agar dapat
pat melibatkan
ensi yang lebih
s pemisah antar
t dicari dengan
masing;masing
ata pada titik
uinya titik;titik
disempurnakan
21
37 3-3 " ! ) ! ( '
Secara sederhana permasalahan linear pada SVM berarti bertujuan
menyempurnakan hyperplane dengan support vector yang ditemukan. Sebagai
contoh terdapat data yang akan diklasifikasi L dimana tiap input xi mempunyai
dimensi D dan tiap datanya terbagi dalam dua kelas yi=;1 atau +1. Data tersebut
dapat ditulis sebagai :
E&F, 'FG H(I0J0 ( = 1,2,3, … , N, 'FOE−1,1G, & ∈ Q7 (2.11)
Bila data tersebut dapat terpisah secara linear, maka dapat dibuat sebuah garis
pada grafik x1 dan x2 untuk memisahkan kedua kelas. Hyperplane dapat dituliskan
sebagai :
R. & ) = 0 (2.12)
Dimana w adalah hyperplane normal dan
‖V‖ adalah jarak lurus dari hyperplane
ke titik pangkal (x=0,y=0). Secara teknis, tujuan SVm adalah menentukan
variabel w dan b sehingga data pelatihan dapat dideskripsikan sebagai :
&F. R ) ≥ )1 XJYXZ 'F = )1 (2.13)
&F. R ) ≤ −1 XJYXZ 'F = −1 (2.14)
Algoritma untuk melakukan klasifikasi menggunakan SVM adalah sebagai
berikut (Flecher, 2009) :
1. Tentukan H dimana F\ = 'F'\&F. &\.
2. Cari α sehingga
∑_F` ∝F−3∝a ∝ (2.15)
menjadi maksimal, dengan syarat :
∝F≥ 0 ∀F H0J ∑_F` ∝F 'F = 0 (2.16)
3. Hitung
R
4. Tentukan seluruh
5. Hitung
=5c
6. Tiap titik baru x’ d '′= $ J R. &′)
Agar SVM dapat
digunakan sehingga data d
9 $ +383
Beberapa fungsi kernel ya
1. Radial basis Kerne
Zd&F, &\e = f
gh
2. Polynomial Kerne Zd&F, &\e = &F. &
R = ∑_F` ∝F 'F&F
luruh support vector S dengan mencari indexnya dima
∑i∈l 'i− ∑k∈ljk'k&k. &i
ru x’ dapat terkalsifikasi dengan memeriksa
) .
dapat bekerja pada masalah non;linear, fungsi kern
data dapat dipetakan menjadi ke dimensi yang lebih t
( $ ' > &$ 9 $( ! " 9 '' 3
rnel yang dapat digunakan antara lain (Flecher, 2009)
Kernel
ghmnhog p
Kernel &\)∝
22
(2.17)
a dimana αi>0.
(2.18)
(2.19)
si kernel dapat
lebih tinggi.
3
2009) :
(2.20)
(2.21)
23
3. Sigmoidal Kernel
Zd&F, &\e = Y0Jℎ ∝ &F. &\− (2.22)
Untuk melakukan kalsifikasi non;linear (Flecher, 2009) :
1. Lakukan pemetaan data ke dimensi lebih tinggi dengan kernel yang dipilih & → ∅ & .
2. Tentukan H dimana F\ = 'F'\∅ &F . ∅ &\ .
3. Cari α sehingga
∑_F` ∝F−3∝a ∝ (2.23)
menjadi maksimal, dengan syarat :
0 ≤∝F≤ , ∀F H0J ∑_F` ∝F 'F = 0 (2.24)
4. Hitung
R = ∑_F` ∝F 'F∅ &F (2.25)
5. Tentukan seluruh support vector S dengan mencari indexnya dimana 0 <∝F≤ ,.
6. Hitung
=5c ∑i∈l 'i− ∑k∈ljk'k∅ &k . ∅ &i (2.26)
7. Tiap titik baru x’ dapat terkalsifikasi dengan memeriksa
'′= $ J R. ∅ &′ ) . (2.27)
Proses training dan klasifikasi SVM pada Matlab dilakukan dengan sintak (Matlab
Help) :
24
37 3+3 $ "
RBF (Radial Basis Function) Kernel menggunakan distribusi gaussian
untuk merepresentasikan data. Gambar 2.8 menunjukkan versi dua dimensi dari
kernel tersebut. Keluaran dari kernel tergantung pada jarak Euclidean xy dan xi
(salah satu akan menjadi support vector dan yang lain akan menjadi obyek data).
Support vector akan menjadi pusat RBF dan sigma value akan menentukan daerah
yang dipengaruhi oleh support vector pada data space.
9 $ +3,3?3 !! % ( 3
Sigma (σ) dengan nilai besar akan memberikan batas pengambilan
keputusan yang lebih halus. Hal ini disebabkan RBF dengan sigma yang besar
akan melebarkan area yang dipengaruhi support vector. Sebuah nilai sigma yang
lebih besar akan meningkatkan nilai alpha (α) (Lagrange multiplier) untuk
classifier tersebut. Ketika satu support vector mempengaruhi area yang lebih luas,
semua support vector lainnya di daerah tersebut akan meningkat dengan nilai
sigma tersebut untuk mengimbangi pengaruh ini. Oleh karena itu semua nilai
25
sigma akan mencapai keseimbangan pada magnitude yang lebih besar. Sigma
yang besar juga akan mengurangi jumlah support vector. Hal ini terjadi karena
setiap support vector dapat menutupi ruang yang lebih besar sehingga lebih
sedikit diperlukan untuk menentukan batas ( Chin, K. K., 1998).
3 83 $ 0 ! & ( 0 ""
Precision dan recall baik digunakan dalam mengevaluasi keberhasilan dari
suatu algoritma pengenalan pola. Precision adalah suatu ukuran keakuratan
sedangkan recall adalah suatu ukuran kelengkapan (Dr. Kekre, H.B, dkk., 2011).
Precision pada dasarnya adalah sebuah ukuran dari pemerolehan dokumen yang
relevan pada suatu pencarian.
Recall seperti yang disebutkan sebelumnya adalah ukuran suatu
kelengkapan. Recall pada dasarnya adalah probabilitas dari dokumen relevan yang
dikembalikan dari suatu query. Pada binary classification, recall dapat juga
disebut sensitivitas. Rumus perhitungan dari precision dan recall dapat dilihat
sebagai berikut :
u fv($(wJ =|Exyz{k|} |~|•€}G∩Exyz{k|} xF‚| y~|ƒG||Exyz{k|} xF‚| y~|ƒG| (2.28)
fv0„„ =|Exyz{k|} |~|•€}G∩Exyz{k|} xF‚| y~|ƒG||Exyz{k|} |~|•€}G| (2.29)
Dalam konteks klasifikasi, beberapa istilah seperti true positive (tp), false
positive (fp), true negative (tn) dan false negative (fn) sering digunakan untuk
membandingkan klasifikasi dari suatu obyek dengan kelas yang sesungguhnya.
26
Perhitungan precision dan recall biasanya mengacu pada true positive dengan
rumus perhitungan sebagai berikut :
u fv($(wJ = a {| …yiF†F•| ‡€~i| …yiF†F•|a {| …yiF†F•| (2.30)
fv0„„ =a {| …yiF†F•| ‡€~i| 5| €†F•|a {| …yiF†F•| (2.31)
0vvX 0v' = a {| …yiF†F•| a {| 5| €†F•| ‡€~i| …yiF†F•| ‡€~i| 5| €†F•|a {| …yiF†F•| a {| 5| €†F•| (2.32)
27
.
3 -3 $ 0 ' ! 0 $
Deteksi gambar porno harus dapat mencakup keanekaragaman bentuk,
posisi atau persebaran dan warna dari obyek porno. Bentuk pada sebuah gambar
porno merupakan obyek;obyek utama yang harus dapat dikenali. Bentuk dari
obyek porno dari gambar satu dengan lainnya tentu berbeda;beda. Pelatihan data
dapat dilakukan untuk mengetahui pola yang ada pada obyek porno secara
keseluruhan. Dengan menggunakan pola tersebut, keanekaragaman bentuk obyek
porno dapat teratasi lebih baik.
Posisi atau persebaran merupakan letak dari obyek yang akan dikenali.
Dengan memperhitungkan persebaran dari obyek, maka proses pengenalan suatu
obyek dapat lebih cepat dilakukan. Obyek porno tidak lepas dari bagian tubuh
manusia. Dengan ditemukannya wilayah tubuh manusia pendeteksian cukup
dilakukan pada wilayah tersebut. Mengetahui perbedaan warna kulit dengan
warna lainnya menjadi salah satu cara untuk menemukan wilayah tubuh manusia
dalam suatu gambar.
Ukuran gambar yang akan digunakan sebagai data training adalah 64x64
piksel sesuai dengan algoritma yang digunakan pada penelitian sebelumnya untuk
pengenalan wajah (Kahc, dkk, 2009). Untuk gambar yang akan digunakan sebagai
28
pengujian adalah 180x270 piksel. Gambar untuk data training maupun pengujian
diperoleh dari internet pada berbagai website.
3- 3-3 ! . !
Pengguna pada sistem ini hanya satu. Fungsi yang dapat dijalankan oleh
pengguna pada sistem adalah fungsi memilih dan memasukkan gambar yang akan
dideteksi sebagai gambar porno atau bukan porno ke sistem dan fungsi
mendeteksi gambar porno dari gambar yang dipilih. Pengguna juga dapat
mengatur konfigurasi untuk proses pendeteksian. Diagram use case dari sistem
pendeteksi gambar porno dapat dilihat seperti dibawah ini :
9 $ 43-3 ! . ! 3
3- 3+3 9 $ !
Sistem pendeteksi gambar porno berjalan dengan beberapa tahapan proses.
Pengguna dapat memasukkan gambar yang akan dideteksi sebagai gambar porno
atau gambar bukan porno. Sistem kemudian akan melakukan pendeteksian konten
porno pada area gambar. Pada proses pendeteksian, sistem akan melakukan
29
segmentasi daerah kulit manusia kemudian pemindaian dilakukan pada daerah
tersebut. Penentuan citra termasuk obyek porno atau bukan dilakukan dengan
klasifikasi nilai fitur ke dalam model obyek porno yang sudah dilatih sebelumnya.
Proses;proses tersebut dapat terlihat seperti pada gambar 3.2 berikut ini.
! "
: ; :9;
9 $ 43+3 $&! ! ! ! 9 $ &$ &3 : ; " &( " &9# %&$ &3
:9; ! ' 9 $ %&$ &3
30
3 +3 % "
Data sampel yang digunakan terdiri dari 2 jenis yaitu data positif dan data
negatif. Data positif berupa citra payudara yang mempunyai perbedaan bentuk
dan posisi, sedangkan data negatif berupa citra bukan payudara seperti bangunan,
tumbuhan, kendaraan, dan manusia bukan telanjang Citra payudara diambil dari
gambar;gambar porno yang diperoleh dari berbagai website di internet dan
sebagian besar diperoleh dari website www.cherrynudes.com. Citra bukan
payudara diperoleh dari berbagai website di internet.
Data positif maupun data negatif diperoleh dengan memotong (cropping)
persegi sebagian area pada gambar dan diubah menjadi berukuran 64x64 piksel.
Jumlah data positif yang digunakan adalah 5015 data dan data negatif sebesar
10000 data.
9 $ 434 $&! ! % ' 9 " ( ! % "3
3 43 $ 0 ' !
343 -3 $ 0 ' " &( "
Untuk melakukan pelatihan model, tahap;tahap yang dilakukan terlebih
dahulu adalah dengan melakukan preproses, ekstraksi fitur dan proses pelatihan.
31
Pelatihan model merupakan langkah untuk membuat suatu model yang nantinya
akan digunakan untuk membandingkan data baru yang dimasukkan pada langkah
pendeteksian. Langkah pelatihan model dapat dijelaskan sebagai berikut :
343-3 -3 $ %$&! !
Pada tahap preproses, setiap sampel dikonversi ke format grayscale.
Kemudian dari sampel berformat grayscale tersebut diubah menjadi integral
image I(x,y) (lihat persamaan (2.5)) dan kuadrat integral image I2(x,y).
343-3 +3 ! $ ! $
Langkah;langkah ekstraksi fitur dapat dijelaskan sebagai berikut :
1. Ekstraksi data sampel (64x64 piksel) yang sudah dikenai preproses dengan
fitur haar like berukuran 24x24. Fitur haar like digerakkan keseluruh area
pada data sampel. Ukuran pergeseran saat bergerak adalah 8 piksel. Pada tiap
pergeseran dilakukan ekstraksi fitur dengan 4 jenis fitur haar like seperti pada
gambar 2.5. Cara ini akan menghasilkan 36 kali pergerakan fitur haar like.
9 $ 435 ! $ ! ( ' ) $ $ " +5@+53
32
Proses ekstraksi dengan fitur haar like dilakukan dengan menghitung selisih
nilai varians antara area abu;abu dengan area putih. Untuk tiap area, cari nilai
varians (lihat persamaan (2.7)) dengan menghitung nilai 4 (lihat persamaan
(2.8)) dari I(x,y) dan nilai E(X2) (lihat persamaan (2.9)) dari I2(x,y).
9 $ 436 ' ' > $ ! % ( ) $ $ " 3
Karena tiap pergerakan ekstraksi fitur dilakukan untuk 4 jenis fitur berbeda,
maka proses ini akan menghasilkan 36x4 = 144 fitur.
2. Ekstraksi data sampel dengan langkah yang sama seperti langkah 1 tetapi
dengan ukuran fitur haar like 12x12 dan ukuran pergeseran 4 piksel. Proses
ini akan menghasilkan 784 nilai fitur.
Jumlah keseluruhan nilai hasil ekstraksi fitur data sampel adalah 144+784=928
fitur. Dengan demikian, proses ekstraksi fitur tiap data sampel akan menghasilkan
vektor data dengan dimensi 928.
343-3 43 "
Pada proses pelatihan, data hasil ekstraksi fitur dilatih menggunakan
algoritma pelatihan SVM yang ada pada toolbox Matlab dengan menggunakan
33
kernel RBF (Radial Basis Function) (lihat persamaan (2.20)). Hasil dari proses
pelatihan ini adalah model yang akan digunakan untuk membandingkan data baru
yang dimasukkan pada langkah pendeteksian. Proses pelatihan dapat dilihat pada
gambar 3.6.
9 $ 4373 $&! ! " &( "
343 +3 $ 0 ' ( !
Pendeteksian gambar porno dilakukan dengan 2 langkah yaitu deteksi area
kulit dan pemindaian gambar.
343+3 -3 ! $ "
Langkah;langkah pendeteksian area kulit dapat dijelaskan sebagai berikut :
1. Ubah gambar dari format RGB menjadi HSV (lihat persamaan (2.1), (2.2),
(2.3), (2.4)).
34
2. Buat matriks berukuran sama dengan panjang dan lebar gambar. Isi seluruh
nilai matriks dengan 0 (nol). Matriks ini akan digunakan sebagai matriks
pemetaan area kulit (gambar BW).
3. Periksa nilai pada gambar HSV untuk seluruh koordinat gambar, bila nilai
memenuhi aturan rentang 0.23 ≤ S ≤ 0.68 dan 0 ≤ H ≤ 50° maka masukkan
nilai 1 pada matriks sesuai dengan posisi koordinat gambar.
9 $ 438 ( ! $ " ( ' 3
4. Buat struktur elemen morphological filter dengan ukuran 5x5 dan berbentuk
elips.
5. Dilatasi matriks pemetaan area kulit dengan struktur elemen tersebut.
6. Erode matriks pemetaan area kulit dengan struktur elemen tersebut.
7. Haluskan matriks pemetaan area kulit menggunakan median filtering dengan
ukuran area 5x5.
Hasil dari proses deteksi area kulit adalah matriks pemetaan area kulit (citra biner)
dimana nilai 1 adalah area kulit dan 0 bukan area kulit.
35
343+3 +3 ( 9 $
Langkah;langkah pemindaian gambar dapat dijelaskan sebagai berikut :
1. Setelah gambar dikenai proses deteksi kulit dan menghasilkan matriks
pemetaan area kulit, bagi gambar yang akan dipindai menjadi 3 bagian
berdasar tinggi gambar. Proses pemindaian dilakukan pada bagian ke 2 dari
gambar. Bagian ke 2 dipilih karena pada berbagai gambar porno, citra
payudara mempunyai kebiasaan terletak pada bagian tengah gambar.
9 $ 43? $ % ( ! ' 9 $3
2. Ubah gambar dari format RGB menjadi format grayscale.
3. Pindai gambar menggunakan sub window dengan ukuran (windowLength)
yang ditentukan. Sub window digerakkan ke seluruh bagian tengah area
gambar dengan ukuran pergeseran (windowMove) yang ditentukan.
4. Pada tiap pergerakan sub window, hitung jumlah nilai piksel pada matriks
pemetaan area kulit untuk koordinat yang sama. Bila jumlah nilai piksel sama
dengan 0 (nol) berarti pada area tersebut tidak terdapat warna kulit dan
pemindaian dilanjutkan ke area berikutnya.
36
9 $ 43A ( % ( $ " 3
5. Bila jumlah nilai piksel tidak sama dengan 0 (nol), maka potong gambar pada
posisi sub window dan ubah menjadi berukuran 64x64 piksel.
6. Lakukan preproses seperti pada bagian III.3.1.1 untuk potongan gambar
tersebut.
7. Lakukan ekstraksi fitur seperti pada bagian III.3.1.2 untuk potongan gambar
tetapi proses konversi ke grayscale tidak perlu dilakukan karena pada proses
pemindaian ini gambar telah terlebih dahulu diubah ke grayscale.
8. Klasifikasi hasil ekstraksi fitur dengan SVM model hasil pelatihan. Bila
keluarannya bernilai 1 maka area gambar tersebut termasuk area yang
mengandung konten porno dan sebaliknya bila bernilai 0 (nol) maka area
gambar tersebut tidak termasuk area yang mengandung konten porno.
Akumulasikan jumlah area porno yang terdeteksi.
9. Bandingkan jumlah area porno yang terdeteksi dengan nilai threshold yang
sudah ditentukan. Nilai threshold mewakili jumlah area pada gambar yang
terdeteksi sebagai konten porno dan merupakan ukuran yang digunakan untuk
memutuskan sebuah gambar dianggap porno atau tidak.
37
9 $ 43-, $ ! &"( % ( % ( ' 9 $ %&$ &3
Bila jumlah area porno mencapai nilai threshold maka proses pemindaian
langsung dihentikan dan gambar tersebut dianggap sebagai gambar porno,
sebaliknya bila jumlah area porno belum mencapai nilai threshold sampai
pemindaian selesai, maka gambar tersebut dianggap sebagai gambar bukan
porno.
9 $ 43-- "'&$ &$ &3
38
Proses pemindaian gambar dapat dilihat pada gambar 3.12 berikut ini.
9 $ 43-+3 $&! ! ( 9 $3
343 43 $ 0 ' ' !
Pada tahap pengujian sistem, langkah;langkah yang dilakukan adalah
dengan menguji data training dan melakukan pengujian pemindaian gambar
dengan model. Langkah;langkah tersebut dapat dijelaskan sebagai berikut :
39
34343 -3 ' $ '
Pengujian data training dilakukan dengan metode 5 fold cross validation
dimana data training positif dan data training negatif masing;masing dibagi
menjadi 5 kelompok. Tiap kelompok data positif kemudian digabungkan dengan
tiap kelompok data negatif sehingga terbentuk 5 kelompok data yang mempunyai
jumlah data positif dan negatif yang sama rata.
"# $# %# # # "& $& %& & &
" $ %
9 $ 43-43 9 ' ( 3
Tahap berikutnya adalah membuat seluruh kombinasi pengujian yang ada
dimana untuk tiap kombinasi terdapat 4 kelompok data dilatih sebagai model dan
1 kelompok data digunakan untuk menguji model tersebut. Untuk 5 kelompok
data tersebut maka akan menghasilkan 5 kombinasi pengujian.
40
9 $ 43-53 & 9 ! % ' 3
Pada tiap kombinasi, proses pelatihan model dan pengujian dilakukan 2
kali yaitu dengan pengaturan nilai sigma RBF 1 (default Matlab) dan 1.1 (untuk
percobaan) pada algoritma pelatihan SVM;nya. Dengan demikian akan terdapat
10 pengujian pada tahap ini. Model dari hasil pengujian terbaik kemudian akan
digunakan sebagai model untuk sistem. Rancangan tabel pengujian data training
dapat dilihat pada Tabel 3.1.
9 " 43- 9 " $ 0 ' % ' ( $ '3
&
"& %&
$ '
"& %&
! '
' .&$$ 0 $$&$
1 A B C D E 1
1.1
2 A B C E D 1
1.1
3 A B D E C 1
41
1.1
4 A C D E B 1
1.1
5 B C D E A 1
1.1
34343 +3 ' ( 9 $
Pada tahap ini, pengujian pemindaian gambar menggunakan beberapa
gambar porno dan gambar bukan porno yang berbeda dari data training. Seluruh
gambar uji yang disiapkan kemudian dipindai dengan menggunakan beberapa
pengaturan pada proses pemindaian gambar yaitu window size, window move dan
threshold. Hasil pemindaian gambar dibedakan menjadi 4 kelompok yaitu true
positive (TP), false positive (FP), true negative (TN) dan false negative (FN). True
positive merupakan kelompok untuk data positif yang terdeteksi sebagai gambar
porno, false positive merupakan kelompok untuk data positif yang terdeteksi
sebagai gambar bukan porno, true negative merupakan kelompok untuk data
negatif yang terdeteksi sebagai gambar bukan porno dan false negative merupakan
kelompok untuk data negatif yang terdeteksi sebagai gambar porno.
Hasil;hasil pemindaian gambar kemudian digunakan untuk pengukuran
akurasi keberhasilan sistem dalam mendeteksi gambar porno dengan
menggunakan metode pengukuran recall and precision. Rancangan tabel
pengujian pemindaian dapat dilihat pada Tabel 3.2.
42
9 " 43+ 9 " $ 0 ' % ' % ( 3
= (&< B = (&< &> $ ! &"( 0 "" $ 0 ! & 0 0 $ 0 # 24 5 1 2 4 10 1 2 4 36 5 1 2 4 10 1 2 4
343 53 $ 0 ' $
Antarmuka sistem terdiri dari 2 tampilan yaitu tampilan pendeteksian gambar
porno dan tampilan tentang program. Sistem mempunyai 2 menu yaitu menu File dan
About. Pada menu File, terdapat 2 sub menu yaitu Open Image dan Exit. Pada About
terdapat satu sub menu yaitu About Program. Detail antarmuka dapat dijelaskan sebagai
berikut :
34353 -3 % " ( ! 9 $ &$ &
Pada tampilan ini, terdapat 2 panel yaitu panel image dan panel scanner
properties. Panel image digunakan untuk menampilkan gambar yang akan dideteksi. Pada
panel scanner terdapat 3 slidebar yang digunakan untuk mengatur konfigurasi proses
pemindaian gambar porno yaitu sub window size, sub window move dan threshold. Di
bagian bawah terdapat tombol Scan Image yang berfungsi untuk menjalankan proses
43
pemindaian gambar. Di samping tombol Scan Image terdapat 2 teks yang digunakan
untuk menginformasikan lama waktu proses pemindaian dan hasil dari pemindaian.
Perancangan tampilan pendeteksian gambar porno dapat dilihat pada gambar 3.15.
! ' & (
"
) *
) *
) *
+ ,
-+ , .
/ /
' !
' ! 0
0
9 $ 43-63 % " $ % ( ! ' 9 $ %&$ &3
34353 +3 % " ' $&'$
Tampilan ini memberikan informasi tentang program yang dibuat.
Perancangan tampilan tentang program dapat dilihat pada gambar 3.16.
9 $ 43-73 % " $ 9& $&'$ 3
44
34353 43 % " "
Rancangan tampilan menu File dapat dilihat pada gambar 3.17 berikut :
9 $ 43-83 % " $ " 3
34353 53 % " 9&
Rancangan tampilan menu About dapat dilihat pada gambar 3.18 berikut :
9 $ 43-?3 % " $ 9& 3
34353 63 % " % "
Tampilan ini akan muncul setelah user memilih sub menu Open File. Pada
tampilan ini, user dapat mengakses folder;folder yang ada pada komputer untuk
memilih gambar. Terdapat 2 tombol yaitu Open dan Cancel. Open berfungsi
untuk membuka gambar yang telah dipilih dan Cancel berfungsi untuk
membatalkan proses dan kembali ke tampilan sebelumnya. Rancangan tampilan
Open File dapat dilihat pada gambar 3.19 berikut :
45
' / 1 , ' & (
2 0
0
1 0 % '
1 '
'
1 '
1 %
1 ,
'
9 $ 43-A3 % " $ % " 3
46
1
Implementasi dengan menggunakan Matlab 7.10.0.499 pada komputer
dengan spesifikasi processor Intel i3 2.9 Ghz, RAM 2.00 Gb, VGA 256 Mb dan
Harddisk 320 Gb.
3 -3 %" ! "
3-3 -3 %" ! $ %$&! !
Preproses berfungsi untuk mengubah gambar RGB menjadi grayscale dan
mengubahnya juga menjadi integral image I(x,y) (lihat pesamaan (2.5)) dan
kuadrat integral image I2(x,y). Proses ini dilakukan dengan menggunakan sintak
pada Matlab yaitu :
!
"# !
# $ " !
% & & ' ' # !
% & & # ( ) * ' # !
9 $ 53- $ %$&! !
47
3-3 +3 %" ! ! $ ! $
Ekstraksi fitur dilakukan dengan mengger