• Tidak ada hasil yang ditemukan

IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS ORANG BERBASIS PENGOLAHAN CITRA MENGGUNAKAN RASPBERRY PI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS ORANG BERBASIS PENGOLAHAN CITRA MENGGUNAKAN RASPBERRY PI"

Copied!
75
0
0

Teks penuh

(1)

TUGAS AKHIR – TE141599

IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS ORANG

BERBASIS PENGOLAHAN CITRA MENGGUNAKAN

RASPBERRY PI

Daniel Krisrenanto NRP 2212 100 074 Dosen Pembimbing Dr. Muhammad Rivai, ST., MT. Fajar Budiman, ST., MSc. JURUSAN TEKNIK ELEKTRO Fakultas Teknologi Industri

(2)
(3)

TUGAS AKHIR – TE141599

IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS

ORANG BERBASIS PENGOLAHAN CITRA

MENGGUNAKAN RASPBERRY PI

Daniel Krisrenanto NRP 2212 100 074 Dosen Pembimbing Dr. Muhammad Rivai, ST., MT. Fajar Budiman, ST., MSc.

JURUSAN TEKNIK ELEKTRO Fakultas Teknologi Industri

Institut Teknologi Sepuluh Nopember Surabaya 2017

(4)
(5)

FINAL PROJECT – TE141599

IDENTIFICATION OF NUMBER AND ACTIVITY LEVEL

OF PEOPLE BASED ON IMAGE PROCESSING USING

RASPBERRY PI

Daniel Krisrenanto NRP 2212 100 074 Supervisor Dr. Muhammad Rivai, ST., MT. Fajar Budiman, ST., MSc.

ELECTRICAL ENGINEERING DEPARTMENT Faculty of Industry Technology

Institut Teknologi Sepuluh Nopember Surabaya 2017

(6)
(7)

PERNYATAAN KEASLIAN TUGAS AKHIR

Dengan ini saya menyatakan bahwa isi sebagian maupun keseluruhan Tugas Akhir saya dengan Identifikasi Jumlah Dan Tingkat Aktivitas Orang Berbasis Pengolahan Citra Menggunakan Raspberry Pi adalah benar-benar hasil karya intelektual mandiri, diselesaikan tanpa menggunakan bahan-bahan yang tidak diijinkan dam bukan merupakan karya pihak lain yang saya akui sebagai karya sendiri.

Semua referensi yang dikutip maupun dirujuk telah ditulis secara lengkap pada daftar pustaka.

Apabila ternyata pernyataan ini tidak benar, saya bersedia menerima sanksi sesuai peraturan yang berlaku.

Surabaya, Januari 2017

Daniel Krisrenanto 2212100074

(8)
(9)

IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS ORANG BERBASIS PENGOLAHAN CITRA MENGGUNAKAN

RASPBERRY PI

TUGAS AKHIR

Diajukan Untuk Memenuhi Sebagian Persyaratan Untuk Memperoleh Gelar Sarjana Teknik

Pada

Bidang Studi Teknik Elektronika Jurusan Teknik Elektro Institut Teknologi Sepuluh Nopember

Menyetujui:

Dosen Pembimbing I,

Dr. Muhammad Rivai, ST., MT. NIP: 196904261994031003

Dosen Pembimbing II,

Fajar Budiman, ST., M.Sc. NIP: 198607072014041001

SURABAYA JANUARI, 2017

(10)
(11)

i

IDENTIFIKASI JUMLAH DAN TINGKAT AKTIVITAS ORANG BERBASIS PENGOLAHAN CITRA MENGGUNAKAN

RASPBERRY PI Nama : Daniel Krisrenanto

Pembimbing I : Dr. Muhammad Rivai, ST., MT. Pembimbing II : Fajar Budiman, ST., MSc.

ABSTRAK

Air conditioner (AC) merupakan suatu perangkat yang paling

banyak digunakan sebagai pendingin ruangan. Walaupun AC saat ini sudah menggunakan teknologi hemat energi, namun apabila tidak digunakan dengan baik maka penggunaan AC hanya menjadi suatu pemborosan listrik saja. Untuk mengurangi pemborosan listrik pada AC, maka pengaturan suhu harus disesuaikan dengan kondisi ruangan. Dimana faktor yang memengaruhi kondisi ruangan antara lain adalah jumlah orang serta tingkat aktivitas dalam ruangan. Sehingga diperlukan sebuah sistem tambahan untuk mengetahui jumlah orang serta tingkat aktivitas.

Dalam tugas akhir ini telah dilakukan rancang bangun suatu sistem identifikasi jumlah orang dan tingkat aktivitas. Sistem ini menggunakan metode Histogram of Oriented Gradient (HOG) sebagai penghitung jumlah orang. Metode background subtraction digunakan sebagai penghitung aktivitas. Sistem ini akan diimplementasikan menggunakan Raspberry Pi 3 sebagai mikrokontroler. Pada sistem ini digunakan kamera USB sebagai perangkat pengambil citra.

Hasil pengujian menunjukkan bahwa sistem dapat mendeteksi orang dari jarak 3 m sampai 9 m dan membedakan 2 orang dengan jarak antara 30 cm sampai 150 cm. Kesalahan sistem dalam mengidentifikasi orang sebesar 37,87%. Sistem juga dapat menghitung gerakan orang serta membedakan tingkat aktivitas orang. Sistem ini diharapkan dapat membantu mengurangi pemborosan listrik pada AC. Kata kunci: Background Subtraction, Histogram of Oriented Gradient, Jumlah Orang, Tingkat Aktivitas

(12)

ii

(13)

iii

IDENTIFICATION OF NUMBER AND ACTIVITY LEVEL OF PEOPLE BASED ON IMAGE PROCESSING USING

RASPBERRY PI Name : Daniel Krisrenanto

Supervisor : Dr. Muhammad Rivai, ST., MT. Co-Supervisor : Fajar Budiman, ST., MSc.

ABSTRACT

Air conditioner is a device that mostly used to regulate the room temperature. Although almost every air conditioner is now using low power technology, but if it is used incorrectly it will waste the electrical energy consumption. Air conditioner must be used accordingly to reduce the waste of the energy. Air conditioner usage is based on the room condition. Some factors that affect room conditions are number and activity level of people. Therefore, additional system is needed to identify the number and activity level of people.

In this final project, a system to identify the number and activity level of people inside a room has been researched. The system employs camera that is processed using Histogram of Oriented Gradient (HOG) method as the people counter. Background subtraction method is used as the activity counter. The system is implemented with Raspberry Pi 3 as the microcontroller. A webcam or USB camera is used as the data aquisition device and then the data will be processed by the AC remote control.

The result of this final project has shown that the system can detect people at distance between 3 m and 9 m and detect 2 adjacent people between 30 cm to 150 cm. The system’s error during identifying people is 37.87%. The system also can count motion and distinguish activity level of people. The system is expected to help reduce energy wasted on AC.

Keyword: Background Subtraction, Histogram of Oriented Gradient, Level of Activity, Number of People

(14)

iv

(15)

v

KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa, karena atas kelimpahan rahmat dan belas kasih-Nya penulis telah mampu meyelesaikan buku tugas akhir dengan judul “Identifikasi Jumlah Dan Tingkat Aktivitas Orang Berbasis Pengolahan Citra Menggunakan Raspberry Pi”. Penulis juga ingin berterimakasih kepada:

1. Orang tua yang selalu mendukung dengan doa,

2. Kakak dan adik yang memberikan motivasi untuk belajar, 3. Ketua Jurusan Teknik Elektro Bapak Dr. Eng. Ardyono

Priyadi, ST., M.Eng.,

4. Dosen pembimbing Bapak Dr. Muhammad Rivai, ST., MT. dan Bapak Fajar Budiman, ST., MSc.,

5. Dosen penguji Bapak Astria Nur Irfansyah, ST., M.Eng., PhD., Bapak Ir. Harris Pirngadi, MT., Bapak Dr. Ir. Hendra Kusuma, M.Eng.Sc, dan Bapak Ir. Tasripan, MT.,

6. Seluruh dosen Teknik Elektro ITS,

7. Teman-teman asisten Laboratorium B202 dan B402 yang senantiasa membantu dan memberikan semangat dalam mengerjakan tugas akhir,

