Model dan platform AI

DeepFace untuk Pengenalan Wajah Lanjutan

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Pengenalan wajah telah menjadi bidang yang tren dalam AI dan ML selama beberapa tahun terakhir, dan implikasi budaya dan sosial yang luas dari pengenalan wajah sangat jauh. Namun, ada kesenjangan kinerja antara sistem visual manusia dan mesin yang saat ini membatasi aplikasi pengenalan wajah. 

Untuk mengatasi buffer yang dibuat oleh kesenjangan kinerja, dan memberikan akurasi tingkat manusia, Meta memperkenalkan DeepFace, sebuah kerangka pengenalan wajah. Model DeepFace dilatih pada dataset wajah besar yang berbeda secara signifikan dari dataset yang digunakan untuk membuat evaluasi benchmark, dan memiliki potensi untuk mengungguli kerangka kerja yang ada dengan adaptasi minimal. Selain itu, kerangka DeepFace menghasilkan representasi wajah yang kompak dibandingkan dengan sistem lain yang menghasilkan ribuan fitur penampilan wajah. 

Kerangka DeepFace yang diusulkan menggunakan Deep Learning untuk dilatih pada dataset besar yang terdiri dari berbagai bentuk data termasuk gambar, video, dan grafik. Arsitektur jaringan DeepFace menganggap bahwa setelah penyelarasan selesai, lokasi setiap wilayah wajah tetap pada tingkat piksel. Oleh karena itu, memungkinkan untuk menggunakan nilai RGB piksel mentah tanpa menggunakan beberapa lapisan konvolusi seperti yang dilakukan pada kerangka kerja lain. 

Pipeline konvensional dari kerangka pengenalan wajah modern terdiri dari empat tahap: Deteksi, Penyelarasan, Representasi, dan Klasifikasi. Kerangka DeepFace menggunakan pemodelan wajah 3D eksplisit untuk menerapkan transformasi piecewise, dan menggunakan jaringan saraf dalam sembilan lapis untuk menghasilkan representasi wajah. Kerangka DeepFace mencoba membuat kontribusi berikut

  1. Mengembangkan arsitektur DNN atau Jaringan Saraf Dalam yang efektif yang dapat memanfaatkan dataset besar untuk membuat representasi wajah yang dapat digeneralisasi ke dataset lain. 
  2. Menggunakan pemodelan 3D eksplisit untuk mengembangkan sistem penyelarasan wajah yang efektif. 

Mengenal Cara Kerja Model DeepFace

Penyelarasan Wajah

Penyelarasan Wajah adalah teknik yang memutar gambar seseorang sesuai dengan sudut mata. Penyelarasan Wajah adalah praktik populer yang digunakan untuk memproses data untuk pengenalan wajah, dan dataset wajah yang diselaraskan membantu meningkatkan akurasi algoritma pengenalan dengan memberikan input yang dinormalisasi. Namun, menyelaraskan wajah dengan cara yang tidak terbatas dapat menjadi tugas yang menantang karena beberapa faktor yang terlibat seperti ekspresi non-rigid, pose tubuh, dan lain-lain. Beberapa teknik penyelarasan yang canggih seperti menggunakan model 3D analitis wajah atau mencari fiducial-points dari dataset eksternal mungkin memungkinkan pengembang untuk mengatasi tantangan tersebut. 

Meskipun penyelarasan adalah metode paling populer untuk menangani verifikasi dan pengenalan wajah yang tidak terbatas, tidak ada solusi yang sempurna saat ini. Model 3D juga digunakan, tetapi popularitasnya telah menurun secara signifikan dalam beberapa tahun terakhir, terutama saat bekerja dalam lingkungan yang tidak terbatas. Namun, karena wajah manusia adalah objek 3D, mungkin ini adalah pendekatan yang tepat jika digunakan dengan benar. Model DeepFace menggunakan sistem yang menggunakan fiducial points untuk membuat pemodelan 3D analitis wajah. Pemodelan 3D ini kemudian digunakan untuk mengubah wajah menjadi mode frontal 3D. 

Selain itu, seperti kebanyakan praktik penyelarasan, penyelarasan DeepFace juga menggunakan detektor fiducial point untuk mengarahkan proses penyelarasan. Meskipun model DeepFace menggunakan detektor point sederhana, itu diterapkan dalam beberapa iterasi untuk memperbaiki output. Sebuah Support Vector Regressor atau SVR yang dilatih untuk mengatur konfigurasi point fiducial mengambil point fiducial dari deskriptor gambar pada setiap iterasi. Deskriptor gambar DeepFace didasarkan pada Histogram LBP meskipun juga mempertimbangkan fitur lain. 

Penyelarasan 2D

