Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e do Amazon Rekognition

Reconhecimento da Amazônia permite mitigar ataques fraudulentos e minimizar o atrito de integração para clientes legítimos por meio de um processo simplificado de verificação de identidade. Isso pode resultar em um aumento na confiança e segurança do cliente. Os principais recursos desta solução incluem:

  • Registre um novo usuário usando uma selfie
  • Registre um novo usuário após a correspondência de rosto com um cartão de identificação e extração de dados de cartão de identificação
  • Autenticar usuário de retorno

O Amazon Rekognition oferece pré-treinamento reconhecimento facial recursos que você pode adicionar rapidamente aos seus fluxos de trabalho de integração e autenticação de usuários para verificar online as identidades dos usuários que optaram por participar. Nenhum conhecimento de aprendizado de máquina (ML) é necessário para usar este serviço.

Num anterior postar, descrevemos um fluxo de trabalho típico de verificação de identidade e mostramos como criar uma solução de verificação de identidade usando várias APIs do Amazon Rekognition. Nesta postagem, adicionamos uma interface de usuário de autenticação baseada em identidade facial para mostrar uma solução completa de verificação de identidade de ponta a ponta. Fornecemos uma implementação de amostra completa em nosso Repositório GitHub.

Visão geral da solução

A arquitetura de referência a seguir mostra como você pode usar o Amazon Rekognition, juntamente com outros serviços da AWS, para implementar a verificação de identidade.

A arquitetura inclui os seguintes componentes:

  1. Os usuários acessam o portal web front-end hospedado no Amplificar AWS O Amplify é uma solução de ponta a ponta que permite que desenvolvedores web front-end criem e implantem aplicativos full stack seguros e escaláveis.
  2. Aplicativos invocam Gateway de API da Amazon para encaminhar solicitações para o correto AWS Lambda função dependendo do fluxo do usuário. Existem quatro ações principais nesta solução: autenticar, registrar, registrar com cartão de identificação e atualizar.
  3. O API Gateway usa uma integração de serviço para executar o Funções de etapa da AWS máquina de estado expresso correspondente ao endpoint específico chamado do API Gateway. Dentro de cada etapa, as funções do Lambda são responsáveis ​​por acionar o conjunto correto de chamadas de e para Amazon DynamoDB e Serviço de armazenamento simples da Amazon (Amazon S3), juntamente com as APIs relevantes do Amazon Rekognition.
  4. O DynamoDB contém IDs de rosto (face-id), URIs de caminho do S3 e IDs exclusivos (por exemplo, número de ID do funcionário) para cada face-id. O Amazon S3 armazena todas as imagens de rosto.
  5. O principal componente final da solução é o Amazon Rekognition. Cada fluxo (autenticar, registrar, registrar com cartão de identificação e atualizar) chama diferentes APIs do Amazon Rekognition dependendo da tarefa.

Antes de implantarmos a solução, é importante conhecer os seguintes conceitos e descrições da API:

  • Coleções – O Amazon Rekognition armazena informações sobre rostos detectados em contêineres do lado do servidor conhecidos como coleções. Você pode usar as informações faciais armazenadas em uma coleção para pesquisar rostos conhecidos em imagens, vídeos armazenados e streaming de vídeos. Você pode usar coleções em vários cenários. Por exemplo, você pode criar uma coleção de rostos para armazenar imagens de crachá digitalizadas usando o IndexFaces Quando um funcionário entra no prédio, uma imagem do rosto do funcionário pode ser capturada e enviada ao PesquisaFacesByImage Operação. Se a correspondência de rosto produzir uma pontuação de similaridade suficientemente alta (digamos 99%), você poderá autenticar o funcionário.
  • API DetectFaces – Essa API detecta rostos em uma imagem fornecida como entrada e retorna informações sobre rostos. Em um fluxo de trabalho de registro de usuário, essa operação pode ajudá-lo a exibir imagens antes de passar para a próxima etapa. Por exemplo, você pode verificar se uma foto contém um rosto, se a pessoa identificada está na orientação correta e se não está usando um bloqueador de rosto, como óculos de sol ou boné.
  • API IndexFaces – Essa API detecta rostos na imagem de entrada e os adiciona à coleção especificada. Esta operação é usada para adicionar uma imagem filtrada a uma coleção para consultas futuras.
  • API SearchFacesByImage – Para uma determinada imagem de entrada, a API primeiro detecta a maior face na imagem e, em seguida, pesquisa a coleção especificada em busca de faces correspondentes. A operação compara os recursos da face de entrada com os recursos de face na coleção especificada.
  • API CompareFaces – Essa API compara uma face na imagem de entrada de origem com cada uma das 100 maiores faces detectadas na imagem de entrada de destino. Se a imagem de origem contiver várias faces, o serviço detectará a maior face e a comparará com cada face detectada na imagem de destino. Para nosso caso de uso, esperamos que a imagem de origem e de destino contenham uma única face.
  • API DeleteFaces – Esta API exclui faces de uma coleção. Você especifica um ID de coleção e uma matriz de IDs de rosto a serem removidos.

