Vídeo de apresentação e artigo do projeto de identificação facial com AWS Rekognition
Tags: aws, cloud, communitybuilder, architecture
Published: 2024-06-10 02:17:41

Hoje vou apresentar um projeto que envolve a implementação de pontos de identificação facial em 30 locais de monitoramento. Esse projeto será realizado utilizando diversos serviços da AWS para garantir segurança, eficiência e escalabilidade. Vamos começar com uma visão geral do projeto e, em seguida, detalhar cada componente da arquitetura.

## Descrição do projeto
O projeto tem como objetivo implementar um sistema de reconhecimento facial para monitoramento em 30 locais diferentes. Estimamos que o sistema atenderá entre 2000 a 3000 pessoas. A arquitetura do sistema precisa ser robusta, segura e capaz de lidar com o grande volume de dados gerado. Para isso, utilizaremos uma combinação de serviços da AWS.

## Locais de monitoramento
Cada um dos 30 locais de monitoramento será equipado com câmeras que capturam imagens faciais. Essas câmeras enviarão as imagens para um dispositivo de borda ou uma instância local que processará e encaminhará essas imagens para a AWS.

## Edge device/Instância local
Os dispositivos de borda ou instâncias locais são responsáveis por receber as imagens das câmeras e enviá-las para a AWS. Essa conexão será feita de forma segura, utilizando AWS Direct Connect ou VPN para garantir que os dados sejam transmitidos com segurança e eficiência.

## Amazon S3
Uma vez que as imagens chegam à AWS, elas são armazenadas no Amazon S3. O Amazon S3 é um serviço de armazenamento altamente escalável e seguro, ideal para armazenar grandes volumes de dados, como as imagens capturadas. Além disso, o S3 permite que a gente configure notificações de eventos, que serão usadas para acionar outras partes do nosso sistema.

## AWS Lambda
Quando uma nova imagem é carregada no Amazon S3, um evento é disparado para uma função AWS Lambda. O AWS Lambda é um serviço de computação serverless que permite executar código em resposta a eventos sem a necessidade de provisionar ou gerenciar servidores. O Lambda processa a imagem e a envia para o Amazon Rekognition para análise.

## Amazon Rekognition
O Amazon Rekognition é um serviço de análise de imagens que utiliza aprendizado de máquina para realizar o reconhecimento facial. Ele compara a imagem recebida com as fotos armazenadas no nosso banco de dados e retorna os resultados. Esse processo é rápido e altamente preciso, garantindo que as identificações sejam feitas corretamente.

## Amazon RDS
Os resultados do Amazon Rekognition, juntamente com as informações pessoais e fotos das pessoas, são armazenados no Amazon RDS. O Amazon RDS é um serviço de banco de dados relacional gerenciado que facilita a configuração, operação e escalabilidade de um banco de dados na nuvem. Ele oferece alta disponibilidade e segurança para os nossos dados.

## Amazon API Gateway
Para permitir que os dispositivos locais consultem os resultados do reconhecimento facial, utilizamos o Amazon API Gateway. O API Gateway facilita a criação, publicação, manutenção, monitoramento e proteção de APIs em escala. Ele expõe endpoints que os dispositivos locais podem usar para obter informações do sistema.

## AWS CloudWatch
Finalmente, utilizamos o AWS CloudWatch para monitorar todos os serviços e garantir que o sistema esteja funcionando corretamente. O CloudWatch coleta métricas e logs, permitindo que configuremos alertas e tomemos ações proativas em caso de problemas.

## Sincronização de dados
Para garantir que os dados estejam sempre atualizados, utilizamos o AWS Database Migration Service (DMS) para sincronizar o Amazon RDS com o banco de dados local. Isso assegura que quaisquer mudanças feitas no banco de dados local sejam refletidas no RDS e vice-versa, mantendo a integridade e a consistência dos dados.

## Desenho da arquitetura
Agora, vamos ver como todos esses componentes se conectam em um diagrama de arquitetura.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ffaiwhyalwgahelruvlu.png)


1. Câmeras nos locais de monitoramento capturam imagens faciais.
2. As imagens são enviadas para os dispositivos de borda ou instâncias locais.
3. Esses dispositivos transmitem as imagens para o Amazon S3 através de uma conexão segura (Direct Connect ou VPN).
4. Amazon S3 armazena as imagens e dispara eventos para o AWS Lambda.
5. AWS Lambda processará as imagens e as envia para o Amazon Rekognition.
6. Amazon Rekognition realizará o reconhecimento facial e compara as imagens com o banco de dados no Amazon RDS.
7. AWS Lambda atualizará os resultados no Amazon RDS e fornece os resultados para o Amazon API Gateway.
8. Os dispositivos locais podem consultar os resultados através do Amazon API Gateway.
9. AWS DMS sincronizará o Amazon RDS com o banco de dados local, garantindo que os dados estejam sempre atualizados.
10. AWS CloudWatch monitorará todos os serviços, garantindo a integridade e a performance do sistema.

## Conclusão
E assim, temos um sistema completo de reconhecimento facial utilizando os serviços da AWS. Essa arquitetura garante segurança, escalabilidade e eficiência, atendendo às necessidades do cliente para monitoramento em múltiplos locais.