Aprenda como configurar o reconhecimento facial no Linux com Howdy, para efetuar desde Login no sistema, até substituir o SUDO!
| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. Mais detalhes clicando aqui.
1. Introdução
Apesar de toda a preocupação com privacidade e ‘o medo de um agente do FBI estar te vigiando’, o reconhecimento facial está se tornando popular entre os consumidores. Os dispositivos Android e iOS mais recentes possuem o recurso de desbloquear o dispositivo com autenticação facial.
Depois de se acostumar com o desbloqueio facial ou com impressão digital, digitar sua senha parece uma tarefa tediosa.
No sistema operacional Windows, a Microsoft oferece o Windows Hello que permite autenticação instantânea com base em seu rosto.
No Linux, o desbloqueio facial não é um recurso embutido por padrão, ainda, tal qual o desbloqueio por impressão digital visto no Ubuntu.
Mas, como diz o ditado, onde existe um Shell, existe um caminho, neste tutorial, vou mostrar como configurar o desbloqueio facial no Ubuntu, mas também pode usar o tutorial para outras distribuições Linux.
2. Howdy
Howdy é um software de código aberto que permite fazer login no sistema Linux com reconhecimento facial. Considere-o uma alternativa de código aberto ao Windows Hello. Aqui, seus dados são armazenados localmente em seu computador e não há qualquer telemetria online!
O Howdy usa os emissores de infravermelho integrados e a combinação de webcam para reconhecer seu rosto, basicamente construído sob OpenCV e Python.
O Howdy quando instalado usa o sistema de autenticação PAM, o que significa que ele será agregado ao chaveiro do sistema inteiro, que você não só pode fazer Login em seu sistema com o seu rosto, mas também pode usá-lo para sudo, su e na maioria das outras situações em que você precisa usar a senha da sua conta, como o próprio gksudo do XOrg. No entanto, em meus testes, não foi possível desbloquear o chaveiro no Ubuntu para aplicações específicas, como o Chrome por exemplo. Ele vai te pedir a senha na maioria das vezes.
3. Instalação
O desenvolvedor do Howdy fornece um PPA útil que torna a instalação do Howdy mais fácil em distribuições baseadas no Ubuntu.
Abra um terminal e use os seguintes comandos:
$ sudo add-apt-repository ppa:boltgolt/howdy
$ sudo apt update
$ sudo apt install howdy
Atenção: O Howdy é um grande software e instala um grande número de bibliotecas de software. Para mim, ele mostrou que puxaria cerca de 140 MB de download e que ao instalar, ocuparia 600 MB de disco.
Durante a instalação, ele pede que você escolha o tipo de autenticação Rápida, Equilibrada e Segura. Escolhi Equilibrado nesta etapa porque não quero esperar muito, mas também não quero que seja menos seguro. É o ideal para a maioria dos usuários e webcams.
Instalando o Howdy em outras distribuições Linux
Para o Debian, você pode baixar o arquivo DEB. oficial. Os usuários do Arch/Manjaro podem instalá-lo a partir do AUR.
Os usuários do Fedora têm a opção de usar o repositório COPR:
$ sudo dnf copr enable luya/howdy
$ sudo dnf install howdy
Os usuários do openSUSE podem encontrar as instruções de instalação aqui!
Como último recurso, você pode obter o código-fonte no repositório GitHub.
Como estou usando o Ubuntu 20.04 neste tutorial, algumas etapas podem usar o comando apt, mas acredito que você pode usar o gerenciador de pacotes de sua distribuição nessas etapas.
4. Configuração
Vamos ver como configurá-lo para reconhecimento facial.
Antes de usar o Howdy, você deve alterar o arquivo de configuração para especificar seu dispositivo de webcam.
Na maioria dos sistemas Linux, /dev/video0 deve ser seu dispositivo webcam, mas você deve ter certeza disso usando o comando v4l2-ctl.
Instale primeiro v4l-utils:
$ sudo apt install v4l-utils
Agora use o comando v4l2-ctl para listar seus dispositivos
abhishek@itsfoss:~$ v4l2-ctl –list-devices
Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-5):
/dev/video0
/dev/video1
Por que dois (ou mais) dispositivos de vídeo?
Você terá que verificar os recursos do dispositivo. O dispositivo deve ter capacidade de Captura de Vídeo, não apenas Captura de Metadados.
Você pode verificá-lo com um comando como “v4l2-ctl –device=/dev/video0 –all” e então olhar na seção de capacidade. Na maioria das vezes, deve ser o primeiro dispositivo, ou seja, /dev/video0.
Agora, você precisa definir o caminho do dispositivo na configuração do Howdy. Use o comando abaixo para abrir o arquivo de configuração para edição em seu editor de texto baseado em terminal padrão:
$ sudo howdy config
Procure a linha que começa com device_path. Mude seu valor para /dev/video0 ou qualquer que seja o caminho para o seu dispositivo de webcam.
Salve e saia do arquivo. Se for NANO, salve e saia com CTRL+O e CTRL+X.
4.1 Adicione seu rosto
Agora que você tem o caminho correto do dispositivo definido, é hora de adicionar seu rosto em seu banco de dados para o reconhecimento funcionar.
Primeiro verifique como está o angulo, posição e qualidade da imagem com:
$ sudo howdy test
Assim você verá se está tudo realmente correto e verá um circulo vermelho em seu rosto, o reconhecimento está ok!
Use o seguinte comando para associar um rosto ao usuário atualmente conectado, ou seja, você:
$ sudo howdy add
Ele não mostra a aparência do seu rosto ao abrir uma câmera, então você deve olhar para a webcam para capturar seu rosto corretamente. Tente tirar a foto estando na posição mais habitual e confortável possivel pra não haver divergências de desbloqueio futuras.
Ele pedirá que você adicione um identificador ao rosto. Você pode nomeá-lo como quiser.
Eu sugiro adicionar mais algumas variantes do seu rosto se você usar óculos. Basta executar o comando sudo howdy add cada vez que quiser adicionar um rosto. No entanto, o ideal é ter apenas 1 captura, isso evita erros e problemas!
O Howdy está pronto para ser usado assim que você adicionar um rosto. Para testá-lo, abra um novo terminal e execute um comando com sudo. Você notará que sua webcam pisca e tenta detectar um rosto. Se o rosto não for reconhecido, aparecerá uma mensagem de erro e pedirá para você usar sua senha.
Para adicionar um rosto para outro usuário, você também deve fornecer o nome de usuário:
$ sudo howdy -U username add
Você não precisa se preocupar em iniciar o Howdy após a reinicialização. O Howdy inicia automaticamente a cada inicialização.
4.2 Liste todos os modelos
Você pode ver quais modelos de face estão associados a um usuário com o comando list. Se você não especificar o nome de usuário, ele mostra a saída para o usuário atual.
$ sudo howdy list
4.3 Limpeza
Quando você lista todos os modelos de face de um usuário, pode usar a opção remover para excluir um determinado modelo de rosto. Você terá que fornecer o ID do modelo de rosto, não o rótulo.
$ sudo howdy remove face_ID
Você pode remover todos os modelos de face com o seguinte comando:
$ sudo howdy clear
4.4 Desative e reative o Howdy
Você pode desativar temporariamente o Howdy usando este comando:
$ sudo howdy disable 1
Você pode reativá-lo usando a mesma opção de desativação, mas com 0 como argumento:
$ sudo howdy disable 0
5. Remoção
Você pode usar o gerenciador de pacotes de sua distribuição para remover o Howdy.
No Ubuntu, use o seguinte comando:
$ sudo apt remove howdy
Você também deve excluir o PPA :
$ sudo add-apt-repository -r ppa:boltgolt/howdy
Para outras distribuições, use o método de desinstalação que corresponde ao método de instalação usado.
6. Conclusão
É divertido configurar o desbloqueio facial no Linux. Acredito que isso pode fornecer uma base para alguns bons projetos do Raspberry Pi.
No entanto, não recomendo configurá-lo em infraestrutura ou servidores críticos. O reconhecimento facial não é muito seguro e o Howdy não é perfeito, ainda há muito o que melhorar e corrigir bugs.
#UrbanCompassPony
Fonte:
ItsFoss
Autodidata, me aprofundei em sistemas operacionais baseados em UNIX®, principalmente Linux. Também procuro trazer assuntos correlacionados direta ou indiretamente, como automação, robótica e embarcados.