Detecção facial e atributos

Importante

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.

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 Rosto – Detectar 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. 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 faceRectangle 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 de detecção facial de maneira rápida e fácil usando o Vision Studio.

Face ID

A face ID é uma cadeia de caracteres de identificador exclusivo para cada rosto detectado em uma imagem. Observe que o Face ID requer aprovação de acesso limitada mediante o preenchimento do formulário de entrada. Para obter mais informações, consulte a página Acesso limitado facial. Você pode solicitar uma face ID na chamada à API do Face – Detect.

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:

Um diagrama de rosto com os 27 pontos de referência etiquetados

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 permitir o rastreamento do rosto pelo olhar.

Atributos

Importante

A Microsoft desativará as funcionalidades de reconhecimento facial 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. Isso inclui recursos que preveem emoção, gênero, idade, sorriso, pelos faciais, cabelo e maquiagem. Os clientes existentes têm até 30 de junho de 2023 para interromper o uso dessas funcionalidades antes elas de serem desativadas. Leia mais sobre essa decisão aqui.

Os atributos são um conjunto de recursos que podem ser detectados pela API Face – Detect. Os seguintes atributos podem ser detectados:

  • Acessórios. Se o rosto determinado tem acessórios. Esse atributo retorna possíveis acessórios, incluindo óculos, máscara e acessórios de cabeça, com pontuação de confiança entre zero e um para cada item.

  • Idade. A idade estimada em anos de um rosto específico.

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

  • Detecção de Emoções. Uma lista de emoções com a confiança de detecção para o rosto determinado. As pontuações de confiança são normalizadas e as pontuações das emoções somam até um. As emoções retornadas são alegria, tristeza, neutralidade, braveza, desdém, aversão, surpresa e medo.

  • Exposição. A exposição do rosto na imagem. Esse atributo retorna um valor entre zero e um e uma classificação informal de underExposure, goodExposure ou overExposure.

  • Pelos faciais. A presença e o tamanho estimados de pelos faciais no rosto determinado.

  • Gênero. O gênero estimado do rosto determinado. Os valores possíveis são masculino, feminino e sem gênero.

  • Óculos. Se há óculos no rosto determinado. Os valores possíveis são NoGlasses, ReadingGlasses, Sunglasses e Swimming Goggles.

  • Cabelo. O tipo de cabelo do rosto. Esse atributo mostra se o cabelo é visível ou se não há cabelo e as cores detectadas.

  • Pose de cabeça. A orientação da cabeça em um 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 de três ângulos é z-y-x e o intervalo de valor de cada ângulo é 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:

    Uma cabeça com os eixos z, y e x etiquetados

    Para obter mais detalhes sobre como usar esses valores, consulte o guia de instruções de pose de cabeçalho.

  • Maquiagem. Se o rosto está usando maquiagem. Esse atributo retorna um valor booliano para eyeMakeup e glossMakeup.

  • Máscara. 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. O ruído visual detectado na imagem do rosto. Esse atributo retorna um valor entre zero e um e uma classificação informal baixa, média ou alta.

  • Oclusão. Se há objetos ocultando partes do rosto. Esse atributo retorna um valor booliano para eyeOccluded, foreheadOccluded e mouthOccluded.

  • Sorriso. O sorriso do rosto determinado. Esse valor fica entre zero para nenhum sorriso e um para um sorriso claro.

  • QualityForRecognition Em relação a qualidade geral da imagem e se a imagem que está sendo 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 com qualidade "alta" são recomendadas para registro de pessoas e as com qualidade igual ou superior a "média" são recomendadas 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 atualmente só está disponível ao usar uma combinação de modelo de detecção detection_01 ou detection_03 e modelo de reconhecimento recognition_03 ou recognition_04.

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.

Dados 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 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.
  • Alguns rostos podem não ser reconhecidos devido a desafios técnicos, como:
    • Imagens com iluminação extrema, por exemplo, iluminação extremamente baixa.
    • Obstruções que bloqueiam um ou ambos os olhos.
    • Diferenças no tipo de cabelo ou pelos faciais.
    • Alterações na aparência facial devido à idade.
    • Expressões de faciais extremas.

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

Algumas imagens de entrada com o formato JPEG podem conter informações de orientação nos metadados Exif (Exchangeable image file format). 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 serã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).

Duas imagens de rosto com e sem rotação

Entrada de vídeo

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

  • 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 mais rápida do obturador reduz a quantidade de movimento entre os quadros e deixa 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 em vez da velocidade do obturador. Se possível, use o ângulo do obturador mais baixo. Isso vai resultar em quadros de vídeo mais claros.

    Observação

    Uma câmera com um ângulo do obturador mais baixo vai receber menos luz em cada quadro, de modo que a imagem será mais escura. Você vai precisar determinar o melhor nível a ser usado.

Próximas etapas

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.