8. Pihak lain yang tidak dapat penulis sebutkan satu per satu. Semoga buku tugas akhir ini dapat menjadi referensi dan tambahan ilmu bagi pembaca. Penulis juga memohon maaf apabila terdapat kesalahan dalam penulisan kata dan kalimat. Selamat membaca.

(16)

vi

(17)

vii

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... iii

KATA PENGANTAR ... v

DAFTAR ISI ... vii

DAFTAR GAMBAR ... ix DAFTAR TABEL ... xi BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Permasalahan ... 2 1.3 Tujuan ... 2 1.4 Batasan Masalah ... 2 1.5 Metodologi ... 2 1.6 Sistematika ... 4

1.7 Relevansi dan Manfaat ... 4

BAB II TEORI PENUNJANG ... 5

2.1 Histogram of Oriented Gradient (HOG) ... 5

2.1.1. Komputasi Gradien ... 5 2.1.2 Pengelompokan Orientasi ... 5 2.1.3 Blok Deskriptor ... 6 2.2 Background Subtraction ... 7 2.3 Raspberry Pi 3 ... 8 2.4 Kamera USB... 11

2.5 Sensor Passive Infrared ... 12

2.6 Open Source Computer Vision ... 13

2.7 Warna ... 14

2.8 Thresholding ... 15

2.9 Contour Finding ... 17

2.10 Konvolusi Citra ... 17

BAB III PERANCANGAN SISTEM ... 19

3.1 Perancangan Software ... 19

3.1.1 Identifikasi Jumlah Orang ... 20

3.1.2 Identifikasi Tingkat Aktivitas ... 20

3.1.3 Halt otomatis ... 22

3.2 Perancangan Hardware ... 22

3.2.1 Rangkaian Reset ... 23

(18)

viii

BAB IV PENGUJIAN DAN ANALISIS ... 27

4.1 Pengujian Jangkauan Sensor PIR ... 27

4.2 Pengujian Detektor Orang ... 28

4.2.1 Pengujian Penghitung Orang ... 28

4.2.2 Pengujian Jarak Deteksi Antara Kamera Dengan Orang ... 34

4.2.3 Pengujian Dengan Orang yang Berdekatan ... 35

4.3 Pengujian Detektor Gerakan Orang ... 38

BAB V PENUTUP ... 45 5.1 Kesimpulan ... 45 5.2 Saran ... 45 DAFTAR PUSTAKA ... 47 LAMPIRAN ... 49 BIODATA PENULIS ... 53

(19)

ix

DAFTAR GAMBAR

Gambar 2.1 Visualisasi hasil komputasi besaran dan

orientasi gradien ... 6

Gambar 2.2 Proses background subtraction dengan 2 frame ... 8

Gambar 2.3 Layout Raspberry Pi 3 ... 9

Gambar 2.4 Diagram blok Raspberry Pi 3 ... 10

Gambar 2.5 Webcam ... 11

Gambar 2.6 Prinsip kerja sensor PIR ... 12

Gambar 2.7 Modul sensor PIR ... 13

Gambar 2.8 Macam-macam thresholding ... 16

Gambar 2.9 Deteksi kontur ... 17

Gambar 2.10 Visualisasi konvolusi citra ... 18

Gambar 3.1 Diagram alir software ... 19

Gambar 3.2 Diagram alir proses identifikasi jumlah orang ... 20

Gambar 3.3 Diagram alir penghitungan tingkat aktivitas ... 21

Gambar 3.4 Pin RUN Raspberry Pi... 22

Gambar 3.5 Diagram hardware sistem ... 23

Gambar 3.7 Skematik Rangkaian Reset ... 24

Gambar 3.8 Rangkaian pin V0 LCD ... 25

Gambar 4.1 Rangkaian reset dengan sensor PIR ... 27

Gambar 4.2 Pengujian jangkauan sensor PIR ... 28

Gambar 4.2 Hasil deteksi tingkat aktivitas dan citra biner ... 39

Gambar 4.3 Grafik luas daerah objek pertama kategori aktivitas sedikit ... 39

Gambar 4.4 Grafik luas daerah objek pertama kategori aktivitas sedang ... 40

Gambar 4.5 Grafik luas daerah objek pertama kategori aktivitas tinggi ... 40

Gambar 4.6 Grafik luas daerah objek kedua kategori aktivitas sedikit ... 41

Gambar 4.7 Grafik luas daerah objek kedua kategori aktivitas sedang ... 41

Gambar 4.8 Grafik luas daerah objek kedua kategori aktivitas tinggi ... 42

Gambar 4.9 Grafik luas daerah objek ketiga kategori aktivitas tinggi ... 42

(20)

x

Gambar 4.10 Grafik luas daerah objek ketiga kategori aktivitas

sedang ... 43

Gambar 4.11 Grafik luas daerah objek ketiga kategori aktivitas

(21)

xi

DAFTAR TABEL

Tabel 3.1 Pemasangan port LCD dan GPIO Raspberry Pi ... 25

Tabel 4.1 Hasil pengujian sensor PIR tanpa halangan ... 27

Tabel 4.2 Hasil pengujian penghitung orang ... 29

Tabel 4.3 Perbandingan deteksi dengan jurnal lain ... 34

Tabel 4.4 Hasil pengujian jarak deteksi orang ... 35

Tabel 4.5 Hasil pengujian dengan orang berdekatan ... 36

(22)

xii

(23)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Permasalahan seperti perubahan iklim, pencemaran air, udara, dan tanah, krisis air, energi, dan sumber daya alam, serta berkurangnya lahan hijau saat ini menjadi isu lingkungan global yang merupakan masalah nyata. Institut Teknologi Sepuluh Nopember (ITS) berkomitmen untuk berperan aktif dalam pengembangan ilmu dan teknologi serta penerapan gaya hidup yang berwawasan lingkungan dan berbasis eco-campus [1].

Penggunaan listrik yang tidak efisien merupakan akibat dari pemakaian perangkat elektronik secara tidak wajar. Salah satu perangkat elektronik yang sering digunakan secara tidak wajar adalah air

conditioner (AC). Penggunaan AC yang tidak wajar terjadi antara lain,

ketika AC yang dinyalakan walaupun tidak ada kegiatan di dalam ruangan, pengaturan suhu yang kurang tepat, dan AC dipasang pada ruangan yang tidak sesuai dengan desain AC. AC akan bekerja semaksimal mungkin, walaupun efek pendinginan tidak dapat dirasakan. Hal ini hanya menjadi suatu tindakan pemborosan listrik saja. Melihat kondisi seperti ini maka dibutuhkan suatu sistem otomasi untuk mengatur AC yang fleksibel dan mementingkan kenyamanan pengguna ruangan serta mampu meningkatkan penghematan listrik.

Oleh karena itu, pada tugas akhir ini dirancang sebuah sistem yang dapat mengidentifikasi jumlah orang dan tingkat aktivitas menggunakan kamera. Sistem ini diharapkan dapat menghitung jumlah orang dan tingkat aktivitas, sehingga dapat digunakan sebagai sensor tambahan pada AC yang dapat mengetahui kondisi ruangan. Sistem identifikasi ini dilengkapi dengan kamera sebagai perangkat pengambilan citra yang kemudian diproses untuk mendapatkan data jumlah orang dan tingkat aktivitas. Data jumlah orang dan tingkat aktivitas kemudian digunakan sebagai input kontroler AC.

(24)

2

1.2 Permasalahan

Berdasarkan latar belakang di atas, maka pada tugas akhir dirumuskan beberapa masalah, antara lain:

1. Bagaimana cara mengidentifikasi jumlah orang.

2. Bagaimana cara mengidentifikasi tingkat aktivitas orang. 3. Bagaimana cara menyalakan dan mematikan sistem secara

otomatis.

1.3 Tujuan

Tujuan dari pembuatan tugas akhir ini adalah:

1. Merancang sebuah sistem yang mampu mengidentifikasi jumlah orang dengan metode Histogram of Oriented Gradient (HOG).

2. Merancang sebuah sistem yang mampu mengidentifikasi tingkat aktivitas dengan metode background subtraction. 3. Merancang sebuah sistem yang mempu menyala dan mati

