Určení modelu rozpoznávání obličeje

Upozornění

Přístup ke službě Rozpoznávání tváře je omezený na základě kritérií způsobilosti a použití, aby bylo možné podporovat naše zásady zodpovědné umělé inteligence. Služba Rozpoznávání tváře je dostupná jenom pro zákazníky a partnery spravované Microsoftem. Pro přístup použijte formulář pro příjem rozpoznávání tváře. Další informace najdete na stránce s omezeným přístupem k tváři.

V této příručce se dozvíte, jak pomocí služby Azure AI Face Service určit model rozpoznávání tváře, identifikace a podobnosti.

Služba Rozpoznávání tváře používá modely strojového učení k provádění operací s viditelnými lidskými tvářemi na obrázcích. Stále vylepšujeme přesnost našich modelů na základě zpětné vazby zákazníků a pokroků ve výzkumu a tato vylepšení přinášíme jako aktualizace modelu. Vývojáři můžou určit, jakou verzi modelu rozpoznávání tváře chtějí použít, a zvolit model, který nejlépe vyhovuje případu použití.

Kompatibilita modelů

Služba Azure AI Face má k dispozici čtyři modely rozpoznávání. Modely recognition_01 (publikováno 2017), recognition_02 (publikováno 2019) a recognition_03 (publikováno 2020) jsou neustále podporovány, aby se zajistila zpětná kompatibilita pro zákazníky používající FaceLists nebo PersonGroupvytvořené s těmito modely. FaceList nebo PersonGroup vždy používá model rozpoznávání, se kterým byl vytvořen, a nové tváře se přidají k tomuto modelu při jejich přidání. Po vytvoření se to nedá změnit a zákazníci musí použít odpovídající model rozpoznávání s odpovídající skupinou FaceList nebo PersonGroup.

Můžete přejít na modely pozdějšího rozpoznávání podle vlastního pohodlí; Budete ale muset vytvořit nové FaceLists a PersonGroups s modelem rozpoznávání podle vašeho výběru.

Model recognition_04 (publikovaný 2021) je aktuálně nejpřesnější model. Pokud jste nový zákazník, doporučujeme použít tento model. Recognition_04 poskytuje vyšší přesnost pro porovnání podobnosti i porovnání porovnávání osob. Recognition_04 zlepšuje rozpoznávání zaregistrovaných uživatelů na obličejových krytech (chirurgické masky, masky N95, masky oblečení). Teď můžete vytvářet bezpečná a bezproblémová uživatelská prostředí, která používají nejnovější model detection_03 , abyste zjistili, jestli má zaregistrovaný uživatel kryt obličeje. Pak můžete k rozpoznání identity použít nejnovější model recognition_04 . Každý model funguje nezávisle na ostatních modelech a prahová hodnota spolehlivosti nastavená pro jeden model není určená k porovnání mezi ostatními modely rozpoznávání.

Přečtěte si, jak určit vybraný model v různých operacích rozpoznávání tváře a vyhnout se konfliktům modelu. Pokud jste pokročilý uživatel a chcete zjistit, jestli byste měli přepnout na nejnovější model, přejděte do části Vyhodnocení různých modelů . Nový model můžete vyhodnotit a porovnat výsledky pomocí aktuální datové sady.

Požadavky

Měli byste být obeznámeni s koncepty detekce a identifikace tváří AI. Pokud nejste, podívejte se nejprve na tyto příručky:

Rozpoznávání tváří pomocí zadaného modelu

Detekce tváře identifikuje vizuální orientační body lidských tváří a najde jejich ohraničující místa. Extrahuje také funkce tváře a dočasně je ukládá až po dobu 24 hodin pro použití při identifikaci. Všechny tyto informace tvoří reprezentaci jedné tváře.

Model rozpoznávání se používá při extrahování funkcí tváře, takže při provádění operace Detect můžete určit verzi modelu.

Při použití rozhraní API pro rozpoznávání tváře přiřaďte verzi modelu s parametrem recognitionModel . Dostupné hodnoty jsou:

  • recognition_01
  • recognition_02
  • recognition_03
  • recognition_04

Volitelně můžete zadat parametr returnRecognitionModel (výchozí false), který označuje, zda má být v odpovědi vrácen model recognitionModel . Adresa URL požadavku pro rozpoznávání tváře – Detekce rozhraní REST API bude vypadat takto:

https://westus.api.cognitive.microsoft.com/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes][&recognitionModel][&returnRecognitionModel]&subscription-key=<Subscription key>

Pokud používáte klientskou knihovnu, můžete ji recognitionModel přiřadit předáním řetězce představujícího verzi. Pokud ji necháte nepřiřazenou, použije se výchozí verze recognition_01 modelu. Podívejte se na následující příklad kódu pro klientskou knihovnu .NET.

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: true, returnFaceLandmarks: true, recognitionModel: "recognition_01", returnRecognitionModel: true);

Poznámka:

Aby bylo možné v pozdějších krocích povolit scénáře rozpoznávání tváře, musí být parametr returnFaceId nastavený na true hodnotu.