Model DeepFace memulai proses penyelarasan dengan mendeteksi enam point fiducial dalam crop deteksi, yang berpusat di tengah mata, lokasi mulut, dan ujung hidung. Mereka digunakan untuk memutar, menskalakan, dan menerjemahkan gambar ke enam lokasi anchor, dan mengulangi gambar yang diubah sampai tidak ada perubahan yang terlihat. Transformasi agregat kemudian menghasilkan corp 2D yang diselaraskan. Metode penyelarasan ini cukup mirip dengan yang digunakan dalam LFW-a, dan telah digunakan selama beberapa tahun dalam upaya untuk meningkatkan akurasi model. 

Penyelarasan 3D

Untuk menyelaraskan wajah dengan rotasi di luar bidang, kerangka DeepFace menggunakan model bentuk 3D generik, dan mendaftarkan kamera 3D yang dapat digunakan untuk membungkus corp 2D yang diselaraskan ke bentuk 3D di bidang gambar. Sebagai hasilnya, model menghasilkan versi 3D yang diselaraskan dari corp, dan ini dicapai dengan memlocalisasi 67 point fiducial tambahan dalam corp 2D yang diselaraskan menggunakan SVR atau Support Vector Regressor kedua. 

Model kemudian menempatkan 67 point anchor secara manual pada bentuk 3D dan sehingga dapat mencapai korespondensi penuh antara referensi 3D dan point fiducial yang sesuai. Pada langkah berikutnya, kamera 3D-2D afinitas ditambahkan menggunakan solusi generalized least squares untuk sistem linier dengan matriks kovariansi yang diketahui yang meminimalkan kerugian tertentu. 

Frontalisasi

Karena deformasi non-rigid dan proyeksi perspektif penuh tidak dimodelkan, kamera 3D-2D yang dipasang hanya berfungsi sebagai aproksimasi. Dalam upaya untuk mengurangi korupsi faktor identitas yang penting ke warp akhir, model DeepFace menambahkan residu yang sesuai ke komponen x-y dari setiap point fiducial referensi. Relaksasi seperti itu untuk tujuan mengubah gambar 2D dengan distorsi yang lebih sedikit ke identitas adalah masuk akal, dan tanpa itu, wajah akan diubah menjadi bentuk yang sama dalam 3D, dan kehilangan faktor diskriminatif yang penting dalam prosesnya. 

Akhirnya, model mencapai frontalisasi dengan menggunakan transformasi afinitas piecewise yang diarahkan oleh triangulasi Delaunay yang diperoleh dari 67 point fiducial. 

  1. Wajah yang terdeteksi dengan 6 point fiducial. 
  2. Corp 2D yang diselaraskan. 
  3. 67 point fiducial pada corp 2D yang diselaraskan. 
  4. Bentuk 3D referensi yang diubah menjadi gambar corp 2D yang diselaraskan. 
  5. Visibilitas segitiga dengan respect kepada kamera 3D-2D. 
  6. 67 point fiducial yang diinduksi oleh model 3D. 
  7. Versi 3D yang diselaraskan dari corp akhir. 
  8. Tampilan baru yang dihasilkan oleh model 3D. 

Representasi

Dengan peningkatan jumlah data pelatihan, metode berbasis pembelajaran telah terbukti lebih efisien dan akurat dibandingkan dengan fitur yang direkayasa terutama karena metode berbasis pembelajaran dapat menemukan dan mengoptimalkan fitur untuk tugas tertentu. 

Arsitektur DNN dan Pelatihan

DNN DeepFace dilatih pada tugas pengenalan wajah multi-kelas yang mengklasifikasikan identitas gambar wajah. 

Gambar di atas mewakili arsitektur keseluruhan model DeepFace. Model memiliki lapisan konvolusi (C1) dengan 32 filter ukuran 11x11x3 yang diberi makan gambar RGB 3D yang diselaraskan ukuran 152×152 piksel, dan menghasilkan 32 peta fitur. Peta fitur ini kemudian diberikan ke lapisan Max Pooling atau M2 yang mengambil maksimum atas lingkungan spasial 3×3, dan memiliki langkah 2, secara terpisah untuk setiap kanal. Setelah itu, ada lapisan konvolusi lain (C3) yang terdiri dari 16 filter masing-masing ukuran 9x9x16. Tujuan utama dari lapisan-lapisan ini adalah untuk mengekstrak fitur tingkat rendah seperti tekstur dan tepi sederhana. Kelebihan menggunakan lapisan Max Pooling adalah bahwa membuat output yang dihasilkan oleh lapisan konvolusi lebih robust terhadap terjemahan lokal, dan ketika diterapkan pada gambar wajah yang diselaraskan, membuat jaringan lebih robust terhadap kesalahan pendaftaran pada skala kecil. 

Beberapa tingkat pooling memang membuat jaringan lebih robust terhadap situasi tertentu, tetapi juga menyebabkan jaringan kehilangan informasi tentang posisi mikro tekstur dan struktur wajah yang rinci. Untuk menghindari jaringan kehilangan informasi, model DeepFace menggunakan lapisan Max Pooling hanya dengan lapisan konvolusi pertama. Lapisan-lapisan ini kemudian diinterpretasikan oleh model sebagai langkah pra-pengolahan adaptif. Meskipun mereka melakukan sebagian besar komputasi, mereka memiliki parameter yang terbatas, dan mereka hanya memperluas input menjadi set fitur lokal. 

