Detecção facial, atributos e dados de entrada

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.

Importante

Os atributos de rosto são previstos por meio do uso de algoritmos estatísticos. Eles podem não ser precisos todas as vezes. Tenha cautela ao tomar decisões com base nos dados de atributo. Evite usar esses atributos para proteção contra falsificação. Em vez disso, recomendamos usar a detecção do Face Liveness. Para obter mais informações, consulte o Tutorial: Detectar vivacidade em rostos.

Este artigo explica os conceitos de detecção facial e de dados de atributo facial. A detecção facial é o processo de localizar rostos humanos em uma imagem e a possibilidade de retornar diferentes tipos de dados relacionados ao rosto.

Você usa a API Detect para detectar rostos em uma imagem. Para começar a usar a API REST ou um SDK do cliente, siga um início rápido do serviço de Detecção Facial. Ou, para obter um guia mais aprofundado, consulte Chamar a API de detecção.

Retângulo de Detecção Facial

Cada rosto detectado corresponde a um campo RetânguloDorosto na resposta. Esse é um conjunto de coordenadas de pixel para a esquerda, o topo, a largura e a altura do rosto detectado. Usando essas coordenadas, você pode obter a localização e o tamanho do rosto. Na resposta da API, os rostos são listados em ordem de tamanho, do maior para o menor.

Experimente as funcionalidades da detecção facial de forma rápida e com facilidade usando o Estúdio de Visão de IA do Azure.

Face ID

A face ID é uma cadeia de caracteres de identificador exclusivo para cada rosto detectado em uma imagem. O Face ID requer aprovação de acesso limitada mediante o preenchimento do formulário de entrada. Para obter mais informações, confira a página de Acesso Limitado da API de Detecção Facial. Você pode solicitar um ID facial em sua chamada de API Detectar.

Pontos de referência facial

Os pontos de referência faciais são um conjunto de pontos fáceis de encontrar em um rosto, como as pupilas ou a ponta do nariz. Por padrão, há 27 pontos de referência facial predefinidos. A figura seguinte mostra todos os 27 pontos:

Diagrama de um rosto com todos os 27 pontos de referência rotulados.

As coordenadas dos pontos são retornadas em unidades de pixels.

O modelo de Detection_03 atualmente tem a detecção de ponto de referência mais precisa. Os pontos de referência do olho e da pupila que ele retorna são precisos o suficiente para habilitar o acompanhamento de foco do rosto.

Atributos

Cuidado

A Microsoft desativou ou limitou as funcionalidades de reconhecimento do rosto que podem ser usadas para tentar inferir estados emocionais e atributos de identidade que, se mal utilizados, podem submeter as pessoas a estereótipos, discriminação ou recusa injusta de serviços. As funcionalidades desativadas são detecção de emoções e gênero. As funcionalidades limitadas são idade, sorriso, pelos faciais, cabelo e maquiagem. Envie um email para API de Detecção Facial do Azure se você tiver um caso de uso responsável que se beneficiaria do uso de qualquer uma das funcionalidades limitadas. Leia mais sobre essa decisão aqui.

