5 BAB II
TINJAUAN PUSTAKA 2.1 Raspberry Pi
Raspberry pi biasa disebut dengan mini PC, adalah sebuah SBC (Single-Board Computer) dimana raspberry pi memang berukuran kecil seukuran dengan
kartu kredit. Didalam raspberry pi sudah dilengkapi berbagai fungsi yang lengkap selayaknya komputer pada umumnya hanya saja ukuranya yang kecil. Di dalamnya menggunkan SOC (System-on-a-Chip) ARM yang diintegrasikan dan dikemas diatas PCB (Printed Circuit Board). Raspberry pi memiliki kemampuan untuk menjalankan beberapa sistem oprasi Linux dan aplikasi LibreOffice, peramban web, multimedia seperti audio dan video, ataupun beberapa programming. Mini PC ini dapat untuk menampilkan sebuah gambar kedalam layar TV/HDTV dengan menggunakan koneksi HDMI dan menggunakan kabel RJ45 ke TV standar. [3]
Pada dasarnya Raspberry pi adalah sebuah platform yang sangat fleksibel, ada beberapa hal yng bisa dilakukan oleh Raspberry pi diantaranya adalah :
1. Pada General Purpose Computing Raspberry pi dapat untuk dijadikan sebagai sebuah komputer yang biasa yang kita gunakan untuk sehari-hari dengan cara menghubungkan ke monitor dan dengan mengatur bentuk tampilan pada grafisnya melewati web browser.
2. Didalam Raspberry pi terdapat media belajar pemrograman yang terdapat
interpreter dan juga compiller dari berbagai bahasa untuk pemrograman
contohnya seperti C, Ruby, Java, Perl dan yang lainnya dikarenakan tujuan di awal dari Raspberry pi adalah berguna untuk mendorong anak-anak agar belajar tentang pemrograman.
3. Project pada platform Raspberry pi memiliki kemampuan untuk berintegrasi dengan beberapa alat elektronik yang lain. Contohnya adalah
Raspberry pi dapat digunakan untuk menjadi remote AC.
4. Raspberry pi bisa dijadikan sebagai media center sperti yang dijelaskan pada alinea sebelumnya bahwa didalam Raspberry pi terdapat port HDMI yang dapat langsung dihubungkan pada monitor. Keunggulan ini karena
6
didukung dengan sebuah kekuatan dari prosesor Raspberry pi yang bisa dibilang cukup digunakan untuk memutar atau memainkan video yang full
screen dan high definition. Selain itu didalam Raspberry pi juga sudah ada
XBMC (media player) yang sudah men-support berbagai macam-macam format media file. [5]
Gambar 2. 1 Bentuk Dari Raspberry pi 2.2 Modul Kamera (webcam)
Webcam adalah modul kamera yang merupakan sebuah kamera yang
tujuannya dipergunakan untuk mengambil sebuah foto atau video. Kamera ini memiliki resolusi sebesar 5 megapixel dan sudah mendukung resolusi video sebesar 750p, 1080p dan VGA90. Webcam terhubung atau tersambungb secara seri melalui atau melewati port CSI (Camera Serial Interface) pada 15 pin yang sudah tersedia didalam raspberry pi, saat pengambilan video disarankan untuk dipasang tegak dan juga lurus terhadap suatu objek atau ±90º. [6]
Webcam PC Camera modul dengan spesifikasi sebagai berikut :
Pixel Count : 2592 x 1944(5 megapixel).
View Angle : 65 degrees.
Support : 720p 60fps and 640 x 480p 60/90fps
7
Size : 25mm x 25mm x 10mm.
Weight : 2,8gram
Gambar 2. 2 Bentuk Dari Webcam 2.3 Raspbian OS
Raspbian OS merupakan sebuah sistem operasi yang berbasis Linux distro Debian dimana sistem operasi ini dapat di optimalkan untuk penggunaan sebuah
komputer mini atau biasa disebut dengan Raspberry pi .[7]
Pada sistem operasi ini memiliki program standart dan juga beberapa program pembantu agar dapat membantu menjalankan perangkat keras (hardware) dari PC mini atau Raspberry pi ini. Dalam sistem operasi ini sudah lebih lengap dibandingkan sistem yang memang murni digunakan di dalam komputer pada umumnya karena memiliki 350.00 paket dan juga library pre-compiled yang di dalamnya tersaji bentuk format yang lebih mudah untuk di instalasi pada Raspberry
pi. [4]
2.4 Raspberry pi GPIO pin
Socket GPIO (General Purpose Input Output) adalah pin dimana pin ini
berfungsi sebagai pin socket sebuah inout/output dari perangkat keras (hardware) dan dapat untuk di kendalikan melalui perangkat lunak (software). Socket GPIO ini dapat digunakan untuk menghubungkan dari beberapa perangkat tambahan seperti sensor infra merah atau biasa disebut dengan PIR, layar LCD, lampu LED ataupun perangkat seperti Arduino. [4]
8 2.5 IoT (Internet of Things)
IoT (Internet of Things) adalah merupakan sebuah perkembangan keilmuan dimana IoT dapat untuk mengoptimalkan kehidupan yang berdasarkan sebuah peralatan dan sebuah sensor yang bekerjasma melalui sebuah jaringan internet. [9] Dalam perkembangannya, semua peralatan yang kita gunakan untuk kehidupan sehari-hari dapat untuk dipantau dan juga dikendalikan menggunakan IoT (Internet of Things). Dan kebanyakan proses dilakukan dengan bantuan dari IoT. Sensor diletakkan diberbagai tempat dan sensor ditugaskan untuk mengkonversi data fisik mentah agar di olah untuk menjadi sinyal digital dan dikirimkan kepusat kontrol. Cara ini digunakan agar bisa memonitor perubahan dari jarak jauh pada setiap bagian di dunia melalui internet. [6]
2.6 OpenCV
OpenCV (Open Computer Vision) merupakan library open source dimana OpenCV dikhususkan atau di istimewakan untuk teknik pengolahan sebuah citra,
supaya komputer memiliki kemampuan yang mirip atau serupa dengan cara melakukan pengolahan visual pada manusia. Didalam OpenCV telah disediakan banyak algoritma visi komputer dasar. OpenCV menyediakan juga modul untuk mendeteksi objek yang didalamnya menggunakan sebuah algoritma yaitu algoritma Viola jones.[9]
Viola Jones mengklaifikasikan citra dari beberapa fitur sederhana dengan
mengggunakan 3 buah jenis fitur diantaranya yaitu fitur persegi, fitur 3 persegi, dan yang terakhir adalah fitur empat persegi. Setiap fitur memiliki nilai dan nilai pada bebrapa fitur ini memiliki selisih antara daerah hitam dan juga putih. [10]
Metode Viola Jones memiliki kecepatan dan juga keakuratan yang tinggi dikarenakan metode ini adalah metode penggabungan atas bebrapa konsep diantaranya yaitu konsep Fitur Haar, konsep Citra Integral, konsep AdaBoost, dan yang terakhir adalah konsep Cascade Classifier dari beberapa konsep ini digabungkan sehingga menjadi sebuah metode yang utama untuk mendeteksi sebuah objek. Berbagai macam pengenmbangan yang telah dilakukan oleh
9
kontributor dalam penambahan komponen ke kelasnya OpenCV, sehingga pada
OpenCV hingga saat sekarang ini memiliki lebih dari 500 fugsi. [11]
Dari fitur tersebut yang terdapat didalam OpenCV beberapa diantaranya yang pertama adalah membuat sedemikian rupa data gambar seperti alokasi pada memori, melepaskan sebuah memori, memperbaiki gambar dan juga men-korversi gambar. Yang kedua adalah gambar/video I/O sudah bisa menggunakan dukungan camera pada library ini. Berikutnya yang ketiga adalah manipulasi pada matrix dan vektor dan juga terdapat routnes linier algebra seperti products, eigenvalues,
solvers, dan SVD. Yang selanjutnya adalah yang ke empat image processing dasar
yang meliputi edge detection, pendektesian pada tepi, filtering, pada sampling dan juga interpolasi, konversi untuk warna, operasi morfologi, histograms, dan yang terakhir yaitu image pyramids. Berikutnya adalah analisa yang terstruktur dan kalibrasi/gambar pada kamera. Selanjutnya ialah pendeteksi pada sebuah gerakan. Selanjutnya pengenalan pada sebuah objek seperti hewan, manusia, tumbuhan dan lainnya. Berikutnya adalah basic GUI seperti Display pada sebuah gambar/video,
mouse atau keyboard kontrol, dan scrollbar. Dan yang terakhir adalah image labeling seperti line, conic, polygon dan juga text drawing. [4]
2.7 Eigenface
Eigenface adalah sebuah algoritma deteksi wajah atau biasa disebut dengan face detection yang sedikit mudah atau gampang untuk di implementasikan. Eigenface ini biasanya dipakai sebagai metode untuk bahan pembelajaran
dikarenakan Eigenface merupakan metode yang pertama yang dipergunakan untuk mendeteksi sebuah benda sehingga pada metode inilah yang lumayan lebih sering untuk dipakai. Jikalau berencana untuk memperluas atau lebih mengembangkan metode Eigenface lebih dalam atau lebih lajut maka yang perlu untuk diketahui dengan jelas yaitu mengenai konsep dari kerja dasar dan hal apa saja yang menjadi dasar suatu sistem tersebut. Kalau semisalnya didalam suatu sistem sudah terdapat
database yang dimana didalamnya berisikan tentang gambar beberapa orang
dimana orang ini sudah dikenali lalu pada sistem ditujukan kembali gambar beberapa orang yang belum atau tidak dikenal maka untuk secara global atau umum
10
berikut ini merupakan bebrapa langkah-langkah atau prosedur dari sebuah wajah yang dideteksi. [8]
Yang pertama dilakukan yaitu dengan menghitung dari jarak pada gambar dan akan dibandingkan beberapa gambar didalam database.
Yang kedua yaitu dilakukan memilih sebuah gambar dimana gambar ini adalah gambar yang berada di dalam database dan gambar ini yang mendekati wajah yang ada didalam gambar tersebut.
Yang ketiga yaitu jikalau jarak yang tlah diukur tersebut dan pada hasilnya juga berada diatasnya nilai pada threshold maka pada gambar itu akan dikenal oleh sistem, dan kalau nilainya yang telah dihasilkan oleh gambar lebih kecil maka gambar itu termasuk didalam gambar yang dimana gambar itu tidak akan dikenal oleh sistem, hal itu terjadi dikarenakan sistem hanya akan mengenali gambar yang sudah berada didalam database. Pada algoritma Eigenface untuk menyeluruh lebih sederhana. Pada Image
Matriks (Γ) akan di representasikan kedalam sebuah himpunan matriks (Γ1, Γ2,
…,ΓM). Lalu dilakukan pencarian nilai rata-rata atau mean (Ψ) dan selanjutnya digunakan untuk mengekstrasi eigenvector (v) 10 dan juga eigenvalue (λ) dari matriks. Selanjutnya gunakanlah nilai dari eigenvector agar mendapatkan nilai dari
eigenface dan juga gambar atau image. Apabila sebuah test face (Γnew) atau image
baru yang akan ingin untuk dikenali, maka proses atau tahapan yang sama juga akan berlaku untuk image (Γnew), kalau mengekstrasi eigenvector (v) dan juga
eigenvalue (λ), kemudian yaitu mencari nilai dari eigenface dari yang didapatkan
di image test face (Γnew). Lalu setelah tahapan itu selesai maka image baru (Γnew) memasuki pada tahapan pada pengenalan dengan digunakan kembali metode yang dinamakan euclidean distance. [8]
Tahapan Perhitungan Eigenface
Langkah yang awal yaitu siapkan data yang akan dibuat sebuah himpunan S yang dimana dari himpunan ini terdapat beberapa dari keseluruhan training image (Γ1, Γ2, …, ΓM) S = (Γ1, Γ2, …, ΓM)
11
Langkah yang kedua yaitu mengambil nilai tengah atau biasa disebut dengan mean atau rata-rata(Ψ) M n=1 Ψ = 1 M∑ Γn . . . .(2.1) Langkah yang ketiga yaitu dengan mencari selisih (Ф) diantara training image (Γi) dengan nilai tengah (Ψ)
Фi = Γi − Ψ
. . . .(2.2) Langkah yang keempat yang dilakukan yaitu dengan menghitung nilai matriks kovarian (C) 1 M C = ∑ Ф𝑛 𝑛=1 Ф𝑛 = AA𝑇 A = [Ф 1Ф2, … ФM L = ATA L = ФnФm . . . .(2.3) Langkah yang kelima yaitu dengan menghitung eigenvalue (λ) dan juga eigenvector (v) dari matriks kovarian (C)
C x 𝑣i = λi x 𝑣i
. . . .(2.4) Langkah yang keenam yang harus dilakukan yaitu setelah eigenvector (v) diperoleh, maka eigenface (μ) dapat dicari dengan:
12 M 𝑘 = 1 μ = ∑ 𝑣𝑖𝑘 Ф𝑘 𝑙 = 1, … . , M . . . .(2.5) Tahapan Pengenalan
Saat sebuah gambar atau image wajah yang baru atau biasa dinamakan test
face (Γnew) akan mencoba untuk dikenali, yang pertama yaitu terapkanlah cara
yang ada ditahapan pertama perhitungan pada eigenface untuk didapatkannya sebuah nilai eigenface dari image tersebut.
μ𝑛𝑒𝑤 = 𝑣. (Γ𝑛𝑒𝑤 − Ψ) Ω = [μ1, μ2, … . , μ3]
. . . .(2.6) Selanjutnya gunakanlah metode Euclidean Distance yang bertujuan untuk mencari-cari jarak atau distance yang terpendek diantara nilai eigenface dari training image didalam database dengan eigenface dari image test face.
𝜺 = ||Ω − Ω𝑘||
. . . .(2.7)
2.8 Viola Jones
Metode Viola-Jones adalah sebuah metode yang digunakan untuk pendeteksian objek yang dimana metode ini mempunyai tingkat yang akurat dan tingkatnya cukup tinggi yang berkisar antara 93,7 % dengan memiliki kecepatan yang sekiranya 15 kali lebih-lebih cepat lagi dibandingkan dengan detektor Rowley
Baluja-Kanade dan sekitar 600 kali lebih cepat daripada detektor Schneiderman-Kanade. Paul Viola dan Michael Jones pada saat tahun 2001 telah mengusulkan
13
utama diantaranya yaitu Haar Like Feature, Integral Image, Adaboost learning dan yang terakhir yaitu Cascade classifier. [8]
Haar Like Feature adalah selisih diantara dari jumlah piksel didalam daerah
di sebuah persegi panjang. Berikut ini adalah contoh dari Haar Like Feature dapat untuk dilihat atau disajikan didalam Gambar 2.3. [14]
Gambar 2. 3 Contoh Haar Like Feature
Nilai pada Haar Like Feature sendiri diperoleh dari selisih atau beda pada jumlah dari nilai piksel yang berada di daerah gelap dengan jumlah dari nilai piksel di daerah terang :
F(Haar) = ∑Fwhite∑ FBlack F(Haar) = Nilai Fitur Total
∑ Fwhite= Nilai Fitur Pada Daerah Terang
∑ FBlack= Nilai Fitur Pada Daerah Gelap
Integral Image adalah merupakan teknik yang akan digunakan untuk
menghitung pada nilai pada fitur secara lebih cepat dengan cara mengubah nilai di setiap piksel dan menjadi sebuah representasi citra baru, sebagaimana yang telah disajikan seperti pada Gambar 2.4 dibawah ini.
Gambar 2. 4 Integral Image (x,y)
Berdasarkan pada Gambar 2.4 , citra integral yang terdapat dimana titik (x,y) (ii(x,y)) dapat untuk dicari dengan digunakannya persamaan
ii(x,y)=∑𝑥′≤𝑥,𝑦′≤𝑦 𝑖(𝑥′, 𝑦′) (2) 𝑖𝑖(𝑥, 𝑦) = ∑ 𝑖(𝑥′, 𝑦𝑖)
𝑥′≤𝑥,𝑦′≤𝑦
14
. . . .(2.8) keterangannya :
ii(x,y)= citra integral pada lokasi x,y i(x’,y’)=nilai piksel pada citra asli
Dalam perhitungam pada nilai yang didapat dari suatu fitur dapat untuk dilakukan dengan cara cepat dengan melakukan perhitungan nilai pada citra integral dalam empat buah titik seperti yang diperhatikan pada Gambar 2.5 [14]
Gambar 2. 5 Perhitungan Nilai Fitur
Jika pada nilai dalam Integral Image di titik 1 adalah A,di titik 2 adalah A+B,pada titik 3 itu adalah A+C, dan pada titik 4 itu adalah A+B+C+D, maka jumlah dari piksel didalam daerah D dapat untuk diketahui dengan cara menggabungkan dari jumlah piksel tepat di area segiempat yaitu A+B+C+D lalu dikurangi jumlah yang berada didalam area segi empat yaitu A+B dan A+C setelah itu ditambahkan jumlah piksel yang berada didalam A. Dimna ABCD adalah nilai dari integral. [13]
Selanjutnya yaitu algoritma yang dinamakan Adaboost learning, yang akan dipergunakan untuk lebih ditingkatkannya sebuah kinerja dari klasifikasi dengan sebuah pembelajaran yang sederhana untuk digabungkannnya beberapa classifier yang lemah untuk menjadi suatu satuan classifier yang kuat. Jawaban yang sangat tepat dengan tingkat ketepatan atau kebenaran yang akurat yaitu disebut dengan
Classifier yang lemah. Classifier yang lemah dinyatakan:
hj (𝑥) = {1, 𝑗𝑖𝑘𝑎 𝑝𝑗𝑓𝑗(𝑥) < 𝑝𝑗𝜃𝑗(𝑥) 0, 𝑙𝑎𝑖𝑛𝑛𝑦𝑎} keterangannya ;
15
hj(x) adalah sebuah klasifikasi yang lemah, yaitu parity ke j, adalah
threshold ke j dan x adalah dimensi sub image misalnya 24x24. [12]
Beberapa langkah atau step untuk mendapatkannya sebuah classifier yang kuat dapat dinyatakan didalam suatu algoritma yaitu sebagai berikut :
Misalnya pada contoh seperti gambar ,𝑥1, 𝑦1 ... (𝑥𝑛, 𝑦𝑛) dimana pada 𝑦𝑖= 0 untuk contohkan positif dan juga 𝑦𝑖= 1 untuk sebagai contoh negative Penamaan atau inisialisasi pada beban 𝑦𝑖,1= 1
2𝑚, 1
2𝑙 ; 𝑚 dan 𝑙 adalah jumlah dari negatif dan positif.
Untuk 𝑡 = 1, … … , 𝑇
Untuk dinormalkannya sebuah beban sehingga pada 𝑤𝑡 yaitu distribusi pada probabilitas
𝑤𝑡,𝑖 =← 𝑤𝑡,𝑖 ∑𝑛𝑗=1𝑤𝑡.𝑗
. . . (2.9) Pada setiap fitur, j untuk melatih classifier ℎ𝑗, pada setiap fitur
tunggal.
Kesalahan (∈𝑗) dapat dievaluasi dengan beban 𝑤 𝑡 ∈𝑗= ∑ 𝑖 𝑤𝑖|ℎ𝑗(𝑥𝑖) − 𝑦𝑖
. . . (2.10) Pilihlah classifier ℎ𝑡 yang memiliki eror terkecil dimana pada 𝑒𝑖= 0
adalah sebuah klasifikasi benar, dan 𝑒𝑖= 1 untuk yang lainnya. Untuk memperbarui bobot :
𝑤𝑡+1 𝑖 = 𝑤𝑡.𝑖𝛽𝑡1−𝑒𝑖 . . . (2.11) Dimana : 𝛽𝑡 = 𝜖𝑡 1−𝜖𝑡 ℎ(𝑥) {1, ∑ 𝛼𝑡ℎ𝑡(𝑥) ≥ 1 2∑ 𝛼𝑡 T 𝑡=1 T 𝑡=1 0, 𝑙𝑎𝑖𝑛𝑛𝑦𝑎 } . . . (2.12)
16
dimana :𝑎𝑡= log 1 𝛽𝑡
Cascade classifier yaitu metode dimana metode ini bertujuan untuk
mengkombinasikan atau memadukan atau menggabungkan classifier yang sangat kompleks pada sebuah struktur yang bertingkat dimana struktur ini dapat untuk meningkatkan kecepatan pada saat pendeteksian sebuah objek dengan cara memfokuskan pada daerah atau wilayah citra yang berpeluang saja. [12]
2.9 PIR (Passive Infra Red)
PIR (Passive Infra Red) adalah sebuah sensor yang digunakan untuk mendeteksi pancaran atau sinaran dari sinar infra merah, dimana sensor ini hanya akan menerima pancaran radiasi infra merah dari luar. Sensor ini akan bertugas untuk mendeteksi sebuah gerakan ketika pada sumber infra merah terdapat pada suhu tertentu ada perubahan suhu yang terkena sinar infra merah dalam hal ini adalah manusia. Pada saat manusia melewati sumber infra merah dan kondisi ini berbeda dengan suhu pada lokasi atau benda yang lain seperti halnya dinding, sensor ini secara otomatis akan membandingkan atau membedakan pancaran pada infra merah yang sensor ini terima pada setiap waktu atau satuan waktu, jadi setiap ada gerakan maka akan terjadi pembacaan sensor yang selalu berubah-ubah. [4]
Sensor PIR memiliki 2 elemen sensing yang terhubungkan dengan susunan dan masukan. Sebuah benda yang dapat untuk memancarkan energi panas berarti benda tersebut juga memancarkan radiasi infra merah. Benda ini termasuk berbagai macam makhluk hidup seperti tubuh manusia dan juga hewan. Tubuh hewan dan juga manusia mendapat untuk memancarkan radiasi infra merah terkuat yaitu panjang gelombangnya adalah sebesar 9,4 μm . Radiasi pada infra merah inilah yang akan dipancarkan menjadi sebuah sumber pendeteksi bagi atau untuk sebuah detektor atau pendeteksi panas atau suhu yang akan memanfaatkan radiasi infra merah. [12]
Sensor PIR memiliki karakterisasi sebagai berikut : 1. Tegangan catu daya sebesar 4,7 sampai 12 VDC.
17
3. Output sensor pada tegangan high sebesar 5 VDC. 4. Output pada lebar pulsa adalah sebesar 0,5 s.
2.10 Telegram Messenger
Telegram Messenger adalah sebuah aplikasi chatting atau obrolan seperti
halnya BBM (Blackberry Messenger), dan LINE. Dalam Telegram messenger telah menggunakan sebuah protokol MTProto yang dimana dari protokol ini sudah teruji dengan tingkatan keamanannya karena sebuah proses enskripsi end-to-end yang telah dipergunakan. Seperti halnya dengan aplikasi chatting yang lainnya, dalam
Telegram juga dapat berbagi video, berbagi foto, pesan, location tagging antara
sesama pengunanya. [6]
Banyak kelebihan yang telah ditawarkan oleh Telegram messenger yang tentunya akan sangatlah berguna pada penelitian kali ini seperti pada adanya could pada server telegram messenger serti data-data berbagai percakapan. Di dalam
Telegram messenger terdapat fitur bot dimana fitur ini adalah fitur yang memiliki
kecerdasan yang artifisial dan merupakan fitur yang dapat juga terintegrasi dengan berbagai macam layanan-layanan melalui situs internet. [8]