Sistem Pendeteksian Manusia Untuk Keamanan Ruangan Menggunakan Viola-Jones

(1)

59

LAMPIRAN A: Source Code Aplikasi Client //MainFrame.java package main; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.UIManager; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.highgui.Highgui; import org.opencv.highgui.VideoCapture; import panel.DetectPanel; import panel.TopPanel; import function.CamPanel; import function.Detector; public class MainFrame{

public static void main (String[] args){ try {

UIManager.setLookAndFeel(UIManager. getSystemLookAndFeelClassName());

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); JFrame frame = new JFrame("

Sistem Pendeteksian Manusia – Jonatan Sianturi"); frame.setDefaultCloseOperation

(JFrame.EXIT_ON_CLOSE); frame.setSize(1340, 630);

Dimension screen = Toolkit.getDefaultToolkit() .getScreenSize();

int widthOfScreen = (screen.width – frame.getSize().width)/2;

int heightOfScreen = (screen.height – frame.getSize().height)/2 - 10;

frame.setLocation(widthOfScreen, heightOfScreen); frame.setResizable(false);

frame.setLayout(null);

JMenuBar menuBar=new JMenuBar(); JMenu menuFile=new JMenu("File"); JMenu menuHelp=new JMenu("Help"); menuBar.add(menuFile);

menuBar.add(menuHelp);

JMenuItem fileExit=new JMenuItem("Exit"); JMenuItem fileAbout=new JMenuItem("About");


(2)

@Override

public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub

int dialogResult =

JOptionPane.showConfirmDialog (null, "Are you sure want to exit?", "Exit", JOptionPane.YES_NO_OPTION);

if(dialogResult == JOptionPane.YES_OPTION){ System.exit(0);

} }

});

fileAbout.addActionListener(new ActionListener() { @Override

public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub JOptionPane.showMessageDialog(null, "Copyrigth ©2014 Jonatan Sianturi" , "About", JOptionPane.INFORMATION_MESSAGE); } }); menuFile.add(fileExit); menuHelp.add(fileAbout);

TopPanel topPanel = new TopPanel(); Detector detector=new Detector(); CamPanel camPanel = new CamPanel();

DetectPanel detectPanel = new DetectPanel(); frame.add(topPanel); frame.add(camPanel); frame.add(detectPanel); frame.setJMenuBar(menuBar); frame.setVisible(true);

//Buka video stream

Mat webcam_image=new Mat();

VideoCapture webCam =new VideoCapture(0); if( webCam.isOpened()) { // Thread.sleep(10000); webCam.set(Highgui.CV_CAP_PROP_FRAME_WIDTH, 480); webCam.set(Highgui.CV_CAP_PROP_FRAME_HEIGHT, 320); Thread.sleep(1000); while( true )

{

webCam.read(webcam_image); if( !webcam_image.empty() ) {

camPanel.MatToBufferedImage (webcam_image);

camPanel.repaint();

long start_time = System.nanoTime();

webcam_image=detector.


(3)

61

detectPanel.MatToBufferedImage (webcam_image);

detectPanel.repaint();

long end_time = System.nanoTime(); System.out.println(String.format("Time: %.2f ms", (float)(end_time - start_time)/1000000));

} else {

System.out.println("No frame"); break;

} }

} else{

System.out.println("No camera"); }

webCam.release(); }

catch (Exception e) {

// TODO Auto-generated catch block e.printStackTrace();

} }


(4)

LAMPIRAN B: Source Code Aplikasi Server //Server.java package main; import java.io.IOException; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; import sound.Sound;

public class Server {

private static ServerSocket serverSocket; private static final int PORT = 1234;

public static void main(String[] args) throws IOException { try {

serverSocket = new ServerSocket(PORT);

System.out.println("Server berjalan, menunggu client...");

} catch (IOException ioEx) {

System.out.println("\nTidak dapat mensetup port!"); System.exit(1);

} do {

//Menunggu koneksi dari client... Socket client = serverSocket.accept();

ClientHandler handler = new ClientHandler(client); handler.start();

} while (true); }

}