Identifikace tváří pomocí zadaného modelu

Služba Rozpoznávání tváře může extrahovat data tváře z obrázku a přidružit je k objektu Person (například prostřednictvím volání přidat rozhraní API pro rozpoznávání tváře) a v skupině PersonGroup je možné uložit několik objektů osob. Pak je možné porovnat novou tvář se skupinou PersonGroup (s voláním Face - Identify ) a shodnou osobou v této skupině.

Skupina PersonGroup by měla mít jeden jedinečný model rozpoznávání pro všechny osobya můžete to zadat pomocí parametru recognitionModel při vytváření skupiny (PersonGroup – Create nebo LargePersonGroup – Create). Pokud tento parametr nezadáte, použije se původní recognition_01 model. Skupina bude vždy používat model rozpoznávání, se kterým byl vytvořen, a nové tváře se přidruží k tomuto modelu při jejich přidání. Po vytvoření skupiny to nejde změnit. Pokud chcete zjistit, s jakým modelem je PersonGroup nakonfigurovaný, použijte PersonGroup – Get API s parametrem returnRecognitionModel nastaveným jako true.

Podívejte se na následující příklad kódu pro klientskou knihovnu .NET.

// Create an empty PersonGroup with "recognition_04" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

V tomto kódu se vytvoří skupina PersonGroup s ID mypersongroupid a je nastavená tak, aby k extrakci funkcí tváře používala model recognition_04.

Odpovídajícím způsobem je potřeba určit, který model se má použít při zjišťování tváří k porovnání s touto skupinou PersonGroup (prostřednictvím rozhraní API pro rozpoznávání tváře). Model, který použijete, by měl být vždy konzistentní s konfigurací skupiny PersonGroup. Jinak operace selže kvůli nekompatibilním modelům.

Rozhraní API pro identifikaci tváře se nijak nemění. Při detekci stačí zadat jenom verzi modelu.

Vyhledání podobných tváří pomocí zadaného modelu

Můžete také zadat model rozpoznávání pro vyhledávání podobnosti. Verzi recognitionModel modelu můžete přiřadit při vytváření FaceListu pomocí FaceListu – Vytvořit rozhraní API nebo LargeFaceList – Vytvořit. Pokud tento parametr nezadáte, recognition_01 použije se ve výchozím nastavení model. FaceList bude vždy používat model rozpoznávání, se kterým byl vytvořen, a nové tváře se přidruží k tomuto modelu při jejich přidání do seznamu. Po vytvoření to nemůžete změnit. Pokud chcete zjistit, s jakým modelem je FaceList nakonfigurovaný, použijte FaceList – Získat rozhraní API s parametrem returnRecognitionModel nastaveným jako true.

Podívejte se na následující příklad kódu pro klientskou knihovnu .NET.

await faceClient.FaceList.CreateAsync(faceListId, "My face collection", recognitionModel: "recognition_04");

Tento kód vytvoří facelist volaný My face collection, pomocí modelu recognition_04 pro extrakci funkcí. Když hledáte v tomto seznamu FaceList podobné tváře jako u nové rozpoznané tváře, musí být tato tvář zjištěna (rozpoznávání tváře – zjistit) pomocí modelu recognition_04 . Stejně jako v předchozí části musí být model konzistentní.

V rozhraní API pro rozpoznávání tváře neexistuje žádná změna – najít podobné rozhraní API. Vy určíte pouze verzi modelu při detekci.

Ověření tváří pomocí zadaného modelu

Rozpoznávání tváře – Ověření rozhraní API kontroluje, jestli dvě tváře patří stejné osobě. V rozhraní API pro ověřování neexistuje žádná změna, pokud jde o modely rozpoznávání, ale můžete porovnávat pouze tváře, které byly zjištěny se stejným modelem.

Vyhodnocení různých modelů

Pokud chcete porovnat výkony různých modelů rozpoznávání na vlastních datech, budete muset:

  1. Vytvořte čtyři skupiny PersonGrouppomocí recognition_01, recognition_02, recognition_03 a recognition_04 .
  2. Pomocí dat obrázku můžete rozpoznat tváře a zaregistrovat je do persons v rámci těchto čtyř skupin PersonGroup.
  3. Trénujte skupinu PersonGroup pomocí rozhraní PersonGroup– Train API.
  4. Test s tváří – Identifikujte všechny čtyři skupiny PersonGroupa porovnejte výsledky.

Pokud za normálních okolností zadáte prahovou hodnotu spolehlivosti (hodnota mezi nulou a jednou, která určuje, jakou jistotu musí model identifikovat tvář), možná budete muset pro různé modely použít různé prahové hodnoty. Prahová hodnota pro jeden model není určená ke sdílení s jiným modelem a nemusí nutně vést ke stejným výsledkům.

Další kroky

V tomto článku jste zjistili, jak určit model rozpoznávání, který se má použít s různými rozhraními API služby Rozpoznávání tváře. Pak postupujte podle rychlého startu a začněte s detekcí tváří.