Fluxos de trabalho

A solução fornece uma amostra de fluxos de trabalho para habilitar o registro, a autenticação e as atualizações do usuário na imagem do perfil do usuário. Detalhamos cada fluxo de trabalho nesta seção.

Registre um novo usuário usando uma selfie de rosto

A figura a seguir mostra o fluxo de trabalho de um novo registro de usuário. As etapas típicas desse processo são:

  1. Um usuário captura uma imagem de selfie.
  2. É realizada uma verificação de qualidade da imagem selfie.
    Note: Uma verificação de detecção de atividade também pode ser realizada após esta etapa. Para mais detalhes, leia este blog.
  3. A selfie é verificada em um banco de dados de rostos de usuários existentes.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A imagem a seguir ilustra o fluxo de trabalho do Step Functions para registro de novos usuários.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Três funções são chamadas neste fluxo de trabalho: detectar rostos, caras de busca e faces de índice. O detectar rostos função chama o Amazon Rekognition DetectFaces API para determinar se um rosto é detectado em uma imagem e é utilizável. Algumas das verificações de qualidade incluem determinar se apenas um rosto está presente na imagem, garantir que o rosto não seja obscurecido por óculos de sol ou chapéu e confirmar que o rosto não está girado usando o pose dimensão. Se a imagem passar na verificação de qualidade, o caras de busca A função procura uma correspondência de rosto existente nas coleções do Amazon Rekognition confirmando a Limite FaceMatch a pontuação de confiança atende ao seu objetivo de limite. Para obter mais informações, consulte Usando limites de similaridade para combinar rostos. Se a imagem do rosto não existir nas coleções, o faces de índice A função é chamada para indexar a face nas coleções. Os metadados da imagem facial são armazenados na tabela do DynamoDB e as imagens faciais são armazenadas em um bucket do S3.

Se o registro do novo usuário for bem-sucedido, as informações do atributo da imagem da face serão adicionadas ao DynamoDB. Você pode personalizar o fluxo de acordo com o processo de negócios. Geralmente contém algumas ou todas as etapas apresentadas no diagrama anterior. Você pode optar por executar todas as etapas de forma síncrona (aguarde a conclusão de uma etapa antes de passar para a próxima). Como alternativa, você pode executar algumas das etapas de forma assíncrona (não espere a conclusão dessa etapa) para acelerar o processo de registro do usuário e melhorar a experiência do cliente. Se as etapas não forem bem-sucedidas, você deverá reverter o registro do usuário.

Registre um novo usuário após a correspondência de rosto com um cartão de identificação com extração de dados de cartão de identificação

Além do registro do usuário com imagem, esse fluxo de trabalho permite que os usuários se registrem com um cartão de identificação como carteira de motorista. As etapas para registrar um novo usuário com um cartão de identificação são semelhantes às etapas para registrar um novo usuário.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A imagem a seguir ilustra o fluxo de trabalho do Step Functions para registro de novo usuário com ID.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Quatro funções são chamadas neste fluxo de trabalho:  detectar rostos, caras de busca, faces de índice e comparar-faces. A sequência de operações neste fluxo de trabalho é semelhante ao fluxo de trabalho de registro do usuário com a adição de comparar-faces. Depois de verificar a qualidade da imagem da selfie e garantir que a imagem do rosto não esteja presente na coleção, o comparar-faces A função é invocada para verificar se a imagem da selfie corresponde à imagem do rosto no cartão de identificação. Se as imagens corresponderem, as propriedades relevantes são extraídas do cartão de identificação. Você pode extrair pares de valores-chave de documentos de identidade usando o recém-lançado amazontext AnalyzeID API (para regiões dos EUA) ou Amazon Rekognition DetectText API (regiões fora dos EUA e idiomas não ingleses). As propriedades extraídas do cartão de identificação são mescladas e o rosto do usuário é indexado na coleção por meio do faces de índice função.

Os metadados da imagem facial são armazenados na tabela do DynamoDB e as imagens faciais são armazenadas em um bucket do S3.

Se as imagens não corresponderem ou um registro duplicado for detectado, o usuário receberá uma falha de login. As falhas de login podem ser registradas usando um Amazon CloudWatch evento, e as ações podem ser acionadas usando Serviço de notificação simples da Amazon (Amazon SNS) para notificar as operações de segurança para monitorar e rastrear logins com falha. Para obter mais informações, consulte Monitoramento de tópicos do Amazon SNS usando o CloudWatch.

Autenticar usuário de retorno

Outro fluxo comum é um login de usuário existente ou recorrente. Nesse fluxo, é realizada uma verificação da face do usuário (selfie) em relação a uma face previamente cadastrada. As etapas típicas nesse processo incluem captura de rosto do usuário (selfie), verificação da qualidade da imagem da selfie e pesquisa e comparação da selfie com o banco de dados de rostos. O diagrama a seguir mostra um fluxo possível.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A imagem a seguir ilustra o fluxo de trabalho para autenticar um usuário existente.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Este fluxo de trabalho do Step Function chama três funções: detectar rostos, comparar-faces e caras de busca. Depois de detectar rostos função verifica se a imagem do rosto capturada é válida, o comparar-faces A função verifica o link na tabela do DynamoDB em busca de uma imagem de rosto no bucket do S3 que corresponda a um usuário existente. Se uma correspondência for encontrada, o usuário será autenticado com êxito. Se uma correspondência não for encontrada, a função search-faces será chamada para pesquisar a imagem do rosto nas coleções. O usuário é verificado e o processo de autenticação é concluído se a imagem de seu rosto existir nas coleções. Caso contrário, o acesso do usuário é negado.

Pré-requisitos

Antes de começar, conclua os seguintes pré-requisitos:

  1. Crie uma conta AWS.
  2. Instale o Interface de linha de comando da AWS (AWS CLI) versão 2 em sua máquina local. Para obter instruções, consulte Instalando ou atualizando a versão mais recente da AWS CLI.
  3. Configurar a AWS CLI.
  4. Instalar o Node.js em sua máquina local.
  5. Clone o repositório de amostra em sua máquina local:
git clone https://github.com/aws-samples/rekognition-identity-verification.git

Implante a solução

Escolha a pilha apropriada do CloudFormation para provisionar a solução em sua conta da AWS em sua região preferida. Essa solução implanta o API Gateway integrado ao Step Functions e às APIs do Amazon Rekognition para executar os fluxos de trabalho de verificação de identidade.

Clicar em um dos botões de inicialização a seguir provisionará a solução em sua conta da AWS na região específica.

Botão de inicialização da pilha  N. Virgínia (us-east-1)

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.  Óregon (us-west-2)

Execute as etapas a seguir em sua máquina local para implantar o aplicativo Front-end:

cd rekognition-identity-verification 
./fe-deployment.sh

Invocar a IU da Web

O portal da web é implantado com Amplify. No console do Amplify, localize o ambiente do aplicativo Web hospedado e a URL. Copie o URL e acesse-o do seu navegador.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Registre um novo usuário usando uma selfie de rosto

Registre-se como um usuário com as seguintes etapas:

  1. Abra o URL da Web fornecido pelo Amplify.
  2. Escolha Inscrições
  3. Ative sua câmera e capture uma imagem de rosto.
  4. Digite seu nome de usuário e detalhes.
  5. Escolha Inscrever-se para registrar sua conta.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Autenticar usuário de retorno

Depois de se registrar, você faz login usando o ID de rosto como mecanismo de autenticação.

  1. Abra o URL da Web fornecido pelo Amplify
  2. Capture seu ID de rosto.
  3. Digite seu ID de usuário.
  4. Escolha Entrar.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você recebe uma mensagem “Login bem-sucedido” depois que seu ID de rosto é verificado com a imagem de registro.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Registre um novo usuário após a correspondência de rosto com um cartão de identificação com extração de dados de cartão de identificação

