Compartilhar via


Estruturas de dados de reconhecimento facial

Este artigo explica as estruturas de dados usadas no serviço de Detecção Facial para operações de reconhecimento facial. Essas estruturas de dados contêm dados em rostos e pessoas.

Cuidado

O acesso ao serviço de Detecção Facial é limitado com base em critérios de qualificação e uso para dar suporte aos nossos princípios de IA responsável. O serviço de Detecção Facial só está disponível para clientes e parceiros gerenciados da Microsoft. Use o Formulário de admissão de reconhecimento facial para solicitar acesso. Para obter mais informações, consulte a página Acesso limitado facial.

Estruturas de dados usadas com o Identificar

A API de Identificação Facial usa estruturas de dados de contêiner para armazenar dados de reconhecimento facial na forma de objetos de Pessoa. Há três tipos de contêineres para essa finalidade, listados do mais antigo para o mais recente. É recomendável que você sempre use o mais novo.

PersonGroup

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

  • Você precisará especificar um modelo de reconhecimento ao criar um PersonGroup. Quando qualquer rosto é adicionado a esse PersonGroup, ele usa esse modelo para processá-los. Esse modelo deve corresponder à versão do modelo com a ID de Detecção Facial da API de detecção.
  • Chame a API de Treinamento para fazer com que novos dados de detecção facial reflitam nos resultados da API de Identificação. Isso inclui adicionar/remover rostos e adicionar/remover pessoas.
  • Para a assinatura de camada gratuita, ela pode conter até 1.000 pessoas. Para assinatura paga S0, ela pode ter até 10.000 pessoas.

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

Grande grupo de pessoas

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

Diretório de Pessoas

PersonDirectory é a estrutura de dados mais recente desse tipo. Ele dá suporte a uma grande escala e maior precisão. Cada recurso de Detecção Facial do Azure tem um único padrão estrutura de dados PersonDirectory. É uma lista simples de objetos PersonDirectoryPerson – pode conter até 20 milhões.

PersonDirectoryPerson representa uma pessoa a ser identificada. Baseado no antigo modelo PersonGroupPerson, ele permite adicionar rostos de modelos de reconhecimento diferentes à mesma pessoa. No entanto, a operação Identificar só pode corresponder aos rostos obtidos com o mesmo modelo de reconhecimento.

DynamicPersonGroup é uma estrutura de dados leve que permite referenciar dinamicamente um PersonDirectoryPerson. Ele não requer a operação Treinar: depois que os dados são atualizados, ele está pronto para ser usado com a API de Identificação.

Também poderá usar uma lista de IDs de pessoa no local para a operação Identificar. Isso permite especificar um grupo mais estreito do qual identificar. Faça isso manualmente para melhorar o desempenho de identificação em grupos grandes.

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 edifício.
  • Em um sistema de integração de voo, o PersonDirectory poderia representar todos os clientes da companhia aérea, mas o DynamicPersonGroup representa apenas os passageiros em um voo específico. Uma lista de IDs de pessoa no local poderia representar os passageiros que fizeram uma mudança de última hora.

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

Detalhes LargePersonGroup PersonDirectory
Capacidade Um LargePersonGroup pode conter até 1 milhão de objetos PersonGroupPerson. A coleção pode armazenar até 20 milhões de identidades PersonDirectoryPerson.
PersonURI /largepersongroups/{groupId}/persons/{personId} (/v1.0-preview-or-above)/persons/{personId}
Propriedade Os objetos PersonGroupPerson pertencem exclusivamente ao LargePersonGroup ao qual pertencem. Caso queira uma mesma identidade mantida em vários grupos, precisará Criar grande grupo de pessoas e Adicionar detecção facial de pessoa no grupo 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. Use uma lista de IDs de pessoa in-loco para Identificar do diretório de pessoas ou, opcionalmente, Criar grupo de pessoas dinâmicas e incluir uma pessoa no grupo de forma híbrida. Um objeto PersonDirectoryPerson criado pode ser referenciado por vários DynamicPersonGroup sem duplicação.
Modelar O modelo de reconhecimento é determinado pelo LargePersonGroup. Novos rostos para todos os objetos PersonGroupPerson tornam-se associados a esse modelo quando são adicionados a ele. O objeto PersonDirectoryPerson prepara o armazenamento separado por modelo de reconhecimento. É possível especificar o modelo quando adicionar novos rostos, mas a API de Identificação só pode corresponder rostos obtidos com o mesmo modelo de reconhecimento associado aos rostos da consulta.
Treinamento Chame a API de Treinamento para fazer com que novos dados de detecção facial/pessoa reflitam nos resultados da API de Identificação. Não é necessário fazer chamadas de Treinar, mas a API, como Adicionar detecção facial de pessoa, torna-se uma operação de execução prolongada, o que significa que você deve usar o cabeçalho de resposta "Operation-Location" para verificar se a atualização é concluída.
Limpeza Excluir grupo de pessoas grandes também excluirá todos os objetos PersonGroupPerson que ele contém, juntamente com seus dados faciais. Excluir o grupo de pessoas dinâmicas só cancelará a inferência do PersonDirectoryPerson. Para excluir a pessoa real e os dados de rosto, consulte Excluir Pessoa.

Estruturas de dados usadas com o Localizar Semelhante

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

FaceList

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

LargeFaceList

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

Próxima etapa

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