Anda di halaman 1dari 10

LAPORAN AKHIR

IMPLEMENTASI PENGENALAN WAJAH (FACE RECOGNIZER) DENGAN


MENGGUNAKAN MODEL CONVULATIONAL NEURAL NETWORK (CNN) DEEP
LEARNING

Laporan ini ditunjukkan untuk memenuhi nilai Ujian


Akhir Semester Mata Kuliah Deep Learning
Dosen Pengampu: Edwar Ali, M.Kom

Oleh:
M. FIKRI HIDAYAT
NIM: 2110031802062

PROGRAM STUDI TEKNIK INFORMATIKA


STMIK AMIK RIAU
2022
TINJAUAN PUSTAKA

1. Deep Learning
1.1 Sejarah Deep Learning
Deep Learning adalah bagian dari kecerdasan buatan dan machine learning, yang merupakan
pengembangan dari neural network multiple layer untuk memberikan ketepatan tugas seperti deteksi objek,
pengenalan suara, terjemahan bahasa dan lain – lain. Deep Learning berbeda dari teknik machine
learning yang tradisional, karena deep learning secara otomatis melakukan representasi dari data seperti
gambar, video atau text tanpa memperkenalkan aturan kode atau pengetahuan domain manusia.
Deep Learning dikembangkan pada tahun 1950 namun baru tahun 1990 dapat di aplikasikan dengan
sukses. Learning algoritma yang digunakan sekarang pada task yang komplek hampir sama
seperti learning algoritma yang digunakan untuk menyelesaikan masalah permainan pada tahun 1980,
meskipun model algoritma yang digunakan berubah menjadi training yang sederhana dari arsitektur deep
learning. Hal yang penting pada pengembangan model yang sekarang adalah kita dapat mendukung
dengan resource yang dibutuhkan agar menjadi sukses. Pengembangan data set yang semakin meningkat
menyebabkan data set tersentralisasi yang memudahkan dalam pengelolaannya.
1.2 Pengertian Deep Learning
Deep learning merupakan bagian dari machine learning yang menggunakan Deep Neural Networks
untuk menyelesaikan permasalahan pada domain machine learning. Deep learning menirukan cara berpikir
manusia. Deep learning merupakan metode yang memanfaatkan Artificial Neural Networks yang
berlapislapis (multi layer). Artificial Neural Networks ini dibuat mirip dengan otak manusia, di mana
neuron-neuron terkoneksi satu sama lain sehingga membentuk sebuah jaringan neuron yang sangat rumit.
Deep learning atau deep structured learning atau hierarchial learning atau deep neural merupakan metode
pembelajaran yang memanfaatkan multiple non-linear transformation.
2. Face Recognition
Face recognition adalah sebuah teknologi pengenal wajah yang saat ini tengah dalam masa
pengembangan. Teknologi ini memanfaatkan kecerdasan aritificial intelligence alias AI untuk mengenali
wajah – wajah orang yang sudah terdaftar di database-nya. Singkatnya, dengan fitur face recognition ini
kamera bisa mengenali siapa kalian dari data yang mereka simpan baik dalam cloud server maupun
penyimpanan lainnya.
3. Convolutional Neural Network

Convolutional Neural Network (CNN) adalah salah satu jenis neural network yang biasa digunakan
pada data image. CNN bisa digunakan untuk mendeteksi dan mengenali object pada sebuah image. CNN
adalah sebuah teknik yang terinspirasi dari cara mamalia — manusia, menghasilkan persepsi visual seperti
contoh diatas.

Secara garis besar Convolutional Neural Network (CNN) tidak jauh beda dengan neural network
biasanya. CNN terdiri dari neuron yang memiliki weight, bias dan activation function. Convolutional layer
juga terdiri dari neuron yang tersusun sedemikian rupa sehingga membentuk sebuah filter dengan panjang
dan tinggi (pixels).

3.1 Convolution Layer


Lapisan konvolusi adalah lapisan untuk proses manipulasi gambar agar menghasilkan gambar baru.
Lapisan-lapisan pada CNN bekerja secara hierarki, artinya output dari lapisan pertama akan digunakan
sebagai input pada lapisan selanjutnya. Terdapat banyak parameter yang dapat diubah untuk melakukan
modifikasi sifat tiap lapisan, yaitu kernel, stride dan padding dan lain-lain. Kernel dengan nama lain
(feature detector / filter) dilakukan untuk mengekstraksi objek dari gambar sebagai data masukan.
3.2 Activation Function
Sebelum memasuki ke proses pooling, maka harus menggunakan fungsi aktivasi, fungsi aktivasi
bertujuan untuk menentukan apakah sebuah neuron harus aktif atau tidak berdasarkan dari weighted sum
dari input. Fungsi aktivasi yang digunakan pada penelitian ini yaitu ReLU (Rectifier Linear Unit), karena
ReLU memiliki rentang nilai dari 0 sampai tak hingga. Nilai yang ada pada hasil konvolusi yang bernilai
negative akan diubah dengan aktivasi ini menjadi nol, sehingga dengan menggunakan ReLU, hasil akhir
dari matriks yang didapatkan adalah tetap karena nilai pada elemen matriks tidak ada yang bernilai kurang
dari nol.
3.3 Pooling Layer
Pooling layer merupakan salah satu teknik untuk melakukan proses pencarian fitur yang sudah
didapat di tahap sebelumnya (Convolution). Pooling bekerja dengan mengurangi ukuran matriks
menggunakan operasi pooling (penggabungan). Dari hasil convolution layer pada lapisan sebelumnya,
teknik pooling ini akan mencari fitur dengan tetap mempertahankan fleksibilitas yang tinggi. Ia tidak peduli
apakah gambarnya miring ke kanan, kiri, diputar, dibesarkan dikecilkan, berbeda teksturnya, warnanya dan
lain sebagainya. Ia hanya peduli dengan fitur yang ia cari. Banyak metode pooling yang bisa digunakan
diantaranya yaitu MaxPooling, AveragePooling, SumPooling dan lain – lain.
3.4 Flatten Layer
Flatten merupakan tahapan yang lebih sederhana jika dibanding dengan convolution dan pooling
layer. Tahapan flattening bekerja dengan mengubah dari matriks yang ada di pooling layer menjadi satu
kolom saja (sebuah vektor tunggal). Dimana vektor ini nantinya akan menjadi bagian dari input layer di
lapisan fully connected layer atau ANN (Artificial Neural Network).
3.5 Fully Connected Layer
Pada lapisan ini, hasil dari proses flattening dimasukkan ke dalam struktur ANN (artificial neural
networks) yang utuh. Seperti biasa, ANN terdiri dari 3 bagian, yaitu input layer, hidden layer, dan output
layer. Hal yang perlu diperhatikan adalah di dalam model deep learning ANN (artificial neural networks)
bahwa setiap neuron (nodes) tidaklah harus saling terhubung dengan nodes di depannya. Dalam konteks
CNN, maka semua nodes dari ANN harus terhubung dengan nodes di depan dan di belakangnya, oleh karena
itu disebut dengan Fully connected.
3.6 Output Layer
Output layer merupakan lapisan terakhir pada CNN maupun model deep learning lainnya. Pada
lapisan ini banyak metode ataupun algortima yang bisa digunakan diantaranya binary, sigmoid, softmax
dan lain-lain. Pada penelitian ini, peneliti menggunakan fungsi aktivasi softmax sebagai algoritma output-
nya karena jumlah kelas yang lebih dari dua (multi-class). Fungsi softmax berfungsi untuk menghitung
probabilitas pada semua label untuk semua kelas. Probabilitas tertinggi dari suatu label itu nantinya yang
akan ditampilkan sebagai output pada saat melakukan prediksi.
3.7 Dropout Regularization
Dropout merupakan teknik regularisasi jaringan syaraf (neural network) dimana beberapa akan
dipilih secara random dan tidak dipakai (diputus) selama training. Neuron - neuron ini dibuang juga secara
random. Hal ini berarti bahwa kontribusi neuron yang dibuang akan dihentikan sementara dan bobot baru
juga tidak diterapkan pada neuron. Rate dari dropout berkisar antara 0 hingga 1.
4. Tensorflow
Tensorflow merupakan salah satu library open source untuk pemrograman berbasis data flow (aliran
data). Mempunyai banyak library untuk matematika dan sering digunakan untuk pengaplikasian machine
learning seperti neural networks. Tensorflow sendiri dikembangkan oleh tim Google Brain untuk kegunaan
internal dan pertama kali diperkenalkan pada akhir 2015. Pada tahun 2017 baru versi pertama dari
Tensorflow muncul. Tensorflow bahkan telah digunakan untuk mencegah kebutaan. Caranya, dengan
membantu dokter melakukan filter terhadap retinopati diabetes.
HASIL DAN PEMBAHASAN