Para testar o registro do usuário com um ID, conclua as etapas a seguir:

  1. Abra o URL da Web fornecido pelo Amplify.
  2. Escolha Registre-se com ID
  3. Ative sua câmera e capture uma imagem de rosto.
  4. Arraste e solte seu cartão de identificação
  5. Escolha Inscrições.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

A captura de tela a seguir mostra um exemplo. O aplicativo suporta imagens de cartões de identificação de até 256 KB.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Você recebe uma mensagem "Usuário registrado com sucesso".

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

limpar

Para evitar o acúmulo de cobranças adicionais em sua conta da AWS, exclua os recursos que você provisionou navegando até o console do AWS CloudFormation e excluindo o Riv-Prod pilha.

A exclusão da pilha não exclui o bucket do S3 que você criou. Este bucket armazena todas as imagens de rosto. Se você quiser excluir o bucket do S3, navegue até o console do Amazon S3, esvazie o bucket e confirme que deseja excluí-lo permanentemente.

Conclusão

O Amazon Rekognition facilita a adição de análise de imagem aos seus aplicativos de verificação de identidade usando tecnologia de aprendizado profundo comprovada e altamente escalável que não requer experiência em ML para usar. O Amazon Rekognition fornece detecção e comparação de rostos capacidades. Com uma combinação de Detectar Faces, Comparar rostos, IndexFaces, PesquisaFacesByImage, Detectar TextoAnalisar ID, você pode implementar os fluxos comuns em torno do registro de novos usuários e logins de usuários existentes.

As coleções do Amazon Rekognition fornecem um método para armazenar informações sobre rostos detectados em contêineres do lado do servidor. Você pode usar as informações faciais armazenadas em uma coleção para pesquisar rostos conhecidos nas imagens. Ao usar coleções, você não precisa armazenar fotos originais depois de indexar rostos na coleção. As coleções do Amazon Rekognition não mantêm imagens reais. Em vez disso, o algoritmo de detecção subjacente detecta os rostos na imagem de entrada, extrai os recursos faciais em um vetor de recursos para cada rosto e os armazena na coleção.

Para iniciar sua jornada rumo à verificação de identidade, visite Verificação de identidade usando o Amazon Rekognition.


Sobre os autores

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Vineet Kacchawaha é Arquiteto de Soluções na AWS com experiência em Machine Learning. Ele é responsável por ajudar os clientes a arquitetar cargas de trabalho escaláveis, seguras e econômicas na AWS.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Ramesh Thiagarajan é um arquiteto de soluções sênior baseado em São Francisco. Ele é bacharel em Ciências Aplicadas e mestre em Segurança Cibernética. Ele é especialista em migração para a nuvem, segurança na nuvem, conformidade e gerenciamento de riscos. Fora do trabalho, ele é um jardineiro apaixonado e tem um ávido interesse em projetos imobiliários e de melhoria da casa.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Amit Gupta é arquiteto de soluções de serviços de IA na AWS. Ele adora oferecer aos clientes soluções de aprendizado de máquina bem arquitetadas em escala.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Tim Murphyy é um arquiteto de soluções sênior para AWS, trabalhando com clientes de serviços financeiros corporativos criando soluções centradas em nuvem de negócios. Ele passou a última década trabalhando com startups, organizações sem fins lucrativos, empresas comerciais e agências governamentais, implantando infraestrutura em escala. Em seu tempo livre, quando ele não está mexendo com tecnologia, você provavelmente o encontrará em áreas distantes da terra caminhando montanhas, surfando ondas ou andando de bicicleta por uma nova cidade.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Nate Bachmeier é um arquiteto de soluções sênior da AWS que explora Nova York de maneira nômade, uma integração de nuvem por vez. Ele é especialista em migração e modernização de aplicativos. Além disso, Nate é estudante em tempo integral e tem dois filhos.

Acelere seus projetos de verificação de identidade usando as implementações de amostra do AWS Amplify e Amazon Rekognition PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Jessie Lee Fry é Snr AIML Specialist com foco em Computer Vision na AWS. Ela ajuda as organizações a aproveitar o Machine Learning e a IA para combater fraudes e impulsionar a inovação em nome de seus clientes. Fora do trabalho, ela gosta de passar tempo com a família, viajar e ler tudo sobre IA responsável.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS