A detecção facial encontra rostos humanos em mídias visuais, como imagens digitais ou vídeos. Quando um rosto é detectado, ele tem uma posição, tamanho e orientação associados e pode ser pesquisado para pontos de referência, como os olhos e o nariz.
Veja alguns dos termos que usamos em relação ao recurso de detecção facial do Kit de ML:
O rastreamento facial estende a detecção facial para sequências de vídeo. Qualquer rosto que aparecer em um vídeo por qualquer período pode ser rastreado a cada frame. Isso significa que um rosto detectado em frames de vídeo consecutivos pode ser identificado como sendo a mesma pessoa. Observe que esta não é uma forma de reconhecimento facial. O rastreamento facial faz apenas inferências com base na posição e no movimento dos rostos em uma sequência de vídeos.
Um ponto de referência é um ponto de interesse dentro de um rosto. O olho esquerdo, o 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 continuo é um conjunto de pontos que seguem a forma de um atributo facial. O Kit de ML permite 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 se os olhos estiverem abertos ou fechados ou se o rosto está sorrindo ou não.
Orientação facial
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 em sentido anti-horário em relação à câmera.
O Kit de ML não informa o ângulo de Euler X, Euler Y ou Euler 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 ponto de interesse dentro 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 pelo ângulo de Euler Y de um rosto associado:
Ângulo de Euler Y | Pontos turísticos detectáveis |
---|---|
< -36 graus | olho esquerdo, boca esquerda, orelha esquerdo, base do nariz, bochecha esquerda |
De -36 a -12 graus | boca esquerda, base do nariz, boca inferior, 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 |
12 a 36 graus | boca direita, base do nariz, boca inferior, olho esquerdo, olho direito, bochecha direita, ponta da orelha direita |
> 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
Um contorno é um conjunto de pontos que representam a forma de um atributo facial. A imagem abaixo 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 (inferior) | 9 pontos |
Sobrancelha esquerda (inferior) | 5 pontos | Lábio inferior (parte superior) | 9 pontos |
Sobrancelha direita (superior) | 5 pontos | Lábio inferior (inferior) | 9 pontos |
Sobrancelha direita (inferior) | 5 pontos | Ponte do nariz | Dois pontos |
Olho esquerdo | 16 pontos | Nariz inferior | 3 pontos |
Olho direito | 16 pontos | ||
Bochecha esquerda (no centro) | Um ponto | ||
Bochecha direita (no centro) | 1 ponto |
Ao receber 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 atributos | |
---|---|
0-35 | Rosto oval |
36-40 | Sobrancelha esquerda (parte superior) |
41-45 | Sobrancelha esquerda (inferior) |
46-50 | Sobrancelha direita (superior) |
51-55 | Sobrancelha direita (inferior) |
56-71 | Olho esquerdo |
72-87 | Olho direito |
88-96 | Lábio superior (inferior) |
97-105 | Lábio inferior (parte superior) |
106-116 | Lábio superior (parte superior) |
117-125 | Lábio inferior (inferior) |
126.127 | Ponte do nariz |
128-130 | Nariz inferior (o ponto central está no índice 128) |
131 | Bochecha esquerda (no centro) |
132 | Bochecha direita (no centro) |
Classificação
A classificação determina se uma determinada característica facial está presente. No momento, o Kit de ML é compatível com duas classificações: olhos abertos e sorriso.
A classificação é um valor específico. Indica a confiança de uma característica facial. Por exemplo, um valor de 0,7 ou mais para a classificação de sorriso indica que é provável que uma pessoa esteja sorrindo.
Essas duas classificações dependem da detecção de pontos de referência.
As classificações "olhos abertos" e "sorrindo" só funcionam 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 do 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 o menor rosto a ser pesquisado é aproximadamente 10% da largura da imagem que está sendo pesquisada.
O tamanho mínimo do rosto é uma compensação entre desempenho e precisão: definir o tamanho mínimo permite que o detector encontre rostos menores, mas a detecção leva mais tempo. Definir um tamanho maior pode excluir rostos menores, mas será mais rápida.
O tamanho mínimo do rosto não é um limite absoluto; o detector pode encontrar rostos um pouco menores que o especificado.
Próximas etapas
Use a detecção facial no seu app iOS ou Android: