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: