Skip to main content

Implementar Reconocimiento Facial en reComputer

Introducción

Este wiki te guiará a través del uso de un reComputer equipado con una NPU Hailo para implementar reconocimiento facial en tiempo real. En este proyecto, utilizamos SCRFD-10G para detección eficiente de rostros, capaz de detectar rápida y precisamente rostros de varias escalas, incluyendo rostros pequeños, asegurando rendimiento en tiempo real. Al mismo tiempo, empleamos el modelo ArcFace-MobileFaceNet para reconocimiento facial ligero, que aprovecha la función de pérdida ArcFace para mejorar la precisión del reconocimiento y permitir verificación eficiente de identidad.

Preparar Hardware

reComputer AI Industrial R2000reComputer AI R2000

Nota: Necesitas una cámara USB como entrada.

Instalar Software Hailo y Verificar Instalación

actualizar el sistema

sudo apt update
sudo apt full-upgrade
note

A veces puedes encontrar los siguientes problemas durante las actualizaciones.

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.

Esto se debe a que la hora en la Raspberry Pi está configurada incorrectamente, y necesitas configurar manualmente la hora en la Raspberry Pi con el comando a continuación:

# 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"

Después de configurar la hora de tu raspberry, puedes actualizar tu raspberry.

Configurar pcie a gen2/gen3(gen3 es más rápido que gen2)

Agregar el siguiente texto a /boot/firmware/config.txt

#Enable the PCIe external connector

dtparam=pciex1

#Force Gen 3.0 speeds

dtparam=pciex1_gen=3

note

Si quieres usar gen2, por favor comenta dtparam=pciex1_gen=3

Instalar hailo-all y reiniciar

Abre la terminal en la Raspberry Pi5, e ingresa el comando como sigue para instalar el software Hailo.

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

Verificar Software y Hardware

Abre la terminal en la Raspberry Pi5, e ingresa el comando como sigue para verificar si hailo-all ha sido instalado.

hailortcli fw-control identify

El resultado correcto se muestra a continuación:

pir

Abre la terminal en la Raspberry Pi5, e ingresa el comando como sigue para verificar si hailo-8L ha sido conectado.

lspci | grep Hailo

El resultado correcto se muestra a continuación:

pir

Ejecutar Proyecto

Instalar Proyecto

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

Agregar tu foto

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

Nota: Coloca la foto de la persona a ser reconocida en la carpeta que acabas de crear.

Agregar información a la base de datos

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

El resultado correcto se muestra a continuación:

pir

Ejecutar el proyecto

Ingresa el comando a continuación y verás una demostración de reconocimiento facial:

 python face_recognition.py --input usb

Resultado

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...