secara otomatis sesuai kondisi ruangan.

1.4 Batasan Masalah

Batasan masalah pada tugas akhir ini adalah sebagai berikut: 1. Kapasitas ruangan yang digunakan adalah 20 orang. 2. Mikrokontroler yang digunakan adalah Raspberry Pi 3. 3. Kamera yang digunakan adalah kamera USB.

4. Orang yang dideteksi berdiri tegak

1.5 Metodologi

Tugas akhir ini dikerjakan dengan metodologi penelitian sebagai berikut:

1. Studi Literatur

Pada tahap studi literatur dilakukan pengumpulan dasar teori yang menunjang dalam penulisan tugas akhir. Dasar teori tersebut diambil dari artikel-artikel di internet dan forum-forum diskusi.

2. Perancangan Hardware

Tahap perancangan hardware merupakan tahap perancangan sistem pengambilan citra pada Raspberry Pi. Raspberry Pi menggunakan kamera USB sebagai perangkat pengambil citra.

(25)

3

Raspberry Pi dilengkapi dengan rangkaian reset yang digunakan untuk menyalakan kembali Raspberry Pi dari kondisi halt. Raspberry Pi juga dirangkai dengan LCD sebagai tampilan.

3. Perancangan Software

Tahap perancangan software merupakan tahap perancangan sistem identifikasi jumlah orang dan aktivitas orang. Pada tahap ini Raspberry Pi diprogram untuk mampu mengidentifikasi jumlah orang dengan proses object detection menggunakan

Histogram of Oriented Gradient (HOG). Kemudian dilanjutkan

dengan proses background subtraction untuk menghasilkan data tingkat aktivitas. Apabila jumlah orang sama dengan nol selama selang waktu tertentu, maka Raspberry Pi diperintahkan untuk halt.

5. Pengujian dan Analisis

Proses pengujian sistem diawali dengan pengujian sensor PIR, untuk mengetahui kemampuan sensor PIR dalam mendeteksi gerakan di dalam ruangan.

Pengujian berikutnya adalah untuk mengetahui

kemampuan metode HOG dalam mendeteksi orang. Pengujian dilakukan menggunakan kamera USB sebagai perangkat pengambil citra.

Pengujian selanjutnya adalah untuk mengetahui

kemampuan metode background subtraction untuk mendeteksi gerakan orang. Pengujian dilakukan menggunakan kamera USB sebagai perangkat pengambil citra.

6. Penulisan Laporan Tugas Akhir

Tahap penulisan laporan tugas akhir adalah tahapan terakhir dari proses pengerjaan tugas akhir ini. Laporan tugas akhir berisi seluruh hal yang berkaitan dengan tugas akhir yang telah dikerjakan yaitu meliputi pendahuluan, teori dasar, perancangan sistem, pengujian alat, dan kesimpulan dan saran.

(26)

4

1.6 Sistematika

Sistematika pembahasan Tugas Akhir ini terdiri atas lima bab, yaitu pendahuluan, teori penunjang, perancangan sistem, pengujian dan analisis, serta penutup.

BAB I PENDAHULUAN

Bab ini meliputi penjelasan latar belakang, rumusan masalah, batasan masalah, tujuan, metodologi, sistematika penulisan, dan relevansi. BAB II TEORI PENUNJANG

Bab ini menjelaskan tentang teori penunjang dan literatur yang dibutuhkan dalam mengerjakan tugas akhir ini.

BAB III PERANCANGAN SISTEM

Bab ini menjelasakan tentang perencanaan sistem baik perangkat keras (hardware) maupun perangkat lunak (software) untuk sistem identifikasi jumlah dan tingkat aktivitas.

BAB IV PENGUJIAN DAN ANALISIS

Pada bab ini akan menjelaskan hasil uji coba sistem beserta analisis. BAB V PENUTUP

Bagian ini merupakan bagian akhir yang berisi kesimpulan yang diperoleh dari pembuatan tugas akhir ini, serta saran-saran untuk pengembangan lebih lanjut.

1.7 Relevansi dan Manfaat

Pembuatan tugas akhir ini diharapkan mampu memberikan solusi pada masalah perubahan iklim, yaitu dengan membantu dalam mengurangi pemborosan listrik. Bantuan tersebut berupa sebuah sistem yang dapat mengatur AC sesuai kondisi ruangan dan dapat membantu manusia dalam menggunakan AC secara tepat.

(27)

5

BAB II

TEORI PENUNJANG

2.1 Histogram of Oriented Gradient (HOG)

Pada desain tugas akhir ini, digunakan metode Histogram of

Oriented Gradient (HOG) sebagai metode object detection. Dengan

alasan bahwa postur orang yang dideteksi memiliki variasi penampilan dan kemungkinan situasi yang tinggi [3]. Metode HOG memberikan fleksibilitas yang lebih daripada metode lain, karena metode ini berdasarkan feature based yang melihat tampilan lokal dan bentuk objek pada citra berupa intensitas distribusi gradien atau arah kontur [3]. Metode ini menggunakan database berupa histogram yang berisi kumpulan nilai gradien pada sebaran orientasi tertentu. Citra yang akan digunakan diubah menjadi grayscale kemudian dinormalisasi kecerahannya serta melalui proses koreksi gamma. Algoritma HOG dapat disederhanakan menjadi 3 tahapan. Tahapan tersebut yaitu: komputasi gradien, pengelompokan orientasi, dan pembuatan blok deskriptor [4].

2.1.1. Komputasi Gradien

Citra yang telah diubah menjadi grayscale diturunkan dengan mengkonvolusikan citra dengan matriks:

[ ] [ ] (2.1)

Setelah mendapatkan turunan x dan y (IX dan IY), kemudian nilai besaran dan orientasi vektor tersebut dihitung:

| | √ (2.2)

Perlu diperhatikan bahwa orientasi θ harus dalam rentang [0°,360°], karena dalam implementasi ini nilai orientasi harus bernilai positif. Hasil komputasi gradien pada citra dapat dilihat pada Gambar 2.1.

2.1.2 Pengelompokan Orientasi

Tahap berikutnya adalah pembuatan histogram pada tiap sel yang akan digunakan untuk membuat blok deskriptor. Citra dibagi menjadi sel-sel berukuran 8x8 piksel. Gradien piksel tiap sel dikelompokkan berdasarkan orientasi. Gradien piksel tiap sel dibagi menjadi 9 kelompok dalam rentang 0° sampai 180° [3, 4]. Kemudian besaran gradien piksel akan dijumlahkan pada setiap kelompok.

(28)

6

Gambar 2.1 Visualisasi hasil komputasi besaran dan orientasi gradien

[4]

2.1.3 Blok Deskriptor

Proses normalisasi untuk membuat blok deskriptor diawali dengan pengelompokan sel-sel menjadi blok. Setiap blok berukuran 2x2 sel dan setiap sel berukuran 8x8 piksel. Blok yang berdekatan menindih sebagian blok lain yang berdekatan [3].

Pada citra lokal terdapat kontras yang kompleks antara

foreground, background dan pencahayaan. Sehingga rentang nilai

gradien sangat besar dan gradien lokal memerlukan standardisasi yang efektif. Terdapat berbagai macam metode standardisasi, prinsip dasarnya adalah dengan menggabungkan sel-sel menjadi ruangan yang lebih besar dan menstandardisasi setiap blok. Karena setiap blok merupakan hasil sampling data yang padat, maka akan terjadi banyak hallmark yang dihitung berulang kali di blok yang berbeda. Walaupun terdapat data yang sangat banyak, metode yang menggunakan blok-blok yang saling menindih dan penghitungan fitur yang terstandardisasi dapat meningkatkan hasil klasifikasi [5].

(29)

7

Asumsikan bahwa adalah vektor tanpa normalisasi, ‖ ‖ adalah vektor hasil normalisasi dengan metode dimana K = 1, 2. adalah konstanta normalisasi yang kecil untuk menghindari pembagi nol. Terdapat 4 macam metode normalisasi:

Metode L2-Norm:

√‖ ‖

(2.3) Metode L1-Norm:

√‖ ‖ (2.4) Metode L1-Sqrt:

‖ ‖ (2.5)

