Anda di halaman 1dari 10

Real-time Object Detection on Android using Convolution

Neural Network Based in Tensorflow


1,2
Indra Fransiskus Alam, Jayanti Yusmah Sari
1,2
Program Studi Teknik Informatika, Universitas Halu Oleo, Kendari, Indonesia
Email: 1indraa@xlfutureleaders.com, 2nayay17@gmail.com

Abstrak
Pengenalan, klasifikasi dan deteksi pada bidang keilmuan Machine Learning merupakan suatu terobosan yang
terbaik pada kemampuan komputer visi. Mengimplementasikan salah satu metode machine learning yang dapat
digunakan untuk klasifikasi suatu objek yaitu Convolutional Neural Network (CNN) pada perangkat Mobile
merupakan salah satu solusi efektif dalam melakukan proses pengenalan, klasifikasi, dan deteksi objek tertentu.
Metode CNN terdiri dari dua tahap. Tahap pertama adalah klasifikasi objek menggunakan feedforward dan tahap
kedua merupakan tahap pembelajaran dengan metode backpropagation. Sebelum dilakukan klasifikasi, terlebih
dahulu dilakukan pra-proses dengan metode wrapping dan cropping untuk memfokuskan objek yang akan
diklasifikasi. Selanjutnya dilakukan training menggunakan metode feedforward dan backpropagation. Terakhir
adalah tahap klasifikasi menggunakan metode feedforward dengan bobot dan bias yang diperbarui. Hasil uji coba
dari klasifikasi citra objek dengan tingkat confusion yang berbeda pada database (tensorflow_inception_graph.pb)
dengan menggunakan struktur JSON. Menghasilkan nilai rata-rata 29.75% untuk pengenalan, klarifikasi, dan
deteksi pada ratusan objek yang memberikan hasil yang cukup memuaskan.

Kata kunci: Android, Tensorflow, Convolution Neural Network (CNN), Real-Time, Deteksi dan Pengenalan
Objek.

Abstract
Introduction, classification and detection in the field of science Learning Machine is a breakthrough that is best
on the computer vision capabilities. Implementing one machine learning method that can be used for classification
of an object that is Convolutional Neural Network (CNN) on Mobile device is one of effective solution in
conducting process of recognition, classification, and detection of certain object. The CNN method consists of two
stages. The first stage is the classification of the object using feedforward and the second stage is the learning
stage with backpropagation method. Prior to classification, pre-process is done by the method of wrapping and
cropping to focus the object to be classified. Further training is done using feedforward and backpropagation
methods. Last is the classification stage using the feedforward method with the weight and bias being updated.
Trial results from object image classification with different confusion level in database
(tensorflow_inception_graph.pb) using JSON structure.

