Reconhecimento Facial

Reconhecimento Facial

Nesta página:

O componente Reconhecimento Facial permite identificar rostos previamente cadastrados em imagens ou vídeos em tempo real. Ele executa uma comparação entre as faces detectadas e uma coleção de faces registradas, utilizando critérios como similaridade, distância entre os olhos e ângulo facial para validar a correspondência. É ideal para aplicações de controle de acesso, segurança e registro de presença, entre outras.

Em contraste ao Reconhecimento Facial 2.0, este componente faz o reconhecimento localmente. Nenhuma imagem deixa a AIBox. Isso o torna a melhor opção para casos em que maior privacidade e baixa latência são necessárias.

Seu uso é recomendado para aplicações de pequena escala, com até 300 faces cadastradas. Para casos de uso que exigem um número maior de faces, recomendamos o componente Reconhecimento Facial 2.0.

Créditos Utilizados

Este componente ocupa 3 créditos na plataforma, considerando uma taxa de quadros de 5 FPS e resolução de 640 x 480 pixels por quadro. Veja a seção Entendendo o conceito de créditos para mais informações.

Parâmetros do componente

Parâmetro

Descrição

Exemplo

É obrigatório?

Nome do Componente

Nome interno do componente. Usado em nossa API para selecionar o componente para obtenção de métricas.

FaceRecognition

Sim. Preenchido automaticamente.

ID do Componente

Identificador numérico do componente. Usado em nossa API para selecionar o componente para obtenção de métricas.

12

Sim. Preenchido automaticamente.

Nome

Nome descritivo para o componente

Camera_Entrada

Não

Coleções de Faces

Uma ou mais coleções de faces contra as quais os rostos detectados serão comparados.

Moradores

Sim

Limiar de similaridade

Nível mínimo de similaridade (entre 0% e 100%) exigido para considerar que duas faces são iguais.

75

Sim

Limiar de distância entre os olhos

Distância máxima entre os olhos, em pixels.

60

Sim

Limiar de ângulo dos olhos (graus)

Inclinação máxima dos olhos, em graus.

10

Sim

Tamanho mínimo da face (pixels)

O tamanho mínimo (em pixels) de uma face para ser considerada para reconhecimento.

100

Sim

Limiar de frequência (inteiro)

Número inteiro indicando a quantidade mínima de frames consecutivos nos quais a face deve ser reconhecida.

30

Sim

Notas

  • Coleções são conjuntos de dados (como faces) que podem ser armazenados na plataforma e utilizados em câmeras. Os rostos detectados são comparados com os armazenados em uma coleção, permitindo a automação de ações como liberação de acesso ou notificações de segurança, entre outros usos. Veja Trabalhando com coleções para mais informações sobre como criar e gerenciar coleções.

  • A configuração dos limiares ajuda a evitar falsos positivos ou falsos negativos, garantindo que o reconhecimento seja preciso mesmo em condições variadas de iluminação, distância e movimento. Valores menores fazem com que o algoritmo seja mais permissivo na identificação, enquanto valores maiores faz com que o algoritmo seja mais estrito.

  • O Limiar de distância entre os olhos é usado para validar o alinhamento da imagem capturada com uma face já registrada. Caso este critério não seja alcançado, a detecção não será contabilizada.

  • O Limiar de ângulo dos olhos é usado para validar a pose da face. Caso este critério não seja alcançado, a detecção não será contabilizada.

  • O Limiar de frequência é usado para garantir que a face foi corretamente detectada pelo algoritmo. Por exemplo, caso o valor selecionado para Frequency Threshold seja 5, então o algoritmo de reconhecimento facial deve ter 5 detecções consecutivas do mesmo rosto para chegar a um resultado final.

  • Para melhores resultados, recomendamos que ângulo máximo de incidência vertical seja de 15 graus, e o ângulo máximo de incidência horizontal de 30 graus. Para mais informações, consulte o tópico Ângulos de incidência na seção Câmera em Requisitos de hardware da plataforma AIOS.

Mensagens suportadas pelo componente

Estas são as mensagens que Reconhecimento Facial recebe de um componente anterior em uma câmera (Entradas), ou envia ao próximo componente (Saídas).

Entradas:

Saídas:

  • DetectionMessage

    • Os seguintes atributos da mensagem são preenchidos pelo componente para cada detecção: x, y, width, height, label, confidence, imageWidth, imageHeight, tracker_id, text e embedding.

  • EmptyMessage: emitida em caso de entrada não processável, como uma DetectionMessage sem frame ou com hasMovement definido para false.

Exemplos de código

Entrada ImageMessage → Saída DetectionMessage (com Reconhecimento)

// IN { "timestamp": 1720000000000, "message_type": "ImageMessage", "message_specs": { "cols": 1920, "rows": 1080, "type": 16, "scaleFactor": 1.0, "timestamp": 1720000000000 }, "data": "/9j/4AAQSkZJRgA..." // JPEG Base64 } // OUT // (Dois rostos detectados: um reconhecido, um desconhecido) { "timestamp": 1720000000150, "message_type": "DetectionMessage", "message_specs": { "detections_number": 2 }, "data": [ { "x": 0.45, "y": 0.15, "width": 0.08, "height": 0.08, "label": "João Doe", "confidence": 0.92, "imageWidth": 1920, "imageHeight": 1080, "tracker_id": 1, "text": "", "embedding": [0.12, -0.05, 0.34, ...] }, { "x": 0.65, "y": 0.20, "width": 0.08, "height": 0.08, "label": "unknown", "confidence": 0.0, "imageWidth": 1920, "imageHeight": 1080, "tracker_id": 2, "text": "", "embedding": [-0.22, 0.19, -0.01, ...] } ] }

Métricas e visualizações

Este componente não gera métricas e visualizações que possam ser exibidas em widgets em um aplicativo. Veja as seções Trabalhando com Aplicativos, Trabalhando com widgets e Métricas e Visualizações desta documentação para mais informações.