Implementasi Deep Learning Untuk Mendeteksi Objek Secara Real Time Dengan Tensorflow Lite Berbasis Android Mobile
Dedi Kurniawan
1Ismasari
2Irfantoro
3Program Studi Teknik Informatika,Universitas Pelita Bangsa
JL. Inspeksi kalimalang Tegal Danas , Cikarang Pusat – Kab. Bekasi, Indonesia
[email protected] , [email protected]
ABSTRAK
Komputer memiliki cara belajar yang berbeda yang tidak sama seperti manusia. Salah satu proses pembelajaran mesin, yaitu Supervised Learning. Supervised Learning adalah pembelajaran terarah atau terawasi. Supervised Learning dengan pembelajaran dengan mengajarkan model neural network pengetahuan. Tipe pembelajaran tersebut menyediakan data input dan output dalam proses pembelajaran. Salah satu metode untuk membuat deteksi objek adalah menggunakan pengembangan tensorflow lite berbasis android. Metode tersebut menyediakan model yang dapat di manfaatkan para pengguna android ataupun bisa dikembangkan pada kamera cctv dan kamera laptop. Dari kasus teresebut maka di kembangkanlah suatu sistem aplikasi dengan mengembangkan ilmu artificial intelligence (AI) deep learning atau kecerdasan buatan dengan menggabungkan tensorflow lite berbasis android untuk mendeteksi suatu objek berupa keadaan sekitar.
Kata Kunci: Deep Learning, Object Detection, TensorFlow
I. Pendahuluan
Pembelajaran merupakan sebuah proses perubahan terhadap tingkah laku individu sebagai hasil dari pengalamannya dalam berinteraksi dengan lingkungan.
Belajar bukan hanya sekedar menghafal, melainkan suatu proses mental yang terjadi
dalam diri seseorang. Pembelajaran adalah proses untuk menjadikan makhluk hidup belajar. Proses pembelajaran manusia didapat dari pengalaman yang diperoleh.
Belajar yang dilakukan oleh manusia tidak sama dengan pembelajaran yang dilakukan oleh suatu mesin atau komputer. Komputer memiliki cara belajar yang berbeda yang
tidak sama seperti manusia. Salah satu proses pembelajaran mesin, yaitu Supervised Learning. Supervised Learning adalah pembelajaran terarah atau terawasi.
Supervised Learning dengan pembelajaran dengan mengajarkan model neural network pengetahuan. Tipe pembelajaran tersebut menyediakan data input dan output dalam proses pembelajaran.
Pada dunia pembelajaran mesin dikenal istilah Machine Learning dan Deep Learning. Kedua istilah tersebut mengacu pada pengembangan sistem yang mampu belajar dengan menyediakan data sebagai bahan belajar (training) sebelum mengeluarkan output. Perbedaan dari Machine Learning dan Deep Learning adalah pada Deep Learning pembelajaran dilakukan dengan lebih mendalam dan kompleks. Pengembangan lebih jauh dikenal istilah Computer Vision yang mengajarkan bagaimana komputer dapat melihat. Mesin diharapkan mampu untuk mengekstrak informasi dari data berupa gambar untuk menyelesaikan tugas tertentu. Salah satu teknik Computer Vision adalah dalam hal pendeteksian objek.
Deteksi objek adalah teknik Computer Vision untuk dapat menemukan contoh objek dalam gambar atau video. Algoritma yang digunakan dalam mendeteksi objek memanfaatkan pembelajaran mesin mendalam untuk dapat menghasilkan hasil yang baik. Salah satu metode untuk
membuat deteksi objek adalah menggunakan TensorFlow Object Detection API yang menyediakan berbagai model pra terlatih. Model pra terlatih yang dapat digunakan dalam pembuatan deteksi objek adalah SSD Mobilenet V2. Model tersebut dapat melakukan deteksi objek dengan menghasilkan akurasi dan area terdeteksi untuk keberadaan setiap kategori objek pada suatu gambar. Model ini menghasilkan besar akurasi untuk keberadaan setiap kategori objek.
Sekarang ini dunia berada di era digital. Era dimana hampir setiap aspek di dalam kehidupan manusia sangat berhubungan erat dengan teknologi komputasi. Semakin berkembangnya zaman, manusia terus mengembangkan pengetahuan dan teknologi untuk membantu dan meringankan pekerjaannya.
Salah satu bidang penelitian yang sampai saat ini masih berkembang adalah kecerdasan buatan atau yang lebih dikenal dengan sebutan Artificial Intelligence (AI).
Perkembangan cabang ilmu pengetahuan Artificial Intelligence, salah satunya adalah computer vision. Computer Vision dapat didefinisikan sebagai disiplin ilmu yang mempelajari tentang bagaimana komputer dapat mengenali objek yang diamati atau diobservasi. Dalam computer vision terdapat beberapa permasalahan diantarannya adalah object detection dan image classification.
Terdapat beberapa metode dalam mendeteksi dan mengenali objek pada sebuah gambar, salah satunya adalah metode Convolutional Neural Network (CNN) yang sering digunakan pada data image. Penelitian yang dilakukan oleh Rahmadika (2020) menggunakan metode Convolutional Neural Network dalam melakukan pendeteksian kanker kulit melanoma[2]. Convolutional Neural Network (CNN) merupakan salah satu metode yang terdapat dalam deep learning yang banyak digunakan untuk menyelesaikan permasalahan yang berkaitan dengan object detection dan image classification. Convolutional Neural Network (CNN) banyak digunakan pada penelitian terdahulu karena memiliki tingkat akurasi yang relatif tinggi dan memiliki hasil yang signifikan dalam pengenalan citra[1].
II. Tinjauan Pustaka
1. Object Detection
Deteksi objek (Object Detection) adalah teknik visi komputer untuk menemukan contoh objek dalam gambar atau video. Algoritma deteksi objek biasanya memanfaatkan pembelajaran mesin atau pembelajaran mendalam untuk menghasilkan hasil yang bermakna. Ketika manusia melihat gambar atau video,
manusia dapat mengenali dan menemukan objek dalam beberapa saat berbeda dengan komputer yang memerlukan komputasi yang kompleks. Tujuan deteksi objek adalah untuk mereplikasi kecerdasan yang dimiliki manusia dalam melihat benda menggunakan komputer. Cara kerja deteksi objek adalah deteksi objek menempatkan keberadaan objek dalam gambar dan menggambar kotak pembatas di sekitar objek itu. Ini biasanya melibatkan dua proses, yaitu mengklasikasikan jenis objek, dan kemudian menggambar kotak di sekitar objek itu. Klasikasi gambar dan skenario deteksi objek terlihat serupa. Secara umum, klasikasi adalah mengklasikasikan gambar ke dalam kategori tertentu. Sedangkan objek deteksi adalah mengidentikasi lokasi objek dalam gambar, dan misalnya menghitung jumlah instance suatu objek.
2. Machine Learning
Menurut Shwartz dan David, Machine Learning adalah sebuah pemahaman tentang algoritma untuk mempelajari sesuatu dalam melakukan beberapa hal tertentu yang dilakukan oleh manusia secara otomatis. Belajar dalam hal ini berkaitan dengan bagaimana menuntaskan berbagai tugas yang ada, atau membuat suatu prediksi kesimpulan baru yang akurat dari berbagai pola yang sudah dipelajari sebelumnya. Machine Learning merupakan salah satu bidang yang
termasuk dalam kecerdasan buatan yang dapat mempengaruhi berbagai aspek yang lain yaitu matematika, statistik dan berbagai aspek teoritikal dari komputer sains. Pada dasarnya Machine Learning memiliki tujuan untuk mempelajari sebuah algoritma untuk melakukan sistem belajar secara otomatis dengan kontribusi yang sangat minimal yang dilakukan oleh manusia pada umumnya[9]. Berikut beberapa contoh implementasi dari Machine Learning yang pada umumnya diterapkan:
A. Face Detection: Sebuah sistem yang mampu mengenali wajah dari seseorang untuk memberikan representasi identitas dari orang tersebut.
B. Spam Filtering : Sebuah sistem yang memiliki kemampuan untuk melakukan penyaringan sebuah pesan apakah termasuk spam atau non-spam.
C. Customer Segmentation : Sebuah sistem yang melakukan sebuah prediksi pola perilaku konsumen yang berguna bagi produsen untuk implementasi dan pengaturan biaya dalam hal tertentu misalnya bidang pemasaran. Machine Learning terbagi menjadi 2 macam konsep pembelajaran, yaitu pertama Supervised Learning yang merupakan teknik pembelajaran mesin yang membuat suatu fungsi berdasarkan data latihan yang sudah ada, dalam hal ini
dapat dikatakan untuk teknik ini sudah tersedia data latihan secara detil dan terklasifikasi dengan baik yang akan dijadikan sebuah model data saat dilakukan proses ujicoba dengan data tes yang baru dan menghasilkan hasil keluaran yang sesuai diharapkan sebelumnya berdasarkan data latihan yang ada. Kedua adalah Unsupervised Learning yang merupakan teknik pembelajaran mesin yang berusaha untuk melakukan representasi pola sebuah input yang berasal dari data latihan dan salah satu yang menjadi perbedaan dengan Supervised Learning adalah tidak adanya pengklasifikasian dari input data. Dalam Machine Learning teknik Unsupervised Learning menjadi esensial karena sistem kerja yang diberikan sama dengan cara kerja otak manusia dimana dalam proses pembelajaran tidak ada role model atau informasi dan contoh yang tersedia untuk dijadikan sebagai model dalam melakukan proses ujicoba untuk penyelesaian sebuah masalah dengan data yang baru. Berikut beberapa contoh algoritma dari konsep pembelajaran Supervised Learning dan Unsupervised Learning menurut Vishwanathan dan Smola:
a. Supervised Learning
• Logistic Regression: merupakan suatu teknik statistik yang juga
digunakan untuk penyelesaian masalah dengan menghasilkan sebuah prediksi variabel baru berdasarkan beberapa variabel yang sudah ada dan ditentukan sebelumnya dan mencari hubungan keterkaitan antara variabel input data variabel yang sudah ditentukan dengan variabel output atau variabel prediksi yang baru.
• K-Nearest NeighborsAlgorithm (KNN): merupakan sebuah metode yang digunakan dalam penyelesaian masalah klasifikasi sebuah objek dengan melakukan implementasi featurespace dimana sebuah objek yang menjadi data training dan dijadikan sebuah model data diberikan pembobotan nilai dan direpresentasikan ke dalam n- dimensional vektor. Kemudian penyelesaian masalah dilakukan dengan mengukur jarak terdekat objek baru dengan model data yang ada di dalam n-dimensional vektor lalu dilakukan proses pemberian sebuah kategori pada objek baru tersebut.
b. Unsupervised Learning
Clustering: suatu metode pembentukan pola dasar dari sebuah objek yang digunakan untuk melakukan penyelesaian
permasalahan dalam kasus machine learning seperti klasifikasi atau kategorisasi objek ke dalam sebuah kelas / kategori. Terbentuknya pola dasar ini dilakukan dengan menggunakan beberapa feature yang ditentukan dan hal ini dilakukan karena data yang dijadikan sebagai model data belum terdefinisi kelompok datanya sehingga tidak bisa menentukan klasifikasi sebuah objek, setelah mendapatkan pola dasar yang terbentuk kemudian dapat dijadikan sebuah model data dan dijadikan data training dalam kasus kategorisasi objek baru.
3. Deep Learning
Deep learning merupakan bagian (subset) dan pengembangan dari machine learning. Deep learning terdiri dari beberapa lapisan tersembunyi (hidden layers) yang juga merupakan bagian dari kecerdasan buatan (artificial intellegence).
Metodologi deep learning menerapkan transformasi non-linier dan abstraksi model tingkat tinggi dalam database yang besar.
Perkembangan yang pesat pada arsitektur deep learning di berbagai bidang telah memberikan kontribusi signifikan di dalam kecerdasan buatan (artificial intelligence).
Hal tersebut ditandai dengan banyaknya algoritma-algoritma pada deep learning
yang digunakan di berbagai aplikasi.
Gambaran umum lapisan-lapisan deep learning ditunjukkan pada Gambar 2.6.
Gambar 2.1 Lapisan-lapisan deep learning
Konsep dari deep learning banyak memberikan keuntungan dan semakin berkembang dalam beberapa tahun terakhir ini. Deep learning banyak digunakan dalam berbagai aplikasi kehidupan nyata. Sebagai contoh, dalam pemrosesan gambar digital (digital image processing), grayscale image coloring, biometric dan sebagainya.
Penerapan algoritma deep learning seperti pewarnaan (coloring) dapat dilakukan secara otomatis oleh komputer. Sebagai contoh lain, suara sebagai masukan ke dalam drum video yang diredam (mute drumming video) dengan menggunakan Recurrent Neural Networks (RNN) merupakan bagian dari metode deep learning. Library-library di dalam bahasa pemrograman python yang bisa digunakan untuk aplikasi deep learning yaitu library dlib (deep learning library), tensorflow, keras, theano, pytorch dan lain-lain. Jenis- jenis model deep learning dan kegunaannya ditunjukkan pada Tabel 2.2.
4. Tensorflow
Tensorflow merupakan perpustakaan perangkat lunak yang dikembangkan oleh Tim Google Brain dalam organisasi penelitian Mesin Cerdas Google, untuk tujuan melakukan pembelajaran mesin dan penelitian jaringan syaraf dalam.
Tensorflow menggabungkan aljabar komputasi teknik pengoptimalan kompilasi, mempermudah penghitungan banyak ekspresi matematis dimana masalahnya adalah waktu yang dibutuhkan untuk melakukan perhitungan[12]. Fitur utamanya meliputi:
1. Mendefinisikan, mengoptimalkan, dan menghitung secara efisien ekspresi matematis yang melibatkan array multidimension (tensors).
2. Pemrograman pendukung jaringan syaraf dalam dan teknik pembelajaran mesin.
3. Penggunaan GPU yang transparan, mengotomatisasi manajemen dan optimalisasi memori yang sama dan data yang digunakan. Tensorflow bisa menulis kode yang sama dan menjalankannya baik di CPU atau GPU. Tensorflow akan mengetahui bagian perhitungan yang harus dipindahkan ke GPU.
4. Skalabilitas komputasi yang tinggi di seluruh mesin dan kumpulan data yang besar.
5. Pengertian Android
Android merupakan “sistem operasi yang berisi middleware serta aplikasi- aplikasi basic. Basic sistem operasi android yaitu kernel linux 2.6 yang telah diperbarui untuk perangkat mobile. Pengembangan aplikasi android menggunakan bahasa pemrograman java”.
Android merupakan “suatu sistem operasi mobile yang berbasis pada sistem operasi linux”. Android pertama kali dikembangkan oleh perusahaan startup di California bernama Android, Inc., yang digawangi oleh Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada 2015, Google membeli Android dan mengambil alih proses pengembangannya hingga saat ini. Google merilis versi beta Android SDK (System Development Kit) pada November 2007[13].
Berdasarkan pengertian dari para pakar diatas maka penulis dapat menyimpulkan bahwa Android adalah sebuah sistem operasi untuk perangkat mobile.
III. Metode Penelitian
Dilihat dari jenis informasi yang dikelola maka jenis penelitian ini terbagi menjadi :
1. Pendekatan Penelitian
Pada penelitian ini dibangun dengan pendekatan kuantitatif dimana pendekatan penelitian ini menggunakan skala numerik, berbasis pola alur kumpulkan teori, hasilkan konsep, rumuskan hipotesis, uji hipotesis, tarik kesimpulan dan banyak mengunakan angka, mulai dari pengumpulan data, penafsiran terhadap data tersebut, serta penampilan hasilnya.
2. Jenis Penelitian
Dalam penelitian ini termasuk kedalam penelitian ekperimental karena merupakan penelitian yang bersifat uji coba, mempengaruhi hal-hal yang terkait
dengan seluruh variabel atau atribut dan melibatkan pengembangan dan evaluasi.
3.1 Metode Pengumpulan Data
Pengumpulan data merupakan bagian paling penting dalam sebuah penelitian.
Ketersediaan data akan sangat menentukan dalam proses pengolahan dan analisa selanjutnya. Karenanya, dalam pengumpulan data harus dilakukan teknik yang menjamin bahwa data diperoleh itu benar, akurat dan bisa dipertanggung jawabkan sehingga hasil pengolahan dan analisa data tidak bias. Pengumpulan data bersifat teoritis yang berhubungan dengan penelitian ini. Pengambilan data tersebut dilakukan dengan cara mempelajari literatur-literatur, jurnal-jurnal penelitian, bahan kuliah dan sumber-sumber lain yang ada hubungannya dengan permasalahan
yang dibahas. Pengumpulan data dalam penelitian ini adalah sebagai berikut:
1. Data Primer
Data primer merupakan data yang telah didapatkan melalui penelitian. Adapun penelitian ini dilakukan mengenai object detection realtime. Berikut merupakan sampel data dari 700 images dataset object detection realtime yang diperoleh dalam penelitian:
2. Data Sekunder
Data sekunder yaitu data sebagai pelengkap ataupun sumber teori dari data primer yang didapat dari jurnal, buku, atau internet yang berupa pengertian, konsep serta definisi yang berhubungan dengan penelitian dan penyusunan tugas akhir.
3.2 Teknik Analisis Data
Teknik yang digunakan dalam penelitian ini adalah Deep Learning dengan menggunakan framework Tensorflow Lite.
Langkah teknik analisis data dalam penelitian ini sebagai berikut:
1. Pengambilan Dataset
Pada situs unsplash.com peneliti mendownload data yang sesuai dengan keperluan penelitian yaitu kelas object detection.
Gambar 3.2 Banana Pada Unsplash.com
Gambar 3.3 Laptop Pada Unsplash.com
2. Tahapan Preproses Data
Pada tahap preproses data, seluruh data diberi perlakukan dengan melakukan penyetaraan ukuran data (resizing) dan augmentation data untuk seluruh data train dan data test agar menghasilkan data yang lebih banyak dan lebih bervariasi.
3. Rancangan Tensorflow Lite Dengan Teachable Machine
Langkah selanjutnya adalah melakukan rancangan model tensorflow lite menggunakan teachable machine.
Teachable machine itu sendiri merupakan produk dari Google berupa alat berbasis web yang membuat pembuatan model pembelajaran mesin cepat, mudah, dan dapat diakses oleh semua orang.
4. Perancangan UML
Perancangan UML (Unified Modelling Language) yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software.
Perancangan UML bertujuan dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai macam pemrograman maupun proses rekayasa.
Dalam membuat UML peneliti menggunakan software Draw.io yang dapat diakses melalui browser.
5. Perancangan Antarmuka Android Perancangan desain antarmuka atau interface bertujuan untuk memberikan gambaran struktur, tata letak dan rancangan aplikasi yang akan dibangun dengan detail,
dimana interface nanti mewakili secara keseluruhan sistem aplikasi yang dibuat.
Peneliti dalam merancang antarmuka android menggunakan software Balsamiq Mockups 3.
6. Pemrograman Aplikasi Android (Development)
Setelah itu, tahap yang selanjutnya adalah tahap pemrograman, yakni mengubah perancangan ke dalam bentuk aplikasi atau sistem. Tahap ini juga bertujuan untuk mengetahui bagaimana cara memperoleh dan melakukan penginstalan pada lingkungan yang diharapkan oleh sebuah sistem.
7. Pengujian Software (Blackbox Testing)
Peneliti menggunakan metode pengujian black box, yaitu sutau metode pengujian software yang menekankan pada ketepatan fungsional pada setiap bagian dalam sistem tanpa harus menguji pada bagian isi atau source code dari aplikasi tersebut, tujuan pengujian ialah untuk memastikan semua bagian dalam sistem berjalan sesuai pada alur proses yang telah ditetapkan. Berikut ini adalah tabel pengujian software:
IV. Hasil dan Pembahasan
A. Perancangan UML
Perancangan UML (Unified Modelling Language) yaitu suatu metode permodelan secara visual untuk sarana perancangan sistem berorientasi objek, atau definisi UML yaitu sebagai suatu bahasa yang sudah menjadi standar pada visualisasi, perancangan dan juga pendokumentasian sistem software.
B. Use Case Diagram Yang Berjalan Use case diagram menggambarkan hubungan antara aktor dan kegiatan yang dapat dilakukannya terhadap aplikasi atau sistem. Adapun use case diagram yang berjalan dari sistem ini adalah sebagai berikut:
Gambar 4.8 Use Case Diagram Berjalan Berikut ini adalah deskripsi untuk menggambarkan proses-proses pada Use Case Diagram sebagai berikut:
1. Pengguna (User) jika tidak mengetahui nama objek atau barang akan mencari dengan cara bertanya
pada Google atau kepada orang sekitarnya.
C. Use Case Diagram Yang Diusulkan Use case diagram menggambarkan hubungan antara aktor dan kegiatan yang dapat dilakukannya terhadap aplikasi atau sistem. Adapun use case diagram dari sistem ini adalah sebagai berikut:
Gambar 4.9 Use Case Diagram Yang Diusulkan
Berikut ini adalah deskripsi untuk menggambarkan proses-proses pada Use Case Diagram sebagai berikut:
1. Pengguna (User) membuka aplikasi
‘Deteksi Sekitar’ kemudian akan ditampilkan sebuah loading splashscreen berupa logo aplikasi.
2. Pengguna akan ditampilkan halaman aplikasi yaitu home dimana default kamera berada pada posisi rear camera.
3. Penguna dapat mengakses beberapa menu tambahan.
D. Activity Diagram
Activity Diagram adalah representasi grafis dari seluruh tahapan alur kerja yang mengandung aktivitas, pilihan tindakan, perulangan dan hasil dari aktivitas tersebut.
Adapun activity diagram dari sistem ini adalah sebagai berikut:
Gambar 4.10 Activity Diagram Aplikasi Berikut ini adalah deskripsi untuk menggambarkan proses-proses pada activity diagram sebagai berikut:
1. Pengguna membuka aplikasi yang sudah diinstall pada smartphone android
2. Kemudian aplikasi akan menampilkan halaman splashscreen untuk pertama kalinya
3. Pengguna menggunakan rear camera 4. Kemudian aplikasi akan menampilkan
halaman mode kamera deteksi sekitar
5. Pengguna akan melihat hasil dari deteksi sekitar
E. Sequence Diagram
Sequence diagram menjelaskan interaksi antar objek di dalam dan di sekitar sistem berupa message terhadap waktu.
Diagram ini secara khusus berorientasi dengan Use Case. Sequence Diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu Use Case.
Gambar 4.11 Sequence Diagram Aplikasi
Berikut ini adalah deskripsi untuk menggambarkan proses-proses pada sequence diagram sebagai berikut:
1. Pengguna membuka aplikasi yang sudah diinstall pada smartphone android
2. Kemudian aplikasi akan menampilkan halaman splashscreen untuk pertama kalinya
3. Pengguna menggunakan rear camera 4. Kemudian aplikasi akan menampilkan halaman mode kamera deteksi sekitar
5. Pengguna akan melihat hasil dari deteksi sekitar
F. Tampilan Aplikasi Deteksi Sekitar
Tampilan Page Splashscreen
Halaman ini merupakan tampilan awal dari aplikasi Deteksi Sekitar. Splash screen yang pertama menampilkan logo dari Deteksi Sekitar dan dibawah nya ada nama pengembang aplikasi. Tampilannya adalah sebagai berikut:
Gambar 4.17 Tampilan Page Splashscreen
Tampilan Page Rear Camera
Halaman ini merupakan tampilan setelah page splashscren, pada halaman ini user bisa melakukan pendeteksian objek dengan kamera. Tampilannya adalah sebagai berikut:
Gambar 4.18 Tampilan Page Rear Camera
DAFTAR PUSTAKA
[1] R. Hartanto and M. N. Adji, “Face recognition for attendance system detection,” in Proc. 2018 10th Int.
Conf. Inf. Technol. Electr. Eng.
Smart Technol. Better Soc. ICITEE 2018, pp. 376–381, 2018.
[2] F. Syuhada, I. G. P. Suta Wijaya, and F. Bimantoro, “Pengenalan Wajah Untuk Sistem Kehadiran Menggunakan Metode Eigenface dan Euclidean Distance,” J. Comput.
Sci. Informatics Eng., vol. no. 1, pp.
64–69, 2018.
[3] F. Schroff, D. Kalenichenko and J.
Philbin, “FaceNet: A Unified Embedding for Face Recognition and Clustering,” Juni 2015.
[4] A. Varshney, S. Singh, S. Srivastava, S. Chaudhary and Tanuja,
“Automated attendance system using face recognition,” in Int Research Journal of Engineering and Technology (IRJET), pp. 7118–
7123, May 2019.
[5] P. Hidayatullah, “Pengolahan Citra
Digital Teori Dan Aplikasi Nyata”
Bandung : Informatika, 2017.
[6] Android, Perkembangan Android.
Diakses pada tanggal 30 Maret 2020 pukul 20.15 WIB dari https://toghr.com
[7] Android, Android Designs. Diakses pada tanggal 25 Mei 2020 pukul
09.15 WIB dari
https://appsnipp.com/category/andro id/
[8] J. Andi, “Pembangunan Aplikasi Child Tracker Berbasis Assisted – Global Positioning System ( A-GPS ) Dengan Platform Android,” Jurnal Ilmiah Komputer dan Informatika., vol. 1, no. 1, pp. 1–8, 2015.
[9] Y. Lecun, Y. Bengio, and G. Hinton,
“Deep learning,” Nature, vol. 521, no. 7553, pp. 436–444, 2015.
[10] R. Jain, R. Kasturi, and B. G.
Schunck, “3- Object Reccognition - Machine Vision Cover,” 1995.
[11] Rosa A.S. dan M. Shalahuddin, Rekayasa Perangkat Lunak, Bandung: Informatika, 2016.