Masked Face Recognition¶
Masked face recognition merupakan sebuah sistem yang dapat mengenali (recognize) wajah seseorang walaupun wajah tersebut tertutup oleh masker. Sistem ini terbagi menjadi tiga proses kerja: (1) Gathering data, (2) deteksi wajah, (3) embedding wajah, (4) klasifikasi wajah. Flowchart di bawah memberikan penggambaran ketiga proses tersebut yang terbagi menjadi proses training dan inference.
Gathering Data¶
Gathering data atau pengumpulan data terbagi menjadi dua alternatif. Alternatif pertama adalah mengumpulkan data wajah bermasker dan tidak bermasker dari setiap orang yang sama. Sedangkan, untuk alternatif kedua adalah melakukan augmentasi dari data wajah normal (tidak bermasker).
First Alternatif¶
Wajah bermasker dan tidak bermasker dapat dikumpulkan dari foto atau rekaman video (yang kemudian diambil perframe). Penulis melakukan langkah alternatif pertama dengan membuat video untuk wajah bermasker dan tidak bermasker dari segala sisi wajah. Video dapat dilihat dibawah.
![]() |
![]() |
---|---|
Tidak Bermasker | Bermasker |
Second Alternatif¶
Alternatif kedua adalah menggunakan tools augmentasi MaskTheFace1. MaskTheFace berguna untuk mengubah gambar wajah normal menjadi wajah bermasker. Dengan kata lain, hanya diperlukan data wajah normal, dimana data wajah bermasker akan diagumentasi oleh tools tersebut.
Face Detection¶
Model MTCNN (Multi-task Cascaded Convolutional Networks)2 digunakan untuk mendeteksi wajah. Wajah yang terdeteksi kemudian diekstraksi untuk keperluan proses face embedding.
Face Embedding¶
Face embedding merupakan proses untuk menghasilkan data numerik dari keypoint /landmark penting pada wajah. Proses embedding kali ini dilakukan menggunakan model FaceNet3. Dalam hal ini kita hanya perlu melakukan prediksi/inferensi menggunakan model FaceNet, dimana hasil prediksi dari model FaceNet tersebut merupakan data embedding yang dibutuhkan.
Face Classification¶
Proses terakhir adalah klasifikasi wajah. Proses ini akan membandingkan embedding wajah dari data latih dengan embedding wajah dari data pengujian. SVM (Support Vector Machine) digunakan sebagai algoritma klasifikasi. Data embedding yang telah diperoleh sebelumnya akan digunakan sebagai data latih untuk model SVM.
Inference¶
Selanjutnya pada tahap inferensi stream video dapat dilakukan. Hasil inferensi dapat dilihat pada video di bawah:
Acknowledgment¶
-
Anwar, Aqeel, and Arijit Raychowdhury. "Masked face recognition for secure authentication." arXiv preprint arXiv:2008.11104 (2020). ↩
-
Zhang, Kaipeng, et al. "Joint face detection and alignment using multitask cascaded convolutional networks." IEEE Signal Processing Letters 23.10 (2016): 1499-1503. ↩
-
Schroff, Florian, Dmitry Kalenichenko, and James Philbin. "Facenet: A unified embedding for face recognition and clustering." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015. ↩