Keywords: Android, Tensorflow, Convolution Neural Network (CNN), Real-Time, Object Detection and
Introduction.
I. PENDAHULUAN signifikan dalam memodelkan berbagai data
Sebuah sistem autentikasi identitas manusia, kompleks seperti citra dan suara.
hewan, tumbuhan, benda, dan lain-lain yang
Metode Deep Learning yang saat ini memiliki
memiliki akurasi tinggi sangat diperlukan saat ini
hasil paling signifikan dalam pengenalan citra
karena meningkatnya perkembangan Deep Machine
adalah Convolutional Neural Network (CNN) [4].
Learning di Dunia. Secara luas sistem saat ini
Hal tersebut dikarenakan CNN berusaha meniru
menggunakan sistem biometrik seperti kontrol
sistem pengenalan citra pada visual cortex manusia
akses, identifikasi kriminal, autonomous vending,
[5] sehingga memiliki kemampuan mengolah
dan automated banking karena keunikan fitur
informasi citra. Namun CNN, seperti metode Deep
biometrik dan karakteristik yang tidak dapat
Learning lainnya, memiliki kelemahan yaitu proses
dipindah tangankan (non-transferable
pelatihan model yang lama. Dengan perkembangan
characteristic)[1]. Biometrik dibagi menjadi dua
perangkat keras, hal tersebut dapat diatasi
kategori yaitu berdasarkan perilaku seseorang
menggunakan teknologi General Purpose Graphical
seperti ritme mengetik, gaya berjalan atau suara dan
Processing Unit (GPGPU).
berdasarkan fisiologis seperti sidik jari, wajah, iris,
atau tanda tangan.
II. TINJAUAN PUSTAKA
Bagaimana menduplikasi kemampuan manusia
dalam memahami informasi citra, agar komputer A. Convolutional Neural Network
dapat mengenali objek pada citra selayaknya Convolutional Neural Network (CNN) adalah
manusia. Proses feature engineering yang digunakan pengembangan dari Multilayer Perceptron (MLP)
pada ummumnya sangat terbatas dimana hanya yang didesain untuk mengolah data dua dimensi.
dapat berlaku pada dataset tertentu saja tanpa CNN termasuk dalam jenis Deep Neural Network
kemampuan generalisasi pada jenis citra apapun. Hal karena kedalaman jaringan yang tinggi dan banyak
tersebut dikarenakan berbagai perbedaan antar citra diaplikasikan pada data citra. Pada kasus klasifikasi
antara lain perbedaan sudut pandang, perbedaan citra, MLP kurang sesuai untuk digunakan karena
skala, perbedaan kondisi pencahayaan, deformasi tidak menyimpan informasi spasial dari data citra
objek, dan sebagainya. dan menganggap setiap piksel adalah fitur yang
independen sehingga menghasilkan hasil yang
Kalangan akademisi yang telah lama bergelut
kurang baik. CNN pertama kali dikembangkan
pada problem ini. Salah satunya pendekatan yang
dengan nama NeoCognitron oleh Kunihiko
berhasil digunakan adalah menggunakan Jaringan
Fukushima, seorang peneliti dari NHK Broadcasting
Syaraf Tiruan (JST) yang terinspirasi dari jaringan
Science Research Laboratories, Kinuta, Setagaya,
syaraf pada manusia. Konsep tersebut kemudian
Tokyo, Jepang [4]. Konsep tersebut kemudian
dikembangkan lebih lanjut dalam Deep Learning.
dimatangkan oleh Yann LeChun, seorang peneliti
Pada tahun 1989, Yann LeCun dan teman- dari AT&T Bell Laboratories di Holmdel, New
temannya berhasil melakukan klasifikasi citra kode Jersey, USA. Model CNN dengan nama LeNet
zip menggunakan kasus khusus dari Feed Forward berhasil diterapkan oleh LeChun pada penelitiannya
Neural Network dengan nama Convolution Neural mengenai pengenalan angka dan tulisan tangan [1].
Network (CNN)[1]. Karena keterbatasan perangkat Pada tahun 2012, Alex Krizhevsky dengan
keras, Deep Learning tidak dikembangkan lebih penerapan CNN miliknya berhasil menjuarai
lanjut hingga pada tahun 2009 dimana Jurgen kompetisi ImageNet Large Scale Visual Recognition
mengembangkan sebuah Recurrent Neural Network Challenge 2012. Prestasi tersebut menjadi momen
(RNN) yang mendapatkan hasil signifikan pada pembuktian bahwa metode Deep Learning,
pengenalan tulisan tangan [2]. Semenjak itu, dengan khususnya CNN. Metode CNN terbukti berhasil
berkembangnya komputasi pada perangkat keras mengungguli metode Machine Learning lainnya
Graphical Processing Unit (GPU), pengembangan seperti SVM pada kasus klasifikasi objek pada citra.
DNN berjalan dengan pesat. Pada tahun 2012,
B. Konsep CNN
sebuah CNN dapat melakukan pengenalan citra
dengan akurasi yang menyaingi manusia pada Cara kerja CNN memiliki kesamaan pada MLP,
dataset tertentu [3]. Dewasa ini, Deep Learning telah namun dalam CNN setiap neuron dipresentasikan
menjadi salah satu topik hangat dalam dunia dalam bentuk dua dimensi, tidak seperti MLP yang
Machine Learning karena kapabilitasnya yang setiap neuron hanya berukuran satu dimensi.
Pada kasus MLP, sebuah jaringan tanpa hidden
layer dapat memetakan persamaan linear apapun,
sedangkan jaringan dengan satu atau dua hidden
layer dapat memetakan sebagian besar persamaan
pada data sederhana.