Metode L2-Hys adalah metode L2-Norm yang dinormalisasi kembali ketika bernilai maksimum 0.2. [5]

Deskriptor hasil normalisasi tersebut disebut dengan deskriptor HOG yang berupa vektor 1-D dengan ukuran sebesar jumlah blok pada citra×jumlah sel pada citra×9 [3]. Deskriptor HOG didapatkan dengan melakukan proses 2.1.1 sampai 2.1.3 pada setiap blok yang ada pada citra. Deskriptor HOG ini kemudian digunakan sebagai acuan proses

object detection.

2.2 Background Subtraction

Tujuan utama dari background subtraction adalah untuk mendeteksi semua objek foreground dengan mengambil frame secara berurutan dari sebuah kamera tetap [6]. Pendekatan paling sederhana adalah dengan mengurangkan citra frame dengan citra background yang statis. Pendekatan ini memerlukan sebuah citra background yang statis, dimana citra tersebut dapat merepresentasikan latar belakang dari objek

foreground suatu citra frame. Citra background tidak selalu tetap, tetapi

mampu beradaptasi dengan berbagai perubahan, seperti kecerahan, getaran pada kamera, dan perubahan geometri background.

(30)

8 I(t) B(t-1) DELAY abs

T

λ

Gambar 2.2 Proses background subtraction dengan 2 frame [7]

Selain menggunakan citra background statis, proses background

subtraction dapat dilakukan dengan mengurangkan frame terbaru

dengan frame sebelumnya. Kemudian hasil pengurangan tersebut di

threshold untuk mengidentifikasi objek foreground. Metode ini lebih

mudah digunakan dan lebih adaptif. Metode ini memerlukan dua frame yang diambil secara berurutan dengan waktu delay tertentu. Objek yang diam akan dianggap sebagai background, sedangkan objek yang bergerak akan terdeteksi. Gambaran proses background subtraction dengan 2 frame dapat dilihat di Gambar 2.2.

2.3 Raspberry Pi 3

Raspberry Pi 3 adalah sebuah Single Board Computer yang berupa komputer papan tunggal yang lengkap dengan mikroprosessor, memori, input/output (I/O) dan fitur lain yang dibutuhkan dari sebuah komputer fungsional. SBC menggunakan memori eksternal seperti kartu SD dan kartu mikro SD. Raspberry Pi adalah komputer papan tunggal (Single Board Computer/SBC) yang memiliki ukuran sebesar kartu kredit. Raspberry Pi bisa digunakan untuk berbagai keperluan seperti

spreadsheet, game, bahkan sebagai media player. Raspberry Pi

dikembangkan oleh Raspberry Pi Foundation yang digawangi sejumlah

developer dan ahli komputer dari Universitas Cambridge, Inggris.

(31)

9

Raspberry Pi 3 yang memiliki prosesor ARM Cortex-A53 1.2GHz quad-core dan RAM 1 GB. Raspberry Pi 3 memiliki prosesor Broadcom BCM2837 ARMv8-A Quad Core 64bit. Dengan RAM 1 GB Raspberry Pi 2 dapat digunakan untuk aplikasi yang lebih besar dan

powerful. GPU pada Raspberry Pi 3 adalah 400MHz VideoCore IV yang

lebih powerful daripada versi sebelumnya. Raspberry Pi 3 dilengkapi dengan 4 buah port USB 2, 40 pin GPIO, 4 pole stereo output dan

composite video port, port HDMI, port 10/100 Ethernet, port CSI untuk

kamera Raspberry Pi, dan port DSI untuk menghubungkan dengan tampilan touch screen. USB port mampu menyediakan arus hingga 1.2A, sehingga mampu memberikan daya lebih untuk perangkat USB yang membutuhkan daya lebih. Gambar 2.4 menunjukkan diagram blok sistem Raspberry Pi 3.

(32)

10

(33)

11

Gambar 2.5 Webcam [10]

2.4 Kamera USB

Kamera USB atau yang sering disebut dengan webcam adalah sebuah kamera digital yang kompak yang dapat dihubungkan ke komputer untuk menampilkan citra secara real time [11]. Kamera USB menerima cahaya melalui lensa, kemudian diteruskan ke suatu kumpulan detektor cahaya berukuran mikroskopik (dapat berupa charge

coupled device (CCD) atau CMOS image sensor). Sensor akan

mengubah intensitas cahaya yang diterima menjadi data digital dengan bantuan rangkaian elektronik. Data digital yang didapat berupa deretan 0 (nol) dan 1 (satu) yang dapat diproses dengan komputer. Kamera USB tidak dilengkapi dengan kartu memori karena fungsinya hanya mengubah sinyal cahaya menjadi sinyal digital yang kemudian dikirimkan ke komputer atau perangkat pemrosesan citra lainnya. Salah satu wujud kamera USB atau webcam dapat dilihat di Gambar 2.5.

(34)

12

Gambar 2.6 Prinsip kerja sensor PIR [12]

2.5 Sensor Passive Infrared

Sensor Passive Infrared (PIR) adalah sensor elektronik yang mengukur cahaya inframerah yang diradiasikan oleh suatu objek yang melewati daerah deteksi sensor. Tujuan dari sensor PIR adalah mendeteksi gerakan dalam suatu daerah tertentu. Sensor ini memiliki 2 bagian yang sensitif terhadap inframerah. Karena pergerakan yang dideteksi, maka sinyal yang dihasilkan oleh sensor mencerminkan perbedaan nilai inframerah antara kedua bagian. Jika kedua bagian menangkap jumlah inframerah yang sama, maka sensor tidak mendeteksi apapun. Tetapi jika satu bagian membaca jumlah inframerah yang lebih atau kurang dari yang lain, maka sensor mendeteksi suatu gerakan dan tegangan output berubah.

(35)

13

Gambar 2.7 Modul sensor PIR [13]

2.6 Open Source Computer Vision

Open Source Computer Vision (OpenCV) adalah sebuah API

(Application Programming Interface) library yang sudah sangat familiar pada bidang pengolahan citra berbasis komputer. Computer vision sendiri adalah salah satu cabang dari bidang ilmu pengolahan citra (Image Processing) yang memungkinkan komputer dapat melihat seperti manusia. Dengan computer vision tersebut komputer dapat mengambil keputusan, mengambil tindakan, dan mengenali suatu objek tertentu. Beberapa implementasi dari computer vision adalah face recognition,

face/object detection, face/object tracking, road tracking, motion detection, dan lain sebagainya.

OpenCV adalah library open source untuk computer vision yang dapat diimplementasikan menggunakan bahasa pemrograman C/C++ , Python, Java dan Matlab/Octave. OpenCV didesain untuk aplikasi

real-time, memiliki fungsi-fungsi akuisisi yang baik untuk citra dan video.

OpenCV juga menyediakan interface ke Integrated Performance

Primitives (IPP) Intel sehingga aplikasi computer vision dapat

dioptimasi jika menggunakan prosesor Intel [14]. Fitur yang dimiliki OpenCV antara lain :

1) Manipulasi data citra (allocation, copying, setting, convert). 2) Input/output citra dan video (input kamera atau file, output citra

atau video).

3) Manipulasi matriks dan vektor beserta fungsi-fungsi aljabar linear (products, solvers, eigenvalues, SVD).

(36)

14

5) Pemrosesan citra fundamental (filtering, edge detection, corner

detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).

6) Analisis struktur (connected components, contour processing,

distance Transform, various moments, template matching,

Hough Transform, polygonal approximation, line fitting, ellipse

fitting, Delaunay triangulation).

7) Kalibrasi kamera (calibration patterns, estimasi fundamental

matrix, homography estimation, stereo correspondence).

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

10) Graphical User Interface (penampilan citra dan video, memroses input dari keyboard dan mouse, scroll-bars).

2.7 Warna

Dengan menggunakan 3 buah reseptor manusia dapat membedakan banyak warna. Warna tricromatic RGB dalam sistem grafis umumnya menggunakan 3 byte, atau sekitar 16 juta kode warna. Dikatakan kode warna dan bukan warna karena manusia tidak dapat membedakan warna sebanyak itu. Mesin dapat membedakan antara berbagai kode warna, namun perbedaan tersebut belum tentu dapat menunjukan perbedaan yang dapat ditangkap oleh mata manusia. Tiap 3 byte pada pixel RGB mencangkup 1 byte pixel untuk tiap warna Red (merah), Green (hijau), Blue (biru) [15].

