Transcript
PERANCANGAN SISTEM APLIKASI PENCATATAN KEHADIRAN SISWA MENGGUNAKAN PENGENALAN CITRA WAJAH DENGAN NOTIFIKASI SMS DAN EMAIL
Tri RosantiBinus University, Jakarta, DKI Jakarta, Indonesia
Alexander A S GunawanBinusUniversity, Jakarta, DKI Jakarta, Indonesia
Afan Galih SalmanBinusUniversity, Jakarta, DKI Jakarta, Indonesia
Abstract
Recording student attendance is one of the highlights of the education system, schools are generally still use the system for recording attendance manually. Attendance manual itself example is the Calling one by one student on the attendance sheet has been provided in accordance with the name of each siswa.Masih many weaknesses in the system of recording attendance manually, among others, the student can manipulate the data so that the presence of which will process the data be difficult to determine whether the student is present in school or not. Besides manual recording system is also ineffective time and effort. And parents will also be difficult to check / know the presence of their children this will have an impact on the confidence of parents to the school. So that required an attendance application more accurate and effective.In this final project an Application Record Attendance of students using automatic face recognition system will be developed, where the system will record the student is detected and sends the message was detected in the student trustee. Aplikasiini made in hopes of reducing and even eliminating the manipulation of student attendance data and make the system more effective student attendance and accurate. This is because the face is one of the unique parts of the human face, the students will be different from other students face.
Keyword: face recognition, email, webcam, notification, sms, AT command, automatic attendace
Abstrak
Pencatatan kehadiran siswa merupakan salah satu hal penting dari suatu sistem pendidikan, sekolah-sekolah pada umumnya masih menggunakan sistem pencatatan kehadiran siswa secara manual. Pencatatan kehadiran manual sendiri contohnya adalah dengan memangil satu persatu siswa pada lembar absensi yang telah disediakan sesuai dengan nama masing-masing siswa.Masih banyak kelemahan dalam sistem pencatatan kehadiran secara manual tersebut antara lain siswa dapat memanipulasi data kehadiran tersebut sehingga pihak yang akan mengolah data tersebut akan kesulitan menentukan apakah siswa tersebut memang hadir di sekolah atau tidak. Selain itu sistem pencatatan manual ini juga tidak efektif waktu dan usaha. Serta orang tua juga akan kesulitan untuk mengecek / mengetahui kehadiran putra-putrinya hal ini akan berdampak pada kepercayaan orang tua terhadap sekolah. Sehingga diperlukan suatu aplikasi pencatatan kehadiran yang lebih akurat dan efektif.Dalam Tugas Akhir ini dikembangkan suatu Aplikasi Pencatatan Kehadiran siswa menggunakan sistem pengenalan wajah secara otomatis dimana sistem ini akan mencatat siswa yang terdeteksi dan mengirimkan pesan terdeteksi pada wali siswa yang bersangkutan. Aplikasiini dibuat dengan harapan dapat mengurangi bahkan menghilangkan adanya manipulasi data kehadiran oleh siswa serta membuat sistem pencatatan kehadiran siswa lebih efektif dan akurat. Hal ini dikarenakan wajah merupakan salah satu bagian unik dari manusia, wajah siswa yang satu akan berbeda dengan wajah siswa yang lain.
Kata kunci: pengenalan wajah, email, webcam, notifikasi, sms, AT command, absensi otomatis
1. PendahuluanPerkembangan ilmu pengetahuan di segala bidang dalam era globalisasi saat ini begitu pesat.Terutama dalam bidang IT yang semakin maju seiring dengan kebutuhan pemakai (user). Perkembangan ini membuat banyak pekerjaan manusia yang digantikan oleh computer. Dengan adanya penggantian posisi manusia oleh komputer ini, pekerjaan dapat diselesaikan dengan biaya lebih murah dan lebih optimal, namun tetap dapat diandalkan.Perkembangan ilmu pengetahuan tersebut diharapkan berbanding lurus dengan perkembangan sumber daya manusia, pendidikan adalah usaha yang dilakukan untuk mengembangkan potensi generasi muda agar memiliki kemampuan, keterampilan, sikap dan kepribadian. Untuk tujuan ini dibutuhkan perhatian dan kerja sama yang terpadu dari semua elemen masyarakat dunia pendidikan termasuk orang tua dan guru sebagai elemen yang berhubungan langsung dengan proses pendidikan seorang anak.Absensi siswa memegang peranan penting dalam setiap proses kegiatan belajar mengajar.Dimana absensi merupakan salah satu penunjang yang dapat mendukung atau memotivasi setiap kegiatan yang dilakukan di dalamnya. Disamping itu, absensi siswa dapat juga sebagai informasi tentang bagaimana kedisiplinan siswa yang bersangkutan.Penting adanya bagi orang tua untuk mengetahui kehadiran putra-putrinya di sekolah secara real time.Selain dapat mencegah pertumbuhan sikap dan kepribadian yang buruk pada anak secara dini juga dapat menumbuhkan perasaan tenang dan menambah kepercayaan orang tua terhadap sekolah.Tugas akhir ini membahas mengenai perancangan sistem pencatatan kehadiran siswa secara otomatis dimana sistem akan mengirim pesan notifikasi saat siswa dikenali. Pada sistem ini digunakan salah satu perkembangan dalam bidang computer vision yaitu pengenalan citra wajah. Pengenalan citra wajah atau Face recognition adalah salah satu teknologi biometric yang telah banyak diaplikasikan dalam sistem keamanan. Dalam implementasinya, secara umum pengenalan citra wajah dilakukan menggunakan sebuah webcam untuk menangkap citra wajah seseorang kemudian citra wajah tersebut dibandingkan dengan citra wajah sebelumnya yang telah disimpan.
2. PembahasanPengenalan citra wajah atau face recognition adalah sebuah tugas yang dilakukan oleh manusia secara rutin dan mudah dalam kehidupan sehari-hari. Secara umum sistem pengenalan citra wajah dibagi menjadi dua jenis, yaitu sistem feature-based dan sistem image-based. Pada sistem pertama digunakan ciri yang diekstraksi dari komponen citra wajah seperti mata, hidung, mulut, dan lain-lain yang kemudian dimodelkan secara geometris hubungan antara ciri-ciri tersebut. Sedangkan pada sistem ke dua menggunakan informasi mentah dari piksel citra yang kemudian direpresentasikan dalam metode tertentu, misalnya seperti Principal Component Analysis (PCA) atau transformasi wavelet yang digunakan untuk klasifikasi identitas citra (Al Fatta, Hanif, 2009).Sistem pengenalan citra wajah umumnya mencakup empat modul utama (Li & Jain, 2005, p. 2), yaitu: deteksi, alignment, ekstraksi fitur, dan pencocokan. Proses lokalisasi dan normalisasi (deteksi wajah dan alignment) adalah langkah-langkah sebelum proses pengenalan wajah (ekstraksi fitur wajah dan pencocokan) dilakukan.Deteksi wajah adalah langkah awal untuk melakukan identifikasi wajah atau face recognition. Sebuah pendeteksi wajah yang ideal seharusnya mampu mengidentifikasi dan menemukan lokasi dan luas semua wajah yang ada di dalam sebuah gambar tanpa memperhatikan pose, skala, orientasi, umur, dan ekspresi (Li & Jain, 2005, p. 13). Deteksi wajah melakukan segmentasi area citra wajah dengan bagian latar (background).Proses alignment bertujuan untuk memperoleh akurasi yang lebih tinggi untuk lokalisasi dan normalisasi citra wajah karena deteksi wajah menyediakan estimasi lokasi dan skala dari setiap citra wajah yang terdeteksi.Setelah sebuah wajah dinormalisasi, ekstraksi fitur dilakukan untuk mengambil data efektif yang berguna untuk memisahkan antara citra-citra wajah dan orang-orang yang berbeda dan cukup stabil untuk variasi geometrik dan fotometrik. Pencocokan wajah dilakukan dengan cara melakukan pencocokan fitur yang telah diekstraksi dari citra wajah masukan dengan kumpulan data training citra wajah yang telah disimpan sebagai basis data wajah.Principal Component Analysis (PCA) adalah teknik standar yang digunakan dalam pengenalan pola statistikal dan pemrosesan sinyal untuk data reduction dan ekstraksi fitur (Eleyan & Demirel, 2007, p. 94). Kemampuan ekstraksi fitur ini dapat digunakan untuk melakukan pengenalan wajah. Metode PCA dikenal juga dengan nama Karhunen-Loeve Transformation (KLT). PCA memberikan transformasi ortogonal yang disebut juga dengan eigenimage yang di mana sebuah citra akan direpresentasikan ke dalam bentuk proyeksi linier searah dengan eigenimage yang bersesuaian dengan nilai Eigen terbesar dari matriks covariance. Dalam prakteknya, matriks covariance ini dibangun dari sekumpulan image training yang diambil dari berbagai objek.Sebuah citra 2D dengan dimensi kolom dan baris dapat direpresentasikan ke dalam bentuk citra 1D. Dalam penelitian ini ukuran jumlah kolom dan baris pixel citra adalah sama, sehingga nantinya akan terbentuk dimensi.
Gambar.1 Contoh citra wajahMisalnya ada sejumlah individu yang dijadikan sampel. Dari setiap individu diambil citra, sehingga total citra di dalam training set adalah:
Sejumlahsampel citra dinyatakan sebagai di dalam sebuah ruang citra -dimensi.Kumpulan citra tersebut dihitung nilai rata-ratanya yang disebut juga sebagai average face dengan perhitungan berikut:
Gambar.2 Average face
Kemudian nilai rata-rata dari wajah tersebut dikurangi dengan setiap vektor wajah
untuk mendapatkan vektor .
Setiap citra wajah dikurangi dengan nilai rata-rata membentuk kumpulan vektor menggunakan rumus:
Kumpulan vektor yang sangat besar ini kemudian mengikuti pada aturan PCA, yang mencari sejumlah vektor-vektor ortonormal dan nilai Eigen yang terbaik dalam menggambarkan distribusi dari data tersebut.Vektor-vektor dan nilai-nilai adalah vektor-vektor Eigen dan nilai-nilai Eigen dari matriks covariance
di mana.
Dari matriks (dalam penelitian ini berukuran ), diambil vektor-vektor Eigen terbaik sebanyak jumlah data. Karena vektor-vektor Eigen ini memiliki dimensi yang sama dengan dimensi citra yang asli, maka vektor-vektor ini jika disusun menjadi matriks berukuran akan membentuk citra yang mirip dengan wajah. Oleh karena itu, vektor-vektor Eigen ini disebut juga Eigenfaces.
Ketika sebuah citra wajah harus dikenali, maka dilakukan langkah berikut:1.
Data citra wajah masukan dinormalisasi dengan rumus .2. Hasil normalisasi pada langkah pertama diproyeksikan ke dalam ruang Eigen (kumpulan dari vektor-vektor Eigen) dan dihitung bobotnya. Nilai hasil normalisasi dapat digambarkan sebagai berikut.
3. Setelah data bobot didapat, perlu dilakukan proses klasifikasi untuk melakukan perhitungan jarak. Pada penelitian ini, perhitungan jarak dilakukan dengan menggunakan Euclidean Distance. Metode ini memiliki perhitungan sebagai berikut.
4. Kemudian dicari nilai terkecil dari kumpulan jarak data citra wajah masukan dengan data training yang telah disimpan sebelumnya.
Penggunaan PCA sangat mengurangi kalkulasi yang perlu dilakukan, dari sejumlah pixel di dalam citra () menjadi sejumlah citra di dalam training set (). Dalam prakteknya, jumlah citra wajah di dalam training set biasanya lebih kecil dibandingkan dengan jumlah pixel di dalam citra (Eleyan & Demirel, 2007, p. 96). Pendekatan metode PCA untuk pengenalan wajah ditunjukkan pada Gambar 4.
Gambar.3 Pendekatan PCA untuk pengenalan wajah (Eleyan & Demirel, 2007, p. 98)
Dengan kata lain metode PCA memproyeksikan ruang asal menjadi ruang baru yang berdimensi lebih rendah, dengan berpegang bahwa sebanyak mungkin informasi yang dimiliki dimensi asal dipertahankan dan tidak terlalu banyak yang hilang setelah diproyeksikan ke ruang yang baru. Dengan memperkecil dimensi dari sebuah ruang, tentu akan meringankan proses komputasi yang perlu dilakukan oleh sistem.Penulis menggunakan fitur yang telah disediakan oleh EmguCV untuk menerapkan algoritma ini di dalam aplikasi dengan menggunakan bantuan class bernama HaarCascade sebagai classifier dari pendeteksian objek. Proses deteksi dan pengenalan citra wajah yang dipisah menjadi tiga ini membuat waktu proses yang diperlukan oleh sistem menjadi lebih lama. Hal ini menyebabkan aplikasi tidak dapat berjalan secara realtime saat melakukan proses deteksi dan pengenalan citra wajah dengan sumber masukan menggunakan webcam. Oleh karena itu, pada tahapan ini diterapkan konsep parallel processing yang disediakan oleh .NET Framework 4. Penggunaan parallel processing membuat tugas pemrosesan data disebarkan ke beberapa core di dalam processor (CPU) yang membuat banyak tugas dapat diselesaikan dengan lebih cepat. Penggunaan parallel processing ini begantung pada spesifikasi CPU yang digunakan.Koleksi citra wajah yang digunakan dalam penelitian ini ditangkap dengan latar belakang tidak terkontrol, sehingga diharapkan hasil dari penelitian ini mendekati implementasi di dunia nyata. Hasil pengujian yang didapat dirasa kurang memuaskan, sistem pengenalan citra wajah berjalan dengan akurat, namun kecepatan dalam pengenalan dirasa tidak efektif. Untuk masalah ini penulis menyarankan untuk implementasi dan pengembangan lebih lanjut untuk dibuatkan prosedur pencatatan kehadiran agar sistem dapat bekerja dengan efektif dan akurat.Untuk pengiriman notifikasi SMS penulis menggunakan modem GSM dengan memanfaatkan AT Command. AT Command adalah suatu metode standar dalam bentuk perintah - perintah Command yang dapat digunakan oleh komputer untuk berkomunikasi dengan modem dan peralatan komunikasi lainnya, misalnya teleponselular/handphone dalam komunikasi dengan serial port. Dengan AT Command kita dapat mengetahui vendor dari handphone yang digunakan, kekuatan sinyal, membaca pesan yang ada di SIM Card, mengirim pesan, mendeteksi pesan SMS yang baru masuk secara otomatis, menghapus pesan pada SIM Card, dan lain-lain.Beberapa AT Command yang sering digunakan: AT : untuk test terminal AT+CPIN : untuk memasukkan PIN SIM jika diperlukan. AT+CMGF : untuk mengganti format SMS dari PDU ke text dan sebaliknya. AT+CMGR : untuk membaca SMS. AT+CMGS : untuk mengirim sebuah SMS.
Gambar.4 Cara kerja SMS dengan modem GSM
Untuk mengirim sebuah email dari alamat email yang satu ke alamat yang lainnya digunakan sebuah protocol (aturan) yaitu Simple Mail Transfer Protocol (SMTP). Protocol SMTP telah menjadi aturan dasar yang disepakati untuk pengiriman email. Dengan demikian semua software email server pasti mendukung protokol ini. SMTP merupakan protokol yang digunakan untuk mengirim email (komukasi antar mail server), dan tidak digunakan untuk berkomunikasi dengan client. Penulis menggunakan STMP server gratis yang banyak di gunakan. Sehingga biaya penggunaan sistem ini bisa semakin di tekan.
Gambar.5 Cara kerja Email dengan STMPAdapun spesifikasi komputer yang digunakan penulis dalam melakukan simulasi pada aplikasi penelitian pengenalan citra wajah dengan variasi pose ini adalah sebagai berikut:1. Intel Core i5-2430M CPU @ 2.40 Ghz 2.40 Ghz4. Memory 4 GB DDR35. Webcam logitech6. OS: Microsoft Windows 7 Home7. IDE: Microsoft Visual Studio 2010 Ultimate8. Library: EmguCV 2.0.50779. Modem GSM Huawei
Pada percobaan ini diambil citra wajah dari sepuluh orang dengan lama percobaan terhadap sampel adalah 1 menit. Proses percobaan pertama dilakukan dengan menggunakan nilai threshold sebesar 2000. Hasil percobaan ditunjukkan pada Tabel.1.
NoSequenceNameTerdeteksiDikenaliRata - rata waktudikenali (dtk)
13A3316.666667
2B1119
3C2233
4D1125
5E447.5
6F778.1428571
7G5510.8
8H1117
9I1121
10J2223.5
15A1139
2B000
3C3314.33333
4D000
5E000
6F1144
7G3314
8H3311.33333
9I2223
10J3318.66667
17A000
2B000
3C1154
4D000
5E000
6F1158
7G1158
8H1130
9I2223.5
10J000
Tabel 1 Hasil simulasi untuk setiap sampel dengan threshold 2000
Proses percobaan kedua dilakukan dengan menggunakan nilai threshold sebesar 3000. Hasil percobaan ditunjukkan pada Tabel.2.
NoSequenceNameTerdeteksiDikenaliRata - rata waktudikenali (dtk)
13A5510.8
2B559.4
3C559.4
4D3315.666667
5E668.6666667
6F2227
7G5511
8H777.7142857
9I668
10J5218
15A3315
2B339.75
3C3319.66667
4D3318.33333
5E2229
6F1154
7G4413
8H776.571429
9I3315.33333
10J3318.33333
17A2222.5
2B3316.33333
3C1143
4D2226.5
5E4411
6F2219
7G2229.5
8H3317.66667
9I4413
10J2225
Tabel 2 Hasil simulasi untuk setiap sampel dengan threshold 3000
Proses percobaan ketiga dilakukan dengan menggunakan nilai threshold sebesar 4000. Hasil percobaan ditunjukkan pada Tabel.3
NoSequenceNameTerdeteksiDikenaliRata - rata waktudikenali (dtk)
13A4414.75
2B667.8333333
3C3316
4D449.25
5E7511
6F4413.25
7G557.8
8H557.6
9I5510.4
10J556.8
15A000
2B3318.66667
3C3316.66667
4D4411.5
5E559.8
6F4411.25
7G4410.5
8H10105.9
9I2219.5
10J4411
17A3315
2B4412.5
3C2225
4D4414.5
5E668.5
6F5515.66667
7G4410.75
8H778.428571
9I5510.6
10J3315
Tabel 3 Hasil simulasi untuk setiap sampel dengan threshold 4000
Proses percobaan terakhir dilakukan dengan menggunakan nilai threshold sebesar 5000. Hasil percobaan ditunjukkan pada Tabel.4
NoSequenceNameTerdeteksiDikenaliRata - rata waktudikenali (dtk)
13A3318
2B559
3C3318.33333
4D4310.33333
5E669
6F638
7G767.285714
8H887.125
9I5510.4
10J5511.2
15A3314.66667
2B4411.25
3C4414
4D555.6
5E5511.2
6F4410
7G669.666667
8H4414.75
9I428.75
10J527.2
17A3316
2B4411.75
3C3316.66667
4D4410
5E2228
6F5510.4
7G400
8H555.4
9I2223.5
10J4313.5
Tabel 4 Hasil simulasi untuk setiap sampel dengan threshold 5000
Berdasarkan hasil simulasi di atas, maka dapat dihitung keakuratan sistem dalam mengenali setiap wajah yang terdeteksi adalah:Persentase ketepatan = Rata-rata waktu dikenali = Sehinga didapat hasil akhir sebagai berikut:
ThresholdSequence% keakuratanRata - rata kecepatan individu dikenali (detik)
2000310018.16095
2000510016.43333
2000710022.35
3000393.8812.56476
3000510019.89881
3000710022.35
4000395.8310.46833
4000510011.47833
4000710013.59452
5000390.3810.86774
5000588.6410.70833
5000786.1113.52167
Tabel.5 Hasil percobaan
Kegagalan dalam pengenalan dapat disebabkan oleh beberapa hal berikut:1. Citra digital yang kurang jelas atau mengalami gangguan (noise) yang berlebihan.2. Adanya kemiripan antara wajah yang satu dengan yang lainnya.3. Sudut putaran kepala yang tidak tersedia di dalam data training.
1. PenutupBerdasarkan hasil analisis terhadap data yang telah diperoleh pada penelitian ini, maka diambil kesimpulan sebagai berikut:1. Semakin banyak citra wajah yang digunakan dalam melakukan training untuk setiap sampel, maka pengenalan akan semakin baik, tetapi waktu proses untuk training data wajah meningkat.2. Semakin rendah nilai threshold, kemiripan citra wajah masukan dengan citra wajah di dalam data training semakin tinggi, tetapi semakin sulit mengenali (untuk high security).3. Semakin tinggi nilai threshold, semakin tinggi kemungkinan mengenali citra wajah masukan dengan citra wajah di dalam data training, tetapi semakin tinggi kemungkinan kesalahan (untuk visual surveillance).4. Semakin besar sequence, semakin lama waktu yang diperlukan untuk mengenali citra wajah, namun keakuratan meningkat.5. Semakin kecil sequence, semakin cepat waktu yang diperlukan untuk mengenali citra wajah, namun keakuratan menurun.6. Pasangan variabel threshold dan sequence yang optimal berdasarkan tabel tersebut adalah threshold 4000 dengan sequence 5.7. Kesalahan dalam melakukan pengenalan dapat terjadi karena kemiripan antara dua atau lebih sampel yang berbeda.8. Besarnya sequence yang diberikan, sehingga perlu waktu untuk melakukan cek terhadap semua data sequence.
Berikut beberapa saran yang diajukan untuk penggunaan ataupun pengembangan aplikasi ini adalah:1. Untuk implementasi, penelitian dan pengembangan lebih lanjut diharapkan dibut prosedur cara absensi terlebih dahulu agar hasil yang dihasilkan lebih cepat dan akurat.2. Perlu adanya pengembangan dalam pengenalan citra dengan algoritma yang lebih baik yang mendukung klasifikasi class. 3. Pada sistem ini belum digunakan sistem database yang terkontrol. Akan lebih baik jika selanjutnya digunakan sistem database untuk menyimpan data data yang didapat.
Daftar Pustaka
Viola, Paul and Michael Jones (2001). Rapid object detection using boosted cascade of simple features. In: Proceedings IEEE Conf. on Computer Vision and Pattern Recognition, 2001.
Lienhart, Rainer and Jochen Maydt (2002). An extended set of haar-like features for rapid object detection. In: IEEE ICIP 2002, Vol.1, pp 900-903.
Anonim. (2011, December 28). Emgu CV Main Page. Retrieved December 2011, from Emgu CV: OpenCV in .NET (C#, VB, C++ and more): http://www.emgu.com/wiki/index.php/Main_Page
Bernard, & Surya Liestiawan, B. (2006). Pengenalan Wajah dengan Menggunakan Metode EigenFaces.
Eleyan, A., & Demirel, H. (2007). PCA and LDA based Neural Networks for Human Face Recognition. In K. Delac, & M. Grgic, Face Recognition. Vienna: I-Tech Education and Publishing.
Gupta, P. (2003). Short Message Service (SMS). Edisi Empat. Yogyakarta: Penerbit Andi.
Gonzalez, R. C., & Woods, R. E. (2002). Digital Image Processing (2nd Edition ed.). New Jersey: Prentice-Hall, Inc.
Jones, M. J., & Viola, P. (2003). Fast Multi-view Face Detection.
Khang Ir. Bustam. (2002). Trik Pemrograman Aplikasi Berbasis SMS. Jakarta. PT. Elex Media Komputindo.
Li, S. Z., & Jain, A. K. (2005). Handbook of Face Recognition. New York: Springer Science+Business Media, Inc.
Marcus, T., and Widiadhi, J., 2006. Aplikasi SMS untuk Berbagai Keperluan. Bandung: Informatika Bandung.
Pissarenko, D. (2002). Eigenface-based Facial Recognition. Pusat Bahasa. (2008). In Kamus Besar Bahasa Indonesia. Jakarta: Gramedia Pustaka Utama.
Sari, M., (2010). Penerapan Algoritma EigenFace Pada Sistem Absensi Karyawan Berbasis Webcam
Seo, N. (2006). EigenFaces and FisherFaces.
Seo, N. (2008, 10 16). Tutorial: OpenCV haartraining (Rapid Object Detection With A Cascade of Boosted Classifiers Based on Haar-like Features). Retrieved 12 2011, from Naotoshi Seo: http://note.sonots.com/SciSoftware/haartraining.html
Shakhnarovich, G., & Moghaddam, B. (2005). Face Recognition in Subspaces. In S. Z. Li, & A. K. Jain, Handbook of Face Recognition. New York: Springer Science+Business Media, Inc.
http://opensource.telkomspeedy.com/wiki/index.php/Gambaran_Sederhana_Cara_Kerja_e-mail akses tanggal 05 Januari 2013
top related