class ClientHandler extends Thread {

private Socket client; private Scanner input; private PrintWriter output;

public ClientHandler(Socket socket) {

//Set up referensi ke socket yang beraosiasi... client = socket;

try {

input = new Scanner(client.getInputStream());

output = new PrintWriter(client.getOutputStream(), true); } catch (IOException ioEx) {

//ioEx.printStackTrace(); }

}

public void run() { String received;

received = input.nextLine();

output.println("Informasi telah diterima server"); System.out.println(received);


(5)

63 sound.play();

try {

if (client != null) { client.close(); }

} catch (IOException ioEx) {

System.out.println("Penutupan koneksi gagal!"); }

} }


(6)

DAFTAR PUSTAKA

Aziz, K., Merad, D., Fertil, B dan Thome, N. 2011. Pedestrian Head Detection and Tracking Using Skeleton Graph for People Counting in Crowded Environments. 2th IAPR Conference on Machine Vision Application : 516-519. Bradley, D dan Roth, G. 2007. Adaptive Tresholding Using the Integral Image.

Journal of Graphic Tools 12(2):13-21.

Bradski, G dan Kaehler, A. 2008. Leaning OpenCV. O’Relly Media, Inc : Sebastopol. Castrillón, S. M., Déniz, O., Guerra, C., dan Hernández, M. 2007. ENCARA2 :

Real-time Detection of Multiple Faces at Different Resolutions in Video Streams. Journal of Visual Communication and Image Representation 18 (2):130-140. Chandra, D., Gaja, N, P dan Nugroho, L, A. 2011. Studi Pendeteksian Wajah dengan

Metode Viola Jones. Skripsi. BINUS.

Chen, M., Ma, G., Kee dan Kee, S. 2005. Multi-view Human Head Detection in Static Images. Conference on Machine Vision Applications 3(21):100-103.

Dzulkamain, A. D., Dewantara B. S dan Besari, A. A. 2011. Pengendalian Robot Lengan Beroda dengan Kamera untuk Pengambilan Obyek.

Khan, I., Abdullah, H. dan Zainal, M, S, B. 2012. Efficient Eyes and Mouth Detection Algortihm using Combination of Viola Jones and Skin Color Pixel Detection. International Journal of Engineering and Applied Sciences 3 (4):51-60.

Lienhart, R dan Maydt, J. 2002. An Extended Set of Haar-Like Features for Rapid. IEEE ICIP (1):900-903.

Muchtar, M. A dan Sani, M. F. 2012. Modul Praktikum Perangkat Lunak. USU Press : Medan.

Santoso, H dan Harjoko, A. 2013. Haar Cascade Classifier dan Algoritma Adaboost untuk Deteksi Banyak Wajah dalam Ruang Kelas. Jurnal Teknologi 6 (2):108-115.

Subburaman, V. B. 2012. Alternative Search Techniques for Face Detection Using Location Estimation and Binary Features. Tesis. Politeknik Federal Lausanne. Subburaman, V. B., Descamps, A dan Carincotte, C. 2012. Counting People in the


(7)

58 Sutoyo. T. et al. 2009. Teori Pengolahan Citra Digital. ANDI : Yogyakarta.

Thome, N., Merad, D dan Miguet, S. 2008. Learning articulated appearance models for tracking humans: A spectral graph matching approach. Image Commun : 769-787.

Viola, P dan Jones, M. 2001. Rapid Object Detection using a Boosted Cascade of Simple Features. Proceedings IEEE Conf. on Computer Vision and Pattern Recognition 1 : 511-518.

Viola, P dan Jones, M. 2004. Robust Real-Time Detection. International Journal of Computer Vision 57(2):137-154.


(8)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini secara garis besar membahas analisis metode Viola-Jones pada sistem dan tahap-tahap yang akan dilakukan dalam perancangan sistem yang akan dibangun.

3.1. Identifikasi Masalah

Keamanan merupakan hal yang sangat dibutuhkan dalam berbagai kehidupan saat ini diantaranya adalah keamanan rumah, gedung, atau ruangan yang memiliki nilai penting bagi pemilik. Keamanan dapat dikerjakan oleh tenaga manusia tetapi cara ini kurang efisien karena akan menghabiskan banyak resources seperti uang, waktu, tenaga dan juga sangat rentan terhadap kelalaian manusia (human error).

3.2. Data

Data yang digunakan dalam penelitian ini adalah citra yang diambil dari kamera secara real-time. Beberapa hal yang diperhatikan pada data yang digunakan yaitu : a. Pencahayaan

b. Jarak pengambilan gambar c. Kualitas gambar

Dalam penelitian ini, penulis menggunakan webcam dengan kualitas 2 MP, dalam ruangan dengan cahaya yang terangnya ± 200 lux, jarak 1 – 6 meter dari objek yang akan dideteksi. Hal ini dilakukan agar dapat menangkap objek yang akan dideteksi dengan cukup jelas.


(9)

20 3.3. Analisis Sistem

Metode yang diajukan pada penelitian ini dapat dilihat pada Gambar 3.1 yang menunjukkan arsitektur umum dan rangkaian langkah yang dilakukan untuk melakukan pendeteksian manusia dari kamera secara real-time. Rangkaian langkah yang dimaksud adalah sebagai berikut : inisialisasi kamera yang digunakan sebagai alat untuk pengambilan data; scaling citra dari kamera dengan metode interpolasi; pengubahan citra warna tersebut menjadi citra abu-abu dengan proses grayscaling; proses histrogram equalization citra; pembacaan fitur haar yang diambil dari library OpenCV yaitu haarcascade_mcs_upperbody.xml; perhitungan fitur dengan citra integral; pendeteksian objek dengan cascade of classifier. Setelah rangkaian langkah di atas maka akan ditampilkan bagian objek yang terdeteksi sebagai manusia atau bukan, dengan memberi tanda bujur sangkar jika objek tersebut dianggap sebagai manusia.

File citra dari webcam

Scaling

Grayscaling

Manusia / Bukan Manusia

Histogram Equalization

Fitur Haar

Citra Integral

Cascade of Classifier pre-process


(10)

3.3.1. Scaling

Scaling adalah proses mengubah ukuran citra digital sehingga semua citra digital yang dimasukkan memiliki ukuran yang sama dan mengurangi resources yang harus digunakan jika ukuran gambar yang dimasukkan besar. Proses scaling dilakukan dengan memanfaatkan package display object. Citra digital yang dimasukkan diperkecil dengan menggunakan metode interpolasi. Metode ini menggunakan rata-rata suatu daerah untuk mewakili daerah tersebut.

Citra Interpolasi

Gambar 3.2. Metode Interpolasi untuk Memperkecil Gambar

Nilai piksel pada citra hasil interpolasi diperoleh dengan menghitung rata-rata dari empat (4) nilai piksel pada citra asli seperti tampak pada Tabel 3.1.

Interpolasi Citra Asli


(11)

22 Tabel 3.1. Perhitungan Nilai Piksel Hasil Interpolasi

Nilai Piksel Citra Asli Nilai Piksel Citra Hasil Interpolasi

(123+160+210+191)/4 171

(200+88+124+45)/4 114,25

(71+98+11+100)/4 70

(204+102+206+99)/4 152,75

(180+72+94+246)/4 148

(45+153+199+56)/4 113,25

(215+122+61+191)/4 147,25

(222+100+211+113)/4 161,5

(120+159+185+177)/4 160,25

(205+88+67+54)/4 103,5

(71+231+81+92)/4 118,75

(103+134+233+146)/4 154

Berikut ini adalah contoh citra hasil interpolasi


(12)

3.3.2. Grayscaling

Citra digital yang telah melalui proses penskalaan kemudian diubah menjadi citra abu-abu dengan proses grayscaling. Proses pengubahan citra RGB menjadi citra abu-abu-abu-abu dilakukan dengan menggunakan rumus 2.1. Misalkan sebuah citra memiliki nilai: R = 155

G = 120 B = 135

Maka nilai grayscale dari citra tersebut adalah sebagai berikut:

� � � = (0,299 x 155) + (0,587 x 120) + (0,114 x 135)

� � � = 46,345 + 70,44 + 15,39

� � � = 132,175

Gambar 3.4 merupakan contoh citra warna diubah menjadi abu-abu dengan proses grayscaling.

Gambar 3.4. Grayscaling (Santoso et al, 2013)

3.3.3. Histogram Equalization

Histogram Equalization adalah suatu proses perataan histogram yaitu perataan distribusi nilai derajat keabuan pada suatu citra digital. Untuk dapat melakukan histrogram equalization diperlukan suatu fungsi distribusi kumulatif yang merupakan kumulatif dari histogram.

Misalkan diketahui data sebagai berikut :

2 4 3 1 3 6 4 3 1 0 3 2


(13)

24 Tabel 3.2. Proses Perhitungan Distribusi Kumulatif

Nilai Histogram Distribusi Kumulatif

0 1 1

1 2 1 + 2 = 3

2 2 3 + 2 = 5

3 4 5 + 4 = 9

4 2 9 + 2 = 11

5 0 11 + 0 = 11

6 1 11 + 1 = 12

Setelah nilai dari distribusi kumulatif diperoleh, kemudian dilakukan perataan histogram seperti tampak pada Tabel 3.3.

Tabel 3.3. Teknik Perhitungan Histogram Nilai Asal Histogram Nilai Hasil

0 1 ½  0

1 3 3/2  1

2 5 5/2  2

3 9 9/2  4

4 11 11/2  5

5 11 11/2  5

6 12 12/2  6

Hasil setelah proses histrogram equalization adalah : 2 5 4 1 4 6 5 4 1 0 4 2 3.3.4. Fitur Haar

Dalam metode viola-jones, pendeteksian objek dilakukan berdasarkan pada nilai fitur. Penggunan fitur dilakukan karena pemrosesan fitur berlangsung lebih cepat dibandingkan pemrosesan citra per piksel. Pencarian objek manusia dilakukan dengan mencari fitur-fitur yang memiliki tingkat pembeda yang tinggi. Hal ini dilakukan dengan mengevaluasi setiap fitur terhadap data latih dengan menggunakan nilai dari fitur tersebut. Pada penelitian ini penulis menggunakan parameter haarcascade_mcs_upperbody.xml yang dikhususkan untuk pelacakan bagian bahu dan kepala manusia dengan posisi kemiringan 00 – 450 dari objek yang ingin dideteksi. Fitur yang memiliki batas terbesar antara manusia dan bukan manusia dianggap sebagai fitur terbaik.


(14)

Sebagai contoh, misalnya kita melakukan pencarian wajah manusia dalam citra. Salah satu daerah wajah manusia adalah daerah mata dan pipi. Pada umumnya daerah mata akan berwarna lebih gelap sedangkan daerah pipi akan berwarna lebih terang seperti pada Gambar 3.5.

Gambar 3.5. Pencarian Fitur Haar Perhitungan nilai haar mengikuti aturan sebagai berikut :

� = ∑ � − ∑ � ℎ (3.1)

Perhitungan nilai dari fitur dilakukan dengan mengurangkan nilai piksel pada area hitam dengan piksel pada area putih. Jika nilai perbedaannya itu di atas nilai ambang (treshold), maka dapat dikatakan bahwa fitur itu ada. Untuk menentukan ada atau tidaknya ratusan fitur haar pada sebuah citra digunakan sebuah teknik yang disebut dengan citra integral (integral image).

3.3.5. Citra Integral

Citra integral adalah representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra N dengan tinggi y dan lebar x dimana nilai tiap pikselnya merupakan akumulatif dari nilai piksel atas dan kirinya. Salah satu contoh seperti Gambar 3.6.


(15)

26 Misalkan nilai abu-abu dalam kotak haar tersebut seperti Tabel 3.4.

Tabel 3.4. Nilai Grayscale Citra Masukkan

Perhitungan citra integral dari nilai abu-abu dalam Tabel 3.4 dapat dilihat pada Tabel 3.5.

Tabel 3.5. Perhitungan Citra Integral

1 1+2 1+2+3

1+4 1+2+4+5 1+2+3+4+5+6

1+4+7 1+2+4+5+7+8 1+2+3+4+5+6+7+8+9

Maka diperoleh hasil perhitungan citra integralnya seperti pada tabel 3.6. Tabel 3.6. Hasil Citra Integral

1 3 6

5 12 21

12 27 45

Nilai fitur = |(total piksel hitam) – (total piksel putih)|

= |{[(6+0) – (0+0)]+[(45+0) – (21+0)]} – [(21+0) – (6+0)]| = | 6 + 24 – 15|

= 15

Nilai fitur yang diperoleh merupakan nilai perbedaan antara kotak putih dan hitam yang biasa disebut dengan treshold. Nilai treshold ini digunakan sebagai parameter klasifikasi objek yang terdeteksi sebagai manusia (wajah) atau bukan.

1 2 3

4 5 6


(16)

3.3.6. Cascade of Classifier

Cascade of Classifier merupakan suatu metode pengklasifikasian bertingkat dimana masukan dari setiap tingkatan merupakan keluaran dari tingkat sebelumnya seperti tampak pada Gambar 2.3. Cascade of classifier dirancang sedemikian rupa untuk meningkatkan tingkat pendeteksian dan mengurangi jumlah positif yang palsu. Setiap tingkatan classifier merupakan representasi hasil dari algoritma boosting dimana setiap tingkat classifier memiliki sejumlah classifier yang lemah. Setiap classifier yang lemah memberikan aturan pasti mengenai haar like feature yang digunakan yakni jenis, ukuran, lokasi, nilai ambang (treshold) yang terbaik untuk setiap fitur, serta nilai batasan setiap fitur tersebut.

Pada klasifikasi fitur (tingkat) pertama, tiap subcitra akan diklasifikasikan menggunakan satu fitur. Jika hasil nilai fitur dari filter tidak memenuhi kriteria yang diinginkan maka hasil ditolak. Pada klasifikasi ini akan disisakan kira-kira 50% subcitra untuk diklasifikasi di tahap kedua. Subcitra yang lolos dari tingkat pertama akan diklasifikasikan lagi pada tahap kedua dimana pada tahap kedua jumlah fitur yang digunakan lebih banyak. Semakin bertambah tingkat klasifikasi maka fitur yang digunakan semakin banyak. Jumlah subcitra yang lolos dari klasifikasi pun akan berkurang hingga mencapai 2%. Subcitra yang berhasil melewati semua tingkat klasifikasi akan dinyatakan sebagai manusia (objek yang dideteksi). Salah satu contoh dari hasil filer pada proses cascade of classifier dapat dilihat pada Gambar 3.7.


(17)

28 3.4. Perancangan Sistem

Pada tahap perancangan sistem akan dilakukan perancangan dari sistem pendeteksian manusia antarmuka sistem yang akan dibangun.

3.4.1. Flowchart

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program (Muchtar et al, 2012). Flowchart dari sistem yang dibangun dalam penelitian ini tampak seperti Gambar 3.8.

Mulai

Input citra dari kamera

Resize

ukuran citra

Ubah citra jadi grayscale

Ekualisasi Histogram

Deteksi upperbody?

Selesai Keluar? Ya

Tidak

Ya Tidak

Kirim tanda peringatan ke server

Tampilkan citra dengan garis persegi pada daerah yang terdeteksi

Tampilkan citra seperti citra

masukkan


(18)

Pada penggambaran garis persegi pada daerah yang terdeteksi digambarkan garis persegi yang memiliki warna yang berbeda-beda. Jika objek yang terdeteksi sebagai manusia lebih dari satu, maka penggambaran garis persegi pada objek tersebut berbeda-beda misalnya hijau dan biru.

3.4.2. Implementasi Jaringan

Dalam penelitian ini, penulis membangun sistem pendeteksian manusia untuk keamanan ruangan yang berbasis client-server seperti pada tampak pada Gambar 3.9.

Router Switch

Kom 1

Kom 2 Server

Kamera 1

Kamera 2

Gambar 3.9. Rancangan Jaringan Sistem Pendeteksian Manusia untuk Keamanan Ruangan

Adapun penjelasan dari Gambar 3.9 adalah sebagai berikut :

 Setiap komputer yang terhubung ke server akan melakukan proses pendeteksian manusia sepert flowchart yang tampak pada Gambar 3.8 dengan menggunakan kamera yang masing-masing terhubung ke komputer tersebut.

 Jika ada objek yang terdeteksi sebagai manusia, maka setiap komputer akan mengirimkan pesan bahwa ada objek manusia yang terdeteksi, ip, dan nama komputer tersebut.


(19)

30

