IMPLEMENTASI SISTEM PELACAKAN WAJAH
MENGGUNAKAN ALGORITMA FISHERFACE
UNTUK NAVIGASI MOBILE ROBOT
OLEH :
AHMAD YUSUF ADITAMA
09011381621098
JURUSAN SISTEM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
2020
i
IMPLEMENTASI SISTEM PELACAKAN WAJAH
MENGGUNAKAN ALGORITMA FISHERFACE
UNTUK NAVIGASI MOBILE ROBOT
TUGAS AKHIR
Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
OLEH :
AHMAD YUSUF ADITAMA
09011381621098
JURUSAN SISTEM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS SRIWIJAYA
2020
v
KATA PENGANTAR
Assalamu’alaikum Wr.Wb.
Alhamdulilahirabbil’alamin, puji dan syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan nikmat, taufik, dan hidayah-Nya yang sangat besar dan tidak pernah berhenti kepada penulis sehingga penulis dapat menyelesaikan Tugas Akhir ini yang berjudul “Implementasi Sistem Pelacakan Wajah Menggunakan Algoritma Fisherface Untuk Navigasi Movile Robot”.
Dalam laporan ini penulis menjelaskan mengenai sistem navigasi mobile
robot pada saat bergerak mengikuti wajah seseorang. Penulis berharap agar tulisan
ini dapat bermanfaat bagi orang banyak dan menjadi bahan bacaan bagi yang tertarik untuk melakukan penelitian pada pengenalan wajah dan mobile robot.
Pada kesempatan ini, dengan segala kerendahan hati penulis mengucapkan terima kasih kepada semua pihak atas bantuan, bimbingan, dan saran yang telah diberikan dalam menyelesaikan Tugas Akhir ini, antara lain:
1. Orang tua saya tercinta yang telah membesarkan saya dengan penuh kasih sayang dan selalu mengajarkan saya dalam berbuat hal yang baik.
2. Bapak Jaidan Jauhari, M.T., selaku Dekan Fakultas Ilmu Komputer Universitas Sriwijaya.
3. Bapak Dr. Ir. H. Sukemi, M.T., selaku Ketua Jurusan Sistem Komputer Fakultas Ilmu Komputer Universitas Sriwijaya.
4. Bapak Ahmad Fali Oklilas, M.T., selaku Pembimbing Akademik Jurusan Sistem Komputer.
Bapak Ahmad Zarkasi, M.T., selaku Dosen Pembimbing Tugas Akhir yang telah berkenan meluangkan waktunya guna membimbing, memberikan
vii
IMPLEMENTATION OF FACE TRACKING SYSTEM WITH FISHERFACE ALGORITHM FOR MOBILE ROBOT NAVIGATION
Ahmad Yusuf Aditama (09011381621098)
Computer Engineering Department, Computer Science Faculty, Sriwijaya University
Email : aditama.yussuf@gmail.com
ABSTRACT
Facial Recognition is one of the interesting topics in Computer Vision. The first step to doing facial recognition is face detection. Face detection can be done in real-time or not. There are some difficulties when doing facial recognition, like the difference in lightning levels, the complexity of a face, and the position of the face towards the camera. One method that is quite effective in doing facial recognition is the Fisherface Algorithm. For the implementation, a Raspberry Pi will be used as a Mini Computer that will carry out the face detection and facial recognition. Meanwhile, Arduino will be used as a Mobile Robot actuator to drive Servo Motor and DC Motor. The Mobile Robot that has been designed is expected to be able to track the recognized face. Two servo motors that have been attached to a camera will move according to the position of the face on the camera frame. And two DC motors are used to make the Mobile Robot Move closer to the face to a predetermined limit.
viii
IMPLEMENTASI SISTEM PELACAKAN WAJAH MENGGUNAKAN ALGORITMA FISHERFACE UNTUK NAVIGASI MOBILE ROBOT
Ahmad Yusuf Aditama (09011381621098) Jurusan Sistem Komputer, Fakultas Ilmu Komputer,
Universitas Sriwijaya
Email : aditama.yussuf@gmail.com
ABSTRAK
Pengenalan Wajah merupakan salah satu topik yang menarik dalam
Computer Vision. Langkah awal pada saat melakukan pengenalan wajah adalah
pendeteksian wajah. Deteksi wajah dapat dilakukan secara real-time ataupun juga tidak. Terdapat beberapa kesulitan pada saat melakukan pengenalan wajah, seperti tingkat pencahayaan ruangan yang berbeda-beda, kompleksitas wajah seseorang, dan posisi wajah terhadap kamera. Salah satu metode yang cukup baik pada saat melakukan pengenalan wajah adalah algoritma fisherface. Untuk implementasinya sendiri, sebuah Raspberry Pi akan digunakan sebagai Mini Computer yang akan melakukan proses pendeteksian dan pengenalan wajah. Sementara itu, Arduino akan digunakan sebagai aktuator Mobile Robot untuk menggerakkan Motor Servo dan Motor DC. Mobile Robot yang dirancang ini diharapkan dapat bergerak mengikuti sebuah wajah. Dua buah Motor Servo yang telah terpasang sebuah kamera akan bergerak berdasarkan posisi wajah pada frame kamera. Dan dua buah Motor DC digunakan agar Robot dapat bergerak maju mendekati wajah yang telah berhasil dikenali sampai batas yang telah ditentukan.
ix
DAFTAR ISI
Halaman
HALAMAN JUDUL ...i
HALAMAN PENGESAHAN ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PERNYATAAN...iv
HALAMAN KATA PENGANTAR ... v
ABSTRACT ... vii
ABSTRAK ... viii
DAFTAR ISI ...ix
DAFTAR GAMBAR ... xii
DAFTAR TABEL ...xiv
DAFTAR LAMPIRAN ... xv
BAB I.PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Tujuan dan Manfaat ... 2
1.3 Rumusan Masalah ... 2
1.4 Batasan Masalah ... 3
1.5 Sistematika Penulisan ... 3
BAB II. TINJAUAN PUSTAKA 2.1 Pengolahan Citra Digital ... 5
2.2 Deteksi Wajah ... 7 2.3 Haar-Like Feature ... 7 2.3.1 Integral Image ... 8 2.3.2 Cascade Classifier ... 9 2.4 Pengenalan Wajah ... 9 2.4.1 Fisherface Recognizer ... 10
x
2.4.3 Linear Discriminant Analysis (LDA) ... 12
2.5 Euclidean Distance ... 13
2.6 Mobile Robot Vision ... 13
2.6.1 Raspberry Pi ... 14
2.6.2 Pi Camera ... 15
2.6.3 Motor DC... 16
2.6.4 Motor Driver L298N ... 17
2.6.5 Motor Servo ... 17
BAB III.METODOLOGI PENELITIAN 3.1 Pendahuluan ... 18
3.2 Kerangka Kerja ... 18
3.3 Studi Literatur ... 19
3.4 Perancangan Sistem ... 20
3.5 Perancangan Software (Perangkat Lunak) ... 21
3.5.1 Preprocessing ... 22
3.5.2 Algoritma Haar-Like Feature ... 25
3.5.3 Algoritma Fisherface ... 28
3.5.4 Proses Training ... 30
3.5.5 Face Recognition ... 36
3.5.6 Face Tracking ... 37
3.6 Perancangan Hardware (Perangkat Keras) ... 38
3.6.1 Perancangan Motor Servo ... 41
3.6.2 Perancangan Motor DC ... 42
3.7 Pengujian Sistem ... 42
3.7.1 Pengujian Perangkat Lunak ... 42
3.7.2 Pengujian Perangkat Keras ... 42
3.8 Pengumpulan Data ... 43
3.9 Analisa Sistem ... 43
xi
BAB IV.PENGUJIAN DAN ANALISA
4.1 Pendahuluan ... 44
4.2 Proses Pengumpulan Data ... 44
4.3 Pengujian Perangkat Lunak ... 45
4.3.1 Pengujian Kamera ... 45
4.3.2 Pengujian Deteksi Wajah ... 46
4.3.3 Pengujian Pengenalan Wajah ... 49
4.4 Pengujian Perangkat Keras ... 55
4.4.1 Pengujian Motor Servo ... 56
4.4.2 Pengujian Motor DC ... 58
4.5 Analisa ... 60
BAB V.KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 62
5.2 Saran ... 62
xii
DAFTAR GAMBAR
Halaman
Gambar 2.1 Color Image ... 5
Gambar 2.2 Citra Keabuan (Grayscale) ... 6
Gambar 2.3 Citra Binary ... 6
Gambar 2.4 Haar-Like Feature ... 8
Gambar 2.5 Integral Image ... 8
Gambar 2.6 Proses Cascade Classifier ... 9
Gambar 2.7 Perbandingan PCA dan FLD untuk two-class ... 10
Gambar 2.8 Diagram Raspberry Pi 3 ... 14
Gambar 2.9 Pi Camera ... 16
Gambar 2.10 Motor DC ... 16
Gambar 2.11 Motor Driver L298N ... 17
Gambar 2.12 Motor Servo ... 17
Gambar 3.1 Kerangka Kerja Penelitian ... 19
Gambar 3.2 Blok Diagrak Sistem Pelacakan Wajah ... 20
Gambar 3.3 Flowchart Perancangan Perangkat Lunak ... 22
Gambar 3.4 Nilai Piksel R ... 23
Gambar 3.5 Nilai Piksel G ... 23
Gambar 3.6 Nilai Piksel B ... 23
Gambar 3.7 Nilai Piksel Grayscale ... 25
Gambar 3.8 Flowchart Fitur Haar ... 26
Gambar 3.9 Perhitungan Integral Image ... 27
Gambar 3.10 Hasil Perhitungan Integral Image ... 28
Gambar 3.11 Pembagian Haar-Like Feature ... 28
Gambar 3.12 Diagram Algoritma Fisherface ... 29
Gambar 3.13 Image Wajah Testing ... 30
Gambar 3.14 Flowchart Face Tracking ... 38
Gambar 3.15 Flowchart Gerak Mobile Robot ... 39
xiii
Gambar 3.17 Diagram Wiring Mobile Robot ... 41
Gambar 3.18 Diagram Wiring Motor Servo ... 41
Gambar 3.19 Diagram Wiring Motor DC ... 42
Gambar 4.1 Database Image Wajah ... 45
Gambar 4.2 Posisi frame kamera ... 46
Gambar 4.3 Hasil Pengujian Pi Camera ... 46
Gambar 4.4 Grafik Pengujian Deteksi Wajah ... 48
Gambar 4.5 Grafik Waktu Proses Deteksi Wajah ... 49
Gambar 4.6 Pengujian Pengenalan Wajah (a). User Yusuf (b). User Retno ... 50
Gambar 4.7 Grafik Perbandingan Distance Yusuf & Retno ... 52
Gambar 4.8 Grafik Data Euclidean Distance ... 52
Gambar 4.9 Grafik Perbandingan Data Unknown ... 54
Gambar 4.10 Grafik Waktu Proses Pengenalan Wajah ... 55
Gambar 4.11 Tampak Fisik Mobile Robot ... 56
Gambar 4.12 Posisi Pergerakan Motor Servo ... 57
Gambar 4.13 Grafik Gerak Motor Servo ... 58
Gambar 4.14 Grafik PWM Kedua Motor DC ... 60
xiv
DAFTAR TABEL
Halaman
Tabel 4.1 Hasil Pengujian Deteksi Wajah ... 47
Tabel 4.2 Hasil Pengujian Pengenalan Wajah. ... 50
Tabel 4.3 Tabel Data Jarak Optimum. ... 53
Tabel 4.4 Tabel Intensitas Cahaya Ruangan. ... 53
Tabel 4.5 Hasil Pengujian wajah Unknown. ... 54
Tabel 4.6 Hasil Uji Gerak Motor Servo. ... 57
xv
DAFTAR LAMPIRAN
LAMPIRAN 1 Source Code Pembuatan Database Image Wajah LAMPIRAN 2 Source Code Training
LAMPIRAN 3 Source Code Pengenalan Wajah LAMPIRAN 4 Source Code Mobile Robot
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Pengenalan wajah merupakan salah satu topik yang penting dalam
Computer Vision. Computer Vision sendiri telah banyak diterapkan di banyak
bidang seperti kesehatan, industri, peneltian dan lain-lain. Citra wajah dapat digunakan dalam beberapa sistem untuk mengenali seseorang berdasarkan ciri-ciri yang sesuai dengan citra wajah yang terdapat di database sistem [1]. Database wajah yang akan diproses tersebut bisa didapat dari digital frame ataupun video
frame [2].
Untuk melakukan pendeteksian wajah, dapat dilakukan secara real-time ataupun tidak. Kamera dan sebuah metode dibutuhkan untuk menentukan citra yang didapat oleh webcam termasuk wajah manusia atau bukan, dan juga untuk menentukan informasi yang sesuai dari citra wajah tersebut [3]. Terdapat beberapa kesulitan ketika membuat proses pendeteksian wajah seperti jarak wajah terhadap kamera, tingkat pencahayaan, dan kekompleksan dari kondisi wajah [4].
Terdapat berbagai macam metode untuk melakukan pengenalan wajah seperti Eigenfaces, Local Binary Patterns Histograms (LBPH), Fisherface, dan lainnya. Diantara banyak metode, Fisherface merupakan salah satu metode yang cukup efektif [5].
Pada tugas akhir ini, Raspberry Pi akan digunakan sebagai mini computer untuk melakukan tahap image processing. Untuk pendeteksian wajah, akan digunakan Haar-Like Feature yang terdapat pada metode Viola-Jones. Sedangkan untuk pengenalan wajah, metode yang akan digunakan adalah Fisherface. Sistem ini akan diprogram dengan bahasa pemrograman Python. Prinsip dasar pengenalan wajah menggunakan metode Fisherface sendiri adalah mereduksi dimensi ruang wajah menggunakan gabungan dari metode Principal Component Analysis (PCA) dan Fisher's Linear Discriminant (FDL) dengan tujuan untuk mendapatkan karakteristik gambar [6].
2
Untuk pendeteksian wajah, digunakan Haar-Like Feature dengan data yang telah di training. Proses training akan menggunakan algoritma Fisherface yang akan digunakan untuk mengenali wajah yang telah terdeteksi. Ketika ada wajah yang terdeteksi, Mobile Robot akan mencoba untuk mengenali pemilik wajah, jika wajah yang terdeteksi berhasil dikenali oleh Mobile Robot, maka Mobile Robot tersebut akan maju menuju ke wajah sampai skala wajah pada kamera telah mencapai batas yang telah ditentukan.
1.2. Tujuan dan Manfaat
Tujuan dari penelitian ini adalah sebagai berikut:
1. Membuat sebuah sistem yang dapat mendeteksi sebuah wajah menggunakan algoritma Haar-like feature.
2. Membuat sistem yang dapat mengenali wajah pemiliknya menggunakan metode Fisherface.
3. Membuat sistem yang dapat melakukan pelacakan wajah menggunakan Motor Servo.
4. Membuat Mobile Robot yang dapat bergerak mengikuti wajah.
Adapun manfaat yang diambil dalam penelitian ini adalah:
1. Menerapkan suatu sistem interaksi antara robot dan manusia berdasarkan citra wajah.
2. Mempermudah interaksi antara robot dan manusia.
3. Menghasilkan sistem pada sebuah Mobile Robot dengan menggunakan algoritma Fisherface yang dapat mengenali wajah.
1.3. Rumusan Masalah
Berdasarkan latar belakang yang dituju, maka rumusan masalahnya adalah bagaimana merancang mobile robot yang dapat mengenali wajah dari pemilik menggunakan algoritma Fisherface. Kemudian, jika wajah tersebut dikenali oleh sistem, maka robot akan bergerak menuju kearah pemilik wajah sampai batas yang akan ditentukan.
3
1.4. Batasan Masalah
Dengan merujuk pada rumusan masalah yang telah dijelaskan sebelumnya dan untuk lebih memfokuskan topik penelitian maka penulis membuat batasan masalah:
1. Haar-Like Feature digunakan sebagai pendeteksi ciri wajah pada frame kamera.
2. Robot dapat membedakan wajah yang dikenal dan tidak berdasarkan algortima
Fisherface.
3. Ciri wajah yang akan dilatih adalah mata.
4. Menggunakan Raspberry Pi sebagai mini computer untuk melakukan image
processing.
5. Arduino akan digunakan sebagai aktuator robot. 6. Bahasa pemrograman yang digunakan adalah Python.
7. Robot hanya akan bergerak maju menuju arah wajah yang dikenali sampai batas yang telah ditentukan.
1.5. Sistematika Penulisan
Penyusunan laporan tugas akhir ini, penulis membuat sistematika penulisan untuk mempermudah mengetahui isi dari setiap bab yang dibuat pada laporan tugas akhir ini. Adapun seitematika penulisan laporan tugas akhir sebagai berikut:
BAB I. PENDAHULUAN
Bab ini menjelaskan tentang latar belakang masalah, tujuan dan manfaat, perumusan masalah, batasan masalah, metodologi penelitian, serta sistematika penulisan
BAB II.TINJAUAN PUSTAKA
Bab ini menjelaskan tentang kerangka teori dasar yang dibutuhkan untuk
4
BAB III.METODELOGI
Bab ini menjelaskan tentang langkah-langkah (metodologi) perancangan
sistem pada tugas akhir ini..
BAB IV.PENGUJIAN DAN ANALISA
Bab ini menjelaskan tentang hasil dari pengujian yang telah dilakukan, dari hasil tersebut akan dilakukan analisa agar mendapatkan data yang akurat.
BAB V. KESIMPULAN
Bab ini akan menjelaskan tentang kesimpulan yang didapat dari data penelitian yang telah dilakukan. Dan saran yang diharapkan dapat membuat penelitian ini dikembangkan lebih baik.
63
DAFTAR PUSTAKA
[1] Akhyar, R. Hidayat, and B. Hantono, “Identifikasi Fitur Wajah Dengan Menggunakan Facial Points Dan Euclidean Distance,” Citee, pp. 154–160, 2017, [Online]. Available:
http://citee.ft.ugm.ac.id/2017/download51.php?f=27- Akhyar - Identifikasi Fitur Wajah Dengan.pdf.
[2] A. Zarkasi et al., “Face Movement Detection Using Template Matching,”
Proc. 2018 Int. Conf. Electr. Eng. Comput. Sci. ICECOS 2018, no.
October, pp. 333–338, 2019, doi: 10.1109/ICECOS.2018.8605215.
[3] D. Suprianto, R. N. Hasanah, and others, “Sistem Pengenalan Wajah Secara Real-Time dengan Adaboost, Eigenface PCA & MySQL,” J. EECCIS, vol. 7, no. 2, pp. 179–184, 2014.
[4] A. Hendrotriatmoko, S. Hadi, and H. S. Dachlan, “Penggunaan Metode Viola-Jones dan Algoritma Eigen Eyes dalam Sistem Kehadiran Pegawai,” vol. 8, no. 1, pp. 41–46, 2014.
[5] S. Shan, B. Cao, W. Gao, and D. Zhao, “Extended fisherface for face reocognition from a single example image per person,” Proc. - IEEE Int.
Symp. Circuits Syst., vol. 2, no. February, 2002, doi:
10.1109/iscas.2002.1010929.
[6] C. Series, “Face Recognition Using Fisherface Method,” 2018. [7] R. D. Kusumanto and A. N. Tompunu, “PENGOLAHAN CITRA
DIGITAL UNTUK MENDETEKSI OBYEK MENGGUNAKAN PENGOLAHAN WARNA MODEL NORMALISASI RGB,” vol. 2011, no. Semantik, 2011.
[8] A. B. S and H. Maulana, “Pengenalan Citra Wajah Sebagai Identifier Menggunakan Metode Principal Component Analysis ( PCA ),” vol. 9, no. 2, pp. 166–175, 2016.
[9] M. D. Putro, “Sistem Deteksi Wajah dengan Menggunakan Metode Viola-Jones,” pp. 1–5, 2012.
[10] W. S. Pambudi, B. Maria, N. Simorangkir, J. T. Elektro, U. I. Batam, and D. Obyek, “FACETRACKER MENGGUNAKAN METODE HAAR LIKE
64
FEATURE,” vol. 2, no. 2, pp. 142–154, 2012.
[11] N. Fitriyah, “Analisis dan simulasi sistem pengenalan wajah dengan metode fisherface berbasis outdoorvideo.”
[12] P. Studi, “( Principal Component Analysis ),” vol. 3, no. 2, pp. 175–184, 2013.
[13] A. Sholahuddin, U. Padjadjaran, and I. Supriana, “PENERAPAN METODE LINIEAR DISCRIMINANT ANALYSIS PADA,” no. June, 2010.
[14] K. D. Setyanto and I. Fibriani, “PENGENDALIAN MOBILE ROBOT VISION.”
[15] P. Mini et al., “1 , 2 1,2,” pp. 1–6.
[16] T. Elektro and U. D. Ulum, “OPTIMASI KECEPATAN MOTOR DC MENGGUNAKAN PID DENGAN TUNING ANT COLONY
OPTIMIZATION ( ACO ) CONTROLLER Characters of the DC motor is non linear and for the permanent magnet is linear . Non- linear
characteristics of DC motors such as friction and saturation,” vol. 8, no. 1, pp. 49–52, 2016.
[17] M. Ali, “Kontrol Kecepatan Motor DC Menggunakan PID Kontroler Yang Ditunning Dengan Firefly Algorithm,” vol. 3, pp. 1–10, 2012.
[18] P. Vikhe, N. Punjabi, and C. Kadu, “Real Time DC Motor Speed Control using PID Controller in LabVIEW,” pp. 12162–12167, 2014.
[19] R. Muhardian, “Kendali Kecepatan Motor DC Dengan Kontroller PID dan Antarmuka Visual Basic,” vol. 06, no. 01, pp. 328–339, 2020.
[20] A. Hilal, S. Manan, F. Teknik, and U. Diponegoro, “PEMANFAATAN MOTOR SERVO SEBAGAI PENGGERAK CCTV UNTUK MELIHAT ALAT-ALAT MONITOR DAN KONDISI PASIEN DI RUANG ICU,” vol. 17, no. 2, pp. 95–99, 2013.