Partilhar via


Estruturas de dados de reconhecimento facial

Este artigo explica as estruturas de dados usadas no serviço Face para operações de reconhecimento facial. Estas estruturas de dados contêm dados sobre rostos e pessoas.

Atenção

O acesso ao serviço presencial é limitado com base em critérios de elegibilidade e uso, a fim de apoiar nossos princípios de IA responsável. O serviço Face só está disponível para clientes e parceiros geridos pela Microsoft. Use o formulário de admissão de Reconhecimento Facial para solicitar acesso. Para obter mais informações, consulte a página Face acesso limitado.

Estruturas de dados usadas com o Identify

A API de identificação facial usa estruturas de dados de contêiner para reter dados de reconhecimento facial na forma de objetos Pessoa . Existem três tipos de contentores para este efeito, listados dos mais antigos aos mais recentes. Recomendamos que você sempre use o mais novo.

GrupoDePessoas

PersonGroup é a menor estrutura de dados de contêiner.

  • Você precisa especificar um modelo de reconhecimento ao criar um PersonGroup. Quando quaisquer faces são adicionadas a esse PersonGroup, ele usa esse modelo para processá-las. Este modelo deve corresponder à versão do modelo com o Face ID da API de deteção.
  • Você deve chamar a API Train para fazer com que quaisquer novos dados faciais reflitam nos resultados da API de identificação. Isto inclui adicionar/remover rostos e adicionar/remover pessoas.
  • Para o plano gratuito, pode acomodar até 1.000 pessoas. Para a assinatura paga S0, pode incluir até 10.000 pessoas.

PersonGroupPerson representa uma pessoa a ser identificada. Pode acomodar até 248 rostos.

Grupo de Pessoas Grandes

LargePersonGroup é uma estrutura de dados posterior introduzida para suportar até 1 milhão de entidades (para assinatura de camada S0). Ele é otimizado para suportar dados em grande escala. Ele compartilha a maioria dos recursos do PersonGroup: um modelo de reconhecimento precisa ser especificado no momento da criação e a API Train deve ser chamada antes do uso.

Diretório de Pessoas

PersonDirectory é a mais nova estrutura de dados deste tipo. Ele suporta uma escala maior e maior precisão. Cada recurso do Azure Face tem uma única estrutura de dados PersonDirectory padrão. É uma lista simples de objetos PersonDirectoryPerson - pode conter até 20 milhões.

PersonDirectoryPerson representa uma pessoa a ser identificada. Com base no modelo PersonGroupPerson mais antigo, ele permite que você adicione rostos de diferentes modelos de reconhecimento à mesma pessoa. No entanto, a operação Identificar só pode comparar faces obtidas com o mesmo modelo de reconhecimento.

DynamicPersonGroup é uma estrutura de dados leve que permite fazer referência dinâmica a um PersonDirectoryPerson. Ele não requer a operação Train: uma vez que os dados são atualizados, eles estão prontos para serem usados com a API de identificação.

Você também pode usar uma lista de ID de pessoa local para a operação de Identificação. Isso permite especificar um grupo mais restrito para identificar. Você pode fazer isso manualmente para melhorar o desempenho de identificação em grandes grupos.

As estruturas de dados acima podem ser usadas em conjunto. Por exemplo:

  • Em um sistema de controle de acesso, o PersonDirectory pode representar todos os funcionários de uma empresa, mas um DynamicPersonGroup menor pode representar apenas os funcionários que têm acesso a um único andar do prédio.
  • Em um sistema de integração de voos, o PersonDirectory pode representar todos os clientes da companhia aérea, mas o DynamicPersonGroup representa apenas os passageiros de um determinado voo. Uma lista de identificação pessoal no local pode representar os passageiros que fizeram uma alteração de última hora.

Para obter mais detalhes, consulte o guia de instruções do PersonDirectory. Uma rápida comparação entre LargePersonGroup e PersonDirectory:

Detalhe GrupoGrandeDePessoas Diretório de Pessoas
Capacidade Um LargePersonGroup pode conter até 1 milhão de objetos PersonGroupPerson . A coleção pode armazenar até 20 milhões de identidades de PersonDirectoryPerson.
PersonURI /largepersongroups/{groupId}/persons/{personId} (/v1.0-preview-or-above)/persons/{personId}
Propriedade Os objetos PersonGroupPerson são de propriedade exclusiva do LargePersonGroup ao qual pertencem. Se quiser que a mesma identidade seja mantida em vários grupos, terá que Criar Pessoa em Grupo de Pessoas Grande e Adicionar Face de Pessoa em Grupo de Pessoas Grande para cada grupo individualmente, terminando com um conjunto de IDs de pessoa em vários grupos. Os objetos PersonDirectoryPerson são armazenados diretamente dentro do PersonDirectory, como uma lista simples. Você pode usar uma lista de ID de pessoa localizada para Identificar no Diretório de Pessoas ou, opcionalmente, Criar um Grupo de Pessoas Dinâmico e incluir hibridamente uma pessoa no grupo. Um objeto PersonDirectoryPerson criado pode ser referenciado por vários DynamicPersonGroup sem duplicação.
Modelo O modelo de reconhecimento é determinado pelo LargePersonGroup. Novos rostos para todos os objetos PersonGroupPerson ficam associados a esse modelo quando são adicionados a ele. O objeto PersonDirectoryPerson prepara armazenamento separado por modelo de reconhecimento. Você pode especificar o modelo ao adicionar novas faces, mas a API de identificação só pode corresponder faces obtidas com o mesmo modelo de reconhecimento, que está associado às faces de consulta.
Formação Você deve chamar a API Train para fazer com que quaisquer novos dados de rosto/pessoa reflitam nos resultados da API de identificação. Não há necessidade de fazer chamadas de trem, mas APIs, como Add Person Face , tornam-se uma operação de longa duração, o que significa que você deve usar o cabeçalho de resposta "Operation-Location" para verificar se a atualização foi concluída.
Limpeza Excluir Large Person Group também excluirá todos os objetos PersonGroupPerson que ele detém, incluindo seus dados faciais. Eliminar Grupo Dinâmico de Pessoas apenas removerá a referência a PersonDirectoryPerson. Para excluir a pessoa real e os dados do rosto, consulte Excluir pessoa.

Estruturas de dados usadas com Find Similar

Ao contrário da API de identificação, a API Localizar semelhante é usada em aplicativos em que o registro de uma pessoa é difícil de configurar (por exemplo, imagens de rosto capturadas de análise de vídeo ou de uma análise de álbum de fotos).

Lista de rostos

FaceList representa uma lista simples de rostos persistentes. Pode suportar até 1.000 rostos.

LargeFaceList

LargeFaceList é uma versão posterior que pode conter até 1.000.000 de rostos.

Próximo passo

Agora que você está familiarizado com as estruturas de dados faciais, escreva um script que as use na operação Identificar.