Pular para o conteúdo principal

Implantar Reconhecimento Facial no reComputer

Introdução

Este wiki irá guiá-lo no uso de um reComputer equipado com um NPU Hailo para implementar reconhecimento facial em tempo real. Neste projeto, usamos SCRFD-10G para detecção eficiente de rostos, capaz de detectar de forma rápida e precisa rostos em várias escalas, incluindo rostos pequenos, garantindo desempenho em tempo real. Ao mesmo tempo, empregamos o modelo ArcFace-MobileFaceNet para reconhecimento facial leve, que utiliza a função de perda ArcFace para aprimorar a precisão do reconhecimento e possibilitar verificação de identidade eficiente.

Preparar Hardware

reComputer R1125reComputer AI R2130reComputer AI Industrial R2145
reComputer Industrial R20xxreComputer Industrial R21xx

Nota: Você precisa de uma câmera USB como entrada.

Instalar o Software Hailo e Verificar a Instalação

atualizar o sistema

sudo apt update
sudo apt full-upgrade
nota

Às vezes você pode encontrar os seguintes problemas durante as atualizações.

Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [39.0 kB]
Reading package lists... Done
E: Release file for http://deb.debian.org/debian/dists/bookworm/InRelease is not valid yet (invalid for another 58d 8h 26min 35s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian-security/dists/bookworm-security/InRelease is not valid yet (invalid for another 84d 18h 23min 59s). Updates for this repository will not be applied.
E: Release file for http://archive.raspberrypi.com/debian/dists/bookworm/InRelease is not valid yet (invalid for another 84d 13h 13min 5s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian/dists/bookworm-updates/InRelease is not valid yet (invalid for another 85d 0h 52min 29s). Updates for this repository will not be applied.

Isso acontece porque a hora no Raspberry Pi está configurada incorretamente, e você precisa definir manualmente a hora no Raspberry Pi com o comando abaixo:

# This command only you can connect google.com
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

Depois de configurar a hora do seu Raspberry, você pode atualizar o seu Raspberry.

Definir pcie para gen2/gen3 (gen3 é mais rápido que gen2)

Adicione o seguinte texto a /boot/firmware/config.txt

#Enable the PCIe external connector

dtparam=pciex1

#Force Gen 3.0 speeds

dtparam=pciex1_gen=3

nota

Se você quiser usar gen2, comente dtparam=pciex1_gen=3

Instalar hailo-all e reiniciar

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para instalar o software Hailo.

sudo apt install hailo-all
sudo apt-get -y install libblas-dev nlohmann-json3-dev
sudo reboot

Verificar Software e Hardware

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para verificar se o hailo-all foi instalado.

hailortcli fw-control identify

O resultado correto é mostrado abaixo:

pir

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para verificar se o hailo-8L foi conectado.

lspci | grep Hailo

O resultado correto é mostrado abaixo:

pir

Executar o Projeto

Instalar Projeto

cd ~ && git clone https://github.com/Seeed-Projects/hailo-apps-infra
cd hailo-apps-infra
./install.sh
source venv_hailo_apps/bin/activate

Adicionar sua foto

cd /resources/face_recon/train
# change name to the name of the person to be recognized
mkdir name

Nota: Coloque a foto da pessoa a ser reconhecida na pasta que acabou de ser criada.

Adicionar informações ao banco de dados

cd ~/hailo-apps-infra/hailo_apps/hailo_app_python/apps/face_recognition
python face_recognition.py --mode train

O resultado correto é mostrado abaixo:

pir

Executar o projeto

Insira o comando abaixo e você verá uma demonstração de reconhecimento facial:

 python face_recognition.py --input usb

Resultado

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...