 Saat server menerima pesan dari komputer tersebut, server akan membunyikan suara peringatan (warning) bahwa ada objek yang terdeteksi dan mencetak ip dan nama komputer tersebut.

3.4.3. Perancangan Antarmuka

Perancangan antarmuka berisi gambaran umum tentang perancangan setiap tampilan yang terdapat pada aplikasi yang dibangun.

3.4.3.1. Rancangan Halaman Splash

Halaman splash merupakan halaman yang muncul saat sistem pertama kali dijalankan yang berfungsi untuk menunggu waktu loading dari sistem tersebut dan informasi dari sistem tersebut. Rancangan tampilan halaman splash dapat dilihat pada Gambar 3.10.

Nama Sistem

Logo

Progress Bar

a

b

c

Gambar 3.10. Rancangan Halaman Splash Keterangan:

a. Judul dari sistem yang akan dibangun yaitu “Sistem Pendeteksian Manusia”. b. Logo dari Fakultas penulis yaitu Fakultas Ilmu Komputer dan Teknologi

Informasi.


(20)

3.4.3.2. Rancangan Halaman Utama

Halaman ini merupakan halaman utama dari sistem dimana akan ditampilkan citra masukkan dari kamera (kiri) dan hasil dari deteksi cascade of classifier (kanan). Rancangan tampilan halaman utama dapat dilihat pada Gambar 3.11.

FILE | HELP

Human Detection – Jonatan Sianturi

Original Video Proceed Video

a

b c

Gambar 3.11. Rancangan Halaman Utama Keterangan :

a. Merupakan bagian menu bar yang terdiri dari menu “File” dan “Help”. Dalam

menu “File” terdapat submenu “Exit” untuk keluar dari sistem. Dalam menu

“Help” terdapat submenu “About” yang berisikan deksripsi sistem dan pembuatannya.

b. Merupakan tampilan citra masukkan dari kamera yang terhubung ke komputer. c. Merupakan tampilan dari citra yang diolah dengan metode viola-jones untuk

mendeteksi apakah pada citra tersebut terdapat objek yang dideteksi yakni manusia.


(21)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini akan dijelaskan tentang proses pengimplementasian metode viola-jones pada sistem sesuai perancangan sistem yang telah dilakukan di Bab 3 serta melakukan pengujian sistem yang telah dibangun.

4.1. Implementasi Sistem

Pada tahap ini, metode viola-jones akan diimplementasikan ke dalam sistem dengan menggunakan bahasa pemrograman Java sesuai perancangan yang telah dilakukan. 4.1.1. Spesifikasi Perangkat Keras dan Lunak

Spesifikasi perangkat keras dan perangkat lunak yang digunakan untuk membangun sistem ini adalah sebagai berikut:

1. Prosesor Intel® CoreTM i7 4702MQ CPU 2.20 GHz. 2. Kapasitas hardisk 1 TB.

3. Memori RAM yang digunakan 4.00 GB.

4. Sistem operasi yang digunakan adalah Microsoft Windows 8 Pro. 5. Kamera web USB dengan resolusi 640 x 480.

6. Program yang digunakan : IDE Eclipse Indigo 7. Library yang digunakan : OpenCV 2.4.9.0


(22)

4.1.2. Implementasi Perancangan Antarmuka

Adapun implementasi perancangan antarmuka yang telah dilakukan sebelumnya pada sistem adalah:

1. Halaman Splash

Halaman beranda merupakan halaman yang pertama kali muncul ketika sistem berjalan untuk menunggu loading dari sistem tersebut. Halaman splash dari sistem dapat dilihat pada Gambar 4.1.

Gambar 4.1. Halaman Splash 2. Halaman Utama

Halaman utama adalah halaman untuk menampilkan citra dari kamera dan hasil proses deteksi yang dilakukan dengan metode viola-jones. Pada halaman ini jgua

terdapat menu “File” dan “Help” dimana didalam menu “File” terdapat submenu

“Exit” untuk keluar dari sistem dan submenu “About” didalam menu “Help” untuk informasi sistem. Halaman utama pada sistem ini dapat dilihat pada Gambar 4.2.


(23)

34

Gambar 4.2. Halaman Utama

4.2. Pengujian Sistem

Pengujian sistem dilakukan untuk memeriksa kinerja antar komponen sistem yang diimplementasikan. Tujuan utama dari pengujian sistem adalah untuk memastikan bahwa elemen-elemen atau komponen-komponen dari sistem telah berfungsi sesuai dengan yang diharapkan. Parameter pengujian yang digunakan dalam penelitian ini meliputi :

1. Waktu pendeteksian, disajikan dalam satuan mili seconds (ms). 2. Keakuratan pendeteksian, disajikan dalam bentuk persentase. 4.2.1. Waktu Pendeteksian

Untuk mendapatkan waktu penulis menggunakan fungsi System. nanotime() yang terdapat dalam Java. Untuk perhitungan waktu pendeteksian digunakan aturan sebagai berikut :

� = � −� (4.1)

Dimana :

T = Waktu pendeteksian (ms) T1 = waktu sebelum pendeteksian T2 = waktu setelah pendeteksian


(24)

Hasil pengujian dengan kamera web (resolusi gambar 480 x 320) untuk mengukur waktu pendeteksian dengan metode viola-jones dapat dilihat pada Tabel 4.1.

Tabel 4.1. Hasil Pengujian Waktu Pendeteksian dengan Webcam No. Nama Frame Waktu Pendeteksian (ms)

1. Frame001 146,11

2. Frame002 133,14

3. Frame003 125,17

4. Frame004 126,77

5. Frame005 121,59

6. Frame006 122,02

7. Frame007 126,71

8. Frame008 128,59

9. Frame009 129,57

10. Frame010 118,54

11. Frame011 117,90

12. Frame012 140,70

13. Frame013 121,90

14. Frame014 122,56

15. Frame015 116,59

16. Frame016 119,27

17. Frame017 136,19

18. Frame018 126,88

19. Frame019 126,64


(25)

36 Dari pengujian yang dilakukan terhadap 20 frame, diperoleh rata-rata waktu pendeteksian sebagai berikut:

Rata-rata waktu = �

� ℎ

= ,

= 126,58 ms Waktu pendeteksian tercepat adalah 116,59 ms. Waktu pendeteksian terlama adalah 146,11 ms. 4.2.2. Keakuratan Pendeteksian

Untuk menghitung keakuratan pendeteksian, digunakan rumus berikut :

� � � � � % = + (4.2)

Dengan :

= __ _ (4.3)

= __ (4.4)

Dimana :

true_positive = jumlah objek terdeteksi yang benar human_on_image = jumlah manusia dalam citra

human_detected = jumlah seluruh objek yang terdeteksi (true_positive + false_positive).

Dalam penelitian ini, penulis melakukan pengujian sistem pada beberapa ruangan dengan keadaan cahaya, kemiringan kamera, dan jumlah objek yang berbeda-beda, serta objek yang bukan manusia.

a. Ruangan A : terang dan posisi kamera 300 terhadap objek.

Hasil pendeteksian pada kondisi cahaya ruangan terang dan posisi kamera 300 terhadap objek dapat dilihat pada beberapa screenshot pada Gambar 4.3 bagian (a), (b), (c), (d), (e), dan (f).


(26)

(a) Objek melihat ke depan dari jarak yang dekat

(b) Objek melihat ke depan dari jarak jauh


(27)

38

(d) Objek berjalan dari samping sambil melihat kamera

(e) Objek berjalan dari samping tanpa melihat kamera

(f) Terdeteksi dua objek (1 benar dan 1 salah) Gambar 4.3. Screenshot Hasil Pendeteksian Ruangan A


(28)

Untuk lebih lengkapnya, dapat dilihat pada Tabel 4.2.

Tabel 4.2. Hasil Pengujian untuk Ruangan A

No. Detik ke- Human_ on_image True_ positive False_ positive Total_

detected A (%) B (%)

1 21 1 1 0 1 100 100

2 22 1 1 0 1 100 100

3 23 1 1 0 1 100 100

4 24 1 1 0 1 100 100

5 25 1 1 0 1 100 100

6 26 1 1 0 1 100 100

7 27 1 1 0 1 100 100

8 28 1 1 0 1 100 100

9 29 1 1 0 1 100 100

10 30 1 1 0 1 100 100

11 31 1 1 0 1 100 100

12 32 1 1 0 1 100 100

13 33 1 1 0 1 100 100

14 34 1 0 0 0 0 100

15 35 1 1 0 1 100 100

16 36 1 1 0 1 100 100

17 37 1 1 0 1 100 100

18 38 1 1 1 2 100 50

19 39 1 1 1 2 100 50

20 40 1 1 0 1 100 100

21 41 1 1 0 1 100 100

22 42 1 1 0 1 100 100

23 43 1 1 0 1 100 100

24 44 1 1 0 1 100 100

25 45 1 1 0 1 100 100

26 46 1 0 0 0 0 100

27 47 1 1 0 1 100 100

28 48 1 1 0 1 100 100


(29)

40 Tabel 4.2. Hasil Pengujian untuk Ruangan A

No. Detik ke- Human_ on_image True_ positive False_ positive Total_

detected A (%) B (%)

30 50 1 1 0 1 100 100

31 51 1 0 1 1 0 0

32 52 1 0 0 0 0 100

33 53 1 1 0 1 100 100

34 54 1 0 0 0 0 100

35 55 1 1 0 1 100 100

Dari pengujian yang dilakukan terhadap 35 file screenshot yang diambil dari video capture tempat yang terang dan sudut kamera 300 terhadap objek yang terdapat pada Tabel 4.2, didapatkan rata-rata akurasi pendeteksian sebagai berikut :

̅ = ∑=

�ℎ � � � �

=

= . %

̅ = ∑=

�ℎ � � � �

=

= . %

Sehingga diperoleh yaitu :

�� � − � � � � � = ̅ + ̅

= . + . = . %

b. Ruangan B : redup dan posisi kamera 150 terhadap objek.

Hasil pendeteksian pada kondisi cahaya ruangan redup dan posisi kamera 150 terhadap objek dapat dilihat pada beberapa screenshot pada Gambar 4.4 bagian (a), (b), (c), (d), (e), (f), (g), dan (h).


(30)

(a) Objek melihat ke depan

(b) Objek berada di samping kanan kamera


(31)

42

(d) Objek berada di samping kiri kamera

(e) Terdeteksi dua objek dengan posisi berdiri yang sama


(32)

(g) Terdeteksi 3 objek (2 benar dan 1 salah)

(h) Terdeteksi 1 objek (objek dalam citra ada dua) Gambar 4.4. Screenshot Hasil Pendeteksian Ruangan B

Untuk lebih lengkapnya, dapat dilihat pada Tabel 4.3.

Tabel 4.3. Hasil Pengujian untuk Ruangan B

No. Detik ke- Human_

on_image

True_ positive

False_ positive

Total_

detected A (%) B (%)

1 4 1 1 0 1 100 100

2 5 1 1 1 2 100 50

3 6 1 1 0 1 100 100

4 7 1 1 0 1 100 100


(33)

44 Tabel 4.3. Hasil Pengujian untuk Ruangan B

No. Detik ke- Human_

on_image True_ positive False_ positive Total_

detected A (%) B (%)

6 9 1 1 0 1 100 100

7 10 1 1 1 2 100 50

8 11 1 1 0 1 100 100

9 12 1 1 0 1 100 100

10 14 1 1 0 1 100 100

11 17 1 1 0 1 100 100

12 18 1 1 0 1 100 100

13 19 1 1 0 1 100 100

14 21 1 0 0 0 0 100

15 23 1 1 1 2 100 50

16 30 2 2 0 2 100 100

17 34 2 2 0 2 100 100

18 44 2 0 0 0 0 100

19 49 2 1 0 1 50 100

20 53 2 2 0 2 100 100

21 55 2 1 0 1 50 100

22 58 1 0 1 1 0 0

23 60 1 1 0 1 100 100

24 63 1 1 0 1 100 100

25 65 1 1 1 2 100 50

26 69 1 1 0 1 100 100

27 71 2 2 0 2 100 100

28 73 2 2 0 2 100 100

29 75 2 2 0 2 100 100

30 78 2 2 1 3 100 66.66667

31 79 2 2 0 2 100 100

32 80 2 1 0 1 50 100

33 83 2 2 0 2 100 100

34 85 2 2 0 2 100 100


(34)

Dari pengujian yang dilakukan terhadap 35 file screenshot yang diambil dari video capture tempat yang terang dan sudut kamera 150 terhadap objek yang terdapat pada Tabel 4.3, didapatkan rata-rata akurasi pendeteksian sebagai berikut :

̅ = ∑=

�ℎ � � � �

=

= . %

̅ = ∑=

�ℎ � � � �

= , = . %

Sehingga diperoleh yaitu :

�� � − � � � � � = ̅ + ̅

= . + . = . %

c. Ruangan C : terang dan posisi kamera 450 terhadap objek.

Hasil pendeteksian pada kondisi cahaya ruangan redup dan posisi kamera 150 terhadap objek dapat dilihat pada beberapa screenshot pada Gambar 4.5 bagian (a), (b), (c), (d), (e), dan (f).


(35)

46

(b) Objek menghadap depan

(c) Objek berada di samping kanan kamera


(36)

(e) Objek tidak terdeteksi

(f) Terdeteksi 3 objek (1 benar dan 2 salah)

Gambar 4.5. Screenshot Hasil Pendeteksian Ruangan C

Untuk lebih lengkapnya, dapat dilihat pada Tabel 4.4.

Tabel 4.4. Hasil Pengujian untuk Ruangan C

No. Detik ke- Human_

on_image

True_ positive

False_ positive

Total_

detected A (%) B (%)

1 26 1 0 0 0 0 100

2 27 1 1 0 1 100 100

3 29 1 1 0 1 100 100


(37)

48 Tabel 4.4. Hasil Pengujian untuk Ruangan C

No. Detik ke- Human_

on_image True_ positive False_ positive Total_

detected A (%) B (%)

5 33 1 1 0 1 100 100

6 35 1 1 0 1 100 100

7 37 1 1 0 1 100 100

8 39 1 1 0 1 100 100

9 41 1 1 1 2 100 50

10 42 1 1 0 1 100 100

11 43 1 1 0 1 100 100

12 44 1 1 0 1 100 100

13 45 1 1 0 1 100 100

14 46 1 0 0 0 0 100

15 48 1 1 1 2 100 50

16 60 1 1 0 1 100 100

17 65 1 1 0 1 100 100

18 73 1 0 0 0 0 100

19 78 1 1 1 2 100 50

20 83 1 1 0 1 100 100

21 89 1 1 0 1 100 100

22 93 1 0 0 0 0 100

23 97 1 1 0 1 100 100

24 99 1 1 0 1 100 100

25 100 1 1 0 1 100 100

26 104 1 0 0 0 0 100

27 110 1 1 1 2 100 50

28 114 1 1 0 1 100 100

29 118 1 0 0 0 0 100

30 119 1 1 0 1 100 100

31 125 1 0 1 1 0 0

32 130 1 0 0 0 0 100

33 135 1 0 2 2 0 0

34 140 1 1 2 3 100 33.33333


(38)

Dari pengujian yang dilakukan terhadap 35 file screenshot yang diambil dari video capture tempat yang terang dan sudut kamera 150 terhadap objek yang terdapat pada Tabel 4.4, didapatkan rata-rata akurasi pendeteksian sebagai berikut :

̅ = ∑=

�ℎ � � � �

=

= . %

̅ = ∑=

�ℎ � � � �

= . = . %

Sehingga diperoleh yaitu :

�� � − � � � � � = ̅ + ̅

= . + . = . %

d. Ruangan D : terang, sudut kamera 300 terhadap objek, jumlah objek tiga (3). Hasil pendeteksian pada kondisi cahaya ruangan redup dan posisi kamera 300 terhadap objek dapat dilihat pada beberapa screenshot pada Gambar 4.6 bagian (a), (b), (c), (d), (e), dan (f).


(39)

50

(b) Terdeteksi 3 objek (2 benar dan 1 salah)

(c) Terdeteksi 3 objek dengan posisi menghadap kamera


(40)

(e) Terdeteksi 2 objek saat menghadap belakang

(f) Objek di samping kamera

Gambar 4.6. Screenshot Hasil Pendeteksian Ruangan D

Untuk lebih lengkapnya, dapat dilihat pada Tabel 4.5.

Tabel 4.5. Hasil Pengujian untuk Ruangan D

No. Detik ke- Human_

on_image

True_ positive

False_ positive

Total_

detected A (%) B (%)

1 21 1 1 0 1 100 100

2 23 3 3 0 3 100 100

3 25 3 2 0 2 66.66667 100

4 29 3 3 0 3 100 100

5 31 3 3 0 3 100 100

6 34 3 3 0 3 100 100


(41)

52 Tabel 4.5. Hasil Pengujian untuk Ruangan D

8 47 3 3 1 4 100 75

9 48 3 3 2 5 100 60

10 52 3 3 0 3 100 100

11 54 3 3 0 3 100 100

12 56 3 2 1 3 66.66667 66.66667

13 58 3 2 0 2 66.66667 100

14 60 3 3 0 3 100 100

15 62 3 3 0 3 100 100

16 65 3 1 0 1 33.33333 100

17 68 3 2 0 2 66.66667 100

18 73 3 2 0 2 66.66667 100

19 75 3 2 1 3 66.66667 66.66667

20 77 3 3 1 4 100 75

21 78 3 3 0 3 100 100

22 80 3 3 0 3 100 100

23 82 3 3 0 3 100 100

24 83 3 3 0 3 100 100

25 84 3 3 0 3 100 100

26 86 3 2 0 2 66.66667 100

27 87 3 1 1 2 33.33333 50

28 90 3 3 0 3 100 100

29 92 3 2 0 2 66.66667 100

30 93 3 2 1 3 66.66667 66.66667

31 95 3 3 0 3 100 100

32 96 3 3 0 3 100 100

33 97 3 3 1 4 100 75

34 98 3 3 0 3 100 100

35 99 3 3 1 4 100 75

Dari pengujian yang dilakukan terhadap 35 file screenshot yang diambil dari video capture tempat yang terang dan sudut kamera 300 terhadap objek yang terdapat pada Tabel 4.5, didapatkan rata-rata akurasi pendeteksian sebagai berikut :

̅ = ∑=

�ℎ � � � �

= , = . %

̅ = ∑=


(42)

= . %

Sehingga diperoleh yaitu :

�� � − � � � � � = ̅ + ̅

= . + . = . %

e. Pendeteksian dengan objek yang bukan manusia

Pada penelitian ini, penulis melakukan pengujian terhadap sistem jika ada objek

“ayam” dalam citra. Hasil dari pengujian ini dapat dilihat pada Gambar 4.6 bagian (a) dan (b).

(a) Jarak ayam dengan kamera ± 3 meter


(43)

54 Dari hasil pengujian pada Ruangan A, B, C, dan D, maka diperoleh akurasi pendeteksian sebagai berikut :

�� � − � � � � � = �. + �. + �. + �.

= . + . + . + . = . %


(44)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan pengujian sistem pendeteksian manusia untuk keamanan ruangan dengan metode viola-jones didapat beberapa kesimpulan yaitu:

1. Waktu pendeteksian tercepat yang diperoleh adalah 116,59 ms dan waktu pendeteksian terlama yang diperoleh adalah 146,11 ms.

2. Akurasi pendeteksian yang diperoleh mencapai 86,88%.

3. Cahaya ruangan, posisi kamera, dan posisi objek, serta jarak objek dengan kamera sangat mempengaruhi hasil pendeteksian. Cahaya ruangan yang redup mengurangi keakuratan pendeteksian. Keadaan ruangan dengan cahaya yang normal yakni ± 200 lux meningkatkan keakuratan pendeteksian. Posisi sudut kamera yang terbaik untuk pendeteksian adalah 00 s/d 300. Posisi objek juga sangat berpengaruh terhadap keakuratan pendeteksian. Posisi objek yang terbaik adalah saat objek berada di depan kamera atau membelakangi kamera. Jarak antara objek dengan kamera yang dapat dideteksi oleh sistem ini adalah 1 s/d 6 meter.

4. Citra integral berguna mempercepat proses perhitungan haar like feature karena hanya perlu melakukan perhitungan pada empat buah titik piksel pada setiap persegi haar like feature.

5. Cascaded classifier memberikan kontribusinya dengan mempercepat proses pendeteksian yaitu dengan menolak langsung semua citra sub-window yang tidak memenuhi salah satu classifier.

6. Metode Viola-Jones sangat cocok digunakan untuk melakukan pendeteksian objek karena memiliki akurasi pendeteksian yang baik dan waktu akurasi yang cepat.


(45)

56 5.2. Saran

Adapun saran yang dapat diajukan untuk pengembangan skripsi ini adalah sebagai berikut :

1. Membuat sistem penghitung jumlah orang dengan metode Viola-Jones dengan menerapkan metode tracking untuk mengikuti objek yang telah terdeteksi sebagai manusia tersebut sehingga tidak terjadi perhitungan berulang.

2. Membuat sistem pendeteksian manusia (upperbody) dengan menggunakan metode yang lain.

3. Membuat sistem keamanan dengan menambahkan fitur pengenalan terhadap objek yang dideteksi.


(46)

BAB 2

LANDASAN TEORI

Bab ini membahas tentang teori penunjang dan penelitian sebelumnya yang berhubungan dengan penerapan viola-jones untuk pendeteksian manusia.

2.1. Computer Vision

Computer Vision merupakan salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek yang diamati dengan cara mengekstrak informasi dari objek tersebut. Cabang ilmu ini jika dikaitkan dengan Artificial Intelligence akan mampu menghasilkan Visual Intelligence System. Computer Vision adalah kombinasi antara :

a. Pengolahan Citra

Merupakan bidang yang berhubungan dengan proses transformasi citra/gambar yang bertujuan untuk mendapatkan kualitas citra yang lebih baik.

b. Pengenalan Pola

Merupakan bidang yang berhubungan dengan proses identifikasi obyek pada citra atau interpretasi citra untuk mengekstrak informasi dari citra tersebut.

2.2. Pendeteksian Objek

Pendeteksian Objek merupakan suatu teknologi komputer yang berhubungan dengan computer vision dan image processing, yang berhubungan dengan mendeteksi suatu objek dalam citra. Metode yang digunakan untuk pendeteksian objek pada perancangan aplikasi ini adalah metode Viola-Jones.


(47)

7 2.3. Citra

Citra adalah suatu representasi dua dimensi yang menggambarkan suatu visualisasi objek. Sebagai keluaran suatu sistem perekaman data, citra dapat bersifat optik berupa foto, bersifat analog berupa sinya-sinyal video seperti gambar pada monitor televisi atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan. Di dalam citra tersusun piksel-piksel dalam larik dua dimensi, indeks baris dan kolom (x, y) dari sebuah piksel yang dinyatakan dalam bilangan bulat. Secara umum citra terdiri dari dua yaitu citra analog dan citra digital.

2.3.1. Citra Analog

Citra analog adalah citra yang bersifat continoue seperti gambar pada monitor televisi, foto sinar X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT scan dan sebagainya. Citra analog tidak dapat dipresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, citra analog terlebih dahulu di konversi dari analog ke digital sehingga citra tersebut dapat diproses di komputer.

2.3.2.Citra Digital

Citra digital adalah gambar dua dimensi yang bisa diolah di komputer sehingga himpunan/diskrit nilai digital. Citra digital merupakan citra berupa suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriks menyatakan tingkat keabuan pada titik tersebut. Matriks yang dinyatakan pada citra digital berupa matriks berukuran N (baris/tinggi) x M (kolom/lebar).

2.4. Elemen Citra Digital

Citra digital mengandung sejumlah elemen-elemen dasar. Elemen-elemen dasar inilah yang dimanipulasi dalam pengolahan citra. Elemen-elemen dasar yang penting dalam citra digital diantaranya adalah :


(48)

a. Kecerahan

Kecerahan disebut juga sebagai intensitas cahaya. Kecerahan pada suatu titik (piksel) di dalam suatu citra sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya. Sistem visual manusia menyesuaikan dirinya dengan tingkat kecerahan mulai dari yang paling rendah sampai yang paling tinggi dengan jangkauan sebesar 1016.

b. Kontras

Kontras adalah elemen yang menyatakan sebaran terang dan gelap dalam suatu citra. Citra dengan kontras rendah memiliki ciri sebagian besar komposisi citranya terang atau gelap. Citra dengan kontras yang baik memiliki komposisi terang dan gelap yang merata.

c. Kontur

Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada piksel-piksel yang bertetangga. Karena adanya perubahan intensitas inilah, maka tepi-tepi (edge) objek pada citra dapat dideteksi.

d. Warna

Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang yang berbeda-beda. Warna yang diterima oleh sistem visual manusia (mata) merupakan hasil kombinasi cahaya dengan panjang gelombang yang berbeda-beda. Kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green(G), dan blue(B).

e. Bentuk

Merupakan properti intrinsik dari objek tiga dimensi untuk sistem visual manusia karena manusia lebih sering menginterpretasikan suatu objek berdasarkan bentuknya daripada elemen lainnya. Pada umumnya citra yang dibentuk oleh mata merupakan citra dwimatra (2 dimensi) sedangkan objek yang dilihat umumnya berbentuk trimatra (3 dimensi).

f. Tekstur

Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan piksel-piksel yang bertetangga sehingga tekstur tidak dapat didefinisikan untuk sebuah piksel. Tekstur merupakan karakteristik untuk menganalisa permukaan berbagai jenis citra objek. Sistem visual manusia pada


(49)

9 hakikatnya tidak menerima informasi citra secara independen pada setiap piksel. melainkan suatu citra dianggap sebagai suatu kesatuan. Resolusi citra yang diamati ditentukan oleh skala pada tekstur sebagai dipersepsi.

2.5. Citra Warna

Citra warna adalah citra digital yang setiap pikselnya mengandung informasi warna yang biasanya dibentuk paling sedikit tiga saluran warna misalnya RGB. Citra warna memiliki beberapa jenis bit per piksel yaitu:

a. Citra Warna (8 bit)

Setiap piksel dari citra warna (8 bit) hanya diwakili 8 bit dengan jumlah warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit yaitu :

