Perancangan Program Aplikasi Pendeteksian Bagian Tubuh dengan Metode ViolaJones Benny Senjaya; Jerry Pratama Hakim; Alexander A S Gunawan ABSTRACT A rapid advancement in Information Technology field does help people to get information rapidly. Unfortunately, the information's gathered is not always positive but some negative information could easily gather from the Internet for example porn images. This study aims to create a desktop application that could detect part of human body which can be expanded in the future to become a filter for pornography. The detection methodology that is chosen for the study is Viola-Jones Method where it provides a mathematical model to do a data input process (input and output) and to generalize the data. Viola-Jones combines feature, integral image, boosting algorithm, and cascade classifier. Those features are applied to a random digital image to locate human body's part that wants to be detected. At the end of the testing, the application that detects the face, eyes, nose, left and right ears, upper body, and left hand shows 86.25% successfulness to detect the targeted object. The failures in detection are identified and shows that the object inputted are completely different with the data training . Keywords: detection,human body, viola-jones ABSTRAK Sekarang ini perkembangan teknologi yang sangat pesat mengakibatkan mudahnya untuk memperoleh suatu informasi. Namun sayangnya tidak hanya informasi positif saja yang mudah diperoleh, informasi negatif pun mudah diperoleh melalui media Internet. Salah satunya adalah image yang memiliki unsur pornografi. Untuk mengatasi masalah tersebut dikembangkan suatu program desktop pendeteksian bagian tubuh manusia yang nantinya dapat dikembangkan menjadi suatu sistem filter pornografi. Pendeteksian di lakukan dengan menggunakan Metode Viola-Jones, dimana metode tersebut menawarkan suatu model matematika yang dapat mengolah data (input dan output) yang diberikan, dan melakukan proses generalisasi terhadap data tersebut. Metode Viola-Jones menggabungkan fitur, integral image, algoritma boosting, dan cascade classifier dan menerapkannya terhadap suatu sembarang image digital, untuk mendapatkan posisi-posisi bagian tubuh yang ingin dideteksi. Setelah dilakukan pengujian terhadap program, diperoleh hasil bahwa program aplikasi ini dapat mendeteksi objek dalam hal ini wajah, mata, hidung, telinga kiri dan kanan, tubuh bagian atas, dan tangan kiri, dengan tingkat keberhasilan 86,25%. Beberapa kegagalan dalam pendeteksian di sebabkan karena posisi objek yang tidak sesuai dengan image yang dilatih. Keywords: deteksi, tubuh manusia, viola-jones PENDAHULUAN Saat ini proses pertukaran informasi menjadi semakin mudah dan cepat terbukti dengan banyak digunakannya produk-produk pendukung seperti komputer (PC, laptop, tablet) ataupun smartphone. Dengan didukung oleh network yang memadai, proses informasi dapat terjadi dimana dan kapan saja melalui jasa Internet. Satu hal yang perlu diperhatikan dalam kemudahan ini adalah informasi yang disebar ini belum tentu merupakan informasi yang positif. Sebagai contoh dalam beberapa tahun belakangan, banyak sekali kekhawatiran atas penyebaran gambar-gambar porno melalui produk-produk seperti komputer ataupun
smartphone. Penulis bermaksud mencari solusi untuk masalah ini dengan menciptakan sistem pendeteksi bagian tubuh manusia yang nantinya dapat dikembangkan menjadi suatu sistem filter pornografi. Sistem pendeteksian bagian tubuh yang dibuat akan diberikan sembarang image digital sebagai input lalu pengguna aplikasi akan menentukan bagian tubuh apa yang dicari dari image digital tersebut. Untuk penelitian ini, penulis tidak menggunakan bagian-bagian tubuh yang bersifat seksual karena sensitivity dari data yang diharapkan, tetapi diwakilkan dengan menggunakan bagian-bagian seperti wajah, mata, hidung, telinga, tubuh bagian atas, dan tangan. Tujuan dari perancangan ini akan menyediakan sebuah aplikasi berbasis komputer yang dapat digunakan untuk mendeteksi bagian tubuh manusia pada suatu sembarang image digital yang diberikan. Aplikasi ini juga akan bermanfaat untuk pengembangan kedepannya untuk digunakan online ataupun offline. PEMBAHASAN Tubuh manusia merupakan salah satu objek pendeteksian yang sedang populer, hal ini dapat dibuktikan dengan banyaknya jurnal mengenai perancangan program pendeteksian tubuh manusia seperti pendeteksian wajah yang dilakukan oleh Nugroho & Harjoko (2005), pendeteksian iris mata yang di lakukan oleh Syamsiar, Eru Puspita, & Budi Nur Iman (2009), dan masih banyak lagi. Tubuh manusia yang akan dideteksi pada penelitian ini antara lain wajah, mata, hidung, telinga kiri, telinga kanan, tubuh bagian atas, dan tangan kiri. Hal ini dikarenakan bagian tersebut memiliki ciri yang cukup unik, dapat dilihat dari banyaknya penelitian dan perancangan program mengenai bagian-bagian tubuh tersebut seperti pada jurnal yang penulis tuliskan di atas. Pornografi merupakan salah satu masalah yang diangkat oleh penulis. Kata pornografi itu sendiri menurut Kamus Besar Bahasa Indonesia (Pusat Bahasa, 2008) memiliki arti yaitu penggambaran tingkah laku secara erotis dengan lukisan atau tulisan untuk membangkitkan nafsu birahi. Tingkat pornografi di Indonesia sudah mencapai tingkat yang membahayakan, hal ini dapat dilihat dengan banyaknya berita yang terkait dengan pornografi pada mediamedia cetak seperti Kompas (2011), dan Pos Kota (2012). Oleh karena itu suatu program aplikasi dekstop untuk filter pornografi sangatlah penting sekarang ini. Agar image yang dianggap porno bisa langsung dideteksi dan di sensor. Pengolahan image merupakan dasar dari pendeteksian objek, hal ini dikarenakan dengan kualitas image yang baik, maka pendeteksian suatu objek akan lebih mudah untuk di lakukan. Image itu sendiri memiliki beberapa definisi diantaranya antaranya berdasarkan Schalkoff (1989), image adalah fungsi intensitas warna dua dimensi f(x,y) dimana x dan y mewakili koordinat lokasi suatu titik dan nilai dari fungsi yang merupakan tingkat intensitas warna atau tingkat keabu-abuan dari titik tersebut. Pengolahan image merupakan bidang yang berhubungan dengan proses transformasi image yang bertujuan untuk mendapatkan kualitas image yang lebih baik (C.Fairhurst, 1988). Image bisa diambil dengan menggunakan kamera dari kamera digital, kamera handphone, webcam, dan berbagai alat lainnya yang mampu mengambil suatu image, yang nantinya dapat menghasilkan suatu image digital. Image digital adalah image kontinu yang sudah didiskritkan baik koordinat, spasial, maupun kecerahannya. Image digital dianggap matrik dengan ukuran MxN, dimana baris dan kolom menunjukkan titik-titiknya. Image berwarna menggunakan metode RGB. Adapun masing-masing warna dalam tabel memiliki tiga buah kombinasi angka yaitu R, G, dan B, yang menentukan proporsi warna merah, hijau, dan biru. RGB masing-masing memiliki range antara 0 hingga 63, sehingga jumlah warna yang dapat dipilih untuk mengisi warna
pada sebuah cell ditabel ialah 63x63x63 = 16.000.000 warna. Tetapi seluruh tabel hanya dapat diisi dengan 256 pilihan warna. Computer vision didefinisikan sebagai salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek yang diamati atau di observasi dari suatu image (C.Fairhurst, 1988). Cabang ilmu ini bersama dengan artificial inteligence akan mampu menghasilkan visual inteligence system. Computer vision merupakan kombinasi antara pengilahan image dan pengenalan pola. Object Detection atau Pendeteksian Objek merupakan suatu teknologi komputer yang berkaitan dengan computer vision dan image processing (pengolahan image), yang berhubungan dengan mendeteksi suatu objek dalam image digital. Metode yang digunakan untuk object detection pada perancangan program ini adalah metode Viola-Jones. Haar Classifier merupakan pengklasifikasian fitur yang digunakan dalam metode ViolaJones. Haar Classifier merupakan suatu metode yang membangun sebuah boosted rejection cascade, yang akan membuang data training negatif, sehingga didapat suatu keputusan untuk menentukan data positif. Haar Classifier merupakan metode supervised learning, yaitu membutuhkan data training untuk dapat mendeteksi objek-objek tertentu. Untuk itu, Haar Classifier membutuhkan dua data set yaitu data positif dan data negatif, dimana data positif merupakan data yang berisikan objek yang akan dideteksi, dan data negatif merupakan data yang berisikan objek yang akan tidak dideteksi Saat ini telah banyak berkembang aplikasi-aplikasi yang menggunakan fitur deteksi objek. Deteksi objek dapat dilakukan dengan berbagai cara, salah satunya menggunakan metode Viola-Jones. Metode Viola-Jones merupakan algoritma pendeteksi objek yang terdapat dalam EmguCV, metode ini merupakan metode yang paling banyak digunakan untuk mendeteksi objek hal ini dikarenakan metode Viola-Jones memiliki algoritma yang efisien, sehingga tidak memerlukan waktu lama dalam melakukan proses pendeteksian objek. Proses pendeteksian objek dilakukan dengan mengklasifikasikan sebuah image setelah sebelumnya sebuah pengklasifikasi dibentuk dari data latih. Terdapat empat kontribusi utama dalam teori Viola-Jones, diantaranya yaitu: Fitur, Integral image, Adaptive Boosting atau AdaBoost, dan Kombinasi Classifier of Cascade. Fitur merupakan tahap paling awal yang diperlukan dalam pendeteksian objek dengan menggunakan metode Viola-Jones. Penggunaan fitur dilakukan karena pemrosesan fitur berlangsung lebih cepat dibandingkan pemrosesan image per pixel. Beradasarkan penelitian yang dilakukan oleh Arihutomo (2010) fitur yang digunakan oleh Viola-Jones berdasarkan pada Wavelat Haar. Wavelat Haar merupakan gelombang tunggal bujur sangkar yang mempunyai satu interval tinggi dan satu interval rendah. Yang kemudian di kembangkan untuk pendeteksian objek visual yang lebih yang dikenal dengan nama fitur Haar, atau fitur Haarlike. Integral image merupakan tahap kedua yang dilakukan dalam metode Viola-Jones. Integral Image adalah sebuah image yang nilai tiap pixelnya merupakan akumulasi dari nilai pixel atas dan kirinya. Sebagai contoh, pixel (a,b) memiliki nilai akumulatif untuk semua pixel (x,y) dimana x ≤ a dan y ≤ b. Menurut Viola & Jones (2011) Integral image pada lokasi x,y, berisikan jumlah pixel dari atas sampai kiri dari x,y, perhitungannya dapat dicari dengan menggunakan rumus berikut: ′
, ′
, ′
Keterangan: , = integral image , adalah original image Dengan menggunakan pasangan rumus berikut ini: , ,
1
,
,
′
,
(1)
, 1, , (2) Keterangan: , = penjumlahan kumulatif baris , 1 0 1, 0 Sehingga integral image bisa dihitung dengan mengabaikan original image. Contoh perhitungan integral image dapat dilihat pada gambar 1:
Gambar 1 Contoh perhitungan integral image Dapat dilihat pada gambar 2 berdasarkan penelitian yang dilakukan oleh Viola & Jones (2001) perhitungan jumlah dari pixel dalam persegi panjang D, dapat dihitung dengan empat referensi array. Nilai dari integral image pada lokasi 1, adalah penjumalahan dari pixel dalam persegi panjang A. Nilai pada lokasi 2 adalah A+B, nilai pada lokasi 3 adalah A+C, dan pada lokasi 4 adalah A+B+C+D. Penjumlahan dalam D bisa dihitung seperti 4+1-(2+3).
Gambar 2 perhitungan integral image (Viola & Jones, 2001) Proses pencarian nilai fitur ini dilakukan secara iteratif mulai dari ujung kiri atas image hingga ujung kanan bawah dengan pergeseran sebesar ∆x dan ∆y. Semakin kecil nilai ∆x dan ∆y, maka semakin akurat pula proses deteksi. Nilai ∆x dan ∆y yang sering digunakan adalah satu. AdaBoost merupakan tahap ke-tiga dalam metode Viola-Jones. Algoritma AdaBoost berfungsi untuk melakukan pemilihan fitur-fitur dalam jumlah banyak, dengan hanya memilih fitur-fitur tertentu. Boosting merupakan meta-algoritma dalam machine learning untuk melakukan supervised learning. Teori boosting dikenalkan berdasarkan pertanyaan yang diajukan Freund & Schapire (2001) dapatkah sekumpulan weak learner menciptakan satu kesatuan strong learner? Weak learner adalah classifier yang hanya memiliki sedikit
korelasi dengan klasifikasi yang sebenarnya, sementara strong learner adalah classifier yang memiliki korelasi kuat dengan klasifikasi yang sebenarnya (Andoko, 2007). Kebanyakan algoritma boosting mengikuti sebuah rancangan. Secara umum boosting terjadi dalam iterasi, secara incremental menambahkan weak learner ke dalam satu strong learner. Pada setiap iterasi, satu weak learner belajar dari suatu data latihan. Kemudian, weak learner itu ditambahkan ke dalam strong learner. Setelah weak learner ditambahkan, datadata kemudian diubah masing-masing bobotnya. Data-data yang mengalami kesalahan klasifikasi akan mengalami penambahan bobot, dan data-data yang terklasifikasi dengan benar akan mengalami pengurangan bobot. Oleh karena itu, weak learner pada iterasi selanjutnya akan lebih terfokus pada data-data yang mengalami kesalahan klasifikasi oleh weak learner yang sebelumnya (Andoko, 2007). AdaBoost, singkatan dari Adaptive Boosing, diformulasikan oleh Yoav Freund dan Robert Schapire pada tahun 1995, terbukti mampu menyelesaikan banyak permasalahan sulit yang dihadapi oleh algoritma boosting sebelumnya. AdaBoost berfungsi untuk mencari fiturfitur yang memiliki tingkat pembeda yang tinggi. Hal ini dilakukan dengan mengevaluasi setiap fitur terhadap data latih dengan menggunakan nilai dari fitur tersebut. Fitur yang memiliki batas terbesar antara objek dan non-objek dianggap sebagai fitur terbaik. Dari banyak variasi algoritma boosting, AdaBoost merupakan yang paling terkenal dan dalam sejarah perkembangannya, merupakan algoritma pertama yang dapat beradaptasi dengan weak learner. Menurut Viola & Jones (2011) salah satu metode praktis untuk menyelesaikannya yaitu dengan membatasi weak learner ke set klasifikasi fungsi, yang masing-masing bergantung pada fitur tunggal. Untuk mendukung tujuan ini, algoritma pembelajaran yang lemah dirancang untuk memilih fitur persegi panjang tunggal, dimana persegi panjang tunggal merupakan yang terbaik untuk memisahkan contoh positif dan negatif. Untuk masing-masing fitur weak learner menentukan ambang batas klasifikasi fungsi yang optimal, sehingga jumlah minimum kesalahan sebuah pengklasifikasian yang lemah terdiri dari fitur , sebuah threshold dan kesamaan menunjukkan arah dari ketidaksetaraan tanda: 1 0 dimana adalah sebuah 24x24 pixel sub-window dari sebuah gambar. Kombinasi Cascade of Classifier merupakan tahap terakhir dalam metode ViolaJones. Dengan mengkombinasikan pengklasifikasian dalam sebuah struktur cascade atau Cascade of Classifier, kecepatan dari proses pendeteksian dapat meningkat, yaitu dengan cara memusatkan perhatian pada daerah-daerah dalam image yang berpeluang saja. Hal ini dilakukan untuk menentukan dimana letak obyek yang dicari pada suatu image. Karakteristik dari algoritma Viola-Jones adalah adanya klasifikasi bertingkat. Klasifikasi pada algoritmna ini terdiri dari tiga tingkatan dimana tiap tingkatan mengeluarkan subimage yang diyakini bukan objek. Hal ini dilakukan karena lebih mudah untuk menilai subimage tersebut bukan objek yang ingin dideteksi ketimbang menilai apakah subimage tersebut merupakan objek yang ingin dideteksi (Dzulkamain, et al. 2011). Di bawah ini adalah alur kerja dari klasifikasi bertingkat.
Gambar 3 alur kerja klasifikasi bertingkat (Dzulkamain, et al. 2011)
Pada klasifikasi tingkat pertama, tiap subimage akan diklasifikasi menggunakan satu fitur. Klasifikasi ini kira-kira akan menyisakan 50% subimage untuk diklasifikasi di tahap kedua. Seiring dengan bertambahnya tingkatan klasifikasi, maka diperlukan syarat yang lebih spesifik sehingga fitur yang digunakan menjadi lebih banyak. Jumlah subimage yang lolos klasifikasi pun akan berkurang hingga mencapai jumlah sekitar 2% (Dzulkamain, et al. 2011). Struktur cascade mencerminkan fakta bahwa dalam setiap gambar tunggal, mayoritas dari sub-window negatif. Dengan demikian, cascade berguna untuk menolak negatif sebanyak mungkin dan secepat mungkin di level yang memungkinkan. Sementara contoh positif akan memicu evaluasi setiap classifier pada cascade (Viola & Jones, 2001). Sama seperti pohon keputusan, pengklasifikasian selanjutnya dilatih menggunakan contoh-contoh yang melewati semua tahap sebelumnya. Akibatnya,classifier kedua menghadapi tugas yang lebih sulit dari yang pertama, dan begitu selanjutnya, classifiers yang lebih dalam memiliki korespondensi terhadap tingkat positif salah yang lebih tinggi. Untuk itu dibutuhkan suatu rumus untuk menghitung tingkat positif yang salah dari suatu cascade classifier,menurut penelitian yang telah dilakukan oleh Viola & Jones (2011) rumus untuk menghitung hal tersebut adalah: , Dimana: = tingkat positif yang salah dari cascaded classifier = jumlah classifier = adalah kesalahan tingkat positif dari classifier ke . Sedangkan rumus untuk menghitung tingkat deteksi adalah: , Dimana: = tingkat deteksi dari cascaded classifier = jumlah classifier = tingkat deteksi dari classifier ke Pemberian sub-window akan berlangsung turun melalui cascade, dari satu classifier pada suatu waktu, sampai diputuskan bahwa window tersebut negatif, sedangkan window yang berhasil dalam masing-masing tes akan diberi label positif. Menurut Viola & Jones (2011) dibutuhkan suatu rumus untuk menghitung jumlah yang diharapkan dari fitur yang dievaluasi, yaitu:
dimana: = jumlah yang diharapkan dari fiturdievaluasi, = jumlah classifiers, = tingkat positif dari classifier ke , = jumlah fitur dalam classifier ke . Pembelajaran prosedur AdaBoost yang disajikan dalam bagian ini, berfungsi untuk meminimalkan kesalahan, dan tidak secara khusus dirancang untuk mencapai deteksi tingkat tinggi dengan mengorbankan besar tingkat kesalahan positif. Skema untuk perkiraan dari kesalahan ini adalah untuk menyesuaikan treshold dari perceptron yang di produksi oleh
AdaBoost. Menurut Viola & Jones (2001) tresholds yang lebih tinggi menghasilkan classifiers dengan tingkat kesalahan positif yang lebih sedikit, dan tingkat deteksi yang lebih rendah. Sedangkan kebalikannya tresholds yang lebih rendah menghasilkan classifiers dengan tingkat kesalahan positif yang lebih tinggi Menurut Viola & Jones (2011) dari analisa di atas dapat di ambil kesimpulan, bahwa terdapat tiga faktor yang mempengaruh kecepatan dan tingkat akurasi dalam pendeteksian, faktor-faktor tersebut antara lain : 1. Jumlah dari tahapan classifier. 2. Jumlah dari feature, untuk setiap tahapan. 3. Treshold dari setiap tahapan. EmguCV berperan untuk menjembatani C# dan OpenCV, EmguCV adalah warpper.Net untuk OpenCV. Dengan EmguCV, funsi-fungsi dalam OpenCV bisa dipanggil melalui bahasa pemograman yang compatible dengan .NET seperti C#, VN, dan VC++. Keuntungan menggunakan EmguCV yang paling utama adalah library ini sepenuhnya ditulis dengan C#, yang mana tentunya lebih safe karena pembuatan objek ataupun reference di manage oleh garbage collector. EmguCV memiliki dua layer, yaitu basic layer dan second layer. Basic layer mengandung fungsi, struktur, dan enumerasi yang secara langsung merefleksikan apa yang ada di OpenCV. Dengan adanya layer inilah fungsi-fungsi pada OpenCV dapat dipanggil dengan bahasa pemograman C#. Sedangkan second layer mengandung kelas-kelas yang memanfaatkan keunggulan teknologi .NET. Dalam skripsi ini penulis menggunakan versi terbaru EmguCV yaitu versi 2.3.0, yang mengikuti versi OpenCV yang sama yaitu 2.3.0. Fitur-fitur pada EmguCV yang digunakan dalam skripsi ini yaitu fungsi untuk mendeteksi objek, dan juga beberapa haarcascade yang telah disediakan oleh EmguCV, untuk mendeteksi objek yang diinginkan. Di era informasi, jutaan software telah beredera di dunia, dan jutaan lainnya sedang dalam pengembangan. Masing-maisng pengembang, memiliki metode masing-masing dalam membuat software-nya, dan masing-masing metode memiliki dampak secara langsung maupun tidak langsung terhadap proses pengembangan software itu sendiri. Proses tersebut dinamakan rekayasa piranti lunak atau software enginering. Beberapa definisi yang diberikan Pressman (2005) mengenai rekayasa piranti lunak tercantum di bawah: • Penggunaan dan pemanfaatan prinsip-prinsip teknik, dalam upaya untuk memperoleh software yang ekonomis namun dapat diandalkan dan bekerja secara efisien pada mesin nyata. • Pendekatan secara sistematis, disiplin, dan bertanggung jawab atas proses pengembangan, operasi, dan pemeliharaan dari sebuah software. Langkah-langkah yang perlu dilakukan dalam mengembangkan software sesuai dengan system development life cycle. Secara umum, aplikasi terdiri dari pendeteksian dari file gambar yang tidak bergerak. Format yang didukung oleh program ini untuk file gambar tidak bergerak antara lain: bitmap (bmp), jpeg, dan jpg. Program yang dikembangkan memiliki satu form utama. dimana didalam form utama tersebut terdapat suatu combo box yang didalamnya berisikan pilihan bagian tubuh manusia yang ingin dideteksi. Proses deteksi menggunakan cascade classifier, yang akan di jalankan pada image digital yang telah dipilihm kemudia bagian-bagian tubuh yang terdeteksi akan ditandai dengan kotak berwarna biru. Dalam program ini terdapat beberapa algoritma yang diterapkan yaitu algoritma adaboost dan algoritma training cascade of classifier. Berikut algoritma AdaBoost :
• • •
…… Diberikan contoh gambar , , dimana 0,1 untuk masing contoh negatif dan positif. , for 0,1 masing-masing, dimana dan adalah inisialisasi bobot , nomor negatif dan positif masing-masing For 1, … . , : 1. Normalisasi bobot, ,
,
∑ , adalah sebuah distribusi probabilitas Sehingga yang dibatasi untuk 2. Untuk beberapa feature, , melatih sebuah classifier menggunakan sebuah singel feature. Erornya dievaluasi sehubungan dengan , ∑ | | 3. Pilih classifier, , dengan eror yang terendah . 4. Update bobotnya: Dimana 0 jika misal diklasifikasi secara benar, 1 sebaliknya, dan •
Classifier akhir yang kuat adalah: 1
1 2
0 dimana
log
Dan berikut algoritma training cascade of classifier : • • • • • • •
Pengguna memilih nilai untuk , nilai maksimum yang dapat diterima per tahap, dan , sebagai nilai minim yang dapat diterima untuk deteksi per tahap. Pengguna memilih target keseluruhan dari tingkat kesalahan positif, , sebagai contoh positif sebagai contoh negatif 1,0; 1,0 0 while o 1 o 0; o while 9 1 features 9 Gunakan dan untuk melatih sebuah classifier dengan menggunakan AdaBoost 9 Kurangi threshold untuk classifier ke sampai cascaded classifier yang sedang berjalan memili tingkat deteksi minimal o o jika maka evaluasi cascaded yang sedang berjalan saat ini pada set gambar non-wajah, dan menempatkan setiap deteksi kesalahan kedalam .
Program ini memiliki sebuah form utama dimana di dalamnya terdapat combo-box yang berisikan bagian-bagian tubuh manusia yang ingin di deteksi. Use-Case Diagram dibawah menggambarkan fungsi dari aplikasi tersebut.
Gambar 4 Use-Case Diagram Program Pendeteksian Tubuh Manusia Data training dalam program aplikasi ini dibutuhkan untuk melakukan haar training guna membuat haarcascade untuk tangan. Data training yang berupa image ini dibagi menjadi dua yaitu: 1. Sample image positif. 2. Sample image negatif Untuk data training sample image positif penulis mengumpulkannya secara manual dengan memfoto objek menggunakan kamera handphone blackberry 9760 5 mega pixel, dengan jarak 20-30 cm, dan cahaya . Sample image positif yang penulis kumpulkan sebanyak 100 sample. Sedangkan untuk sample image negatif diambil melalui google.com sebanyak 200 sample. Dalam pengambilan data testing untuk program aplikasi ini perlu di perhatikan beberapa hal meliputi : • Pencahayaan • Jarak Pengambilan gambar • Kualitas kamera Penulis menggunakan sepuluh orang yang di foto menggunakan kamera handphone blackberry bold 9760 dengan kualitas 5mega pixel, dalam ruangan dengan cahaya yang terangnya ... lux , jarak 10-30 cm untuk wajah, mata, hidung, telinga kiri&kanan, tangan dan jarak 100 cm untuk tubuh bagian atas. Hal ini dilakukan agar dapat menangkap objek yang akan dideteksi dengan cukup jelas. Dalam perancangan program aplikasi ini, penulis menggunakan komputer dan system operasi dengan spesifikasi sebagai berikut: 1. Intel i5 460 Processor 2. Memory 4GB 3. OS: Windows 7 Ultimate-32 bit 4. Program yang digunakan: Microsoft Visual Studio C# 2010 Express. 5. Library yang digunakan: EmguCV 2.3.0.1416
Pada program pendeteksian bagian tubuh manusia ini penelitian di fokuskan kepada pendeteksian wajah, mata, hidung, tubuh bagian atas, tangan, telinga kiri, dan telinga kanan. Untuk pendeteksian diuji kepada sepuluh orang dengan inisial A-J, hasil yang diperoleh: Tabel 1 Tabel Percobaan terhadap sepuluh orang Nama
Wajah
Mata Hidung
Tubuh Bagian atas G B B B B B B G B B
Tangan Tangan Telinga Telinga Tegak Miring Kiri Kanan ( ) ( ) B B B B B G B G G B B B B B B B B G G B B B B B B B B B G B G B G B B B B B B B
A B B B B B B B C B B B D B G B E B B B F B B B G B B B H B B B I B B B J B B B Dengan keterangan sebagai berikut: B = Berhasil dideteksi G = Gagal atau tidak terdeteksi Berdasarkan hasil percobaan tersebut, maka tingkat keakuratan program ini adalah sebagai berikut ∑ % ∑ Percobaan deteksi dilakukan terhadap sepuluh orang, dimana setiap orang mengalami perlakuan yang hampir sama, maka diperoleh perhitungan sebagai berikut: % . % Dari perhitungan diatas maka dapat dilihat keakuratan program ini adalah 86.25%. Secara otomatis maka dapat di peroleh tingkat kegagalan program ini adalah 100% - 86.25% = 13.75%. Dari analisa yang dilakukan kegagalan pendeteksian terjadi disebabkan oleh dua hal, yaitu data training yang kurang beragam dan banyak, dan posisi objek yang hendak dideteksi tidak sesuai dengan yang ada dalam data training. PENUTUP Program pendeteksian bagian tubuh manusia menggunakan metode viola-jones mampu menampilkan hasil pendeteksian yang baik, dan dapat digunakan untuk mendeteksi bagian tubuh lain untuk filter pornografi apabila dilakukan training untuk bagian tubuh yang dianggap "tabu". Tingkat keakuratan dalam keseluruhan pendeteksian mencapai 86.25%, hasil ini lebih besar dari hasil penelitian yang dilakukan oleh Viola & Jones (2001) yang tingkat persentasenya mencapai 77,8%. Dengan demikian dapat dikatakan bahwa tujuan dari penelitian ini terpenuhi. Beberapa saran yang dapat diajukan untuk pengembangan program aplikasi ini bagi peniliti lain adalah: 1. Tingkat keakuratan pendeteksian dapat lebih ditingkatkan lagi dengan menambah jumlah data training saat membuat haarcascade untuk suatu bagian tubuh.
2. Tingkat keakuratan pendeteksian dapat ditingkatkan lagi dengan menambah data testing. 3. Data yang digunakan dalam program ini berupa image sehingga masih dapat dikembangkan dengan menggunakan data realtime. 4. Program pendeteksian ini masih sederhana, karena hanya mendeteksi bagianbagian tubuh tertentu saja seperti wajah, mata, hidung, telinga kiri, telinga kanan, tubuh bagian atas, tangan. Sehingga kedepannya masih dapat dikembangkan lebih lanjut lagi, salah satunya untuk filter pornografi secara nyata. DAFTAR PUSTAKA Andoko. (2007). Perancangan Program Simulasi Deteksi Wajah Dengan Support Vector Machines-Viola Jones. 14. Arihutomo, M. (2010). Rancangan Bangun Sistem Penjejakan Objek Menggunakan Metode Viola Jones Untuk Aplikasi Eyebot. 12. Barczak, & Chautard, A. L. (2007). Feature-Based Rapid Object Detection: From Feature Extraction To Parallelisation. C.Fairhurst, M. (1988). Computer Vision for Robotic System: An Introduction. London: Prentice Hall. Dzulkamain, A. D., Dewantara, B. S., & Besari, A. A. (2011). Pengendalian Robot Lengan Beroda Dengan Kamera Untuk Pengambilan Obyek. 3. Freund, Y., & Schapire, R. (2001). The Boosting Approach to Machine Learning An Overview. 3. Jain, A. K. (1982). Stotchastic Image Models and Applications. California: Defense Technical Information Center. Kompas. (2011). Dipetik Januari Sabtu, 2012, dari www.kompas.com: http://nasional.kompas.com/read/2011/01/03/13040246/www.kompas.com;http://nasion al.kompas.com/read/2008/10/01/19491236/terlibat.pornografi.anak.121.pria.ditangkap; http://nasional.kompas.com/read/2009/02/18/09182731/situs.porno.jual.artis Nugroho, S., & Harjoko, A. (2005). Penerapn Jaringan Syaraf Tiruan Untuk Mendeteksi Posii Wajah Manusia Pada Citra Digtal. Program Pascasarjana Ilmu Komputer, Universitas Gadjah Mada, Yogyakarta . PosKota. (2012, Januari). Dipetik Januari Sabtu, 2012, dari www.poskotanews.com: http://www.poskotanews.com/2012/01/19/korban-trafficking-dari-wargamiskin/;http://www.poskotanews.com/2012/01/19/perawan-siswi-sma-rp-700ribu/;http://www.poskotanews.com/2012/01/20/satroni-isteri-muda-isteri-tua-dihajarsuami/
Pressman, R. S. (2005). Software Enginering : a Practitioner's Approach. Six Edition. New York: McGraw-Hill. Pusat Bahasa. (2008). Dalam Kamus Besar Bahasa Indonesia. Jakarta: Gramedia Pustaka Utama. Schalkoff, R. J. (1989). Digital Image Processing and Computer Vision. wiley: unknown. Syamsiar, T. F., Eru Puspita, S., & Budi Nur Iman, S. (2009). Identifikasi Scan Iris Mata Menggunakan Meotde JST Propagasi Balik Untuk Aplikasi Sistem Pengamanan Brankas. Viola, P., & Jones, M. (2001). Robust Real-time Object Detection. 5.
Perancangan Program Aplikasi Pendeteksian Bagian Tubuh dengan Metode Viola-Jones Jerry Pratama Hakim; Benny Senjaya; Alexander A S Gunawan ABS TRAK Sekarang ini perkembangan teknologi yang sangat pesat mengakibatkan mudahnya untuk memperoleh suatu informasi. Namun sayangnya tidak hanya informasi positif saja yang mudah diperoleh, informasi negatif pun mudah diperoleh melalui media Internet. Salah satunya adalah image yang memiliki unsur pornografi. Untuk mengatasi masalah tersebut dikembangkan suatu program desktop pendeteksian bagian tubuh manusia yang nantinya dapat dikembangkan menjadi suatu sistem filter pornografi. Pendeteksian di lakukan dengan menggunakan M etode Viola-Jones, dimana metode tersebut menawarkan suatu model matematika yang dapat mengolah data (input dan output) yang diberikan, dan melakukan proses generalisasi terhadap data tersebut. M etode Viola-Jones menggabungkan fitur, integral image, algoritma boosting, dan cascade classifier dan menerapkannya terhadap suatu sembarang image digital, untuk mendapatkan posisi-posisi bagian tubuh yang ingin dideteksi. Setelah dilakukan pengujian terhadap program, diperoleh hasil bahwa program aplikasi ini dapat mendeteksi objek dalam hal ini wajah, mata, hidung, telinga kiri dan kanan, tubuh bagian atas, dan tangan kiri, dengan tingkat keberhasilan 86,25%. Beberapa kegagalan dalam pendeteksian di sebabkan karena posisi objek yang tidak sesuai dengan image yang dilatih. Keywords: deteksi, tubuh manusia, viola-jones ABS TRACT A rapid advancement in Information Technology field does help people to get information rapidly. Unfortunately, the information's gathered is not always positive but some negative information could easily gather from the Internet for example porn images. This study aims to create a desktop application that could detect part of human body which can be expanded in the future to become a filter for pornography. The detection methodology that is chosen for the study is Viola-Jones M ethod where it provides a mathematical model to do a data input process (input and output) and to generalize the data. Viola-Jones combines feature, integral image, boosting algorithm, and cascade classifier. Those features are applied to a random digital image to locate human body's part that wants to be detected. At the end of the testing, the application that detects the face, eyes, nose, left and right ears, upper body, and left hand shows 86.25% successfulness to detect the targeted object. The failures in detection are identified and shows that the object inputted are completely different with the data training . Keywords: detection,human body, viola-jones INTRODUCTION Currently the process of exchanging information is becoming increasingly easy and rapid as evidenced by many supporters of the use of products such as computers (PC, laptop, tablet) or a smartphone. With adequate support network, information processing can occur anytime and
anywhere through Internet services. One thing to note in this ease is the spread of this information is not necessarily positive information. For example, in recent years, many concerns over the spread of pornographic images through products such as computers or smartphones. The author intends to find a solution to this problem by creating a system of detection of human body parts that can later be developed into a pornography filter system. Detection system of the body are made will be given any digital image as input and the user application will determine what to look for the body of the digital image. For this study, the authors did not use the body parts of a sexual nature because the sensitivity of the data is expected, but is represented by using the parts such as face, eyes, nose, ears, upper body and arms. The purpose of this design will provide a computer-based applications that can be used to detect the human body in an arbitrary digital image is given. This application will also be useful for future development to be used online or offline. DIS CUSS ION The human body is one of detecting objects that are popular, it can be proved by the number of journals on the design of the human body detection program such as face detection is performed by Nugroho & Harjoko (2005), the iris detection is done by Syamsiar, Eru Puspita, & Nur Iman Budi (2009), and much more. The human body to be detected in this study include the face, eyes, nose, left ear, right ear, upper body and left hand. This is because the part has a characteristic that is quite unique, it can be seen from the number of research and design of the program on body parts such as the journal that authors write in the above. Pornography is one of the issues raised by the authors. The word pornography itself by Big Indonesian Dictionary (Language Centre, 2008) has a meaning that is the depiction of erotic behavior with a painting or writing to arouse lust. The level of pornography in Indonesia has reached a dangerous level, this can be seen with a number of news related to pornography on the print media such as Compass (2011), and Pos Kota (2012). Therefore, a desktop application program to filter pornography is very important now. To be considered pornographic image which can be readily detected and the sensor. Image processing is the basis of object detection, this is because the image quality is good, then the detection of an object would be easy to do. Image itself has some of them based on the definition of which Schalkoff (1989), the intensity of the color image is a two-dimensional function f (x, y) where x and y represent the coordinates of the location of a point and the value of which is a function of the intensity of color or gray level from that point. Image processing is a field related to the image transformation process that aims to get better image quality (C.Fairhurst, 1988). Image can be taken using the camera of a digital camera, camera phone, webcam, and various other tools that can take an image, which in turn can produce a digital image. Digital image is a continuous image that has good didiskritkan coordinates, spatial, and brightness. Digital image is considered a matrix with size mxn, where rows and columns show the dots. Using the RGB color image. As each color in the table has three combinations of
numbers, namely R, G, and B, which determines the proportion of red, green, and blue. RGB each has a range between 0 to 63, so the number of colors to choose from to fill the color in a cell ditabel is 63x63x63 = 16 million colors. But the entire table can be filled with 256 color options. Computer vision is defined as one branch of science that studies how computers can recognize the observed object or the observation of an image (C.Fairhurst, 1988). This branch of science with artificial Intelligence Intelligence will be able to produce visual system. Computer vision is a combination of pengilahan image and pattern recognition. Object detection or object detection is a computer technology related to computer vision and image processing (image processing), which is associated with detecting an object in a digital image. The method used for object detection in the design of this program is the Viola-Jones method. Haar Classifier is classifying the features used in Viola-Jones method. Haar Classifier is a method that builds a boosted rejection cascade, which will get rid of negative training data, in order to get a decision to determine the positive data. Haar Classifier is a supervised learning method, which requires training data to be able to detect specific objects. For that, Haar Classifier requires two sets of data that is positive data and negative data, where positive data is data that contains the object to be detected, and the negative data is data that contains the object that will not be detected When this has been a lot of developing applications that use object detection feature. Object detection can be done in various ways, one using the Viola-Jones method. Viola-Jones method is an object-detection algorithms contained in EmguCV, this method is the most widely used method to detect this object because the method of Viola-Jones has an efficient algorithm, so it does not take a long time in the process of object detection. Object detection process is done by classifying the image having previously formed a classifier trained from the data. There are four major contributions in the theory of Viola-Jones, among which: Feature, Integral image, Adaptive Boosting or AdaBoost, and the combination of Cascade Classifier. Feature is the earliest stage is required in object detection using the Viola-Jones method. The use of features is done because the processing is faster than the features of image processing per pixel. Beradasarkan research conducted by Arihutomo (2010) features used by Viola-Jones based on Haar Wavelat. Wavelat Haar is a single square wave having a height interval and a lower interval. Who later developed for the detection of a visual object known as the Haar features, or features Haarlike. Integral image is performed in the second stage of Viola-Jones method. Integral Image is an image that the value of each pixel is accumulated from the top and left pixel values. For example, a pixel (a, b) have a cumulative value for all pixels (x, y) where x and y ≤ a ≤ b. By Viola & Jones (2011) The integral image at location x, y, containing the number of pixels from the top to the left of x, y, the calculation can be found using the following formula:
,
,
, ,
Description: , = integral image , adalah original image By using the pair following formula: , , Description: , = penjumlahan kumulatif baris , 1 0 1, 0
, 1,
1
,
,
(1) (2)
So that the integral image can be calculated by ignoring the original image. Example of calculation of integral image can be seen in figure 1:
Figure 1 Example of calculation of the integral image Can be seen in figure 2 is based on research conducted by Viola & Jones (2001) calculation of the number of pixels in the rectangle D, can be computed with four array references. The value of the integral image at location 1, is penjumalahan rectangle of pixels in A. Value at location 2 is A + B, the value at location 3 is A + C, and at location 4 is A + B + C + D. Summation in D can be calculated as 4 +1- (2 +3).
Figure 2 the calculation of the integral image (Viola & Jones, 2001)
Feature value of the search process is performed iteratively starting from the left end of the image to the bottom right corner with a shift of Δx and Δy. The smaller the value of Δx and Δy, the more accurate are the detection process. Δx and Δy values are often used as one. AdaBoost is the third stage of the Viola-Jones method. AdaBoost algorithm serves to make the selection of features in large quantities, by selecting only certain features. Boosting is a metaalgorithm in machine learning to perform supervised learning. Boosting the theory introduced by the questions asked Freund & Schapire (2001) Can a set of weak learner to create a strong unity of learner? Weak learner is a classifier that has little correlation with the actual classification, while the strong learner is a classifier that has a strong correlation with the actual classification (Andoko, 2007). M ost boosting algorithms follow a plan. In general, boosting occurs in iterations, the incremental add the weak learner into a strong learner. At each iteration, a weak learner to learn from the training data. Then, the weak learner is added to the strong learner. After a weak learner is added, the data is then converted each of the weights. The data has an error of classification will have additional weight, and the data are classified correctly to lose weight. Therefore, the weak learner to the next iteration will be more focused on data that have misclassified by the previous weak learner (Andoko, 2007). AdaBoost, short for Adaptive Boosing, formulated by Yoav Freund and Robert Schapire in 1995, proved able to solve many difficult problems faced by previous boosting algorithms. AdaBoost serves to look for features that have a high degree of differentiation. This is done by evaluating every feature of the data train by using the value of the feature. Features that have the greatest boundary between object and non-object considered as the best feature. Of the many variations of boosting algorithms, AdaBoost is the most famous and in the history of its development, is the first algorithm that can adapt to the weak learner. By Viola & Jones (2011) a practical method to solve it is by limiting the weak learner to set classification functions, each of which relies on a single feature. To support this goal, the weak learning algorithm designed to select the single rectangle feature, where a single rectangle is best to separate the positive and negative examples. For each feature weak learner determines the threshold of the optimal classification function, so the minimum number of errors a weak classification (h_j (x)) consists of the features (f_j), a threshold (θ_j) and similarity (p_j) indicate the direction of the inequality mark: 1 0 where x is a 24x24 pixel sub-window of an image. Cascade of Classifier combination is the last stage in the Viola-Jones method. By combining classification or in a cascade structure of the Cascade Classifier, the speed of the detection process can be improved, namely by focusing on areas in the image of chance alone. This is done to determine where the location of the object you are looking at an image. Characteristics of the Viola-Jones algorithm is a multilevel classification. Classification in this algoritmna consists of three levels where each level of the issue is not believed to be the object subimage. This is done because it is easier to assess the subimage is not the object to be detected rather than assessing whether the subimage is an object to be detected (Dzulkamain, et al., 2011). Below is the workflow of multilevel classification.
Figure 3 classification multilevel workflow (Dzulkamain, et al. 2011) At the first level of classification, each subimage will be classified using a single feature. This classification will be left with approximately 50% subimage to be classified in the second stage. Along with increasing levels of classification, it would require more specific terms so that the features used to be a lot more. Number who escaped classification subimage would be reduced until it reaches the amount of about 2% (Dzulkamain, et al., 2011). Cascade structure reflects the fact that in every single picture, the majority of the negative sub-windows. Thus, the cascade is useful to reject the negative as much as possible and as quickly as possible at the level where possible. While a positive instance will trigger the evaluation of every classifier in the cascade (Viola & Jones, 2001). Just as a decision tree, then trained classification using examples which pass through all the previous stages. As a result, the second classifier faces a more difficult task than the first, and so on, deeper classifiers have a correspondence to the level of a higher false positive. That requires a formula to calculate the false positive rate of a cascade classifier, according to research conducted by Viola & Jones (2011) formula for calculating it is: , Description: = false positive rate of the cascaded classifier = the classifier = is a positive error rate of classifier to i. While the formula for calculating the level of detection is: , Description: = detection rate of the cascaded classifier = the classifier = detection rate of the classifier to i Pemberian sub-window will progress down through the cascade, from one classifier at a time, until it was decided that the window is negative, while the window is successful in each test will be labeled positive. By Viola & Jones (2011) needed a formula to calculate the expected number of features that were evaluated, namely:
Description: = the expected number of fiturdievaluasi, = number of classifiers, = positive rate of the classifier to i, = number of features in a classifier to i. AdaBoost learning procedure presented in this section, serves to minimize errors, and not specifically designed to achieve a high level of detection at the expense of the positive error rate. Scheme for the estimation of these errors is to adjust the threshold of the perceptron produced by AdaBoost. By Viola & Jones (2001) tresholds higher yield classifiers with error rate less positive, and lower levels of detection. Whereas the opposite lower tresholds produce classifiers with error rates higher positive By Viola & Jones (2011) from the above analysis can take the conclusion, that there are three factors that influence the speed and accuracy in detection, these factors include: 1. Number of classifier stages. 2. Number of features, n_i for each stage. 3. Threshold of each stage. EmguCV role is to bridge the C # and OpenCV, EmguCV is warpper.Net for OpenCV. With EmguCV, funsi-function can be invoked via the OpenCV programming languages compatible with. NET such as C #, VN, and VC + +. The advantage of using the main thing is EmguCV library is entirely written in C #, which is certainly more safe for the manufacture or the reference objects are managed by the garbage collector. EmguCV has two layers, the basic layer and second layer. Basic layer contains the functions, structures, and enumeration that directly reflect what is in OpenCV. With the existence of this layer on the OpenCV functions can be invoked with the programming language C #. While the second layer contains the classes that take advantage of technology. NET. In this paper the authors use the latest version is version 2.3.0 EmguCV, which follows the same version of the OpenCV 2.3.0. Features in EmguCV used in this thesis is the function to detect objects, and also some that have been provided by haarcascade EmguCV, to detect the desired object. In the information age, software has beredera millions in the world, and millions more are under development. Each of these developers, have each method in making his ¬ software, and each method has an impact directly or indirectly to the software development process itself. The process is called software engineering or software enginering. Some of the definitions given Pressman (2005) about software engineering are listed below: Use and utilization of engineering principles, in order to obtain economically software that is reliable and yet works efficiently on real machines. The approach is systematic, disciplined, and responsible for the development, operation, and maintenance of the software.
The steps that need to be done in developing the software in accordance with the system development life cycle. In general, the application consists of the detection of image files that are not moving. Formats supported by this program to move the image file does not include: bitmap (bmp), jpeg, and jpg. The program developed has one main form. where in the main form there is a combo box that inside contains a selection of human body parts to be detected. Processes detection using a cascade classifier, which will be run on a digital image that has been dipilihm later parts of the body are detected are indicated by blue boxes. In this program there are several algorithms that apply the algorithm adaboost and cascade of classifier training algorithm. AdaBoost algorithm follows: • Given a sample image …… , , where 0,1 for each positive and negative examples •
Initialization of weights
•
number of negative and positive respectively For 1, … . , :
,
,
0,1 respectively, where m and l is the
for
1. Normalization of weight, ,
,
∑
,
is a probability distribution
So
2. For some feature, j, train a classifier restricted to using a single feature. Erornyaevaluated w ith ∑ | , |
respect
to
3. Choose the classifier with the lowest error 4. update the weight : Where 0 if correctly classified, 1 otherwise, and •
Classifier akhir yang kuat adalah: 1 0 dimana
1 2
log
And the following cascade of classifier training algorithm: • • • •
Users select a value for , the maximum acceptable value per phase, and minimum acceptable value for the detection of a phase. , The user selects the overall target of positive error rate, positif sample negatif sample
, as a
• • •
1,0;
1,0
0 while o 1 0; o o while 1 9 9 Use the and to train a classifier with n_i features using AdaBoost 9 Reduce the threshold for the classifier to until cascaded classifier is running memili minimum detection level o o if then cascaded evaluation which is currently running on a set of nonface images, and put each into . error detection
The program has a main form in which in which there is a combo-box containing human body parts you want in the detection. Use-Case diagram below describes the functionality of the application.
Figure 4 Use-Case Diagram Human Body Detection Program Training data in the application program is needed to do to make haarcascade haar training for the hands. Training in the form of image data is divided into two, namely: 1. Sample positive image. 2. Sample negative image For the training data the authors collected samples positive image to the photographed object manually using a camera phone blackberry 9760 5 mega pixel, with a distance of 20-30 cm, and light. Sample positive image that the author collected some 100 samples. As for the negative image samples taken through google.com as many as 200 samples. In testing the data collection for this application program a few things to note include:
• Lighting • The distance shooting • The quality of the camera The author uses the ten people in the photograph using the camera phone blackberry 9760 with quality 5mega pixel, in a room with a bright light ... lux, a distance of 10-30 cm for the face, eyes, nose, left and right ears, hands and a distance of 100 cm for the upper body. This is done in order to capture the object to be detected by a quite clear. In designing an application program, the authors used a computer and operating system with the following specifications: 1. Intel i5 460 Processor 2. 4GB memory 3. OS: Windows 7 Ultimate 32 bit 4. Program used: M icrosoft Visual Studio C # 2010 Express. 5. Libraries used: 2.3.0.1416 EmguCV In the human body detection program is to focus research on the detection of face, eyes, nose, upper body, hand, left ear and right ear. Tested for the detection of the ten people with the initials AJ, the results obtained: Table 1 Table Experiments to ten people Nama A B C D E F G H I J
Wajah
Mata Hidung
B B B B B B B G B B B B B B B B B B B B With the following caption:
B B B B B B B B B B
Tubuh Bagian atas G B B B B B B G B B
Tangan Tegak ( ) B B G B B B B G G B
Tangan Miring ( ) B G B B G B B B B B
Telinga Telinga Kiri Kanan B B B B G B B G B B
B G B B B B B B B B
B = Successfully detected G = Failure or undetectable Based on these experimental results, the accuracy rate of this program are as follows
∑
% ∑ Detection experiments carried out on ten people, each person being subjected to nearly the same, then the calculation is obtained as follows % . % Dari perhitungan diatas maka dapat dilihat keakuratan program ini adalah 86.25%. Secara otomatis maka dapat di peroleh tingkat kegagalan program ini adalah 100% - 86.25% = 13.75%. Dari analisa yang dilakukan kegagalan pendeteksian terjadi disebabkan oleh dua hal, yaitu data training yang kurang beragam dan banyak, dan posisi objek yang hendak dideteksi tidak sesuai dengan yang ada dalam data training. CLOS ING Detection program of human body parts using the viola-jones is able to show good detection results, and can be used to detect other body parts to filter pornography if conducted training for body parts that are considered "taboo". Overall level of accuracy in the detection reaches 86.25%, the result is greater than the results of research conducted by Viola & Jones (2001) that the percentage reached 77.8%. Thus it can be said that the purpose of this study are met. Some suggestions can be submitted for the development of this application program to another researcher is: 1. Detection accuracy can be further enhanced by increasing the amount of training datawhen making haarcascade to a body part. 2. Detection accuracy can be improved again by adding the data testing 3. The data used in this program so that the image can still be developed using the data realtime. 4. Detection program is still simple, as it only detects certain body parts just like the face, eyes, nose, left ear, right ear, upper body, hands. So the future can still be developed further, one of them to filter pornography in practice.
REFERENCES Andoko. (2007). Perancangan Program Simulasi Deteksi Wajah Dengan Support Vector Machines-Viola Jones. 14. Arihutomo, M . (2010). Rancangan Bangun Sistem Penjejakan Objek Menggunakan Metode Viola Jones Untuk Aplikasi Eyebot. 12. Barczak, & Chautard, A. L. (2007). Feature-Based Rapid Object Detection: From Feature Extraction To Parallelisation. C.Fairhurst, M . (1988). Computer Vision for Robotic System: An Introduction. London: Prentice Hall.
Dzulkamain, A. D., Dewantara, B. S., & Besari, A. A. (2011). Pengendalian Robot Lengan Beroda Dengan Kamera Untuk Pengambilan Obyek. 3. Freund, Y., & Schapire, R. (2001). The Boosting Approach to Machine Learning An Overview. 3. Jain, A. K. (1982). Stotchastic Image Models and Applications. California: Defense Technical Information Center. Kompas. (2011). Dipetik Januari Sabtu, 2012, dari www.kompas.com: http://nasional.kompas.com/read/2011/01/03/13040246/www.kompas.com;http://nasional. kompas.com/read/2008/10/01/19491236/terlibat.pornografi.anak.121.pria.ditangkap;http:// nasional.kompas.com/read/2009/02/18/09182731/situs.porno.jual.artis Nugroho, S., & Harjoko, A. (2005). Penerapn Jaringan Syaraf Tiruan Untuk Mendeteksi Posii Wajah Manusia Pada Citra Digtal. Program Pascasarjana Ilmu Komputer, Universitas Gadjah Mada, Yogyakarta . PosKota. (2012, Januari). Dipetik Januari Sabtu, 2012, dari www.poskotanews.com: http://www.poskotanews.com/2012/01/19/korban-trafficking-dari-wargamiskin/;http://www.poskotanews.com/2012/01/19/perawan-siswi-sma-rp-700ribu/;http://www.poskotanews.com/2012/01/20/satroni-isteri-muda-isteri-tua-dihajarsuami/ Pressman, R. S. (2005). Software Enginering : a Practitioner's Approach. Six Edition. New York: M cGraw-Hill. Pusat Bahasa. (2008). Dalam Kamus Besar Bahasa Indonesia. Jakarta: Gramedia Pustaka Utama. Schalkoff, R. J. (1989). Digital Image Processing and Computer Vision. wiley: unknown. Syamsiar, T. F., Eru Puspita, S., & Budi Nur Iman, S. (2009). Identifikasi Scan Iris Mata Menggunakan Meotde JST Propagasi Balik Untuk Aplikasi Sistem Pengamanan Brankas. Viola, P., & Jones, M . (2001). Robust Real-time Object Detection. 5.