Lapisan berikutnya L4, L5, dan L6 dihubungkan secara lokal, dan seperti lapisan konvolusi, mereka menerapkan bank filter di mana setiap lokasi dalam peta fitur mempelajari set filter unik. Karena wilayah yang berbeda dalam gambar yang diselaraskan memiliki statistik lokal yang berbeda, tidak dapat mempertahankan asumsi stasionaritas spasial. Misalnya, area antara alis dan mata memiliki kemampuan diskriminatif yang lebih tinggi dibandingkan dengan area antara mulut dan hidung. Penggunaan lapisan loyal mempengaruhi jumlah parameter yang tunduk pada pelatihan tetapi tidak mempengaruhi beban komputasi selama ekstraksi fitur. 

Model DeepFace menggunakan tiga lapisan pertama karena memiliki sejumlah besar data pelatihan yang dilabeli dengan baik. Penggunaan lapisan yang terhubung secara lokal dapat dibenarkan lebih lanjut karena setiap unit output dari lapisan yang terhubung secara lokal dapat dipengaruhi oleh patch input data yang besar. 

Akhirnya, lapisan atas dihubungkan sepenuhnya dengan setiap unit output yang dihubungkan ke semua input. Dua lapisan dapat menangkap korelasi antara fitur yang ditangkap dalam bagian yang berbeda dari gambar wajah seperti posisi dan bentuk mulut, dan posisi dan bentuk mata. Output dari lapisan terhubung sepenuhnya pertama (F7) akan digunakan oleh jaringan sebagai vektor fitur representasi wajah mentah. Model kemudian memberikan output dari lapisan terhubung sepenuhnya terakhir (F8) ke K-way softmax yang menghasilkan distribusi atas label kelas. 

Dataset

Model DeepFace menggunakan kombinasi dataset dengan dataset Social Face Classification atau SFC sebagai dataset utama. Selain itu, model DeepFace juga menggunakan dataset LFW, dan dataset YTF. 

Dataset SFC

Dataset SFC dipelajari dari koleksi gambar dari Facebook (META ), dan terdiri dari 4,4 juta gambar yang dilabeli dari 4.030 orang dengan masing-masing memiliki 800 hingga 1200 wajah. 5% terbaru dari gambar wajah dataset SFC untuk setiap identitas ditinggalkan untuk tujuan pengujian.

Dataset LFW

Dataset LFW terdiri dari 13.323 foto dari lebih dari lima ribu selebriti yang kemudian dibagi menjadi 6.000 pasang wajah di seluruh 10 split. 

Dataset YTF

Dataset YTF terdiri dari 3.425 video dari 1.595 subjek, dan merupakan subset dari selebriti dalam dataset LFW. 

Hasil

Tanpa frontalisasi dan ketika menggunakan hanya penyelarasan 2D, model mencapai skor akurasi sekitar 94,3%. Ketika model menggunakan corp tengah deteksi wajah, tidak menggunakan penyelarasan, dan dalam kasus ini, model mengembalikan skor akurasi sebesar 87,9% karena beberapa bagian dari wilayah wajah mungkin jatuh di luar corp tengah. Untuk mengevaluasi kemampuan diskriminatif dari representasi wajah dalam isolasi, model mengikuti pengaturan pembelajaran tidak terawasi untuk membandingkan produk dalam dari fitur yang dinormalisasi. Ini meningkatkan akurasi rata-rata model menjadi 95,92% 

Gambar di atas membandingkan kinerja model DeepFace dibandingkan dengan model pengenalan wajah lain yang mutakhir. 

Gambar di atas menggambarkan kurva ROC pada dataset. 

Kesimpulan

Idealnya, pengklasifikasi wajah akan dapat mengenali wajah dengan akurasi manusia, dan akan dapat mengembalikan akurasi tinggi terlepas dari kualitas gambar, pose, ekspresi, atau iluminasi. Selain itu, kerangka pengenalan wajah ideal akan dapat diterapkan pada berbagai aplikasi dengan sedikit atau tidak ada modifikasi. Meskipun DeepFace adalah salah satu kerangka pengenalan wajah yang paling maju dan efisien saat ini, itu tidak sempurna, dan mungkin tidak dapat menghasilkan hasil akurat dalam situasi tertentu. Namun, kerangka DeepFace adalah tonggak penting dalam industri pengenalan wajah, dan menutup kesenjangan kinerja dengan menggunakan teknik pembelajaran metrik yang kuat, dan akan terus menjadi lebih efisien seiring waktu. 

Seorang insinyur oleh profesi, seorang penulis oleh hati. Kunal adalah seorang penulis teknis dengan cinta yang mendalam & pemahaman tentang AI dan ML, yang didedikasikan untuk menyederhanakan konsep-konsep kompleks dalam bidang ini melalui dokumentasi yang menarik dan informatif.