Dela via


Datastrukturer för ansiktsigenkänning

Den här artikeln förklarar de datastrukturer som används i ansiktstjänsten för ansiktsigenkänningsåtgärder. Dessa datastrukturer innehåller data om ansikten och personer.

Varning

Åtkomsten till ansiktstjänsten är begränsad baserat på berättigande- och användningskriterier för att stödja våra principer för ansvarsfull AI. Ansiktstjänsten är endast tillgänglig för Microsofts hanterade kunder och partner. Använd formuläret ansiktsigenkänning för att ansöka om åtkomst. Mer information finns på sidan ansiktsbegränsade åtkomst .

Datastrukturer som används med Identifiera

API:et ansiktsidentifiering använder containerdatastrukturer för att lagra ansiktsigenkänningsdata i form av personobjekt . Det finns tre typer av containrar för detta ändamål, listade från äldsta till nyaste. Vi rekommenderar att du alltid använder den senaste.

PersonGroup

PersonGroup är den minsta containerdatastrukturen.

  • Du måste ange en igenkänningsmodell när du skapar en PersonGroup. När alla ansikten läggs till i persongruppen använder den modellen för att bearbeta dem. Den här modellen måste matcha modellversionen med Ansikts-ID från identifierings-API:et.
  • Du måste anropa tränings-API:et för att få nya ansiktsdata att återspeglas i resultaten för Identifiera API. Detta inkluderar att lägga till/ta bort ansikten och lägga till/ta bort personer.
  • För prenumerationen på den kostnadsfria nivån kan den innehålla upp till 1 000 personer. För en S0-betald prenumeration kan den ha upp till 10 000 personer.

PersonGroupPerson representerar en person som ska identifieras. Den kan innehålla upp till 248 ansikten.

Stor persongrupp

LargePersonGroup är en senare datastruktur som introduceras för att stödja upp till 1 miljon entiteter (för S0-nivåprenumeration). Den är optimerad för att stödja storskaliga data. Den delar de flesta PersonGroup-funktioner : En igenkänningsmodell måste anges vid skapandetillfället och tränings-API:et måste anropas före användning.

Personkatalog

PersonDirectory är den senaste datastrukturen av den här typen. Den stöder en större skala och högre noggrannhet. Varje Azure Face-resurs har en enda standarddatastruktur för PersonDirectory . Det är en platt lista över PersonDirectoryPerson-objekt – den kan innehålla upp till 20 miljoner.

PersonDirectoryPerson representerar en person som ska identifieras. Baserat på den äldre PersonGroupPerson-modellen kan du lägga till ansikten från olika igenkänningsmodeller till samma person. Åtgärden Identifiera kan dock bara matcha ansikten som erhålls med samma igenkänningsmodell.

DynamicPersonGroup är en enkel datastruktur som gör att du dynamiskt kan referera till en PersonDirectoryPerson. Det kräver inte åtgärden Träna: när data har uppdaterats är de redo att användas med api:et Identifiera.

Du kan också använda en person-ID-lista på plats för åtgärden Identifiera. På så sätt kan du ange en smalare grupp att identifiera från. Du kan göra detta manuellt för att förbättra identifieringsprestanda i stora grupper.

Ovanstående datastrukturer kan användas tillsammans. Till exempel:

  • I ett åtkomstkontrollsystem kan PersonDirectory representera alla anställda i ett företag, men en mindre DynamicPersonGroup kan representera bara de anställda som har åtkomst till en enda våning i byggnaden.
  • I ett flygregistreringssystem kan PersonDirectory representera alla kunder i flygbolagsföretaget, men DynamicPersonGroup representerar bara passagerarna på en viss flygning. En person-ID-lista på plats kan representera de passagerare som gjorde en ändring i sista minuten.

Mer information finns i vägledningen för PersonDirectory. En snabb jämförelse mellan LargePersonGroup och PersonDirectory:

Detalj LargePersonGroup PersonDirectory
Kapacitet En LargePersonGroup kan innehålla upp till 1 miljon PersonGroupPerson-objekt . Samlingen kan lagra upp till 20 miljoner PersonDirectoryPerson-identiteter .
PersonURI /largepersongroups/{groupId}/persons/{personId} (/v1.0-preview-or-above)/persons/{personId}
Ägarskap PersonGroupPerson-objekten ägs exklusivt av LargePersonGroupsom de tillhör. Om du vill ha samma identitet i flera grupper måste du skapa en persongruppsperson och lägga till personansikte för stora personer för varje grupp individuellt, vilket slutar med en uppsättning person-ID:t i flera grupper. PersonDirectoryPerson-objekten lagras direkt i PersonDirectory som en platt lista. Du kan använda en person-ID-lista på plats för att identifiera från personkatalogen, eller om du vill skapa en dynamisk persongrupp och hybridt inkludera en person i gruppen. Ett skapat PersonDirectoryPerson-objekt kan refereras till av flera DynamicPersonGroup utan duplicering.
Modell Igenkänningsmodellen bestäms av LargePersonGroup. Nya ansikten för alla PersonGroupPerson-objekt associeras med den här modellen när de läggs till i den. PersonDirectoryPerson-objektet förbereder avgränsad lagring per igenkänningsmodell. Du kan ange modellen när du lägger till nya ansikten, men API:et Identifiera kan bara matcha ansikten som hämtas med samma igenkänningsmodell, som är associerad med frågeytnerna.
Utbildning Du måste anropa tränings-API:et för att få nya ansikts-/persondata att återspeglas i resultatet för Identifiera API. Det finns inget behov av att göra träningsanrop, men API som Lägg till personligt ansikte blir en tidskrävande åtgärd, vilket innebär att du bör använda svarshuvudet "Operation-Location" för att kontrollera om uppdateringen har slutförts.
Rensa Ta bort gruppen Stor person tar också bort alla PersonGroupPerson-objekt som den innehåller, tillsammans med deras ansiktsdata. Ta bort dynamisk persongrupp kommer bara att orefereras PersonDirectoryPerson. Information om hur du tar bort faktisk person och ansiktsdata finns i Ta bort person.

Datastrukturer som används med Hitta liknande

Till skillnad från API:et Identifiera används Sök liknande API i program där registreringen av en person är svår att konfigurera (till exempel ansiktsbilder som tagits från videoanalys eller från en fotoalbumanalys).

Ansiktslista

FaceList representerar en platt lista över bevarade ansikten. Den kan innehålla 1 000 ansikten.

LargeFaceList

LargeFaceList är en senare version som kan innehålla upp till 1 000 000 ansikten.

Gå vidare

Nu när du är bekant med ansiktsdatastrukturerna skriver du ett skript som använder dem i åtgärden Identifiera.