Gambar direpresentasikan sebagai matrik dengan elemen integer atau piksel. Biasanya piksel tidak disimpan dalam bentuk matrik sederhana, namun menggunakan data yang lebih rumit. Dan terkadang memudahkan secara matematis jika kita beranggapan gambar berwarna sebagai matrik dari vektor tiga dimensi [16].

(2.6)

Bila dibandingkan dengan gambar biasa, gambar grayscale memilki akurasi yang kurang, hal ini terutama dikarenakan warna dapat membantu kita dalam membedakan objek dengan lebih baik. Namun untuk beberapa aplikasi penggunaan warna akan meningkatkan pengeluaran, sehingga tidak diusulkan. Hal ini dikarenakan, tidak hanya karena kamera berwarna yang harganya lebih mahal, juga disebabkan karena dengan menggunakan warna maka diperlukan tiga buah digitizer, dan tiga buah frame untuk memasukkan gambar tersebut. Dan karena

(37)

15

dengan menggunakan gambar berwarna maka diperlukan pemrosesan yang lebih banyak dalam menginterpretasikan gambar berwarna dengan sepenuhnya [17].

Sedangkan pada grayscale, tiap warna direpresentasikan oleh 1 bit piksel, dimana tiap bit dari piksel yang merepresentasikan gambar

grayscale adalah suatu nilai yang menunjukkan nilai intensitas dari

gambar yang berada pada posisi tersebut. Sehingga dapat diproses sebagai entitas tunggal pada komputer. Tidak seperti gambar RGB, yang merupakan suatu set yang berisi tiga bit data, maka diperlukan tiga buah angka untuk merepresentasikan informasi yang ada di dalamnya. Sehingga pada gambar grayscale diperlukan proses komputasi yang lebih sedikit di bila bandingkan dengan gambar berwarna.

2.8 Thresholding

Proses segmentasi citra melibatkan pemisahan citra menjadi beberapa daerah. Salah satu properti yang digunakan sebagai dasar untuk proses segmentasi adalah intensitas. Setiap piksel pada tiap daerah memiliki intensitas yang berbeda-beda. Segmentasi yang menggunakan properti intensitas tiap daerah disebut juga thresholding, yaitu pemisahan daerah intensitas tinggi (terang) dengan daerah intensitas rendah (gelap). Proses thresholding menciptakan citra biner dari citra

grayscale [18].

Library OpenCV menyediakan 5 macam proses thresholding, yaitu binary threshold, inverted binary threshold, truncated threshold, threshold to zero, dan inverted threshold to zero. Secara grafis thresholding dapat dilihat di Gambar 2.8. Secara matematis setiap proses

dinyatakan sebagai berikut:

Binary threshold:

( ) { Jika src(x,y) > thresh yang lainnya

(2.7)

Inverted binary threshold:

( ) {

Jika src(x,y) > thresh yang lainnya

(2.8)

Truncated threshold:

( ) { ( ) Jika src(x,y) > thresh yang lainnya

(38)

16

Threshold to zero:

( ) { ( ) Jika src(x,y) > thresh yang lainnya

(2.10)

Inverted threshold to zero:

( ) { ( ) Jika src(x,y) > thresh yang lainnya

(2.11)

Dimana:

src(x,y): Nilai piksel sebelum thresholding dst(x,y): Nilai piksel setelah thresholding thresh: Nilai batas untuk thresholding

maxVal: Nilai maksimum piksel pada kanal tersebut

(39)

17

Gambar 2.9 Deteksi kontur

2.9 Contour Finding

Kontur adalah sebuah kumpulan titik-titik yang

merepresentasikan sebuah kurva dalam suatu citra. Representasi ini dapat berbeda-beda tergantung dari keadaan yang terjadi [15].

Beberapa model dalam pencarian kontur yang sering dipakai antara lain, pendekatan struktural dengan perluasan daerah, pendekatan stokastik, dan pendekatan variasional, yang berdasarkan berbagai macam strategi seperti level set formulations, meminimalisasi total variasi dari kuantitas tertentu atau fungsi Mumford-Shah, metode kontur aktif dan metode kontur aktif geodesik, snakes, transformasi wavelet, atau gradien bentuk. Pendekatan lain adalah berdasarkan analisis topologi asimptotik yang terdiri dari pendeteksian tepi sebagai retakan [20].

2.10 Konvolusi Citra

Konvolusi mengoperasikan dua buah sinyal (dalam 1D) atau dua buah citra (dalam 2D). Satu sinyal (atau gambar) merupakan input dan yang lain disebut sebagai kernel yang berfungsi untuk memfilter input, dan menghasilkan citra output. Sebuah kernel adalah sebuah matriks kecil yang digunakan pada konvolusi. Kernel dengan ukuran dan nilai yang berbeda akan menghasilkan citra hasil konvolusi yang berbeda juga [21].

Konvolusi citra merupakan konvolusi dikrit pada dua dimensi. Definisi secara matematis ditunjukkan pada persamaan berikut:

(40)

18 Dimana:

I’(u,v): output piksel di koordinat (u,v) I(u,v): input piksel di koordinat (u,v) H(i,j): filter kernel berukuran i × j

Citra input dan output terdiri dari width × height piksel. Konvolusi citra menggunakan filter kernel dilakukan dengan mengalikan citra input dengan filter kernel secara element-wise. Piksel yang sedang dihitung, I’(u,v), adalah jumlah semua piksel I(u,v) pada citra input yang telah dikalikan dengan koefisien pada filter kernel H [22].

(41)

19

BAB III

PERANCANGAN SISTEM

3.1 Perancangan Software

Pada tahap perancangan software Raspberry Pi diprogram untuk mampu mengidentifikasi jumlah orang dan aktivitas. Selain itu, Raspberry Pi juga diprogram untuk dapat melakukan halt secara otomatis. Secara garis besar, perancangan software dapat dilihat pada Gambar 3.1. Software dirancang menggunakan bahasa pemrograman python.

Start

Data jumlah orang Proses Object Detection

dengan HOG Apakah jumlah orang = 0 Proses Background Subtraction Data tingkat aktivitas

Zero people frame = 0

T

Zero people frame = +1

Apakah zero people frame = nilai frame delay T Raspberry Pi halt End Kamera mengambil citra

(42)

20

Start

Memperkecil ukuran citra

Deteksi objek Data jumlah orang Kamera mengambil citra End

Gambar 3.2 Diagram alir proses identifikasi jumlah orang 3.1.1 Identifikasi Jumlah Orang

Proses identifikasi jumlah orang sesuai dengan Gambar 3.2 diawali dengan pengambilan citra dari kamera. Kemudian ukuran citra diperkecil untuk mengurangi waktu deteksi. Selanjutnya citra dideteksi menggunakan sintaks detectMultiScale dengan HOG deskriptor untuk menghitung jumlah orang pada citra yang diambil.

3.1.2 Identifikasi Tingkat Aktivitas

Proses identifikasi tingkat aktivitas menggunakan metode

background subtraction. Proses diawali dengan kamera mengambil citra

pertama. Setelah selang waktu tertentu kamera mengambil citra berikutnya. Kemudian ukuran citra diperkecil dan dilanjutkan dengan mengubah citra menjadi grayscale. Pencarian citra selisih menggunakan sintaks cv2.absdiff. Sintak cv2.absdiff melakukan diferensiasi absolut antara dua matriks citra untuk menghasilkan citra selisih. Citra selisih antara citra pertama dan citra berikutnya kemudian di threshold untuk mendapatkan citra biner.

Proses penghitungan aktivitas diawali dengan mencari kontur pada citra selisih yang telah di threshold. Setelah daerah-daerah kontur ditemukan, maka luasan daerah-daerah tersebut dicari. Apabila luasan daerah tersebut di bawah nilai tertentu, maka pada daerah tersebut dinyatakan tidak ada gerakan atau aktivitas. Apabila luasan daerah

(43)

21

tersebut di atas nilai tertentu, maka pada daerah tersebut dinyatakan terdapat gerakan atau aktivitas. Kemudian daerah-daerah yang terdapat aktivitas dihitung sebagai output identifikasi tingkat aktivitas. Proses penghitungan aktivitas dapat dilihat pada Gambar 3.3

Start

delay

Memperkecil ukuran citra

Selisih citra 1 dan citra 2 Mengubah citra menjadi

grayscale

Threshold

Absolut hasil selisih

A Kamera mengambil citra 1 Kamera mengambil citra 2 Mencari kontur

Mencari luasan kontur

Menghitung luasan kontur yang terdapat aktivitas

Data jumlah aktivitas

A

End

(44)

22

Gambar 3.4 Pin RUN Raspberry Pi 3.1.3 Halt otomatis

Sistem dirancang untuk dapat melakukan halt otomatis. Halt otomatis digunakan untuk mematikan Raspberry Pi dan AC. Raspberry Pi dan AC dimatikan apabila kondisi ruangan tidak memerlukan pendinginan AC yaitu ketika tidak ada orang di dalam ruangan. Proses

halt otomatis diawali dengan penghitungan frame citra dengan data

jumlah orang sama dengan nol. Nilai penghitungan ini disimpan pada variabel zero people frame. Penghitungan dilakukan terus sampai variabel zero people frame sama dengan nilai frame delay. Frame delay adalah sebuah nilai yang harus dicapai sebelum Raspberry Pi dan AC di

halt. Variabel ini diperlukan agar Raspberry Pi dan AC tidak langsung

di halt apabila satu frame memiliki data jumlah orang sama dengan nol. Apabila variabel zero people frame sama dengan nilai frame delay maka Raspberry Pi dan AC di halt. Sekuen halt otomatis dapat dilihat pada Gambar 3.1.

3.2 Perancangan Hardware

Pada tahap perancangan hardware, sistem dirancang untuk dapat menyala otomatis dengan rangkaian reset Raspberry Pi. Raspberry Pi juga dilengkapi dengan LCD sebagai local display. Kamera USB dipasang di port USB Raspberry Pi sebagai perangkat pengambil citra. Diagram pemasangan hardware dapat dilihat di Gambar 3.

(45)

23 Kamera USB Rangkaian Reset Raspberry Pi Raspberry Pi LCD 20×4

Gambar 3.5 Diagram hardware sistem 3.2.1 Rangkaian Reset

Sistem dirancang untuk dapat menyala secara otomatis, karena sistem diharapkan mampu berjalan tanpa bantuan atau campur tangan orang. Sistem didesain untuk menyala kembali ketika kondisi ruangan memerlukan pendinginan AC yaitu ketika terdapat aktivitas orang di dalam ruangan. Aktivitas atau gerakan orang dapat dideteksi dengan sensor PIR.

Penyalaan sistem secara otomatis dilakukan dengan menyalakan kembali (reboot) Raspberry Pi yang dalam kondisi halt. Raspberry Pi dinyatakan dalam kondisi halt yaitu ketika Raspberry Pi tidak melakukan proses apapun walaupun masih menerima suplai daya.

Raspberry Pi dapat di reboot dari kondisi halt dengan

menghubungsingkatkan pin RUN pada Raspberry Pi. Lokasi pin RUN Raspberry Pi 3 berdekatan dengan pin 39 GPIO dan dapat dilihat pada Gambar 3.4.

Raspberry Pi dirangkai dengan sebuah rangkaian reset. Rangkaian reset akan mendeteksi gerakan orang dengan sensor PIR, kemudian sensor PIR mengirim sinyal ke sebuah relay untuk menghubungsingkatkan pin RUN Raspberry Pi. Skematik rangkaian reset dapat dilihat di Gambar 3.6.

(46)

24

Gambar 3.7 Skematik Rangkaian Reset

Komponen yang digunakan: D1, D2: 1N4002 RY1, RY2: HRS2H-S DC5V C2, C3: 470μF/16V C1: 2200μF/16V Q1: IRF9530N TR1: C106D R2: 2KΩ PIR: HC-SR501

Relay RY1 digunakan sebagai pengaman Raspberry Pi. Relay

RY1 yang NC akan menjadi open ketika mendapat sinyal HIGH dari Raspberry Pi. Sinyal HIGH ini menandakan bahwa Raspberry Pi tidak dalam kondisi halt. Pemasangan RY1 ini bertujuan untuk mencegah terjadinya hubung singkat pada pin RUN Raspberry Pi yang sedang berjalan.

Tipe MOSFET Q1 adalah P-Channel dengan VGS(th) bernilai negatif. Ketika output sensor PIR dalam keadaan LOW, maka VGS MOSFET Q1 bernilai negatif, sehingga RDS On dan arus mengalir mengisi kapasitor C1. Ketika sensor PIR mendeteksi gerakan orang, maka output sensor menjadi HIGH. Hal ini mengakibatkan VGS MOSFET Q1 mendekati nol sehingga RDS Off dan menghentikan proses pengisian kapasitor C1. Dalam waktu yang sama output PIR memberikan sinyal HIGH pada SCR TR1 sehingga kapasitor C1 mengeluarkan muatannya ke relay RY2. Hal ini mengakibatkan perubahan pada relay RY2 yang semula NO menjadi closed dan

(47)

25

menghubungsingkatkan pin RUN Raspberry Pi. Ketika seluruh muatan kapasitor C1 dikeluarkan ke relay RY2, SCR TR1 akan berhenti konduksi dan menghalangi arus menuju relay RY2.

3.2.2 LCD Display

Sistem yang dirancang dilengkapi dengan LCD display. Tujuan dari pemasangan LCD display ini adalah sebagai media yang menampilkan informasi tentang keadaan sistem. Informasi yang ditampilkan pada LCD adalah jumlah orang, jumlah aktivitas, suhu AC sekarang, dan FPS. Pin-pin LCD dihubungkan ke port GPIO Raspberry Pi. Pin LCD dan GPIO Raspberry Pi dirangkai sesuai Tabel 3.1. Pin VSS dihubungkan dengan port GROUND, pin VDD dihubungkan dengan port 5V POWER, dan V0 dihubungkan sesuai dengan Gambar 3.8. Resistor R1 bernilai 5KΩ.

Tabel 3.1 Pemasangan port LCD dan GPIO Raspberry Pi

Port LCD GPIO Raspberry Pi

RS RW EN D4 D5 D6 D7 GPIO 10 GPIO 9 GPIO 11 GPIO 6 GPIO 13 GPIO 19 GPIO 26

(48)

26

(49)

27

BAB IV

PENGUJIAN DAN ANALISIS

4.1 Pengujian Jangkauan Sensor PIR

Pengujian ini dilakukan untuk mengetahui seberapa jauh jangkauan PIR dalam mendeteksi gerakan manusia. Sensor PIR diletakkan 75 cm dari tanah.

Tabel 4.1 Hasil pengujian sensor PIR tanpa halangan

Jarak dari sensor (m) Keterangan 1 2 3 4 5 6 7 8 Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi

Dari Tabel 4.1 dapat disimpulkan bahwa sensor PIR mampu mendeteksi sampai 8 m.

(50)

28

Gambar 4.2 Pengujian jangkauan sensor PIR

4.2 Pengujian Detektor Orang

Pengujian ini dilakukan untuk mengetahui unjuk kerja dari penghitung orang menggunakan kamera USB.

4.2.1 Pengujian Penghitung Orang

Pengujian dilakukan untuk mengetahui kemampuan detektor

dalam mengidentifikasi orang. Pengujian dilakukan dengan

menempatkan objek berupa orang pada jarak tertentu. Kamera diletakkan 122 cm dari tanah. Jumlah sampel yang diambil pada pengujian ini sebanyak 22 sampel.

(51)

29

Tabel 4.2 Hasil pengujian penghitung orang

No Sampel Jumlah Orang Jumlah Terdeteksi

1 1 1

2 2 2

3 3 3

(52)

30

No Sampel Jumlah Orang Jumlah Terdeteksi

5 4 3

6 4 3

7 4 2

(53)

31

No Sampel Jumlah Orang Jumlah Terdeteksi

9 2 1

10 2 2

11 3 0

(54)

32

No Sampel Jumlah Orang Jumlah Terdeteksi

13 3 1

14 3 2

15 3 0

(55)

33

No Sampel Jumlah Orang Jumlah Terdeteksi

17 3 0

18 3 3

19 3 1

(56)

34

No Sampel Jumlah Orang Jumlah Terdeteksi

21 3 2

22 3 2

Total 66 41

Dari Tabel 4.2 terhitung total 66 orang dan terdeteksi sebanyak 41 orang. Hasil pengujian ini memiliki nilai kesalahan sebesar 37,87%.

Tabel 4.3 Perbandingan deteksi dengan jurnal lain

Parameter [3] [4] [24] Tugas akhir ini

Jumlah sampel 1178 1000 1178 66

Jumlah terdeteksi 1012 909 1113 41

Error 14,09% 9,10% 5,52% 37,87%

4.2.2 Pengujian Jarak Deteksi Antara Kamera Dengan Orang

Pengujian dilakukan untuk mengetahui jarak minimun dan maksimum detektor dalam mengidentifikasi orang. Pengujian dilakukan dengan menempatkan satu objek orang pada jarak tertentu. Kamera diletakkan 122 cm dari tanah.

(57)

35

Tabel 4.4 Hasil pengujian jarak deteksi orang

Jarak dari kamera (m) Keterangan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Tidak Terdeteksi Tidak Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Terdeteksi Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi Tidak Terdeteksi

Dari data Tabel 4.4 menunjukkan bahwa detektor mampu mendeteksi pada jarak antara 3 m sampai 9 m. Hal ini terjadi karena ukuran piksel objek terlalu besar apabila berjarak kurang dari 3 m. Dan terlalu kecil apabila berjarak lebih dari 9 m.

4.2.3 Pengujian Dengan Orang yang Berdekatan

Pengujian dilakukan untuk mengetahui kemampuan detektor dalam mendeteksi objek yang berdekatan. Pengujian dilakukan dengan menggunakan 2 orang. Jarak antara objek dengan kamera ditetapkan pada satu nilai tertentu.

(58)

36

Tabel 4.5 Hasil pengujian dengan orang berdekatan

Jarak (cm) Sampel Orang 1 Orang 2

150 √ √

(59)

37

Jarak (cm) Sampel Orang 1 Orang 2

90 √ √

60 √ √

(60)

38

Jarak (cm) Sampel Orang 1 Orang 2

0 √ ×

0 √ ×

Keterangan: √: Terdeteksi ×: Tidak Terdeteksi

Dari data Tabel 4.5 dapat dilihat bahwa detektor mampu membedakan 2 orang dari jarak 150 cm sampai 30 cm. Di bawah 30 cm detektor tidak dapat membedakan 2 orang yang saling berdekatan. Hal ini terjadi karena postur 2 orang tersebut berhimpitan, sehingga detektor hanya dapat mendeteksi 1 orang saja.

4.3 Pengujian Detektor Gerakan Orang

Pengujian dilakukan untuk mengetahui kemampuan detektor untuk mendeteksi gerakan orang. Pengujian dilakukan dengan mendeteksi beberapa gerakan. Pada kategori tingkat aktivitas sedikit,

(61)

39

objek melakukan gerakan mengangkat tangan. Pada kategori sedang, objek berjalan bolak-balik di hadapan kamera. Pada kategori gerakan tinggi objek berlari bolak-balik di hadapan kamera. Pada setiap kategori diambil sebanyak 10 sampel. Objek yang bergerak ditangkap oleh kamera yang diletakkan setinggi 122 cm dari tanah. Pengujian dilakukan dengan 3 objek. Objek pertama memiliki tinggi badan 155 cm dan berat badan 57 kg. Objek kedua mempunyai tinggi badan 165 cm dan berat badan 60 kg. Objek ketiga memiliki tinggi badan 163 cm dan berat badan 66 kg. Data yang diambil merupakan luasan daerah putih pada citra biner yang dihasilkan oleh metode background subtraction.

(a) (b)

Gambar 4.2 (a) Hasil deteksi tingkat aktivitas dan (b) citra biner

Gambar 4.3 Grafik luas daerah objek pertama kategori aktivitas sedikit

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel

(62)

40

Gambar 4.4 Grafik luas daerah objek pertama kategori aktivitas sedang

Gambar 4.5 Grafik luas daerah objek pertama kategori aktivitas tinggi

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel 0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel

(63)

41

Gambar 4.6 Grafik luas daerah objek kedua kategori aktivitas sedikit

Gambar 4.7 Grafik luas daerah objek kedua kategori aktivitas sedang

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel 0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel

(64)

42

Gambar 4.8 Grafik luas daerah objek kedua kategori aktivitas tinggi

Gambar 4.9 Grafik luas daerah objek ketiga kategori aktivitas tinggi

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel 0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel

(65)

43

Gambar 4.10 Grafik luas daerah objek ketiga kategori aktivitas sedang

Gambar 4.11 Grafik luas daerah objek ketiga kategori aktivitas tinggi

0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel 0 5000 10000 15000 20000 25000 30000 35000 1 2 3 4 5 6 7 8 9 10 Lu as Daer ah Sampel

(66)

44

Tabel 4.6 Rata-rata luasan hasil deteksi

Kategori

Objek Sedikit Sedang Tinggi

Pertama 4671,9 12752,9 19625,1

Kedua 5105,8 12950,9 18358

Ketiga 5575,2 12828,3 21563,3

Dari data Tabel 4.6 dapat dilihat bahwa semakin tinggi tingkat aktivitas, maka semakin besar pula rata-rata daerah luasan yang dihasilkan. Selain itu, terdapat perbedaan yang signifikan pada rata-rata daerah luasan antarkategori. Sehingga dari hasil tersebut dapat disimpulkan bahwa detektor gerakan dapat membedakan tingkat aktivitas orang.

(67)

45

BAB V

PENUTUP

5.1 Kesimpulan

Telah dirancang sebuah sistem identifikasi jumlah orang dan tingkat aktivitas yang berbasis pengolahan citra serta sebuah sistem yang mampu menyala dan mati sesuai kondisi ruangan. Berdasarkan hasil pengujian dan analisis dapat disimpulkan bahwa sensor PIR dapat digunakan sebagai detektor gerakan orang yang baik sampai jarak 8 m. Metode Histogram of Oriented Gradient yang digunakan dalam sistem dapat diimplementasikan sebagai metode object detection untuk mendeteksi orang dengan kesalahan sebesar 37,87% pada jarak 3 m sampai 9 m. Metode background subtraction dapat digunakan sebagai metode untuk membedakan tingkat aktivitas orang dengan melihat daerah luasan yang dihasilkan.

5.2 Saran

Dari hasil penelitian yang dilakukan, untuk pengembangan berikutnya, disarankan untuk menggunakan multithreading yaitu proses parallel pada komputasi untuk mempercepat proses identifikasi. Selain itu penambahan kamera stereo untuk meningkatkan kemampuan sistem dalam mendeteksi jumlah orang.

(68)

46

(69)

47

DAFTAR PUSTAKA

[1] Fadilla, Nurin. “Building Automation System Berbasis

Mikrokontroler untuk Monitoring dan Kontrol Energi”, Institut

Teknologi Sepuluh Nopember, 2015.

[2] ______, “Ubah Kebiasaan Untuk Efisiensi Konsumsi Listrik di

Indonesia”,

http://thepresidentpostindonesia.com/2016/04/04/ubah-kebiasaan-untuk-efisiensi-konsumsi-listrik-di-indonesia/, 2016. (diakses tanggal 30 Agustus 2016)

[3] Kachouane, M. et.al. “HOG Based Fast Human Detection”, Université Saad Dahlab de Blida, 2012.

[4] Yıldız, Cansın. “An Implementation on Histogram of Oriented

Gradients for Human Detection”, Bilkent University.

[5] LiFei. et.al. “Pedestrian Detection Based On Histogram of

Oriented Gradient in Intelligent Transportations System”,

Shenyang University of Technology, 2013.

[6] Piccardi, Massimo. “Background Substraction Techiques: A

Review”, University of Technology Sydney, 2004.

[7] Ramanan, Deva. “Background Subtraction”, University of California, 2013.

[8] ___, “Raspberry Pi”, https://en.wikipedia.org/wiki/Raspberry_Pi. (diakses 1 September 2016)

[9] Vis, Peter J., “BCM2835 Block Diagram”,

http://www.petervis.com/Raspberry_PI/BCM2835_Block_Diagra m/BCM2835_Block_Diagram.html. (diakses 1 September 2016) [10] ___, “Logitech C170”,

https://www.amazon.co.uk/Logitech-960-000760-C170-Webcam-x/dp/B00544XFIQ. (diakses 1 September 2016)

[11] Woodford, Chris. “Webcam”,

http://www.explainthatstuff.com/webcams.html, 2016. (diakses tanggal 30 Agustus 2016)

[12] Colliard-Piraud, Sylvain. “Signal conditioning for pyroelectric

passive infrared (PIR) sensors”.AN4368, STMicroelectronics,

2013.

[13] ___, “HC-SR501 PIR Sensor Module x 2 - Infrared Body Motion

Sensing”,

https://www.squirrel- labs.net/modules/spatial/movement/hc-sr501-pir-sensor-module-x-2-infrared-body-motion-sensing.html. (diakses 1 September

(70)

48 2016)

[14] Syafi'i, S. I.. “Open Computer Vision (OpenCV)”, 2011 [15] Shapiro, L. et.al. “Computer Vision”, Prentice Hall, 2001. [16] Pavidlis, T. “Algorithms for Graphic and Image Processing”,

2010.

[17] Davies, D. “The Telling Image: The Changing Balance Between

Pictures and Words in Technological Age”, Clarendon Pr, 1990.

[18] Morse, Bryan S. “Thresholding”. Brigham Young University, 2000.

[19] Bradski, Gary. “Learning OpenCV”, O’Reilly Media Inc., 2008. [20] Auroux, Didier. “Contour Detection and Completion for

Inpainting and Segmentation Based on Topological Gradient and Fast Marching Algorithms”, Université de Nice Sophia Antipolis,

2011.

[21] Ludwig, Jamie. “Image Convolution”, Portland State University. [22] Ström, Henrik. “A Parallel FPGA Implementation of Image

Convolution”, Department of Electrical Engineering, Linköping

University, 2016.

[23] Elgammal, Ahmed. “Digital Imaging and Multimedia”, Department of Computer Science Rutgers University.

[24] Said, Yahia. et.al. “Human Detection Based On Integral

Histograms of Oriented Gradients and SVM”, Faculty of

(71)

49

LAMPIRAN

Kode program utama: import numpy as np import cv2

import imutils import time

from imutils.object_detection import non_max_suppression from test7 import *

from lcdku import * from remoteku import * import RPi.GPIO as GPIO from subprocess import call from os import system global hog, capture, firstframe hog = cv2.HOGDescriptor() hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) status = 0 currtemp = 24 powerkey() capture=cv2.VideoCapture(0) _,image = capture.read()

image = imutils.resize(image, width=400)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) firstframe=gray

def detect_ppl():

global hog, capture, firstframe _,image = capture.read()

image = imutils.resize(image, width=400) orig = image.copy()

# detect people in the image

(rects, weights) = hog.detectMultiScale(image, winStride=(4, 4), padding=(16, 16), scale=1.4)

(72)

50 return len(rects)

def detect_act():

global hog, capture, firstframe _, frame = capture.read()

frame=imutils.resize(frame, width=400)

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) frameDelta = cv2.absdiff(firstframe, gray)

alpa=0.5 firstframe=cv2.addWeighted(gray,alpa,firstframe,1-alpa,0) _,thresh = cv2.threshold(frameDelta, 30, 255, cv2.THRESH_BINARY) thresh=cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,None,iterations =3)

