19 de nov de 2018

Reconhecimento facial em celulares: como funciona a tecnologia?

Udacity Brasil

Em permanente competição, os iPhones da Apple e os celulares da linha Galaxy da Samsung disputam um mercado parecido e compartilham uma série de recursos. Um dos mais novos, nas duas empresas, é a possibilidade de desbloquear a tela do celular por meio de reconhecimento facial.

A Samsung permite o feito desde o Galaxy S8. O iPhone X, por sua vez, tem um reconhecimento facial que a Apple alardeia que funciona até no escuro.sequer tem um leitor de impressões digitais: o único recurso biométrico que ele usa para desbloquear a tela é. Como isso é possível?

Repórter do jornal Wall Street Journal testa o Face ID da Apple

A resposta é: visão computacional. Trata-se de um ramo de pesquisa da inteligência artificial que visa permitir que os computadores enxerguem o mundo em torno de si e realizem ações com base nas informações que veem. É a mesma área de pesquisa que está sendo usada em carros autônomos – mas em uma versão que cabe no seu bolso.

Como o reconhecimento facial funciona?

Diego Bruno é aluno do doutorado do Instituto de Ciências Matemáticas e Computação da Universidade de São Paulo em São Carlos. Ele dá aulas sobre visão computacional e reconhecimento facial na FATEC de Catanduva, no interior paulista, e também faz estágio de docência no doutorado auxiliando um professor em uma matéria que aborda esse tema.

As implementações de reconhecimento facial em celulares, segundo Diego, existem em duas formas: 2D ou 3D. Uma delas usa apenas a informação bidimensional capturada por uma câmera, enquanto a outra acrescenta também a “profundidade” da imagem na hora de decidir se a tela deve ou não ser destravada.

No caso dos celulares da Samsung, trata-se da implementação 2D. Quando o usuário aciona essa opção, ele primeiro precisa permitir que o celular “olhe” seu rosto de vários ângulos diferentes por algum tempo. Em seguida, na hora de destravar a tela, o dispositivo combina a imagem capturada pela câmera frontal do aparelho com as imagens que viu anteriormente e, se perceber que as duas batem, permite acesso aos dados.

Segundo Diego, o sistema consegue identificar o rosto do seu “dono” comparando alguns fatores: textura, cor e formato. “Formato” se refere, por exemplo, à distância entre os olhos e à proporção altura/largura do rosto da pessoa; “cor”, por sua vez, remete ao tom da pele e à coloração dos olhos e dos pelos faciais. “Textura”, finalmente, consegue avaliar a lisura da pele da pessoa, a presença de barba ou bigode, e a espessura das sobrancelhas.

Leia também: Um carro autônomo do Brasil: conheça o CaRINA, da USP-São Carlos

Mesmo avaliando todos esses detalhes, o sistema da Samsung tem uma falha: como depende de uma imagem bidimensional, ele não consegue perceber profundidade na hora de decidir se vai destravar a tela ou não. Isso faz com que ele possa ser enganado por uma foto da pessoa cujo rosto está registrado no aparelho, por exemplo.

Nesse ponto, o sistema Face ID usado pela Apple tem uma vantagem. Além de usar uma câmera 2D para fazer o reconhecimento facial, ele usa também uma câmera tridimensional montada na chamada franja, que fica na parte superior da tela. Com isso, ele consegue detectar profundidade, e não se deixa enganar por algo simples como uma foto.

Para burlar o sistema da Apple, você precisaria de um objeto tridimensional. Algo como um busto impresso em 3D e pintado com a cara do dono do celular, ou uma máscara de silicone com o rosto dele”, diz Diego.

O Face ID também tem outro recurso interessante: conta também com um projetor de pontos e uma câmera infravermelha (ambos montados na franja da tela dos iPhones) para funcionar no escuro.

Funciona assim: quando o celular não consegue ver nada pela câmera 3D, ele usa o projetor de pontos para iluminar o rosto do usuário com luz infravermelha, invisível para nossos olhos. A câmera infravermelha, no entanto, consegue ver o nosso rosto iluminado pelo projetor de pontos, e com isso consegue destravar o aparelho, como mostra o vídeo abaixo:

Como um celular se torna um bom fisionomista?

Quando você vai destravar o celular, o seu rosto obviamente não vai estar idêntico a como estava quando você o registrou no sistema biométrico. Mesmo de um dia para outro, nossos rostos podem apresentar pequenas mudanças, e diferenças em iluminação no ambiente podem aumentar essas discrepâncias. Como, então, os dispositivos conseguem saber que nós somos nós, mesmo que pareçamos diferente das fotos que eles têm?

A resposta a essa pergunta é, basicamente, inteligência artificial. Tanto dispositivos Android quanto iOS se valem de redes neurais e machine learning para conseguir reconhecer nossos rostos de maneira precisa, mesmo em diferentes contextos e com pequenas mudanças.

Mas treinar uma rede neural para reconhecer rostos em imagens pode levar semanas, mesmo em um computador equipado com GPUs de ponta. Como, então, os celulares são capazes de fazer isso? Segundo Diego, isso se dá por meio do _transfer learning_, algo como “transferência de aprendizado”, uma técnica por meio da qual os sistemas conseguem usar o que já sabem para aprender uma nova tarefa.

Com essa técnica, é possível pegar uma rede neural extremamente complexa de reconhecimento de imagens e treiná-la para reconhecer uma nova categoria de imagens – fotos do seu rosto, por exemplo. Isso permite que aparelhos com poder computacional bem menor (como celulares) consigam ter acesso a alguns dos recursos mais sofisticados que envolvem redes neurais.

Um exemplo de sistema que pode ser usado para fazer isso é o Inception, uma rede neural de reconhecimento de imagens do Google. Ela roda na Tensor Flow, a plataforma de treinamento de inteligência artificial da empresa, e o Google mesmo já fez um tutorial sobre como ela pode ser reutilizada para reconhecer novas classes de imagens.

“É uma ideia da psicologia. Quando a gente é pequeno, nossos pais nos ensinam o que é um gato. Aí quando a gente vê um cachorro, a gente sabe que é como um gato, mas diferente, então a gente aprende uma classe nova”, diz Diego. Ele já fez experimentos com essa técnica, e diz que, com 50 fotos de um rosto, é possível treinar um algoritmo de reconhecimento facial que funciona com 98% de precisão.

Diego não sabe dizer com certeza se a Apple ou a Samsung usam o Inception para suas soluções de reconhecimento facial. Gigantes como são, é possível que cada empresa tenha reaproveitado sua própria rede de reconhecimento de imagens para seus usuários.

No entanto, ele sugere que os sistemas da empresa podem ser treinados com, por exemplo, fotos de pessoas famosas na internet. Assim, eles já terão bastante conhecimento das diferenças entre rostos humanos. Na hora que seus usuários forem cadastrar seus próprios rostos, os dispositivos já serão excelentes fisionomistas.

Leia também: Como programar uma IA (inteligência artificial)?

Há riscos de segurança no reconhecimento facial?

Como já mencionado, os sistemas de reconhecimento facial podem ser enganados com maior ou menor facilidade. No caso de sistemas baseados em imagens 2D, uma foto do dono do celular (mesmo que ela seja mostrada na tela de outro celular) é suficiente para burlar o sistema. Caso o dispositivo use imagens em 3D também, é bem mais complicado, mas ainda possível.

E de acordo com Diego, existe ainda um risco mais recente. Um hacker experiente é capaz de injetar um sinal nos sensores do dispositivo para fazer com que ele acredite que esteja olhando para o seu dono, mesmo que não esteja. É praticamente como se o hacker pudesse causar uma espécie de alucinação visual na câmera do celular.

Não é nada fácil fazer isso. Além de bastante conhecimento, o hacker precisaria também ter alguma maneira de injetar o sinal no sensor do celular-alvo. Segundo Diego, para isso seria necessário que o celular estivesse conectado à mesma rede Wi-Fi que o invasor, por exemplo – um ponto de atenção a mais para quem já se preocupa com redes abertas.

Esse risco ganha importância por causa da enorme quantidade de informação privada que nossos celulares armazenam. Na prática, seria bem difícil acontecer, mas tanto a Apple quanto a Samsung oferecem alternativas para usuários que prefiram usar métodos ainda mais seguros para proteger seus dispositivos.

No caso dos iPhones com Face ID, é possível usar também um PIN, uma senha ou biometria para destravar a tela, em vez do rosto. Os celulares da Samsung com reconhecimento facial também oferecem essas opções mais tradicionais.

De qualquer maneira, a possibilidade de destravar algo apenas com o olhar ainda é imensamente popular. Afinal, o processo é simplesmente muito legal! Isso significa que, mesmo com os riscos apontados, os sistemas de reconhecimento facial devem se popularizar no futuro, conforme os componentes necessários se tornem mais acessíveis.

Isso deve ser rápido, visto que praticamente todo smartphone lançado hoje em dia já tem uma câmera frontal e consegue realizar o transfer learning necessário para identificar os rostos de seus usuários.

Além disso, sistemas como esse não exigem muito da bateria dos aparelhos, já que trabalham com dados não-processados das câmeras. “Quando você vai tirar uma foto, a câmera captura [a imagem] e isso exige muito processamento, o que gasta bateria”, explica Diego. Na ausência desse processamento, o reconhecimento facial consome bem menos energia.

Mesmo que você não pretenda utilizar essa medida no futuro por qualquer motivo que seja, é interessante se manter informado. Afinal, trata-se apenas da ponta do iceberg do que é possível com a visão computacional – quem sabe o que uma olhadela vai poder fazer no futuro?

Saiba mais sobre inteligência artificial:

Sobre o autor
Udacity Brasil

A Udacity, conhecida como a "Universidade do Vale do Silício", é uma plataforma online e global que conecta educação e mercado para ensinar as habilidades do futuro – de data science e marketing digital à inteligência artificial e desenvolvimento. Hoje, há mais de 7 mil alunos ativos no país e 50 mil pelo mundo.