Neste artigo, vamos analisar de forma simples e direta os princípios e processos por trás do reconhecimento facial por computadores.
Quais são os princípios subjacentes ao reconhecimento facial?
Você provavelmente já jogou algum jogo na infância em que tinha que completar um rosto humano. Nesse jogo, primeiro você selecionava o formato do rosto e, em seguida, escolhia o penteado, os olhos, o nariz e a boca, um por um, e os posicionava no rosto. Alternando entre diferentes penteados, olhos, narizes e bocas, você podia criar o rosto que desejava. A forma como os computadores reconhecem e comparam rostos não é muito diferente disso. Os computadores identificam e armazenam características faciais; quando uma nova foto de um rosto é inserida, eles a comparam com as características armazenadas para determinar quem é a pessoa.
Um exemplo recente de tecnologia de reconhecimento facial de fácil acesso são os aplicativos de reconhecimento facial. Esses aplicativos pré-extraem e armazenam características-chave — como contornos faciais, olhos, narizes e bocas — de fotos de celebridades. Posteriormente, quando o rosto de uma pessoa é capturado pela câmera, o aplicativo extrai as características faciais da mesma forma e as compara com as características faciais armazenadas de celebridades para identificar e exibir a pessoa que mais se assemelha.
Como um computador reconhece um rosto?
Agora, vamos examinar o processo de reconhecimento facial do computador. O reconhecimento facial consiste em quatro etapas principais: entrada, detecção facial, extração de características e comparação.
Na etapa de entrada, um único quadro de uma foto ou vídeo é transmitido para o computador por meio de um dispositivo de entrada. Geralmente, quanto maior a resolução do dispositivo de entrada e maior a taxa de quadros por segundo (FPS), mais precisamente os rostos podem ser reconhecidos. Esse princípio é semelhante à forma como uma pessoa com boa visão consegue reconhecer com mais precisão o rosto de alguém que está à distância.
Na etapa de detecção facial, o sistema primeiro verifica se há um rosto presente na foto ou vídeo de entrada. Para isso, ele identifica o contorno do rosto e características-chave, como olhos, nariz e boca. Embora várias técnicas de detecção facial estejam em uso atualmente, focaremos aqui no método de detecção Haar-like, que é bastante representativo.
O método de detecção tipo Haar utiliza wavelets de Haar. Uma wavelet é um padrão retangular simples composto por regiões pretas e brancas. Essas regiões em preto e branco são usadas para identificar áreas em uma imagem onde ocorrem diferenças de brilho. Ao aplicar wavelets de vários tamanhos e formatos em toda a imagem ou vídeo de entrada e, em seguida, reter apenas os locais onde a diferença de brilho entre as regiões pretas e brancas é significativa, o sistema pode detectar com eficácia o contorno do rosto e características faciais importantes, como olhos, nariz, boca e sobrancelhas. Além disso, esse processo também permite a extração de informações posicionais referentes às características faciais.
Por exemplo, ao extrair informações sobre os olhos, as regiões pretas da wavelet são posicionadas para corresponder a áreas relativamente escuras — como a pupila — enquanto as regiões brancas correspondem a áreas claras, como a pele. Ao utilizar essas diferenças de brilho, a posição e o formato dos olhos podem ser detectados com eficácia.
Como as características faciais são extraídas?
Assim que a etapa de detecção facial estiver concluída, o sistema determina se deve prosseguir para a etapa de extração de características.
Na etapa de extração de características, os traços faciais são extraídos para aproveitar ao máximo os componentes faciais identificados durante a etapa de detecção facial. Diferentemente da etapa de detecção facial, esse processo envolve uma etapa de pré-processamento. Como o ângulo de rotação, o tamanho e a intensidade da iluminação dos rostos variam em cada fotografia ou vídeo, um processo de normalização é realizado para padronizá-los ao máximo. Além disso, fotografias ou vídeos coloridos podem ser convertidos em imagens em preto e branco, conforme necessário.
Por exemplo, a foto original é convertida para escala de cinza, em seguida, apenas a região do rosto é recortada e redimensionada para um tamanho uniforme, e a equalização de histograma é realizada para corrigir o brilho. Usando as informações de posição dos componentes faciais obtidas durante a etapa de detecção facial, as características faciais são extraídas das fotos ou vídeos que passaram por esse pré-processamento.
Como são utilizadas as características faciais extraídas?
Durante a fase de comparação, as informações sobre esses componentes faciais extraídos são armazenadas em um banco de dados (BD) ou comparadas com dados faciais existentes para identificar a melhor correspondência.
Já examinamos o processo de reconhecimento facial por computador. Há poucas décadas, a ideia de um computador distinguir entre pessoas parecia uma tecnologia muito distante da realidade. No entanto, com o rápido avanço do hardware, software e tecnologias de inteligência artificial, o reconhecimento facial é hoje amplamente utilizado em diversas áreas — incluindo smartphones e laptops, além de controle de acesso, serviços financeiros e segurança aeroportuária. Atualmente, a tecnologia que permite aos computadores reconhecer rostos humanos não é mais uma história do futuro, mas sim uma tecnologia integrada ao nosso cotidiano.