Conceitos de detecção facial

A detecção facial localiza rostos de pessoas em mídias visuais, como imagens digitais ou vídeos. Quando um rosto é detectado, ele tem posição, tamanho e orientação associados, e pode ser pesquisado por pontos de referência, como os olhos e o nariz.

Veja alguns dos termos que usamos com relação ao recurso de detecção facial do Kit de ML:

  • O rastreamento facial estende a detecção facial a sequências de vídeo. Qualquer rosto que apareça em um vídeo por qualquer período pode ser monitorado de frame a frame. Isso significa que um rosto detectado em frames de vídeo consecutivos pode ser identificado como a mesma pessoa. Essa não é uma forma de reconhecimento facial. O rastreamento facial só faz inferências com base na posição e no movimento dos rostos em uma sequência de vídeo.

  • Um ponto de referência é um aspecto importante para a detecção de um rosto. O olho esquerdo, o olho direito e a base do nariz são exemplos de pontos de referência. Com o Kit de ML, é possível encontrar pontos de referência em um rosto detectado.

  • Um contorno é um conjunto de pontos que seguem a forma de um traço facial. Com o Kit de ML, é possível encontrar os contornos de um rosto.

  • A classificação determina se uma determinada característica facial está presente. Por exemplo, um rosto pode ser classificado de acordo com os olhos abertos ou fechados, com o rosto sorrindo ou não.

Orientação do rosto

Os termos a seguir descrevem o ângulo de um rosto em relação à câmera:

  • Euler X: um rosto com um ângulo de Euler X positivo está voltado para cima.
  • Euler Y: um rosto com um ângulo de Euler Y positivo está olhando para a direita da câmera ou olhando para a esquerda, se negativo.
  • Euler Z: um rosto com um ângulo de Euler Z positivo está girado no sentido anti-horário em relação à câmera.

O Kit de ML não informa o ângulo de Euler X, Euler Y ou Z de um rosto detectado quando LANDMARK_MODE_NONE, CONTOUR_MODE_ALL, CLASSIFICATION_MODE_NONE e PERFORMANCE_MODE_FAST estão definidos juntos.

Pontos de referência

Um ponto de referência é um aspecto importante para a detecção de um rosto. O olho esquerdo, o olho direito e a base do nariz são exemplos de pontos de referência.

O Kit de ML detecta rostos sem procurar pontos de referência. A detecção de pontos de referência é uma etapa opcional desativada por padrão.

A tabela a seguir resume todos os pontos de referência que podem ser detectados, considerando o ângulo de Euler Y de um rosto associado:

ângulo de Euler Y Pontos de referência detectáveis
Menos de -36 graus olho esquerdo, parte esquerda da boca, orelha esquerda, base do nariz, bochecha esquerda
-36 a -12 graus boca esquerda, base do nariz, parte inferior da boca, olho direito, olho esquerdo, bochecha esquerda, ponta da orelha esquerda
-12 a 12 graus olho direito, olho esquerdo, base do nariz, bochecha esquerda, bochecha direita, boca esquerda, boca direita, parte inferior da boca
de 12 a 36 graus boca direita, base do nariz, parte inferior da boca, olho esquerdo, olho direito, bochecha direita, ponta da orelha direita
Mais de 36 graus olho direito, boca direita, orelha direita, base do nariz, bochecha direita

Cada ponto de referência detectado inclui a posição associada na imagem.

Contornos

Contorno é um conjunto de pontos que representam a forma de uma característica facial. A imagem a seguir ilustra como esses pontos mapeiam um rosto. Clique na imagem para ampliá-la:

Cada contorno de recurso detectado pelo Kit de ML é representado por um número fixo de pontos:

Rosto oval 36 pontos Lábio superior (parte superior) 11 pontos
Sobrancelha esquerda (parte superior) 5 pontos Lábio superior (parte inferior) 9 pontos
Sobrancelha esquerda (parte inferior) 5 pontos Lábio inferior (parte superior) 9 pontos
Sobrancelha direita (parte superior) 5 pontos Lábio inferior (parte inferior) 9 pontos
Sobrancelha direita (parte de baixo) 5 pontos Ponte do nariz Dois pontos
Olho esquerdo 16 pontos Parte inferior do nariz 3 pontos
Olho direito 16 pontos
Bochecha esquerda (centro) Um ponto
Bochecha direita (centro) 1 ponto

Ao extrair todos os contornos de um rosto de uma só vez, você tem uma matriz de 133 pontos, que são mapeados para apresentar contornos conforme mostrado abaixo:

Índices de contornos de recursos
0-35 Rosto oval
36-40 Sobrancelha esquerda (parte superior)
41-45 Sobrancelha esquerda (parte inferior)
46-50 Sobrancelha direita (parte superior)
51-55 Sobrancelha direita (parte de baixo)
56-71 Olho esquerdo
72-87 Olho direito
88-96 Lábio superior (parte inferior)
97-105 Lábio inferior (parte superior)
106-116 Lábio superior (parte superior)
117-125 Lábio inferior (parte inferior)
126.127 Ponte do nariz
128-130 Parte inferior do nariz (observe que o ponto central está no índice 128)
131 Bochecha esquerda (centro)
132 Bochecha direita (centro)

Classificação

A classificação determina se uma característica facial está presente. No momento, o Kit de ML é compatível com duas classificações: olhos abertos e sorrindo.

A classificação é um valor de certeza. Indica a confiança de que uma característica facial está presente. Por exemplo, um valor de 0,7 ou mais para a classificação sorrindo indica que é provável que uma pessoa esteja sorrindo.

As duas classificações dependem da detecção de pontos de referência.

Além disso, as classificações "olhos abertos" e "sorrindo" funcionam apenas para rostos frontais, ou seja, rostos com um pequeno ângulo de Euler Y (entre -18 e 18 graus).

Tamanho mínimo do rosto

O tamanho mínimo de rosto é o tamanho desejado, expresso como a proporção entre a largura da cabeça e a largura da imagem. Por exemplo, o valor de 0,1 significa que a menor face a ser pesquisada tem aproximadamente 10% da largura da imagem que está sendo pesquisada.

O tamanho mínimo da face é uma compensação de desempenho vs. precisão: definir o tamanho mínimo menor permite que o detector encontre rostos menores, mas a detecção leva mais tempo. Definir um tamanho maior pode excluir rostos menores, mas será executado mais rapidamente.

O tamanho mínimo da face não é um limite rígido. O detector pode encontrar rostos ligeiramente menores do que o especificado.

Próximas etapas

Usar o reconhecimento facial no seu app para iOS ou Android: