MagFace : Better than ArcFace?
Face Recognition adalah salah satu topik pada Computer Vision yang sedang ramai dan banyak dibincangkan akhir-akhir ini. Penelitian-penelitian saat ini masih berfokus pada loss function yang digunakan untuk facial feature extraction network, salah satunya MagFace losses yang baru dipublikasikan pada CVPR 2021 dan menghasilkan peningkatan cukup besar pada kinerja face recognition.
Mengenali wajah “in the wild” itu cukup sulit terutama karena variabilitas besar yang ditunjukkan oleh gambar wajah yang diperoleh dalam pengaturan yang tidak dibatasi. Variabilitas ini terkait dengan kondisi akuisisi citra (seperti iluminasi, latar belakang, keburaman, dan resolusi rendah), faktor wajah (seperti pose, oklusi dan ekspresi) atau bias dari sistem pengenalan wajah yang diterapkan.
Untuk mengatasi hal tersebut, beberapa studi tentang Face Recognition menggunakan 3 tahapan umum, antara lain:
- Akuisisi wajah untuk memilih dari serangkaian gambar mentah atau menangkap dari aliran video gambar wajah yang paling cocok untuk tujuan pengenalan
- Ekstraksi fitur untuk mengekstrak representasi diskriminatif dari setiap citra wajah, dan
- Face recognition untuk mencocokkan gambar input ke galeri atau database wajah yang diberikan ke dalam kelompok orang yang sama.
Pada beberapa penelitian face recognition sebelumnya, kebanyakan metode yang digunakan masih quality-agnostic yang berarti tidak memandang perbedaan kualitas citra pada fase trainingnya. Kualitas yang dimaksud pada artikel kali ini adalah seberapa sulitnya mengenali gambar itu, contohnya dapat dilihat pada gambar berikut.
Seringkali low quality sample diperlakukan sama dengan yang high quality. Sehingga yang terjadi adalah kebanyakan model akan mengalami over-weighted pada sample yang low quality/noisy. Oleh karena itu tujuan dari penelitian (Meng, 2021) adalah bagaimana metode pengenalan wajah dapat memanfaatkan sepenuhnya sampel yang mudah sekaligus mencegah sampel sulit/noisy membuat proses pelatihan kewalahan.
How MagFace Works
Tujuan utama MagFace adalah dapat membuat sampel mudah memiliki magnitude yang besar memiliki cosine distance yang dekat dari pusat kelasnya. Magnitudo l sebelum normalisasi akan meningkat seiring dengan cosine distance fitur ke pusat kelasnya, dan hal itu dapat mengungkapkan kualitas untuk setiap wajah. Semakin besar l, semakin besar kemungkinan sampel dapat dikenali.
Dari gambar di atas dapat dilihat bagaimana feature magnitude dan feature direction dapat menguntungkan untuk face recognition yang pada akhirnya meningkatkan kinerja face recognition secara keseluruhan.
MagFace Losses
Meskipun kinerjanya unggul dalam menegakkan kekompakan intra kelas dan perbedaan antar kelas, angular margin penalty (m) yang digunakan oleh ArcFace adalah quality-agnostic dan struktur yang dihasilkan dari distribusi dalam kelas dapat berubah-ubah dalam skenario yang tidak dibatasi.
Contoh pada gambar (b) di mana kita memiliki citra wajah dari kelas yang sama dalam tiga tingkat kualitas yang ditunjukkan oleh radius lingkaran: semakin besar radius, semakin tidak pasti representasi fitur dan semakin sulit wajah dapat dikenali. Karena ArcFace menggunakan nilai (m) yang sama, maka setiap gambar dalam satu kelas berbagi batas keputusan yang sama. Sehingga pada akhirnya menghasilkan ketidakstabilan pada distribusi di dalam kelas. Dampak dari ketidakstabilan tersebut akan mengakibatkan kinerja face recognition pada data “in-the-wild” dan sulit.
Oleh karena itu, penelitian MagFace mengajukan dua fitur baru yaitu a yang merupakan feature magnitude pada sample i, m(a) angular margin yang aware terhadap feature magnitude dan bisa mengatur serta penalize loss dengan magnitude cukup tinggi, dan g(a) yang berperan sebagai regularizer yang berguna untuk penalize loss dengan magnitude yang besar. Sedangkan hyper-parameter λg digunakan untuk trade-off antara klasifikasi dan regularization losses. Lebih detailnya dapat dilihat pada persamaan di bawah.
Feature Magnitude
Untuk mendapatkan pemahaman yang lebih pada MagFace serta feature magnitude. Dilakukan eksperimen pada dataset MS1M-V2 dan mencoba membandingkan MagFace dengan softmax loss dan ArcFace loss.
Pada gambar di bawah dapat dilihat visualisasi dari feature magnitude dan kualitas dari citranya. Di mana model dilatih pada MS1M-V2 dan 512 sampel dari iterasi terakhir digunakan untuk visualisasi. Negative loss digunakan untuk mengungkapkan kualitas Softmax sementara digunakan nilai cosine (sudut antara fitur dan pusat kelasnya) untuk ArcFace dan MagFace.
Dari gambar di atas dapat dilihat bahwa softmax cukup kesulitan dan memang sudah sering dibahas pada penelitian sebelumnya bahwa penggunaan loss softmax masih kurang diskriminatif terutama pada kasus face recognition. Pada ArcFace, sampel yang mudah memiliki variasi feature magnitude yang lebih tinggi dan juga memiliki batas bawah. Sedangkan MagFace tidak memiliki batas bawah dan juga sampel-sample yang mudah lebih konvergen dan positively related.
Experiments & Results
Untuk merepresentasikan hasil dari penelitian ini, dilakukan eksperimen face recognition yang dilatih pada data training berupa MS1M-V2 dan menggunakan Resnet101 sebagai backbone modelnya. Konfigurasi training dan digunakan dapat dilihat pada tabel berikut.
Dan pada testing serta inference digunakan cosine distance similarity yang dapat dilihat lebih detail pada artikel Cosine berikut. Kemudian pertama-tama digunakan beberapa dataset “mudah” yang umumnya digunakan untuk evaluasi model FR seperti LFW, AgeDB-30, dan CPLFW. Hasilnya dapat dilihat pada tabel di bawah.
Dari tabel dapat dilihat MagFace memperoleh hasil terbaik secara keseluruhan dan melampaui ArcFace masing-masing sebesar 0,02%, 0,06%, 0,12%, 0,19% dan 0,15% pada lima data benchmark yang berbeda.
Dicoba lagi untuk memastikan bagaimana performa MagFace dengan mengevaluasi modelnya pada dataset yang lebih sulit, yaitu IJB-B dan IJB-C yang akhir-akhir ini digunakan pada NIST challenge. Metrics yang digunakan adalah TAR@FAR dengan FAR yang bervariasi pada 1e-6, 1e-5, dan 1e-4. Sedangkan perbandingan modelnya lebih banyak dibanding benchmark pertama tadi. Hasilnya sebagai berikut.
Lagi-lagi dapat dilihat bahwa MagFace memperoleh hasil terbaik secara keseluruhan dan melampaui ArcFace yang sebelumnya menjadi salah satu metode terbaik face recognition. Meskipun peningkatannya tidak terlalu besar tapi dibanding dengan baseline tentunya studi MagFace ini sangat berguna untuk perkembangan studi face recognition.
Final Notes
Kita telah melihat bagaimana inovasi penelitian MagFace yang membuatnya unik hingga dapat melampaui ArcFace pada benchmarknya dengan cara menjauhkan sampel-sampel ambigu/sulit dari class centernya. Mungkin tentunya masih terdapat beberapa kekurangan dari penelitian ini seperti masih sedikitnya referensi (hanya bersumber dari authornya saja) dan hanya ada 4 public repository sejauh ini yang mengimplementasikan MagFace. Tentunya hal-hal tersebut dikarenakan penelitiannya yang masih tergolong baru. Oleh karena itu saya sebagai penulis artikel ini sangat terbuka untuk komentar atau sanggahan yang tentunya dapat menjadi pembelajaran saya juga. Terima kasih telah membaca artikel bedah paper pertama saya, kurang lebihnya mohon maaf dan sekali lagi, thanks for reading!