Biometria facial


O desenvolvimento das tecnologias para o reconhecimento facial desperta o interesse de diversos órgãos públicos e empresas privadas. Este artigo aborda os conceitos e algumas técnicas mais usuais da tecnologia de biometria facial, além do software de biometria facial a partir de testes práticos e simulações do ambiente com análise técnica.


Wagner Ricardo Alves dos Santos, consultor em engenharia elétrica e sistemas de segurança eletrônica, WR Solution

Data: 10/08/2016

Edição: RTI Agosto 2016 - Ano XVII - No 195

Compartilhe:

Existem várias técnicas ou métodos computacionais que compõem a biometria facial, iniciada no campo da engenharia de processamentos de sinais nos anos de 1960. Antes de explorar essa tecnologia é importante entender o modelo conceitual de análise e assim identificar as principais características que um software de reconhecimento de face humana deve possuir. Para isso, seguimos o modelo de equação [1] e da figura 1.

O software faz o reconhecimento avaliando as três regiões do rosto, ficando os algoritmos conhecidos como detectores para identificar as regiões dos olhos, nariz e boca. Essa etapa é essencial para confirmar a existência de uma face humana e não um objeto inanimado. Existem algumas metodologias utilizadas por alguns softwares e iremos explorar algumas delas.

Para iniciar o reconhecimento, o algoritmo do software analisa o tamanho, assim como o formato da face. Entenda-se como algoritmo a equação matemática que faz varreduras vertical e horizontal e determina a distribuição luminosa da imagem sobre o objeto alvo. A primeira metodologia que veremos é conhecida como método baseado em conhecimento, por que já conhecemos o que caracteriza uma face. O método baseado em conhecimento representa as técnicas que abordam algum conhecimento sobre o que é uma face focando os atributos geométricos do rosto.

O resultado esperado das varreduras vertical e horizontal do rosto são as coordenadas dos itens que formam uma face humana. As distâncias entre os itens do rosto são utilizadas para a identificação e se pudéssemos ter como “enxergar” veríamos linhas de conexão formando uma máscara e contornando as regiões de interesse.

Essas regiões são convertidas matematicamente em cubos de pontos, conhecidos como cluster. A distribuição desses pontos pode ser visualizada no plano ou no espaço. Essa informação é a referência utilizada pelo software para identificar uma pessoa.

Métodos baseados em características invariantes

Essa metodologia faz a identificação da face utilizando as técnicas de segmentação da pele em conjunto com a modelagem estatística construída a partir da textura da face humana e a cor da pele. A técnica tem como abordagem a utilização dos elementos característicos, branca, negra e parda, formando um cluster específico no espectro de cores.

Fig. 1 – Identificação da face

A representação da face se dá pela identificação da acumulação de pixels no espaço de cores, assim como no espaço cromático. A representação matemática se faz a partir de uma matriz que transforma o espaço de cores em componentes de matriz, luminosidade e saturação.

O resultado da equação [2] é representado como (60 < Y <200) AND (20< I <50), também conhecido experimento Buhiyan. Onde Y I Q se referem à luminância e as demais às informações de cor, conforme a equação. Uma variação desse método é conhecida como WAN 99, cuja diferença está em fazer a segmentação de cores a partir de imagens padronizadas.

A luminância, representada pela letra Y, consiste na ponderação dos valores das componentes RGB e pode ser quantificada pela equação [4].

Historicamente, esse método foi desenvolvido em 1953 pela NTSC National Televison Standards Committee para atender a transmissão de sistema de televisão.

Talvez a mais eficiente técnica utilizada para o reconhecimento de face, utilizando a abordagem de segmentação de pele, pertence a Society of Motion and Televesion Engnieers e é conhecida como YES.

A utilização desse método é justificável por que permite construir detectores de face suficientemente rápidos para serem utilizados em tarefas de rastreamento (face tracking) das faces, dispensando processos matemáticos de multiplicação e utilizando apenas deslocamento de bits.

A característica de rastreamento desse método é muito útil para áreas de segurança e interfaces inteligentes.

A técnica por si só não é suficiente para garantir uma identificação, pois alguns objetos podem ter cores semelhantes à pele humana, provocando o que chamamos de falso positivo. Para melhorar a identificação é preciso analisar outras características dos objetos como a textura de pele.

Fig. 2 – Pontos do reconhecimento da face

Fig. 3 – Simulação da face

Método baseado em templates

O método template se diferencia do de conhecimento, pois detectar não é utilizar padrões baseados em regras previamente estabelecida, mas sim a partir de parâmetros por pontos de controle que vão se deformando até encontrar a imagem final.

Nesse método os pontos de controle vão se deformando ao mesmo tempo contornando a face e após 45 interações temos como resultado uma reprodução da foto cadastrada. Comparando com método anterior ao de template vimos um avanço significativo frente a abordagem de análise das bordas nas regiões da face como olho, boca, etc. Uma variação desse método foi proposto, facilitando a identificação e melhorando a performance. Em uma cena, com muitas faces, faz-se necessário diminuir a quantidade de vetores de imagens a partir do cálculo de média proposta por Tusk e Pentland, cujo objetivo é minimizar o esforço computacional e melhorar o desempenho de identificação. Isso é realizado pela equação [5]. Seja x1, x2... xn um conjunto de imagens normalizadas de faces de diferentes pessoas. A face média de cada imagem é dada por:

A análise matematicamente final é por vetores e escalares, formando uma matriz conhecida como covariância, expressa como:

Fig. 4 – Reconhecimento da face score 74,2%

Métodos baseados na aparência

Essa técnica não necessita do conhecimento prévio. Nesse caso, o algoritmo sugere os conceitos de aprendizagem e treinamento do sistema.

O sistema de biometria facial se encarrega de aprender e codificar somente o necessário e realiza a detecção. Essa é uma solução tecnológica que pode que ser desenvolvida a partir de algoritmos de redes neurais, “engenfaces” ou modelos ocultos de Markov.

Até o momento vimos a evolução das técnicas utilizadas para realizar a biometria facial. São utilizadas fotos frontais e nunca de perfil. Isso traz uma limitação do sistema de software de biometria facial. Portanto, é preferível instalar o sistema de forma a capturar as faces das pessoas sempre de frente para a câmera.

Outra observação é o fato da diferença de luminosidade sobre a face. Esse componente influenciará diretamente no resultado. Assim é importante instalar a câmera contra a luz.

Essas observações irão ajudar fortemente o software, não importando a metodologia.

Metodologia para o teste de conceito

Para esse experimento descrevemos as condições de controle do teste como o local, iluminação, altura do objeto, altura da câmera e as características dos equipamentos para realizar simulação do ambiente antes da utilização do software biométrico.

Utilizando a ferramenta CFTV desing tools inserirmos as características técnicas da câmera como resolução, dimensão do sensor, distância do objeto. Assim como a altura da instalação da câmera e a distância focal.

O primeiro teste feito no ambiente da recepção utilizou a câmera da Axis de 1 Mpx com sensor 1/3 e lente adaptada para 5 a 50 mm.

As características da câmera foram repassadas para o software e verificamos que, a partir da altura de 1,5 m, temos uma captura de imagem do rosto, favorecendo muito o algoritmo do software de reconhecimento facial devido à grande aproximação da imagem.

Por definição do software é necessário obter pelo menos 60 pixels entre os olhos, enquanto o ideal é 90 pixels, para que o software de reconhecimento possa ter grande assertividade. Valores abaixo do valor de 60 pixels o resultado é desconhecido ou é gerado um evento falso positivo.

O sistema obteve uma similaridade excelente uma probabilidade de 97,99%, frente ao ambiente escolhido com pouca movimentação e pouco reflexo luminoso e inclinação, uma vez que o visitante olha direto para a câmera. Outro fator que colabora com o excelente resultado é a característica da lente.

Fig. 5 Reconhecimento da face score score 61%

Fig. 6 – Quantidade de faces reconhecidas

Condição de contorno para o segundo teste de conceito

Neste caso, utilizamos os recursos disponíveis no ambiente e os modelos de câmeras disponíveis têm resoluções de 1 e 3 Mpx com lentes de 2,8 e 3 a 9 mm, respectivamente. As câmeras estão fixadas sob o teto do tipo dome à altura de 3 metros. Outro requisito necessário para a solução de software reconhecimento facial deverá estar à disposição dos os operadores de videowall do centro de operações.

A limitação do software em teste está associada a alguns fatores, um deles é a quantidade mínima de 60 pixel entre os olhos, portanto o software poderá não identificar a face ou, no pior caso, gerar um evento conhecido como falso positivo, com valor inferior de pixels.

No primeiro teste, vimos que o software conseguiu identificar atingindo um score de 74% de similaridade, mas a partir da câmera de 3 Mpx. A distância é de aproximadamente 3,50 m, imaginando uma linha da câmera até a face. Ao se afastarmos um pouco mais da câmera, o score cai significativamente para 61%, muito próximo da limitação de reconhecimento face pelo software.

No teste com a câmera de 1 Mpx, instalada nas mesmas condições, não foi possível ter um resultado satisfatório. Entretanto, o não reconhecimento está associado, provavelmente, à dimensão da lente e pouco provavelmente à resolução da imagem.

Independente da metodologia utilizada para se construir o software de reconhecimento facial, a eficácia do sistema também dependerá do fator de luminância, conforme os cálculos demonstrados. Esse fator interfere, principalmente, quando a câmera capta imagem de uma face com fonte luminosa ao fundo da cena. A eficácia do sistema de biometria facial não está associada apenas em alta resolução, mas é profundamente influenciada pelo tipo lente utilizada pela câmera. Outro fator que influência no resultado é a variação da quantidade de luz de uma cena captada pela câmera. Assim, é altamente recomendável a utilização de recursos wide dynamic range, conhecido como amplo alcance dinâmico para diminuir a diferença luminosa sobre a face, facilitando a identificação de algoritmo matemático.

Fig. 7 – Software integrado ao videowall

O índice de acerto do software de reconhecimento facial, não importando a metodologia, será influenciado por fatores externos como variações ou posicionando face frente a câmera, além da iluminação ambiente, expressões distintas do rosto ou obstrução parcial do rosto.

A base de dados para a consulta deve possuir uma riqueza de múltiplas faces com diferentes posicionamentos para a sua identificação, ou seja, as imagens frontais ou de perfil das faces são bem-vindas. Essa abordagem ajudará o software desde que a sua construção seja sensível à variação de identidade, também conhecido como o algoritmo LDA Linear Discrimant analysis.

Como toda tecnologia, a de biometria facial possui limitações conforme, resta avaliar se o risco é aceitável. O importante é lembrar que não se pode utilizar qualquer câmera, É necessário fazer algumas alterações técnicas na câmera para que o software possa funcionar com mais assertividade.

Ao explorar as oportunidades de utilização do sistema de biometria facial se vislumbra as aplicações para o controle de acesso e automação predial e residencial.