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 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. 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:

A face diagram with all 27 landmarks labeled

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

Cuidado

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. 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. Indica 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.

  • 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.

  • 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.

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

  • 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:

    A head with the pitch, roll, and yaw axes labeled

    Para obter mais informações sobre como usar esses valores, confira o guia de instruções de pose de rosto.

  • 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. 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. Indica se há objetos ocultando partes do rosto. Esse atributo retorna um valor booliano para eyeOccluded, foreheadOccluded e mouthOccluded.

  • 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.

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 o formato JPEG podem conter informações de orientação nos metadados no formato 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).

Two face images with and without rotation

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 resulta 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.