Namun pada data yang lebih kompleks, MLP


memiliki keterbatasan. Pada permasalahan jumlah
hidden layer dibawah tiga layer, terdapat pendekatan
Gambar. 1. Arsitektur MLP Sederhana untuk menentukan jumlah neuron pada masing-
masing layer untuk mendekati hasil optimal.
Sebuah MLP seperti pada Gambar. 1. memiliki i
Penggunaan layer diatas dua pada umumnya tidak
layer (kotak merah dan biru) dengan masing-masing
direkomendasikan dikarenakan akan menyebabkan
layer berisi ji neuron (lingkaran putih). MLP
overfitting serta kekuatan backpropagation
menerima input data satu dimensi dan
mempropagasikan data tersebut pada jaringan berkurang secara signifikan.
hingga menghasilkan output. Setiap hubungan antar Dengan berkembangnya deep learning,
neuron pada dua layer yang bersebelahan memiliki ditemukan bahwa untuk mengatasi kekurangan MLP
parameter bobot satu dimensi yang menentukan
dalam menangani data kompleks, diperlukan fungsi
kualitas mode. Disetiap data input pada layer
untuk mentransformasi data input menjadi bentuk
dilakukan operasi linear dengan nilai bobot yang
yang lebih mudah dimengerti oleh MLP. Hal
ada, kemudian hasil komputasi akan ditransformasi
menggunakan operasi non linear yang disebut tersebut memicu berkembangnya deep learning
sebagai fungsi aktivasi. dimana dalam satu model diberi beberapa layer
untuk melakukan transformasi data sebelum data
Pada CNN, data yang dipropagasikan pada diolah menggunakan metode klasifikasi. Hal
jaringan adalah data dua dimensi, sehingga operasi tersebut memicu berkembangnya model neural
linear dan parameter bobot pada CNN berbeda. Pada network dengan jumlah layer diatas tiga. Namun
CNN operasi linear menggunakan operasi
dikarenakan fungsi layer awal sebagai metode
konvolusi, sedangkan bobot tidak lagi satu dimensi
ekstraksi fitur, maka jumlah layer dalam sebuah
saja, namun berbentuk empat dimensi yang
DNN tidak memiliki aturan universal dan berlaku
merupakan kumpulan kernel konvolusi seperti pada
Gambar.2. Dimensi bobot pada CNN adalah: neuron berbedabeda tergantung dataset yang digunakan.
input x neuron output x tinggi x lebar Karena hal tersebut, jumlah layer pada jaringan
serta jumlah neuron pada masing-masing layer
Karena sifat proses konvolusi, maka CNN hanya
dianggap sebagai hyperparameter dan dioptimasi
dapat digunakan pada data yang memiliki struktur
menggunakan pendekatan searching.
dua dimensi seperti citra dan suara.
Sebuah CNN terdiri dari beberapa layer.
Berdasarkan aristektur LeNet5 [8], terdapat empat
macam layer utama pada sebuah CNN namun yang
diterapkan pada TA ini hanya tiga macam lapisan
lantara lain:

1) Convolution Layer
Convolution Layer melakukan operasi
Gambar.2. Proses Konvolusi pada CNN
konvolusi pada output dari layer sebelumnya.
C. Arsiterktur Jaringan CNN Layer tersebut adalah proses utama yang
JST terdiri dari berbagai layer dan beberapa mendasari sebuah CNN.
neuron pada masing-masing layer. Kedua hal Konvolusi adalah suatu istilah matematis yang
tersebut tidak dapat ditentukan menggunakan aturan berati mengaplikasikan sebuah fungsi pada output
yang pasti dan berlaku berbeda-beda pada data yang fungsi lain secara berulang. Dalam pengolahan citra,
berbeda [7]. konvolusi berati mengaplikasikan sebuah
kernel(kotak kuning) pada citra disemua offset yang
memungkinkan seperti yang ditunjukkan pada
Gambar.3. Kotak hijau secara keseluruhan adalah
citra yang akan dikonvolusi. Kernel bergerak dari
sudut kiri atas ke kanan bawah. Sehingga hasil
konvolusi dari citra tersebut dapat dilihat pada
gambar disebelah kanannya.
Tujuan dilakukannya konvolusi pada data citra
adalah untuk mengekstraksi fitur dari citra input. Gambar.4. Operasi Max Pooling
Konvolusi akan menghasilkan transformasi linear
dari data input sesuai informasi spasial pada data. Menurut Springenberg et al. [10], penggunaan
Bobot pada layer tersebut menspesifikasikan kernel pooling layer pada CNN hanya bertujuan untuk
konvolusi yang digunakan, sehingga kernel mereduksi ukuran citra sehingga dapat dengan
konvolusi dapat dilatih berdasarkan input pada mudah digantikan dengan sebuah convolution layer
CNN. dengan stride yang sama dengan pooling layer yang
bersangkutan.

3) Fully Connected Layer

Layer tersebut adalah layer yang biasanya


digunakan dalam penerapan MLP dan bertujuan
untuk melakukan transformasi pada dimensi data
agar data dapat diklasifikasikan secara linear.

Gambar.3. Operasi Konvolusi Setiap neuron pada convolution layer perlu


ditransformasi menjadi data satu dimensi terlebih
2) Subsampling Layer dahulu sebelum dapat dimasukkan ke dalam sebuah
fully connected layer. Karena hal tersebut
Subsampling adalah proses mereduksi ukuran
menyebabkan data kehilangan informasi spasialnya
sebuah data citra. Dalam pengolahan citra,
dan tidak reversibel, fully connected layer hanya
subsampling juga bertujuan untuk meningkatkan
dapat diimplementasikan di akhir jaringan.
invariansi posisi dari fitur. Dalam sebagian besar
CNN, metode subsampling yang digunakan adalah Dalam sebuah jurnal oleh Lin et al., dijelaskan
max pooling. Max pooling membagi output dari bahwa convolution layer dengan ukuran kernel 1 x 1
convolution layer menjadi beberapa grid kecil lalu melakukan fungsi yang sama dengan sebuah fully
mengambil nilai maksimal dari setiap grid untuk connected layer namun dengan tetap
menyusun matriks citra yang telah direduksi seperti mempertahankan karakter spasial dari data. Hal
yang ditunjukkan pada Gambar.4. Grid yang tersebut membuat penggunaan fully connectedlayer
berwarna merah, hijau, kuning dan biru merupakan pada CNN sekarang tidak banyak dipakai.
kelompok grid yang akan dipilih nilai
D. Fungsi Aktivasi
maksimumnya. Sehingga hasil dari proses tersebut
dapat dilihat pada kumpulan grid disebelah Fungsi aktivasi adalah fungsi non linear yang
kanannya. Proses tersebut memastikan fitur yang memungkinkan sebuah JST untuk dapat
didapatkan akan sama meskipun objek citra mentransformasi data input menjadi dimensi yang
mengalami translasi (pergeseran). lebih tinggi sehingga dapat dilakukan pemotongan
hyperlane sederhana yang memungkinkan dilakukan
klasifikasi. Dalam CNN terdapat fungsi aktivasi
digunakan yaitu fungsi sigmoid.

Fungsi sigmoid mentransformasi range nilai dari


input x menjadi antara 0 dan 1 dengan bentuk
distribusi fungsi seperti pada Gambar.5. Sehingga
fungsi sigmoid memiliki bentuk sebagai berikut:
(1)

Fungsi sigmoid sekarang sudah tidak banyak


digunakan dalam praktek karena memiliki
kelemahan utama yaitu range nilai output dari fungsi
sigmoid tidak terpusat pada angka nol.
Hal tersebut menyebabkan terjadinya proses
backpropagation yang tidak ideal, selain itu bobot
pada JST tidak terdistribusi rata antara nilai positif
dan negatif serta nilai bobot akan banyak mendekati
ekstrim 0 atau 1. Dikarenakan komputasi nilai
propagasi menggunakan perkalian, maka nilai
ekstrim tersebut akan menyebabkan efek saturating
gradients dimana jika nilai bobot cukup kecil, maka
lama kelamaan nilai bobot akan mendekati salah satu
ekstrim sehingga memiliki gradien yang mendekati
nol. Jika hal tersebut terjadi, maka neuron tersebut
tidak akan dapat mengalami update yang signifikan
dan akan nonaktif.
Gambar.6. Praproses Citra Input

M u la i

In p u t D a ta

Gambar.5. Distribusi Fungsi Sigmoid C itra

III. METODE PENELITIAN


P r o s e s W r a p p in g
A. Praproses dan Pengolahan Data Input d a n C ro p p in g

Citra masukan akan diolah ke dalam pra proses


yaitu proses wrapping dan cropping. Pada wrapping,
citra masukan dilakukan pengecekan terhadap edge C o n v e r t C itr a
m e n ja d i G r a y M e r u b a h C it r a
dari objek utama pada citra tersebut. Dari edge pada S c a le d a n R e s iz e m e n ja d i V e k t o r
m e n ja d i 1 4 0 x 1 4 0
citra tersebut ditentukan edge maksimalnya sehingga
saat hasil cropping objek pada citra tersebut tetap
utuh seperti pada Gambar.6. Tahap training dimulai
dengan merubah citra menjadi bentuk vektor. M e m p e r ta ja m
C itr a d e n g a n Z C A
Sehingga alur proses pertama berbentuk

S e le s a i

Gambar 7. Pra-proses dan Masukkan


Proses pengolahan data citra dimulai dengan 2) Proses Backpropagation
citra ukuran sembarang yang kemudian dirubah Proses backpropagation merupakan tahap kedua
ukurannya menjadi 140 x 140. Citra tersebut dari proses training. Pada tahap ini seperti yang telah
dijadikan grey scale agar bisa diproses dengan dijelaskan pada sub bab 2.3.6 hasil proses dari feed
mudah pada tahap Training. forward di-trace kesalahannya dari lapisan output
B. Proses Training sampai lapisan pertama. Untuk menandai bahwa
data tersebut telah di-trace diperoleh bobot dan bias
Proses training merupakan tahapan dimana
yang baru.
CNN dilatih untuk memperoleh akurasi yang tinggi
dari klasifikasi yang dilakukan. Tahapan ini terdiri 3. Pemodelan Convolutional Neural Networks
dari proses feed forward dan proses
Konstruksi model jaringan mengacu pada
backpropagation. Untuk memulai proses
arsitektur Convolutional Neural Networks yang
feedforward diperlukan jumlah dan ukuran layer
sudah dibangun. Model berupa persamaan umum
yang akan dibentuk, ukuran subsampling, citra
fungsi transfer antara pola fitur dengan pola fitur
vektor yang diperoleh pada subbab III.A. Proses
lainnya. Berikut hasil model pada setiap layer
feedforward bekerja seperti pada subbab II.C dimana
arsitektur jaringan.
citra vektor akan melalui proses konvolusi dan Max
pooling untuk mereduksi ukuran citranya dan a. Convolutional Layer C1
memperbanyak neuronnya. Sehingga terbentuk
banyak jaringan yang mana menambah variant data
untuk dipelajari. (1)

Hasil dari proses feedforward berupa bobot yang


akan digunakan untuk mengevaluasi proses neural Keterangan variabel dan index pada Convolutional
network tadi. Alur prosesnya seperti pada Gambar.8. Layer C1 adalah sebagai berikut:

: Input gambar
Mulai

1 : Bias konvolusi layer ke-1


1 : Filter konvolusi layer ke-1
I n p u t d a ta FM1 : Feature Map-1
vektor citra S el es ai : Index panjang baris input gambar
: Index panjang kolom input gambar
1 : Index panjang baris filter konvolusi
Inisialisasi M e n g h i tu n g B o b o t layer ke-1
p a r a m e te r C N N dan Bias
1 : Index panjang kolom filter konvolusi
layer ke-1
1 : Index baris feature map layer ke-1
Proses P r os e s
1 : Index kolom feature map layer ke-1
F e e d fo r w a r d Backpropagation 1 : Index jumlah feature pattern ke-1
: Panjang baris input gambar
Gambar.8. Alur Proses Training
: Panjang kolom input gambar
1) Proses Feedforward 1 : Panjang baris filter konvolusi layer ke-
Proses feed forward merupakan tahap pertama 1
dalam proses training. Proses ini akan menghasilkan 1 : Kolom filter konvolusi layer ke-1
beberapa lapisan untuk mengklasifikasi data citra 1 : Panjang baris feature map layer ke-1
yang mana menggunakan bobot dan bias yang telah 1 : Panjang kolom feature map layer ke-1
diperbarui dari proses backpropagation. Tahap ini 1 : Jumlah jumlah feature pattern ke-1
juga akan digunakan kembali saat proses testing.
b. Pooling Layer P2 d. Pooling Layer P4
33+2 33+2
4((4,2 4)) = (4(2) + 4(2)
(2)
3((3,2)3)) (4)
3=24 3=24
Keterangan variabel dan index pada Pooling Keterangan variabel dan index pada Pooling
Layer P2 adalah sebagai berikut: Layer P4 adalah sebagai berikut:

2 : Bias filter pooling layer ke-2 4 : Bias filter pooling layer ke-
2 : Filter pooling layer ke-2 4
2 : Index baris feature map ke-2 4 : Filter pooling layer ke-4
2 : Index kolom feature map ke-2 4 : Index baris feature map ke-
2 : Panjang baris feature map ke-2 4
2 : Panjang kolom feature map ke- 4 : Index kolom feature map
2 ke-4
: Panjang baris feature map ke-4
c. Convolutional Layer C3
3((3,2)3) = : Panjang kolom feature map ke-4
11 31 31
(3(2) + 3((31,,3)2) 2 e. Hidden Layer H5
((31+ )3,3+3) ) (3)
1=0 3=0 3=0 (5)
Keterangan variabel dan index pada 1
Convolutional Layer C3 adalah sebagai berikut:

3 : Bias konvolusi layer ke-3


Keterangan variabel dan index pada hidden
3 : Filter konvolusi layer ke-3
layer H5 adalah sebagai berikut:
FM3 : Feature Map-3
2 : Index kedalaman feature pattern : Neuron hidden layer
ke-2 5 : Bias hidden layer
3 : Index panjang baris filter konvolusi : Bobot hidden layer
layer ke-3 : Index jumlah neuron hidden
3 : Index panjang kolom filter layer
konvolusi layer ke-3 : Jumlah neuron hidden layer
3 : Index baris feature map layer ke-3
3 : Index kolom feature map layer ke-3
2 : Jumlah kedalaman feature pattern f. Output Layer O6
ke- 2 1
3 : Panjang baris filter konvolusi layer (6)
()
= (6() + (()) 5()) (11)
ke-3
3 : Kolom filter konvolusi layer ke-3 =0
3 : Panjang baris feature map layer ke- Keterangan variabel dan index pada neuron
3 layer O6 adalah sebagai berikut:
3 : Panjang kolom feature map layer
: Neuron output layer
ke-3
6 : Bias output layer
: Bobot output layer
: Index jumlah neuron output layer
: Jumlah neuron output layer
4. Konfigurasi parameter Convolutional Neural
Networks
Inisialisasi nilai parameter bobot dilakukan
dengan membagi bilangan acak dari fungsi
standar distribusi normal (0,1) (mean=0 dan
variance=1) dengan akar dari jumlah parameter
bobot:

(7)


: Bilangan acak (random)

: Jumlah parameter bobot

: Standar deviasi

: Mean atau ekspektasi

Sedangkan parameter bias diinisialisasi


dengan angka nol. IV. HASIL DAN PEMBAHASAN

Lingkungan Hardware dan Software


Lingkungan perancangan sistem dibangun dari
C. Proses Testing
dua lingkungan yaitu lingkungan software dan
Proses testing merupakan proses klasifikasi lingkungan hardware. Spesifikasi lingkungan
menggunakan bobot dan bias dari hasil proses perancangan sistem secara lengkap dapat dilihat
training. Proses ini tidak jauh berbeda dengan proses pada tabel 1.
training yang membedakannya tidak terdapat proses
backpropagation setelah proses feedforward. Tabel1. Daftar metode data augmentation
.
Sehingga hasil akhir dari proses ini menghasilkan Lingkungan Spesifikasi
akurasi dari klasifikasi yang dilakukan, data yang
Handphone Acer 2.227-1
gagal diklasifikasi, nomor citra yang gagal
diklasifikasi, dan bentuk network yang terbentuk Hardware
RAM 1 GB
dari proses feedforward.
Camera 3 Mega Pixel
4
Dengan bobot dan bias yang baru proses Sistem Operasi Android 5.1
feedforward diterapkan yang kemudian Software
menghasilkan lapisan output. Lapisan output sudah Tools Android Studio
fully connected dengan label yang disediakan. Hasil
fully connected tersebut diperoleh data yang gagal
dan berhasil diklasifikasi. Dari penjelasan di atas B. Dataset
Berupa data ratusan ekstrasi gambar objek
dengan berbagai kondisi pencahayaan dan
posisi wajah masing-masing individu.
Mengunakan database yang menggunakan
Googles Protocol Buffers dalam bentuk
JavaScript Object Notation atau JSON
(tensorflow_inception_graph.pb).
PERCOBAAN
OBJEK 1 2 3 4 5 MAX
% Urutan % Urutan % Urutan % Urutan % Urutan
Laptop 19.5 1 14.5 2 19.7 1 - - 19.1 2 19.5
Tas 20.2 2 42.0 1 4.7 4 16.0 2 - - 42.0
Botol Minum 45.8 1 13.0 1 - - 6.1 4 5.5 4 45.8
Tempat Sampah 25.5 1 9.4 2 - - - - - - 25.5
Monitor 4.9 5 33.4 1 15.6 1 5.9 3 - - 33.4
Lampu 10.6 4 21.4 1 - - - - 12.2 2 21.4
Parfum Botol 7.6 4 - - - - 12.4 2 - - 12.4
Sepatu 30.7 1 3.3 5 7.4 4 20.9 2 45.0 1 45.0
Handphone 25.0 2 6.7 4 3.3 5 - - 19.8 2 25.0
Socket Listrik 4.1 5 43.5 1 13.3 1 - - 3.2 5 43.5
Lemari 23.3 2 20.8 1 8.0 3 30.2 1 - - 30.2
Jaket 13.3 3 - - 2.6 5 3.5 5 - - 13.3
HASIL 29.75

Uji Coba Training Model

Dataset yang telah dikumpulkan akan dilakukan


uji coba training untuk mendapatkan model
pengenalan objek dengan benar sesuai dataset yang
dimasukkan. Pada tahap training model, diperlukan
input berupa dataset dan nama label. Dataset akan
otomatis bersesuaian dengan nama label. Nama
label yang bersesuain direpresentasikan sebagai
deretan target bipolar. Hasil akhir training Dataset 1
menghasilkan model 1, dataset 2 menghasilkan
model 2, dataset 3 menghasilkan model 3, dan
dataset 4 menghasilkan model 4. Kurva perubahan
nilai error pada uji coba training dataset 1, 2, 3, dan
4 dengan memberikan nilai threshold = 0.01f.

Uji Coba Model