thresh = cv2.dilate(thresh, None, iterations=1)

(cnts, _) = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) jumlah=0 for c in cnts: if cv2.contourArea(c) < 800: continue if cv2.contourArea(c)<1500: bobot=1 elif cv2.contourArea(c)<4000: bobot=2 elif cv2.contourArea(c)<9000: bobot=4 else: bobot=8 jumlah=jumlah+bobot return jumlah

zpframe=0 #zero people frame lcd_inisi()

while True:

start=time.time() jml_org=detect_ppl()

(73)

51 jml_akt=detect_act() suhu=fuzzy(jml_org,jml_akt) ubahsuhu(currtemp, suhu) currtemp = suhu end=time.time() seconds=end-start fps=1/seconds lcd_bersih(0) lcd_kexy(1,0) string="Orang: {}".format(jml_org) lcd_tuliss(string) lcd_bersih(1) lcd_kexy(1,1) string="Aktivitas: {}".format(jml_akt) lcd_tuliss(string) lcd_bersih(2) lcd_kexy(1,2) string="Suhu: {}".format(suhu) lcd_tuliss(string) lcd_bersih(3) lcd_kexy(1,3) string="FPS: {}".format(fps) lcd_tuliss(string) if jml_org==0: zpframe=zpframe+1 else: zpframe=0

