Reconhecimento facial com Raspberry • Do bit Ao Byte
Djames Suhanko 29 de dezembro de 2018 4 min read
Está acompanhando a série sobre inteligência artificial? Está perdendo um bom material, se não estiver. Nesse, veremos como fazer reconhecimento facial com Raspberry e inteligência artificial, baseado no mesmo projeto desse outro artigo.
A grande sacada é que o treinamento não é feito no Raspberry, apenas um model treinado em um computador potente é incluído ao projeto.
Preparar o sistema para reconhecimento facial com Raspberry
Primeiramente, o sistema deve ser o Raspian Jessie Light mais atual. Anteriores não funcionarão. Será que você vai ter que formatar o seu?
Instale o sistema no cartão, faça o login normalmente e então configure o WiFi. Rode o configurador:
Faça as configurações de sistema necessárias, habilite a câmera do Raspberry. Configure a memória da GPU para pelo menos 16. A minha está 64 (menu Advanced). Se não tiver o programa instalado, instale-o:
Nesse outro artigo mostrei como colocar o sistema de arquivos em somente-leitura para proteger o sistema de arquivos e aumentar a vida útil do cartão. É altamente recomendada a leitura. Se já está utilizando dessa forma, antes de instalar qualquer coisa é necessário por o sistema de arquivos em read-write:
Salve as configurações e então faça o primeiro reboot do sistema:
Agora é hora de instalar as dependências. Mais uma vez, coloque o sistema em modo de escrita se tiver executado o tutorial de proteção do cartão SD, então instale os pacotes:
Se estiver utilizando uma câmera ( certamente quererá fazê-lo), instale uns extras necessários:
Temos duas opções em relação à dlib. Uma, a compilação nativa e a outra, cross-compiling. Ah, tem também a opção de compilação nativa em ambiente virtualizado. Ou compilação em docker (que é paralelização de processos. Etc.
O primeiro exemplo é para compilação nativa, caso você ainda seja um usuário de Windows. Primeiro, habilite uma área de troca para auxiliar a memória RAM. Isso é temporário.
Feito isso, reinicie. Instale a dlib versão 19.6:
#Ou se der erro:
sudo python3 setup.py install --compiler-flags "mfpu=neon"
Instale o face_recognition para fazer o reconhecimento facial com Raspberry:
Reverta a swap:
Baixe os exemplos:
python3 facerec_on_raspberry_pi.py
Se você quiser uma interface gráfica no seu Raspberry (recomendo que não utilize para não desperdiçar memória), faça o seguinte:
Compilação cruzada
É um bocado trabalhoso, mas em compensação você não sofrerá aguardando que o pobre processador ARM termine a longa e demorada compilação. Se desejar utilizar seu computador como máquina de compilação para o Raspberry usando cross-compiling, o procedimento está descrito nesse artigo.
Compilação em plataforma virtualizada
Nesse outro artigo descrevo o processo para compilação nativa em ambiente virtualizado utilizando o QEmu para emular ARM. É uma boa opção também, desde que seu computador nativo tenha memória RAM para fornecer ao virtualizador.
Tentando na sorte
Se quiser, experimente fazer reconhecimento facial com Raspberry com a dlib fornecida através do pip3:
Eventualmente pode funcionar.
A documentação da API pode ser encontrada nesse link. Os exemplos que você deve ter baixado seguindo esse tutorial lhe serão bastante úteis e a documentação cobrirá quaisquer dúvidas.
Farei alguns projetos bem interessantes com esses recursos, mas precisarei de outro Raspberry Pi 3 para isso. Verei com os parceiros do site assim que possível e teremos muita diversão pela frente. Afinal, qual o objetivo de apenas reconhecer, exceto impressionar os amigo, certo?
Deixe seu like na nossa página do facebook clicando alí no canto superior direito. Farei alguns vídeos logo mais, inscreva-se no nosso canal DobitAoByteBrasil no Youtube e clique no sininho para receber notificações. Ou você vai correr o risco de perder os experimentos?