 Citra warna 8 bit dengan menggunakan 256 palet warna dimana setiap paletnya memiliki pemetaan nilai RGB tertentu. Model ini sering digunakan.

 Citra warna 8 bit dimana setiap piksel memiliki format 8 bit seperti Tabel 2.1. Tabel 2.1. Citra Warna 8 bit

Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0

R R R G G G B B

b. Citra Warna (16 bit)

Citra warna 16 bit atau citra highcolor memiliki piksel yang diwakili dengan 2 byte memori (16 bit). Jumlah warna 16 bit adalah 65.536 warna. Dalam formasi bitnya, nilai merah dan biru mengambil 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitive terhadap warna hijau. Model citra warna 16 bit tampak seperti Tabel 2.2.

Tabel 2.2. Citra Warna 16 bit

Bit -15 Bit -14 Bit -13 Bit -12 Bit -11 Bit -10 Bit -9 Bit -8 Bit -7 Bit -6 Bit -5 Bit -4 Bit -3 Bit -2 Bit -1 Bit -0


(50)

c. Citra Warna (24 bit)

Setiap piksel dalam citra warna 24 bit diwakili dengan 24 bit sehingga jumlah variasi warna per pikselnya adalah 16.777.216. Variasi ini sudah lebih dari cukup untuk memvisualisasikan seluruh warna yang dapat dilihat dalam penglihatan manusia. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja. Setiap poin informasi piksel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, 8 bit kedua menyimpan nilai hijau, dan 8 bit terakhir menyimpan nilai merah.

2.6. Citra Abu-abu (Grayscale Image)

Citra abu-abu adalah suatu format citra atau gambar dimana tiap-tiap piksel hanya terdiri dari 1 channel warna yaitu abu-abu. Warna abu-abu merupakan warna pada ruang RGB dengan komponen merah, hijau, dan biru memiliki intensitas yang sama. Pada citra beraras keabuan hanya perlu menyatakan nilai intensitas untuk tiap piksel sebagai nilai tunggal. Untuk mengubah citra warna yang mempunyai nilai R, G, B menjadi citra abu-abu, perlu dilakukan grayscaling yaitu penyusunan citra yang sebelumnya 3 matriks akan berubah menjadi 1 matriks saja. Pengubahan citra warna menjadi citra abu-abu biasanya mengikuti aturan sebagai berikut:

� � � = . � + . + . (2.1)

2.7. Metode Viola-Jones

Metode Viola-Jones merupakan sebuah metode yang digunakan untuk mendeteksi objek seperti manusia, mobil, roda mobil, wajah, dan sebagainya yang terdapat dalam EmguCV dan OpenCV. Metode ini banyak digunakan untuk mendeteksi objek karena metode ini memiliki algoritma yang efisien sehingga tidak memerlukan waktu yang banyak untuk melakukan proses pendeteksian objek. Proses pendeteksian objek dilakukan dengan membandingkan citra terhadap sebuah pengklasifikasi yang dibentuk dari data pelatihan.


(51)

11 Dalam metode viola-jones terdapat empat kontribusi utama yaitu :

Haar-like Features

Citra Integral (Integral Image)

Adaptive Boosting atau Adaboost

Cascade of Classifier 2.7.1. Haar-Like Feature

Haar Feature merupakan fitur yang didasarkan pada Wavelet Haar (Viola et al, 2001). Wavelet Haar adalah suatu fungsi matematika yang berbentuk kotak, bersama-sama membentuk basis. Wavelet Haar hampir sama dengan fungsi Fourier yaitu meletakan target di dalam interval, kemudian melakukan proses. Awalnya pengolahan gambar hanya memproses nilai RGB dari setiap piksel yang dimiliki oleh gambar tersebut. Proses ini kurang efisien karena menggunakan sumber yang besar sedangkan hasil yang diperoleh kecil. Oleh sebab itu, Viola dan Jones mengembangkan proses pengolahan gambar yakni Haar-Like Feature.

Setiap Haar-Like Feature terdiri dari gabungan kotak-kotak hitam dan putih. Ada tiga tipe kotak feature dalam Haar:

a. Tipe two-rectangle feature (horizontal, vertikal) b. Tipe three-rectangle feature

c. Tipe four-rectangle feature


(52)

Haar-Like Feature mengolah gambar dalam kotak-kotak dimana dalam satu kotak terdapat beberapa piksel. Kemudian setiap kotak tersebut diproses yakni setiap piksel-piksel dalam wilayah kotak tersebut dijumlahkan dan dilakukan proses perhitungan sehingga didapatkan perbedaan nilai yang menandakan daerah gelap dan terang. Perbedaan inilah yang dijadikan sebagai dasar untuk menandai wilayah tersebut yang nantinya dijadikan sebagai dasar dalam image processing.

2.7.2. Citra Integral (Integral Image)

Citra integral adalah representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra N dengan tinggi y dan lebar x dimana nilai tiap pikselnya merupakan akumulatif dari nilai piksel atas dan kirinya. Citra integral digunakan untuk pendeteksian fitur secara cepat. Perumusannya adalah sebagai berikut:

� , = ∑ ∑ � ′,

=

= (2.4)

Citra integral dihitung secara rekursif:

� , = � , + � , − + � − , − � − , − (2.5)

dimana :

� − , = � , − = � − , − = (2.6)

Representasi tengah dari citra ini memungkinkan perhitungan nilai fitur kotak D pada Gambar 2.2 dapat dihitung dengan empat refrensi perhitungan.


(53)

13 Nilai dari citra integral pada lokasi 1 adalah penjumlahan dari piksel dalam persegi panjang A. Nilai pada lokasi 2 adalah A+B, nilai pada lokasi 3 adalah A+C, dan nilai pada lokasi 4 adalah D-B-C+A.

Dengan menggunakan citra integral, perhitungan fitur akan sangat efektif dan efisien. Proses pencarian nilai fitur ini dilakukan secara iteratif mulai dari ujung kiri atas gambar hingga ujung kanan bawah.

2.7.3. Adaptive Boosting (Adaboost)

Adaboost merupakan salah satu metode boosting yang dapat meningkatkan ketelitian dalam proses klasifikasi dan prediksi dengan cara membangkitkan kombinasi dari suatu model, tetapi hasil klasifikasi dan prediksi yang dipilih adalah model yang memiliki nilai bobot paling besar.

Dalam metode viola-jones, adaboost digunakan untuk memilih fitur yang spesifik yang akan digunakan untuk mengatur nilai ambangnya (treshold). Adaboost menggabungkan banyak classifier yang lemah untuk membentuk sebuah classifier yang kuat. Classifier yang lemah adalah suatu jawaban dengan tingkat kebenaran yang kurang akurat (Viola et al, 2001). Adaboost memilih sejumlah classifier yang lemah untuk disatukan dan menambahkan bobot pada setiap classifier sehingga akan terbentuk sebuah classifier yang kuat. Salah satu metode yang cepat untuk dapat beradaptasi dengan classifier yang lemah adalah dengan membatasi classifier yang lemah ke set klasifikasi fungsi yang masing-masing bergantung pada fitur tunggal. Adapun algoritma adaboost adalah sebagai berikut :