if zpframe==45: #frame delay=45 print zpframe break capture.release() cv2.destroyAllWindows() matikanac(currtemp) lcd_bersih(0) lcd_bersih(1) lcd_bersih(2) lcd_bersih(3) GPIO.cleanup()

(74)

52 call('halt', shell=False)

(75)

53

BIODATA PENULIS

Daniel Krisrenanto lahir di Pati pada tanggal 19 Maret 1994 dari pasangan Dismas Untung Sudjianto dan Veronica Krestiani. Penulis adalah anak kedua dari 3 bersaudara. Motto yang memotivasinya dalam menjalani hidup adalah everything is going to be

alright.

Perjalanan hidup penulis dalam mengenyam pendidikan dimulai sejak umur 4 tahun dengan masuk TK Kanisius Pati yang kemudian dilanjutkan di SD Kanisius Pati. Setelah lulus SD penulis melanjutkan jenjang ke SMP Negeri 3 Pati. Penulis melanjutkan pendidikannya ke SMA Negeri 2 Pasuruan. Kemudian melanjutkan kuliah di Institut Teknologi Sepuluh Nopember di Jurusan Teknik Elektro dengan bidang Elektronika. Selama kuliah, penulis berkontribusi sebagai asisten Laboratorium Elektronika Dasar.

Gambar

Gambar  2.1  Visualisasi  hasil  komputasi  besaran  dan  orientasi  gradien  [4]
Gambar 2.2 Proses background subtraction dengan 2 frame [7]
Gambar 2.3 Layout Raspberry Pi 3 [8]
Gambar 2.8 Macam-macam thresholding [19]
+7

Referensi

Dokumen terkait

Aktivitas Antibakteri Esktrak Etanol dan Fraksi Kulit Batang Belimbing Wuluh ( Averrhoa bilimbi Linn.) terhadap bakteri Klebsiella pneumoniae dan Staphlococcus

Hasil penelitian menunjukkan bahwa daerah Sihiong, Sinar sabungan dan Lumban Lobu memiliki kelas kemampuan lahan aktual yang sama yaitu pada kelas III(es) dimana kelas III

untuk perlindungan diri terhadap gigitan nyamuk 6. Tidak jauh berbeda dengan hasil penelitian sosial-budaya malaria di daerah Mimika-Papua dimana pengetahuan dan

Dengan bekerjanya Triac maka jika terjadi penurunan daya pada konsumen, sisa daya akan mengalir ke beban komplemen (ballast load), sehingga daya generator senantiasa

syarat tersebut antara lain adalah bahwa ketentuan ini berlaku untuk tindak pidana yang tidak diancam dengan pidana penjara lebih dari 5 tahun atau tidak memiliki pidana

dilaksanakan dengan menggunakan alat ukur theodolit dengan mempedomani hasil rekayasa yang telah ditentukan oleh konsultan dan pihak proyek.Pemasangan bowplank

Tujuan dari penelitian ini adalah menganalisis perubahan kinerja pedagang produk pertanian dan menganalisis faktor-faktor yang memengaruhi perubahan omzet dan keuntungan

dari nilai rata-rata tertinggi konsumsi energi listrik per- type yaitu type dengan kategori paling besar pada setiap kawasan perumahan begitu konsumtif memakai