Bagaimana Facebook Dapat Mengenali Muka Kita di Foto?
Disaat kita mengupload foto kita dengan teman-teman kita di Facebook, pernahkah kita menyadari bahwa setiap muka orang yang ada di foto itu dikenali sebagai wajah manusia sehingga Facebook menyarankan kita untuk men-tag muka teman kita yang berada di foto itu?
Bagaimana Facebook mengenali setiap muka kita, walaupun angle fotonya berbeda, warnanya berbeda, dan lain lain? Jawabannya adalah sebuah algoritma DeepFace. Cikal bakal algoritma ini diawali ketika Facebook mengakuisisi startup Face.com Face.com adalah sebuah startup untuk mengenali muka teman-teman kita dan menyarankan untuk melakukan tagging pada foto tersebut. Setelah diakuisisi oleh Facebook, algoritma dari Face.com dikembangkan hingga rampunglah algoritma DeepFace.
Pada dasarnya, DeepFace menggunakan neural network berlayer 9 dengan lebih dari 120 juta connection weight. Neural network ini dibangun berdasarkan training dari 4 juta data yang diupload dari seluruh pengguna Facebook. Tingkat akurasi dari sistem ini dinilai sebesar 97%.
Di dalam dunia face recognition, biasanya dibagi menjadi 4 tahap, yaitu detect, align, represent, dan classify. Algoritma DeepFace bermain di tahap align dengan membuat 3D face model, dimana 3D tersebut direpresentasikan melalui 9 layer dari neural network. Setiap foto wajah yang masuk ke algoritma ini akan dipecah menjadi model 3 dimensi. Dikarenakan model tersebut berbentuk 3D, model tersebut dapat diputar-putar sehingga masalah angle tersolusikan. Hasil output dari wajah inilah yang dapat menjadi modal bagi DeepFace untuk dapat membedakan apakah muka orang A dengan orang B sama atau tidak.
Secara mendalam, algoritma DeepFace bekerja sebagai berikut :
- Scanning gambar. Setiap gambar yang diupload akan melalui process scanning. Apabila kita mengupload foto 1 orang yang sama dengan angle yang berbeda, DeepFace tetap akan menilai bahwa kedua foto tersebut merupakan orang yang berbeda
- Gambar tersebut akan dicocokkan dengan cara mengenerate dan mengirimkan sinyal ke sinapsis yang ada pada 9 layer neuron di neural network tersebut
- Facial Feature detection. Neuron yang menerima sinyal akan membuat koneksi antar sinapsis (route). Sinyal akan diteruskan melalui route-route ini berdasarkan fitur-fitur yang ada pada muka orang tersebut. Contoh : apabila foto tersebut memiliki mata sipit, maka sinyalnya akan diteruskan ke gambar-gambar yang memiliki mata sipit. Setelah itu, algoritmanya akan melanjutkan penilaian lebih lanjut seperti apakah warna matanya hitam atau coklat, dll. Setelah itu, penilaian dapat dilakukan dengan mengukur jarak antar mata, hidung, mulut, dll.
- Recursive Checking dan 68 Landmark Testing. Wajah manusia memiliki 68 titik yang apabila dihubungkan akan membuat sebuah pola spesial yang menandakan bahwa itulah muka manusia. Maka dari itu, gambar yang kita upload akan diidentifikasi secara rekursif untuk melihat 68 titik tersebut
- Encoding dan Mapping. Gambar wajah yang sudah dianalisis akan dibandingkan dengan gambar-gambar lain. Setelah itu, akan dicari informasi-informasi yang berhubungan dengan nama tersebut apabila dibutuhkan (contoh : nama, dll.)
*) Penjelasan diatas merupakan penjelasan singkat dari bagaimana algoritma DeepFace bekerja. Untuk lebih detailnya dapat dilihat di paper yang dipublish oleh Facebook sendiri (link ada di referensi).
Teknologi facial recognition dan artificial intelligence secara general pastinya akan terus berkembang seiring dengan berjalannya waktu. Diharapkan kedepannya akan muncul algoritma artificial intelligence yang jauh lebih efektif dibandingkan DeepFace dan dapat diterapkan di dalam kehidupan kita sehari-hari.
References :
- https://research.fb.com/wp-content/uploads/2016/11/deepface-closing-the-gap-to-human-level-performance-in-face-verification.pdf?
- https://www.fastcompany.com/3028414/how-facebooks-machines-got-so-good-at-recognizing-your-face
- https://www.techechelons.com/blog/deepface-unleashed-what-does-the-facebook-do-to-recognize-faces
- https://www.youtube.com/watch?v=n0PQqsaGMhs
Author :
Daniel Prawira
Advisor : Williem, S.Kom., Ph.D.