Atributos são um conjunto de recursos que podem ser opcionalmente detectados pela API Detectar. Os seguintes atributos podem ser detectados:

  • Acessórios: Indica se o rosto especificado possui acessórios. Esse atributo retorna possíveis acessórios, incluindo chapéus, óculos e máscara, com uma pontuação de confiança entre zero e um para cada acessório.

  • Desfoque: Indica a nitidez do rosto na imagem. Esse atributo retorna um valor entre zero e um e uma classificação informal baixa, média ou alta.

  • Exposição: Indica a exposição do rosto na imagem. Esse atributo retorna um valor entre zero e um e uma classificação informal de subExposição, boaExposição ou superExposição.

  • Óculos: Indica se o rosto determinado possui óculos. Os valores possíveis são SemÓculos, ÓculosDeLeitura, ÓculosDeSol e ÓculosDeNatação.

  • Posição da cabeça: Indica a orientação do rosto no espaço 3D. Esse atributo é descrito pelos ângulos de rotação sobre os eixos z, y e x em graus, que são definidos de acordo com a regra da mão direita. A ordem dos três ângulos é rotação, guinada e inclinação e o intervalo de valores de cada ângulo vai de -180 graus a +180 graus. A orientação 3D do rosto é estimada pelos ângulos z, y e x, nesta ordem. Confira o seguinte diagrama para mapeamentos de ângulo:

    Diagrama de uma cabeça com os eixos de inclinação, rotação e guinada rotulados.

    Para mais informações sobre como usar esses valores, confira Usar o atributo HeadPose.

  • Máscara: Indica se o rosto está usando uma máscara. Esse atributo retorna um possível tipo de máscara e um valor booliano para indicar se o nariz e a boca estão cobertos.

  • Ruído: Indica o ruído visual detectado na imagem do rosto. Esse atributo retorna um valor entre zero e um, e uma classificação informal de baixa, média ou alta.

  • Oclusão: Indica se há objetos bloqueando partes do rosto. Esse atributo retorna um valor booliano para olhoObstruído, testaObstruída e bocaObstruída.

  • QualityForRecognition: Indica a qualidade geral da imagem para determinar se a imagem usada na detecção é de qualidade suficiente para tentar o reconhecimento facial. O valor é uma classificação informal de baixa, média ou alta. Apenas imagens de alta qualidade são recomendadas para inscrição de pessoa, e qualidade igual ou superior a média é recomendada para cenários de identificação.

    Observação

    A disponibilidade de cada atributo depende do modelo de detecção especificado. O atributo QualityForRecognition também depende do modelo de reconhecimento, pois está disponível atualmente apenas ao usar uma combinação do modelo de detecção detection_01 ou detection_03 e o modelo de reconhecimento recognition_03 ou recognition_04.

Requisitos de entrada

Use as seguintes dicas para garantir que as imagens de entrada forneçam os resultados de detecção mais precisos:

  • Os formatos de imagem de entrada com suporte incluem JPEG, PNG, GIF (o primeiro quadro), BMP.
  • O tamanho do arquivo de imagem não deve ser maior do que 6 MB.
  • O tamanho de rosto mínimo detectável é de 36 x 36 pixels em uma imagem com até 1920 x 1080 pixels. Imagens com mais de 1920 x 1080 pixels têm o tamanho de rosto mínimo proporcionalmente maior. Reduzir o tamanho do rosto pode fazer com que alguns rostos não sejam detectados, mesmo que eles sejam maiores do que o tamanho mínimo detectável.
  • O tamanho de rosto máximo detectável é de 4096 x 4096 pixels.
  • Os rostos que estiverem fora do intervalo de tamanho de 36 x 36 a 4096 x 4096 pixels não serão detectados.

Dados de entrada com informações de orientação

Algumas imagens de entrada com formato JPEG podem conter informações de orientação nos metadados do formato de arquivo de imagem intercambiável (EXIF). Se a orientação EXIF estiver disponível, as imagens serão giradas automaticamente para a orientação correta antes do envio para a detecção facial. O retângulo facial, os pontos de referência e a pose de cabeça para cada rosto detectado são estimados com base na imagem girada.

Para exibir corretamente o retângulo facial e os pontos de referência, você precisa garantir que a imagem seja girada corretamente. A maioria das ferramentas de visualização de imagem gira automaticamente a imagem de acordo com a orientação EXIF por padrão. Para outras ferramentas, pode ser necessário aplicar a rotação usando o seu código próprio. Os exemplos a seguir mostram um retângulo facial em uma imagem girada (esquerda) e em uma imagem não girada (direita).

Captura de tela de duas imagens de rosto com e sem rotação.

Entrada de vídeo

Se você estiver detectando rostos de um feed de vídeo, talvez possa melhorar o desempenho ajustando certas configurações na sua câmera de vídeo:

  • Suavização: muitas câmeras vídeo aplicam um efeito de suavização. Se possível, desative esse efeito pois ele cria um desfoque entre os quadros e reduz a clareza.

  • Velocidade do obturador: Uma velocidade do obturador mais rápida reduz a quantidade de movimento entre os quadros e torna cada quadro mais claro. Recomendamos a velocidade de obturador de 1/60 segundo ou mais rápida.

  • Ângulo do obturador: Algumas câmeras especificam o ângulo do obturador em vez da velocidade do obturador. Você deve usar um ângulo do obturador menor, se possível, o que resultará em quadros de vídeo mais claros.

    Observação

    Um sensor de câmera com um ângulo do obturador menor recebe menos luz em cada quadro, então a imagem fica mais escura. Você precisa determinar o nível certo para ser usado.

Próxima etapa

Agora que você está familiarizado com os conceitos de detecção facial, saiba como gravar um script que detecta os rostos em uma determinada imagem.