Uji coba model dilakukan dengan menjalankan
implementasi pengenalan wajah secara real-time.
Proses pengenalan dijalankan dengen menangkap
gambar objek yang terdeteksi, lalu proses cropping,
dan dirubah menjadi 224 x 224. Gambar tersebut
akan diambil nilai RGB sesuai fungsi dari
Tensorflow. Hasil ekstraksi akan masuk model dan
dilakukan klasifikasi data.

Gambar 9. Hasil pengenalan objek secara real-time.


Dari hasil perhitungan diambil kesimpulan bahwa DAFTAR PUSTAKA
model dapat melakukan klasifikasi Secara [1] [1] Y. LeCun, "Handwritten Digit Recognition
keseluruhan akurasi seluruh model didapatkan rata- with a BackPropagation Network," 1990.
rata akurasi: 29.75% [2] [2] Wikipedia, ''Feature Learning,"
[Online]. Available:
http://en.wikipedia.org/wiki/Feature_learning.
V. KESIMPULAN DAN SARAN [3] [3] A.Coates, H.Lee and A.Y. Ng, ''An Analysis
of Single-Layer Networks in Unsupervised
Dari hasil pembahasan pada bab Feature Learning,'' 2011.
sebelumnya, dapat ditarik beberapa kesimpulan [4] [4] K. Fukushima, "Neocognitron: A Self-
Organizing Neural Network Model for a
sebagai berikut:
Mechanism of Pattern Recognition Unaffected
1. Konstruksi model Convolutional Neural by Shift in Position," Biological
Cybernetics,1980.
Networks dengan kedalaman 7 layer model
[5] [5] A.Karpathy, ''CS231n Convolutional Neural
konvolusi sebagai pembangun jaringan antara lain Network for Visual Recognition, ''Stanford
input layer, convolutional layer C1, pooling layer University, [Online].Available:
P2, convolutional layer C3, pooling layer P4, hidden http://cs231m.github.io/.
layer H dan output layer F berhasil [6] [6] LISA Lab, ''Deep Learning Tutorial,''
mengklasifikasikan objek dengan rata-rata tingkat [Online]. Available:
http://deeplearning.net/tutorial/contents.html.
akurasi 29.75%. Dengan pencahayaan yang relatif
[7] [7] D. Stathakis, ''How Many Hidden Layers
redup dan tidak terdapat auto focus yang baik. And Nodes?,'' International Journal of Remote
2. Hal ini membuktikan bahwa klasifikasi Sensing, 2008.
menggunakan metode CNN relatif handal terhadap [8] [8] Stanford University, ''An Introduction to
perubahan parameter yang dilakukan. Dengan Convolutional Neural Network," Vision
menggunakan data training yang baik dan optimal, Imaging Science and Technology Lab, Stanford
maka subset dari data training tersebut juga akan University, [Online]. Available:
menghasilkan klasifikasi yang baik. http://white.stanford.edu/teach/index.php/An_I
ntroduction_to_Convolutional_Neural_Networ
3. Perubahan tingkat confusion tidak ks.
mempengaruhi hasil akurasi. Hal ini membuktikan
bahwa klasifikasi menggunakan metode CNN relatif
handal terhadap perubahan parameter yang
dilakukan. Dengan menggunakan data training yang
baik dan optimal, maka subset dari data training
tersebut juga akan menghasilkan klasifikasi yang
baik.
Saran yang diberikan untuk perbaikan dan
kelanjutan dari penelitian ini adalah:
1. Memilih hardware kamera digital yang memiliki
resolusi tinggi dan memiliki fitur autofocus agar
didapatkan gambar yang jelas walaupun obyek
bergerak sehingga dapat meningkatkan kinerja
jaringan sebelum masuk model baik untuk
deteksi dan pengenalan.
2. Melakukan eksplorasi terhadap kedalaman
jaringan Convolutional Neural Networks, jenis
pooling layer, fungsi aktivasi, dan jenis metode
klasifikasi.

Anda mungkin juga menyukai