Tentukan model pengenalan wajah
Perhatian
Akses layanan Face dibatasi berdasarkan kelayakan dan kriteria penggunaan untuk mendukung prinsip AI kami yang Bertanggung Jawab. Layanan Face hanya tersedia untuk pelanggan dan mitra terkelola Microsoft. Gunakan formulir pengambilan Pengenalan Wajah untuk mengajukan akses. Untuk informasi selengkapnya, lihat halaman Akses terbatas Wajah.
Panduan ini menunjukkan kepada Anda cara menentukan model pengenalan wajah untuk deteksi wajah, identifikasi, dan pencarian kesamaan menggunakan layanan Azure AI Face.
Layanan Face menggunakan model pembelajaran mesin untuk melakukan operasi pada wajah manusia yang terlihat dalam gambar. Kami terus meningkatkan keakuratan model berdasarkan umpan balik pelanggan dan kemajuan dalam penelitian, dan kami memberikan peningkatan ini sebagai pembaruan model. Pengembang dapat menentukan versi model pengenalan wajah mana yang ingin mereka gunakan, memilih model yang paling sesuai dengan kasus penggunaannya.
Kompatibilitas model
Layanan Azure AI Face memiliki empat model pengenalan yang tersedia. Model recognition_01 (diterbitkan 2017), recognition_02 (diterbitkan 2019), dan recognition_03 (diterbitkan 2020) terus didukung untuk memastikan kompatibilitas mundur bagi pelanggan yang menggunakan FaceLists atau PersonGroups yang dibuat dengan model ini. FaceList atau PersonGroup selalu menggunakan model pengenalan yang dibuat dengannya, dan wajah baru dikaitkan dengan model ini saat ditambahkan. Ini tidak dapat diubah setelah pembuatan dan pelanggan perlu menggunakan model pengenalan yang sesuai dengan FaceList atau PersonGroup yang sesuai.
Anda dapat berpindah ke model pengenalan selanjutnya sesuai keinginan; namun, Anda perlu membuat FaceList dan PersonGroup baru dengan model pengenalan pilihan Anda.
Model yang direkomendasikan
Model recognition_04 (diterbitkan 2021) adalah model paling akurat yang tersedia saat ini. Jika Anda pelanggan baru, sebaiknya gunakan model ini. Recognition_04 memberikan peningkatan akurasi untuk perbandingan kesamaan dan perbandingan pencocokan orang. Recognition_04 meningkatkan pengenalan bagi pengguna terdaftar yang mengenakan penutup wajah (masker bedah, masker N95, masker kain). Kini Anda dapat membangun pengalaman pengguna yang aman dan lancar, serta menggunakan model detection_03 terbaru untuk mendeteksi apakah pengguna terdaftar sedang menggunakan penutup wajah. Kemudian, Anda dapat menggunakan model recognition_04 terbaru untuk mengenali identitas mereka. Perhatikan bahwa setiap model beroperasi secara independen dari yang lain, serta ambang batas kepercayaan yang ditetapkan untuk satu model tidak dimaksudkan untuk dibandingkan pada seluruh model pengenalan lainnya.
Baca terus untuk mengetahui cara menentukan model yang dipilih dalam operasi Wajah yang berbeda sambil menghindari konflik model. Jika Anda pengguna tingkat lanjut dan ingin menentukan apakah Anda harus berpindah ke model terbaru, segera lewati ke bagian Mengevaluasi model yang berbeda. Anda dapat mengevaluasi model baru serta membandingkan hasil menggunakan himpunan data Anda saat ini.
Prasyarat
Anda harus terbiasa dengan konsep deteksi dan identifikasi wajah AI. Jika tidak, lihat panduan ini terlebih dahulu:
Deteksi wajah dengan model tertentu
Pendeteksi wajah mengidentifikasi landmark visual wajah manusia dan menemukan lokasi kotak pembatasnya. Ini juga mengekstrak fitur wajah dan menyimpannya sementara hingga 24 jam untuk digunakan dalam identifikasi. Semua informasi ini membentuk representasi satu wajah.
Model pengenalan digunakan saat fitur wajah diekstraksi, sehingga Anda dapat menentukan versi model saat melakukan operasi Deteksi.
Saat menggunakan Detect API, tetapkan versi model dengan recognitionModel
parameter . Nilai yang tersedia adalah:
recognition_01
recognition_02
recognition_03
recognition_04
Secara opsional, Anda dapat menentukan parameter returnRecognitionModel (default false) untuk menunjukkan apakah recognitionModel harus dikembalikan sebagai respons. Jadi, URL permintaan untuk Detect REST API akan terlihat seperti ini:
https://westus.api.cognitive.microsoft.com/face/v1.0/detect?detectionModel={detectionModel}&recognitionModel={recognitionModel}&returnFaceId={returnFaceId}&returnFaceAttributes={returnFaceAttributes}&returnFaceLandmarks={returnFaceLandmarks}&returnRecognitionModel={returnRecognitionModel}&faceIdTimeToLive={faceIdTimeToLive}
Jika Anda menggunakan pustaka klien, Anda bisa menetapkan nilai untuk recognitionModel
dengan meneruskan string yang mewakili versinya. Jika Anda membiarkannya tidak ditetapkan, versi model default recognition_01
akan digunakan. Lihat contoh kode berikut untuk pustaka klien .NET.
string imageUrl = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/Face/images/detection1.jpg";
var response = await faceClient.DetectAsync(new Uri(imageUrl), FaceDetectionModel.Detection03, FaceRecognitionModel.Recognition04, returnFaceId: true, returnFaceLandmarks: true, returnRecognitionModel: true);
var faces = response.Value;
Catatan
Parameter returnFaceId harus diatur ke true
untuk mengaktifkan skenario pengenalan wajah di langkah selanjutnya.
Mengidentifikasi wajah dengan model yang ditentukan
Layanan Face dapat mengekstrak data wajah dari gambar dan mengaitkannya dengan objek Person (melalui panggilan Tambahkan Person Group Person Face API, misalnya), dan beberapa objek Person dapat disimpan bersama-sama dalam PersonGroup. Kemudian, wajah baru dapat dibandingkan dengan PersonGroup (dengan panggilan Identifikasi Dari Grup Orang), dan orang yang cocok dalam grup tersebut dapat diidentifikasi.
PersonGroup harus memiliki satu model pengenalan unik untuk semua Orang, dan Anda dapat menentukan ini menggunakan recognitionModel
parameter saat Anda membuat grup (Buat Grup Orang atau Buat Grup Orang Besar). Jika Anda tidak menentukan parameter, model recognition_01
asli akan digunakan. Sebuah grup akan selalu menggunakan model pengenalan yang digunakan untuk membuatnya, dan setiap wajah baru akan dikaitkan dengan model ini saat ditambahkan. Model ini tidak dapat diubah setelah pembuatan grup. Untuk melihat model apa yang dikonfigurasi dengan PersonGroup , gunakan GET Person Group API dengan parameter returnRecognitionModel yang ditetapkan sebagai true.
Lihat contoh kode .NET berikut.
// Create an empty PersonGroup with "recognition_04" model
string personGroupId = "mypersongroupid";
using (var content = new ByteArrayContent(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new Dictionary<string, object> { ["name"] = "My Person Group Name", ["recognitionModel"] = "recognition_04" }))))
{
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
await httpClient.PutAsync($"{ENDPOINT}/face/v1.0/persongroups/{personGroupId}", content);
}
Dalam kode ini, PersonGroup dengan ID mypersongroupid
dibuat dan disiapkan untuk menggunakan model recognition_04 guna mengekstrak fitur wajah.
Secara sesuai, Anda perlu menentukan model mana yang akan digunakan saat mendeteksi wajah untuk dibandingkan dengan PersonGroup ini (melalui API Deteksi). Model yang Anda gunakan harus selalu konsisten dengan konfigurasi PersonGroup; jika tidak, operasi akan gagal karena model yang tidak kompatibel.
Tidak ada perubahan dalam API Identifikasi Dari Grup Orang; Anda hanya perlu menentukan versi model dalam deteksi.
Menemukan wajah serupa dengan model yang ditentukan
Anda juga dapat menentukan model pengenalan untuk pencarian kesamaan. Anda dapat menetapkan versi model dengan recognitionModel
saat membuat FaceList dengan Buat API Daftar Wajah atau Buat Daftar Wajah Besar. Jika Anda tidak menentukan parameter ini, model recognition_01
akan digunakan secara default. FaceList akan selalu menggunakan model pengenalan yang digunakan untuk membuatnya, dan wajah baru akan dikaitkan dengan model ini saat ditambahkan ke daftar; Anda tidak bisa mengubah hal ini setelah pembuatan. Untuk melihat model apa yang dikonfigurasi faceList , gunakan GET Face List API dengan parameter returnRecognitionModel yang ditetapkan sebagai true.
Lihat contoh kode .NET berikut.
using (var content = new ByteArrayContent(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new Dictionary<string, object> { ["name"] = "My face collection", ["recognitionModel"] = "recognition_04" }))))
{
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
await httpClient.PutAsync($"{ENDPOINT}/face/v1.0/facelists/{faceListId}", content);
}
Kode ini membuat FaceList yang disebut My face collection
, menggunakan model recognition_04 untuk ekstraksi fitur. Saat Anda mencari FaceList ini untuk wajah serupa dengan wajah baru yang terdeteksi, wajah tersebut harus terdeteksi (Deteksi) menggunakan model recognition_04. Seperti pada bagian sebelumnya, model harus konsisten.
Tidak ada perubahan dalam Temukan API Serupa ; Anda hanya menentukan versi model dalam deteksi.
Memverifikasi wajah dengan model yang ditentukan
VERIFIKASI FACE TO Face API memeriksa apakah dua wajah milik orang yang sama. Tidak ada perubahan dalam erify API terkait dengan model pengenalan, tetapi Anda hanya dapat membandingkan wajah yang terdeteksi dengan model yang sama.
Evaluasi model yang berbeda
Jika Anda ingin membandingkan kinerja model pengenalan yang berbeda pada data Anda sendiri, Anda harus:
- Buat empat PersonGroupmenggunakan recognition_01, recognition_02, recognition_03, dan recognition_04 masing-masing.
- Gunakan data gambar Anda untuk mendeteksi wajah dan mendaftarkannya ke Orang dalam empat PersonGroup ini.
- Latih PersonGroupAnda menggunakan TRAIN Person Group API.
- Uji dengan Identifikasi Dari Grup Orang pada keempat PersonGroupdan bandingkan hasilnya.
Jika Anda biasanya menentukan ambang kepercayaan (nilai antara nol dan satu yang menentukan seberapa yakin model harus mengidentifikasi wajah), Anda mungkin perlu menggunakan ambang batas yang berbeda untuk model yang berbeda. Sebuah ambang batas untuk satu model tidak dimaksudkan untuk dibagikan ke model yang lain, dan belum tentu menghasilkan hasil yang sama.
Langkah berikutnya
Dalam artikel ini, Anda mempelajari cara menentukan model deteksi yang akan digunakan dengan Face API yang berbeda. Selanjutnya, ikuti panduan mulai cepat untuk memulai deteksi wajah.