 Input citra , , ...., , dimana = 0,1 untuk data negatif dan positif.

 Inisialisasikan bobot , = , untuk = 0,1 berturut-turut, dimana m dan l adalah jumlah citra positif dan negatif.

 Untuk = , … , � ∶

1. Normalisasikan bobot :

, = , ,

=

adalah distribusi probabilitas.

2. Untuk setiap fitur, , latih sebuah classifier ℎ yang dibatasi agar menggunakan sebuah fitur tunggal. Kesalahan dievaluasi sehubungan dengan :


(54)

, � = ∑ |ℎ − |.

3. Pilih classifier, ℎ , dengan kesalahan terendah � . 4. Perbaharui bobot :

Dimana = jika data diklasifikan dengan benar dan = jika sebaliknya, dan = �

− � .

Pembentukan classifier kuat :

dimana = �

��

2.7.4. Cascade of Classifier

Cascade of classifier merupakan sebuah classifier yang telah terlatih dengan ribuan contoh objek yang terdiri dari objek yang positif dan objek yang negatif. Dalam algoritma Viola-Jones dilakukan penggabungan atau kombinasi cascade of classifier supaya kecepatan dari proses pendeteksian dapat meningkat yaitu dengan cara memusatkan perhatian pada daerah-daerah dalam gambar yang berpeluang saja. Hal ini berguna untuk menentukan dimana letak objek yang dicari pada suatu gambar.

Karakteristik dari algoritma Viola-Jones adalah adanya klasifikasi bertingkat seperti tampak pada Gambar 2.3. Klasifikasi pada algoritma ini terdiri dari tiga tingkatan dimana tiap tingkatan mengeluarkan subcitra yang diyakini bukan objek. Hal ini dilakukan karena lebih mudah untuk menilai subcitra tersebut bukan objek yang ingin dideteksi dari pada menilai apakah subcitra tersebut merupakan objek yang ingin dideteksi (Dzulkamain et al, 2011).

IMAGE SUB-WINDOW 1 Feature 5 Feature 20 Feature OBJECT

NON-OBJECT NON-OBJECT NON-OBJECT

50% 20% 2%

(2.8)

(2.9)


(55)

15 Pada klasifikasi fitur (tingkat) pertama, tiap subcitra akan diklasifikasikan menggunakan satu fitur. Jika hasil nilai fitur dari filter tidak memenuhi kriteria yang diinginkan maka hasil ditolak. Pada klasifikasi ini akan disisakan kira-kira 50% subcitra untuk diklasifikasi di tahap kedua. Subcitra yang lolos dari tingkat pertama akan diklasifikasikan lagi pada tahap kedua dimana pada tahap kedua jumlah fitur yang digunakan lebih banyak. Semakin bertambah tingkat klasifikasi maka fitur yang digunakan semakin banyak. Jumlah subcitra yang lolos dari klasifikasi pun akan berkurang hingga mencapai 2%.

2.8. OpenCV

OpenCV (Open Source Computer Vision) adalah sebuah API (Application Programming Interface) library yang sudah sangat familiar pada pengolahan citra dinamis secara real-time, yang dibuat oleh Intel. Fitur-fitur yang dimiliki oleh OpenCV antara lain :

a. Manipulasi data citra seperi alokasi, copying, setting, dan konversi. b. Mendukung input dan ouput citra maupun video.

c. Manipulasi matriks dan vektor serta aljabar linear. d. Data struktur dinamis (lists, queues, sets, trees, graphs)

e. Pemroses citra yang fundamental (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).

f. Analisis struktur (connected components, contour processing, distance transform, various moments, template matching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).

g. Kalibrasi kamera (calibration patterns, estimasi matriks yang fundamenal, estimasi homography, stereo correspondence).

h. Analisis gerakan (optical flow, segmentation, tracking). i. Pengenalan objek (eigen-methods, HMM).

j. Graphical User Interface (tampilan citra/video, penanganan keyboard dan mouse, scroll-bars).


(56)

Adapun struktur dan konten dalam OpenCV dapat dilihat pada Gambar 2.4

Gambar 2.4. Struktur dan Konten OpenCV (Bradski et al, 2008) 1. CV

Merupakan komponen yang berisikan algoritma dasar pengolahan citra digitial dan computer vision yang lebih tinggi.

2. ML

Merupakan komponen yang berisikan pustaka dari machine learning yang memiliki algoritma berikut :

a. Naive Bayes Classifier

b. K-nearest Neighbor algorithm c. Support Vector Machine d. Decision Trees

e. Boosting f. Random forest

g. Expectation Maximization h. Neural Networks

3. Highgui

Berisikan fungsi dan rutin I/O untuk penyimpanan dan pembacaan video dan gambar.


(57)

17 4. CXCORE

Berisikan struktur data, support XML dan fungsi-fungsi grafis.

Komponen yang lain adalah CvAux yang berisikan both defunct areas (embedded HMM face recognition) dan algoritma eksperimental (background/foreground segmentation).

2.9. Penelitian Terdahulu

Penelitian tentang pendeteksian objek manusia telah banyak dilakukan. Beberapa penelitian melakukan pendeteksian objek manusia dengan mendeteksi wajah atau badan atas dan bawah, atau bagian tertentu dari objek manusia.

Pada tahun 2005, Chen et al menggunakan metode invarian dari iluminasi dan pose untuk mendeteksi wajah manusia. Adapun langkah-langkah metode tersebut adalah:

1. Bentuk garis/luar objek ditandai secara manual pada gambar contoh objek. 2. Kemudian gambar tersebut diekstraksi dan ditransformasikan menjadi gradient

image.

3. Gradient image tersebut didekomposisikan ke dalam beberapa besaran skalar dimana tiap gambar memiliki fase kuantisasi yang sama. Hal ini sama dengan pencarian fitur.

4. Kemudian algoritma boosting digunakan untuk mengklasifikan nilai fitur tersebut untuk mendapatkan bagian objek atau tidak.

Aziz et al (2011) menggunakan metode skeleton graph untuk mendeteksi objek manusia yang digunakan untuk menghitung jumlah orang dalam keramaian. Adapun langkah-langkah metode skeleton graph adalah sebagai berikut:

1. Melakukan proses substraksi latar belakang yaitu penghilangan latar belakang dari gambar yang dimasukan.

2. Menghitung nilai skeleton graph dari setiap wilayah yang terdeteksi ada manusia dengan menggunakan metode yang dibuat oleh Thome et al (Thome et al, 2008).


(58)

3. Kemudian titik dari skeleton tersebut diklasifikasikan berdasarkan derajat lingkungan titik tersebut. Hal ini dilakukan untuk mendeteksi bagian objek dari wilayah yang terdeteksi manusia.

4. Tahap yang terakhir adalah melakukan head tracking karena file yang diinput adalah video.

Pada tahun 2012 Subburaman et al (Subburaman et al, 2012) melakukan penelitian mengenai perhitungan orang dalam keramaian menggunakan sebuah generic head detector. Adapun langkah-langkah dari metode generic head detector adalah:

1. Mengubah gambar warna menjadi abu-abu (gray scale image).

2. Pencarian titik penting pada gambar dengan metode interest point detector yang berguna untuk mengurangi lokasi pencarian sehingga pencarian wilayah yang mirip dengan bagian objek lebih cepat.

3. Menghilangkan latar belakang dari gambar yang berkelanjutan (video) dengan melakukan proses background substraction. Hal ini berguna untuk mengurangi wilayah pencarian dan meningkatkan kecepatan untuk pendeteksian manusia dalam gambar.

4. Menghitung saluran LUV, saluran intensitas kemiringan, dan enam saluran kemiringan yang terorientasi untuk mendapatkan fitur dari wilayah yang penting. Perhitungan dilakukan dengan menggunakan citra integral sehingga proses lebih cepat.

5. Mengklasifikasikan wilayah dengan adaboost classifier untuk mendapatkan wilayah yang memiliki bagian objek atau tidak.


(59)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Pengolahan citra digital merupakan salah satu subjek dari teknologi informasi yang sangat menarik dan menantang saat ini. Proses pengolahan citra digital bertujuan untuk memanipulasi dan menganalisis citra dengan bantuan komputer. Pengolahan citra digital dapat dikelompokkan ke dalam dua jenis kegiatan yaitu memperbaiki kualitas suatu gambar dan mengolah informasi yang terdapat pada suatu gambar untuk keperluan pengenalan objek secara otomatis.

Pendeteksian manusia merupakan salah satu bidang penelitian dalam pengolahan citra digital yang dapat digunakan untuk berbagai hal. Salah satu manfaat dari pendeteksian manusia adalah keamanan. Aspek keamanan sangat dibutuhkan dalam berbagai kehidupan saat ini seperti keamanan rumah, gedung, atau ruangan yang memiliki nilai penting bagi pemilik. Keamanan dapat dikerjakan oleh tenaga manusia tetapi cara ini kurang efisien karena menghabiskan banyak resources seperti uang, waktu, tenaga, dan juga sangat rentan terhadap kelalaian manusia (human error).

Ada banyak penelitian yang telah dilakukan tentang pendeteksian manusia baik dalam gambar maupun video yang dalam penelitiannya mendeteksi bagian dari tubuh manusia. Chen et al dalam penelitiannya menggunakan metode invarian dari ilmunasi dan pose (Chen et al, 2005) untuk mendeteksi bagian kepala manusia pada gambar statis. Aziz et al menggunakan metode skeleton graph (Aziz et al, 2011) untuk mendeteksi bagian kepala pada objek manusia dimana skeleton graph diekstraksi dari latar depan dengan menggunakan substraksi latar belakang (background substraction) dan Subburaman menggunakan metode interest point detector dan adaboost


(60)

(Subburaman et al, 2012) dimana interest point detector berguna untuk mengurangi lokasi pencarian sehingga pencarian wilayah yang mirip dengan bagian objek lebih cepat dan adabost classifier berfungsi sebagai pendeteksi objek.

Dalam tugas akhir ini, aplikasi dibangun menggunakan metode Viola-Jones yang terdiri dari metode haar-like feature, citra integral, adaboost, dan cascade of classifier. Haar-like feature adalah fitur yang didasarkan pada Wavelet Haar (Viola et al, 2001) yang digunakan sebagai dasar untuk penentuan objek. Citra integral adalah representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra N dengan tinggi y dan lebar x dimana nilai tiap pikselnya merupakan akumulatif dari nilai piksel atas dan kirinya yang digunakan untuk pendeteksian fitur secara cepat. Adaboost merupakan sebuah metode boosting yang berfungsi untuk mencari fitur-fitur yang memiliki tingkat pembeda yang tinggi untuk dievaluasi terhadap data latih. Cascade of classifier merupakan sebuah classifier yang telah terlatih dengan ribuan contoh objek yang terdiri dari objek yang positif dan objek yang negatif. Metode Viola-Jones telah banyak digunakan dalam penelitian-penelitian terutama tentang pendeteksian wajah. Beberapa penelitian diantaranya adalah pendeteksian wajah (Viola et al, 2004) dan pendeteksian mata dan mulut (Khan et al, 2013).

Berdasarkan latar belakang di atas, penulis melakukan penelitian dengan judul

Sistem Pendeteksian Manusia Untuk Keamanan Ruangan Menggunakan Viola-Jones”.

1.2. Rumusan Masalah

Keamanan ruangan dapat dikerjakan oleh tenaga manusia tetapi kurang efisien karena menghabiskan banyak resources dan juga sangat rentan terhadap kelalaian manusia. Oleh karena itu, diperlukan sebuah pendekatan untuk dapat mendeteksi manusia untuk keamanan ruangan.


(61)

3 1.3. Tujuan Penelitian

Tujuan dari penelitian ini adalah mendeteksi manusia menggunakan viola-jones untuk keamanan ruangan.

1.4. Batasan Masalah

Guna mencegah meluasnya cakupan permasalahan yang akan dibahas dalam studi ini dan untuk membuat studi ini lebih terarah, maka dilakukan pembatasan masalah sebagai berikut:

1. Bagian tubuh manusia yang dideteksi adalah bagian atas yakni bahu dan kepala. 2. Jumlah kamera yang digunakan adalah 1 (satu) dengan posisi sudut kamera 00 s/d

45o terhadap objek yang akan dideteksi. 3. Pendeteksian dilakukan secara real-time.

1.5. Manfaat Penelitian

Manfaat yang dapat diperoleh dari penelitian ini adalah:

1. Membantu pengawasan keamanan ruangan agar lebih efektif dan efisien.

2. Memberi masukan bagi penelitian yang berkaitan dengan pendeteksian manusia dan metode viola-jones.

1.6. Metodologi Penelitian

Metodologi penelitian yang digunakan pada penelitian ini adalah: a. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan yaitu proses mengumpulkan bahan referensi mengenai pengolahan citra ditigal, pendeteksian manusia, dan metode viola-jones dari berbagai buku, jurnal, artikel, dan beberapa referensi lainnya. b. Analisis

Pada tahap ini dilakukan analisis terhadap studi literatur untuk mengetahui dan mendapatkan pemahaman mengenai viola-jones untuk menyelesaikan masalah tentang pendeteksian manusia.


(62)

c. Perancangan

Pada tahap perancangan sistem dilakukan perancangan arsitektur dan antarmuka agar tampilan aplikasi yang akan dibangun user friendly. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.

d. Implementasi

Pada tahap implementasi dilakukan pengkodean untuk membangun aplikasi yang dimaksud dengan menggunakan bahasa pemrograman yang telah dipilih dan ditentukan sebelumnya oleh penulis.

e. Pengujian

Pada tahap ini dilakukan pengujian terhadap pengkodean program untuk memastikan apakah program sudah berjalan sesuai dengan yang direncanakan. f. Penyusunan Laporan

Penyusunan Laporan merupakan tahap pembuatan dokumentasi dari aplikasi yang sudah dibangun.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut: Bab 1 Pendahuluan

Bab ini berisi latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2: Landasan Teori

Bab ini berisi teori-teori yang digunakan untuk memahami permasalahan yang dibahas pada penelitian ini.


(63)

5 Bab 3: Analisis dan Perancangan

Bab ini berisi analisis dan penerapan metode viola-jones untuk mendeteksi manusia dan perancangan aplikasi seperti pemodelan dengan flowchart, use case dan sequence diagram.

Bab 4: Implementasi dan Pengujian

Bab ini berisi pembahasan tentang implementasi dari analisis dan perancangan yang disusun pada Bab 3 dan pengujian apakah hasil yang didapatkan sesuai dengan yang diharapkan.

Bab 5: Kesimpulan Dan Saran

Bab ini berisi kesimpulan dari keseluruhan uraian bab-bab sebelumnya dan saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.


(64)

ABSTRAK

Aspek keamanan sangat dibutuhkan dalam berbagai kehidupan saat ini seperti keamanan rumah, gedung, atau ruangan yang memiliki nilai penting bagi pemilik. Keamanan dapat dikerjakan oleh tenaga manusia tetapi cara ini kurang efisien karena menghabiskan banyak resources seperti uang, waktu, tenaga dan juga sangat rentan terhadap kelalaian manusia (human error). Oleh karena itu diperlukan suatu pendekatan untuk dapat melakukan keamanan tersebut. Salah satu pendekatan yang dapat dilakukan adalah dengan melakukan pendeteksian objek manusia melalui kamera yang terhubung dengan komputer. Dalam tugas akhir ini digunakan Viola-Jones untuk mendeteksi objek manusia dalam citra berdasarkan fitur. Citra yang diinput dari webcam dengan fungsi capture dalam library OpenCV diubah menjadi citra abu-abu setelah mengalami proses scaling, dilanjutkan ekualisasi histogram, perhitungan fitur dengan citra integral, dan pendeteksian objek dengan cascade of classifier. Pada penelitian ini ditunjukkan bahwa metode yang diajukan mampu melakukan pendeteksian objek dengan hasil akurasi 86,88%.

Kata kunci : viola-jones, pendeteksian manusia, keamanan ruangan, cascade of classifier, OpenCV.


(65)

vi

HUMAN DETECTION SYSTEM FOR ROOM SECURITY USING VIOLA-JONES

ABSTRACT

Security aspects are needed in a variety of life today such as home security, building, or a room that has a significant value for the owner. Security can be done by human power, but this method is less efficient because it spends a lot of resources such as money, time, energy and also very prone to human error. Therefore it is necessary to be able to perform a room security. One approach that can be done is to make the detection of human object through a camera connected to the computer. In this thesis Viola-Jones is used to detect human objects in the image based on the features. Inputted image from the webcam using capture function in the OpenCV library is converted to gray image after undergoing a process of scaling, and then the image get histogram equalization process, the calculation of the integral features of the image, and object detection with a cascade of classifier. In this study indicated that the proposed method is able to perform object detection with accuracy result is 86,88%. Keyword : viola-jones, human detection, room security, the cascade of classifier, OpenCV


(66)

SISTEM PENDETEKSIAN MANUSIA UNTUK KEAMANAN RUANGAN

MENGGUNAKAN VIOLA-JONES

SKRIPSI

JONATAN SIANTURI

101402052

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(67)

SISTEM PENDETEKSIAN MANUSIA UNTUK KEAMANAN RUANGAN MENGGUNAKAN VIOLA-JONES

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi

JONATAN SIANTURI 101402052

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(68)

PERSETUJUAN

Judul : SISTEM PENDETEKSIAN MANUSIA UNTUK

KEAMANAN RUANGAN MENGGUNAKAN VIOLA-JONES

Kategori : SKRIPSI

Nama : JONATAN SIANTURI

Nomor Induk Mahasiswa : 10140252

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, Oktober 2014 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan, M. IT Romi Fadillah Rahmat, B.Comp.Sc., M.Sc.

NIP NIP 19860303 201012 1 004

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

M. Anggia Muchtar ST, M.MT NIP 19610817 198701 1 010


(69)

iii PERNYATAAN

SISTEM PENDETEKSIAN MANUSIA UNTUK KEAMANAN RUANGAN MENGGUNAKAN VIOLA-JONES

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Oktober 2014

Jonatan Sianturi 101402052


(70)

UCAPAN TERIMA KASIH

Segala puji syukur penulis panjatkan kepada Tuhan Yesus Kristus karena berkat dan kasih karuniaNyalah penulis bisa menyelesaikan penyusunan tugas akhir ini.

Proses penyusunan skripsi ini juga tidak lepas dari dukungan dan bantuan dari pihak-pihak yang lain. Oleh sebab itu penulis mengucapkan terima kasih banyak kepada :

1. Orang tua penulis yaitu ayahanda Mangasi Sianturi dan ibunda Manatap Sinaga yang mendoakan dan mengingatkan serta memberikan bantuan berupa moril dan materi sehingga penulis dapat menyelesaikan tugas akhir ini.

2. Pihak keluarga, abang, kakak, dan seluruh keluarga.

3. Bapak M. Anggia Muchtar, ST, MM. IT selaku Ketua Program Studi Teknologi Informasi Universitas Sumatera Utara.

4. Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc. dan Ibu Dr. Erna Budhiarti Nababan, M. IT selaku dosen pembimbing penulis yang telah memberikan saran, masukan, serta bersedia meluangkan waktu, tenaga, dan pikiran untuk membantu penulis menyelesaikan tugas akhir ini.

5. Bapak Dani Gunawan, ST., M.T dan Bapak Dedy Arisandi, ST., M. Kom selaku dosen penguji penulis, dan juga dosen penasihat akademik, serta seluruh dosen Teknologi Informasi.

6. Teman-teman angkatan 2010 Teknologi Informasi. 7. Teman-teman GSPDI Filadelfia Titi Papan.

8. Seluruh teman-teman dari jurusan Teknologi Informasi.

Akhir kata, penulis memohon maaf bila dalam penulisan karya tulis ilmiah ini terdapat kesalahan. Oleh sebab itu penulis sangat mengharapkan adanya saran-saran yang membangun.

Semoga karya tulis ini dapat memberikan kontribusi bagi pendidikan di Indonesia. Tuhan Yesus memberkati.


(71)

v

ABSTRAK

Aspek keamanan sangat dibutuhkan dalam berbagai kehidupan saat ini seperti keamanan rumah, gedung, atau ruangan yang memiliki nilai penting bagi pemilik. Keamanan dapat dikerjakan oleh tenaga manusia tetapi cara ini kurang efisien karena menghabiskan banyak resources seperti uang, waktu, tenaga dan juga sangat rentan terhadap kelalaian manusia (human error). Oleh karena itu diperlukan suatu pendekatan untuk dapat melakukan keamanan tersebut. Salah satu pendekatan yang dapat dilakukan adalah dengan melakukan pendeteksian objek manusia melalui kamera yang terhubung dengan komputer. Dalam tugas akhir ini digunakan Viola-Jones untuk mendeteksi objek manusia dalam citra berdasarkan fitur. Citra yang diinput dari webcam dengan fungsi capture dalam library OpenCV diubah menjadi citra abu-abu setelah mengalami proses scaling, dilanjutkan ekualisasi histogram, perhitungan fitur dengan citra integral, dan pendeteksian objek dengan cascade of classifier. Pada penelitian ini ditunjukkan bahwa metode yang diajukan mampu melakukan pendeteksian objek dengan hasil akurasi 86,88%.

Kata kunci : viola-jones, pendeteksian manusia, keamanan ruangan, cascade of classifier, OpenCV.


(72)

HUMAN DETECTION SYSTEM FOR ROOM SECURITY USING VIOLA-JONES

ABSTRACT

Security aspects are needed in a variety of life today such as home security, building, or a room that has a significant value for the owner. Security can be done by human power, but this method is less efficient because it spends a lot of resources such as money, time, energy and also very prone to human error. Therefore it is necessary to be able to perform a room security. One approach that can be done is to make the detection of human object through a camera connected to the computer. In this thesis Viola-Jones is used to detect human objects in the image based on the features. Inputted image from the webcam using capture function in the OpenCV library is converted to gray image after undergoing a process of scaling, and then the image get histogram equalization process, the calculation of the integral features of the image, and object detection with a cascade of classifier. In this study indicated that the proposed method is able to perform object detection with accuracy result is 86,88%. Keyword : viola-jones, human detection, room security, the cascade of classifier, OpenCV


(73)

vii

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

BAB 1 Pendahuluan 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 Landasan Teori 6

2.1. Computer Vision 6

2.2. Pendeteksian Objek 6

2.3. Citra 7

2.3.1. Citra Analog 7

2.3.2. Citra Digital 7

2.4. Elemen Citra Digital 7

2.5. Citra Warna 9


(74)

2.7.1. Haar-Like Feature 11 2.7.2. Citra Integral (Integral Image) 12

2.7.3. Adaptive Boosting (Adaboost) 13

2.7.4. Cascade of Classifier 14

2.8. OpenCV 15

2.9. Penelitian Terdahulu 17

BAB 3 Analisis dan Perancangan Sistem 19

3.1. Identifikasi Masalah 19

3.2. Data 19

3.3. Analisis Sistem 20

3.3.1. Scaling 21

3.3.2. GrayScaling 23

3.3.3. Histrogram Equalization 23

3.3.4. Fitur Haar 24

3.3.5. Citra Integral 25

3.3.6. Cascade of Classifier 27

3.4. Perancangan Sistem 28

3.4.1. Use Case Diagram 28

3.4.2. Flowchart 28

3.4.3. Implementasi Jaringan 30

3.4.4. Perancangan Antarmuka 31

3.4.4.1. Rancangan Halaman Splash 31

3.4.4.2. Rancangan Halaman Utama 31

BAB 4 Implementasi dan Pengujian Sistem 33

4.1. Implementasi Sistem 33

4.1.1. Spesifikasi Perangkat Keras dan Lunak 33 4.1.2. Implementasi Perancangan Antarmuka 34

4.2. Pengujian Sistem 35

4.2.1. Waktu Pendeteksian 35


(75)

ix

BAB 5 Kesimpulan dan Saran 55

5.1. Kesimpulan 55

5.2. Saran 56

Daftar Pustaka 57

Lampiran A: Source Code Aplikasi Client 59


(1)

vi

HUMAN DETECTION SYSTEM FOR ROOM SECURITY USING VIOLA-JONES

ABSTRACT

Security aspects are needed in a variety of life today such as home security, building, or a room that has a significant value for the owner. Security can be done by human power, but this method is less efficient because it spends a lot of resources such as money, time, energy and also very prone to human error. Therefore it is necessary to be able to perform a room security. One approach that can be done is to make the detection of human object through a camera connected to the computer. In this thesis Viola-Jones is used to detect human objects in the image based on the features. Inputted image from the webcam using capture function in the OpenCV library is converted to gray image after undergoing a process of scaling, and then the image get histogram equalization process, the calculation of the integral features of the image, and object detection with a cascade of classifier. In this study indicated that the proposed method is able to perform object detection with accuracy result is 86,88%. Keyword : viola-jones, human detection, room security, the cascade of classifier, OpenCV


(2)

vii

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

BAB 1 Pendahuluan 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Tujuan Penelitian 3

1.4. Batasan Masalah 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 Landasan Teori 6

2.1. Computer Vision 6

2.2. Pendeteksian Objek 6

2.3. Citra 7

2.3.1. Citra Analog 7

2.3.2. Citra Digital 7

2.4. Elemen Citra Digital 7

2.5. Citra Warna 9


(3)

viii

2.7.1. Haar-Like Feature 11

2.7.2. Citra Integral (Integral Image) 12

2.7.3. Adaptive Boosting (Adaboost) 13

2.7.4. Cascade of Classifier 14

2.8. OpenCV 15

2.9. Penelitian Terdahulu 17

BAB 3 Analisis dan Perancangan Sistem 19

3.1. Identifikasi Masalah 19

3.2. Data 19

3.3. Analisis Sistem 20

3.3.1. Scaling 21

3.3.2. GrayScaling 23

3.3.3. Histrogram Equalization 23

3.3.4. Fitur Haar 24

3.3.5. Citra Integral 25

3.3.6. Cascade of Classifier 27

3.4. Perancangan Sistem 28

3.4.1. Use Case Diagram 28

3.4.2. Flowchart 28

3.4.3. Implementasi Jaringan 30

3.4.4. Perancangan Antarmuka 31

3.4.4.1. Rancangan Halaman Splash 31

3.4.4.2. Rancangan Halaman Utama 31

BAB 4 Implementasi dan Pengujian Sistem 33

4.1. Implementasi Sistem 33

4.1.1. Spesifikasi Perangkat Keras dan Lunak 33

4.1.2. Implementasi Perancangan Antarmuka 34

4.2. Pengujian Sistem 35

4.2.1. Waktu Pendeteksian 35


(4)

ix

BAB 5 Kesimpulan dan Saran 55

5.1. Kesimpulan 55

5.2. Saran 56

Daftar Pustaka 57

Lampiran A: Source Code Aplikasi Client 59


(5)

x DAFTAR TABEL

Hal.

Tabel 2.1. Citra Warna 8 Bit 9

Tabel 2.2. Citra Warna 16 Bit 9

Tabel 3.1. Perhitungan Nilai Piksel Hasil Interpolasi 22 Tabel 3.2. Proses Perhitungan Distribusi Kumulatif 24

Tabel 3.3. Teknik Perhitungan Histogram 24

Tabel 3.4. Nilai Grayscale Citra Masukan 26

Tabel 3.5. Perhitungan Citra Integral 26

Tabel 3.6. Hasil Citra Integral 26

Tabel 4.1. Hasil Pengujian Waktu Pendeteksian dengan Webcam 35

Tabel 4.2. Hasil Pengujian untuk Ruangan A 39

Tabel 4.3. Hasil Pengujian untuk Ruangan B 43

Tabel 4.4. Hasil Pengujian untuk Ruangan C 47


(6)

xi

DAFTAR GAMBAR

Hal. Gambar 2.1. Variasi Fitur pada Haar (LienHart et al, 2002) 11

Gambar 2.2. Perhitungan Citra Integral 12

Gambar 2.3. Alur Kerja Klasifikasi Bertingkat (Dzulkamain et al, 2011) 14 Gambar 2.4. Struktur dan Konten OpenCV (Bradski et al, 2008) 16 Gambar 3.1. Arsitektur Umum Sistem Pendeteksian Manusia 20 Gambar 3.2. Metode Interpolasi untuk Memperkecil Gambar 21 Gambar 3.3. Penskalaan Citra dengan Metode Interpolasi (Santoso et al, 2013) 22

Gambar 3.4. Grayscaling (Santoso et al, 2013) 23

Gambar 3.5. Pencarian Fitur Haar 25

Gambar 3.6. Contoh Perhitungan Citra Integral (Santoso et al, 2013) 25

Gambar 3.7. Hasil Deteksi Wajah 27

Gambar 3.8. Flowchart Sistem Pendeteksian Manusia 28

Gambar 3.9. Rancangan Jaringan Sistem Pendeteksian Manusia untuk Keamanan

Ruangan 29

Gambar 3.10. Rancangan Halaman Splash 30

Gambar 3.11. Rancangan Halaman Utama 31

Gambar 4.1. Halaman Splash 34

Gambar 4.2. Halaman Utama 35

Gambar 4.3. Screenshot Hasil Pendeteksian Ruangan A 38 Gambar 4.4. Screenshot Hasil Pendeteksian Ruangan B 43 Gambar 4.5. Screenshot Hasil Pendeteksian Ruangan C 47 Gambar 4.6. Screenshot Hasil Pendeteksian Ruangan D 51