Pesquisa de faces em uma coleção
O Amazon Rekognition permite que você use uma face de entrada para pesquisar correspondências em uma coleção de faces armazenadas. Você começa armazenando informações sobre faces detectadas em contêineres do lado do servidor chamados "coleções". As coleções armazenam faces e usuários individuais (várias faces da mesma pessoa). Faces individuais são armazenadas como vetores faciais, uma representação matemática da face (não uma imagem real da face). Imagens diferentes da mesma pessoa podem ser usadas para criar e armazenar vários vetores faciais na mesma coleção. Em seguida, você pode agregar vários vetores de face da mesma pessoa para criar um vetor de usuário. Os vetores do usuário podem oferecer maior precisão na busca facial com representações mais robustas, contendo vários graus de iluminação, nitidez, pose, aparência etc.
Depois de criar uma coleção, você pode usar uma face de entrada para pesquisar vetores de usuário ou vetores de face correspondentes em uma coleção. Pesquisar em vetores de usuário pode melhorar significativamente a precisão em comparação com a pesquisa em vetores faciais individuais. Você pode usar faces detectadas em imagens, vídeos armazenados e vídeos em streaming para pesquisar em vetores faciais armazenados. Você pode usar faces detectadas em imagens para pesquisar em vetores de usuário armazenados.
Para armazenar informações faciais, você precisará fazer o seguinte:
-
Criar uma coleção: para armazenar informações faciais, você deve primeiro criar (CreateCollection) uma coleção facial em uma das regiões da AWS da sua conta. Você especifica essa coleção de faces ao chamar a operação
IndexFaces. -
Indexar Faces: a operação IndexFaces detecta faces em uma imagem, extrai e armazena os vetores de face na coleção. Você pode usar essa operação para detectar faces em uma imagem e manter informações sobre traços faciais detectados em uma coleção. Esse é um exemplo de operação de API com base em armazenamento porque o serviço armazena as informações do vetor facial no servidor.
Para criar um usuário e associar vários vetores faciais a um usuário, você precisará fazer o seguinte:
-
Criar um usuário: você deve primeiro criar um usuário com CreateUser. Você pode melhorar a precisão da correspondência facial agregando vários vetores faciais da mesma pessoa em um vetor de usuário. Você pode associar até 100 vetores de face a um vetor de usuário.
-
Associar faces: depois de criar o usuário, você pode adicionar vetores de face existentes a esse usuário com a operação AssociateFaces . Os vetores de face devem residir na mesma coleção de um vetor de usuário para serem associados a esse vetor de usuário.
Depois de criar uma coleção e armazenar vetores faciais e de usuários, você pode usar as seguintes operações para pesquisar correspondências de faces:
-
SearchFacesByImage: para pesquisar faces individuais armazenadas com uma face de uma imagem.
-
SearchFaces: para pesquisar faces individuais armazenadas com um ID facial fornecido.
-
SearchUsers: para pesquisar usuários armazenados com um ID facial ou ID de usuário fornecido.
-
SearchUsersByImage: para pesquisar usuários armazenados com uma face de uma imagem.
-
StartFaceSearch: para pesquisar faces em um vídeo armazenado.
-
CreateStreamProcessor: para pesquisar faces em um streaming de vídeo.
nota
As coleções armazenam vetores faciais, que são representações matemáticas de faces. As coleções não armazenam imagens de faces.
Os diagramas a seguir mostram a ordem das operações de chamada com base em suas metas de uso de coleções:
Para obter a máxima precisão de correspondência com os vetores do usuário:
Para uma correspondência de alta precisão com vetores faciais individuais:
Você pode usar coleções em vários cenários. Por exemplo, você pode criar uma coleção de faces que armazene faces detectadas a partir de imagens digitalizadas de crachás de funcionários e identificações emitidas pelo governo usando operações IndexFaces e AssociateFaces. Quando um funcionário entra no prédio, uma imagem da face do funcionário é capturada e enviada para a operação SearchUsersByImage. Se a correspondência de face produzir uma pontuação de similaridade suficientemente alta (por exemplo, 99%), você poderá autenticar o funcionário.