1. Pengumpulan Data
Pengumpulan data dilakukan melalui proses pengumpulan foto wajah dengan sampel wajah diri
sendiri, dengan pose wajah acak ataupun pose bebas. Banyaknya sampel dataset yaitu 8. Datasets tersebut
nantinya akan dilakukan preprocessing berupa penyetaraan ukuran data dan augmentation data agar
menghasilkan data yang lebih banyak dan lebih bervariasi. Berikut terdapat jumlah data yang digunakan
sebagai data training.

2. Pembagian Datasets
Pada penelitian ini, penulis membagi datasets menjadi dua yaitu data training dan data testing. Untuk
masing – masing data training dan data testing dibagi menjadi 50% : 50%.
3. Preprocessing Data
Pada tahap preprocessing 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.
4. Membangun Model dan Training Model
Dengan memilih model deep learning yang paling sesuai untuk pembuatan face recognition, dimana
model yang dipilih yaitu CNN (Convolutional Neural Network).

Training data dilakukan untuk melatih model arsitektur dari CNN yang didalamnya terdapat dataset
wajah agar dapat memahami informasi pada data tersebut. Dan di proses training data inilah mesin atau
komputer akan mempelajari pola dan mengekstraksi datasets wajah yang ada berdasarkan model arsitektur
CNN yang telah dibuat. Jika data training mampu mempelajari dan mengeneralisir data dengan baik, maka
kemungkinan data train akan bisa juga mempelajari dan mengeneralisir data baru yakni data testing. Tetapi
jika data training tidak mampu mempelajari dan mengeneralisir data dengan baik, tentunya data training
tidak akan bisa mempelajari dan mengeneralisir data baru (data testing), dimana kondisi ini yang akan
menyebabkan underfitting, underfitting yaitu nilai training accuracy dan validation accuracy yang rendah
serta nilai training loss dan validation loss yang cenderung tinggi.
5. Perbandingan grafik Accuracy dan Loss
Dari hasil percobaan pada gambar diatas, dapat disimpulkan bahwa hasil terbaik diperoleh pada
percobaan ke 1 dengan training accuracy sebesar 43,75 % dan validation accuracy 50 % serta loss training
sebesar 0.6932 dan validation loss 0.6932. Model dengan hasil terbaik inilah yang nantinya akan digunakan
untuk pengujian dalam proses pengenalan (recognition). Berikut perbandingan Akurasi dan Loss
berdasarkan banyaknya jumlah lapisan (layer) dari arsitektur model CNN yang dilatih (trained).
Berdasarkan hasil pelatihan dan pengujian yang telah dilakukan, untuk mengetahui tingkat akurasi
kinerja sistem keseluruhan berdasarkan sampel data uji, maka dilakukan pendekatan statistik yang
berhubungan dengan efektivitas sistem dengan melakukan perbandingan variabel pengujian, sehingga
diperoleh evaluasi dengan menggunakan confusion matrix.

Anda mungkin juga menyukai