BAB II TINJAUAN PUSTAKA 2.1 Raspberry Pi
Transcript of BAB II TINJAUAN PUSTAKA 2.1 Raspberry Pi
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
Interface : CSI.
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
metode ini. Dalam metode Viola-Jones menggabungkan sekitar empat buah kunci
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)
𝑖𝑖(𝑥, 𝑦) = ∑ 𝑖(𝑥′, 𝑦𝑖)
𝑥′≤𝑥,𝑦′≤𝑦
(x,y)
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 :𝑎𝑡 = log1
𝛽𝑡
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.
2. Jangkauan pada deteksi sensor sebesar 5 meter pada sudut 0º.
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]