Ampliar el reconocimiento facial con MCP
Descripción general
Esta guía explica cómo implementar un flujo de trabajo de reconocimiento facial usando SenseCAP Watcher (Xiaozhi) junto con un sistema reComputer Raspberry Pi.
Al grabar un firmware personalizado en el SenseCAP Watcher, Xiaozhi AI obtiene una capacidad de reconocimiento facial impulsada por un reComputer con aceleración Hailo-8. Una vez configurado, simplemente pídele al Watcher algo como "comprueba quién es esta persona" y la IA capturará automáticamente una foto, identificará el rostro frente a una base de datos local en el reComputer y responderá con el nombre de la persona y el nivel de confianza.
Preparación de hardware
| SenseCAP Watcher para Xiaozhi | reComputer AI R2130-12 |
|---|---|
![]() | ![]() |
Requisitos previos
- Instala el sistema reComputer Raspberry Pi siguiendo: Introducción a la Serie reComputer R2000
- Repositorios de código fuente:
Proceso de implementación
Paso 1. Anotar la dirección IP del reComputer
Conecta el reComputer a tu red (p. ej., router) y obtén su dirección IP. La IP de ejemplo usada en esta guía es 192.168.24.10.

Paso 2. Grabar el firmware en el Watcher
-
Conecta el PC al Watcher usando un cable Type-C en el puerto inferior.
-
Abre ESP-IDF 5.5 CMD (versión 5.5.1) y clona el repositorio de firmware:
git clone -b face_rec_api --single-branch https://github.com/suharvest/xiaozhi-esp32.git
cd xiaozhi-esp32
- Abre
main/boards/sensecap-watcher/sscma_camera.cc, buscaface_rec_urly cambia la IP por la IP de tu reComputer:
// Before (default):
std::string face_rec_url = "http://192.168.10.131:8001/recognize";
// After (your reComputer IP):
std::string face_rec_url = "http://<reComputer_IP>:8001/recognize";
- Compila y graba:
idf.py set-target esp32s3
idf.py menuconfig # Select SenseCAP Watcher board
idf.py build flash
Paso 3. Configurar el entorno del reComputer
- Conectarse mediante SSH:
ssh <username>@<reComputer_IP>
# Example: ssh [email protected]
Recomendamos usar la extensión Remote - SSH en VS Code para conectarte a tu reComputer.

- Actualizar el software del sistema:
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
- Instalar el runtime y los controladores de Hailo:
sudo apt install hailo-all
sudo reboot
- Tras el reinicio, vuelve a conectar por SSH y verifica HailoRT:
hailortcli scan
hailortcli fw-control identify
Si ves una salida similar a la siguiente, el controlador se ha instalado correctamente:

- Instalar uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
Paso 4. Clonar la API e instalar dependencias
git clone https://github.com/suharvest/face_rec_api.git
cd face_rec_api/
uv sync
Paso 5. Añadir fotos e iniciar el servicio
- Coloca fotos en la carpeta
photos/. Cada archivo debe llevar el nombre de la persona (el nombre del archivo sin extensión se usa como nombre de la persona):
photos/
├── john_doe.jpg
├── jane_smith.png
└── alice_wang.jpg

- Generar embeddings:
uv run scripts/batch_process.py

- Iniciar el servicio:
chmod +x start_standalone.sh
./start_standalone.sh

El servicio se está ejecutando ahora en el puerto 8001. El Watcher puede comunicarse con el reComputer para comprobar si un rostro existe en la base de datos. Puedes detener el servicio con Ctrl + C.
Puedes añadir una instrucción como: "Cuando se detecte una persona, utiliza la herramienta de reconocimiento facial para comprobar el nombre y la confianza: si la confianza es mayor que 0.40, salúdala por su nombre; de lo contrario, da un saludo genérico."
Paso 6. Actualizar la base de datos de rostros
Añade nuevas fotos a la carpeta photos/, luego vuelve a generar los embeddings y reinicia el servicio:
uv run scripts/batch_process.py
./start_standalone.sh
También puedes actualizar la base de datos mientras el servicio se está ejecutando llamando al endpoint de recarga:
curl -X POST http://localhost:8001/reload
Paso 7. Vaciar la base de datos de rostros
- Elimina todos los archivos de la carpeta
photos/. - Elimina el archivo
embeddings.jsonen la carpetadata/.

Después de vaciarla, reinicia el servicio y verás un registro limpio:

Resultado de la ejecución


Preguntas frecuentes
P: ¿Cómo puedo hacer que Xiaozhi AI llame a la API de reconocimiento facial?
R: Simplemente hazle al Watcher una pregunta como "Comprueba si estoy en el sistema de reconocimiento facial". La IA invocará automáticamente la herramienta de reconocimiento facial.
P: El servicio no puede conectarse o no reconoce rostros. ¿Qué debo comprobar?
R: Verifica que:
- La dirección IP del reComputer en el firmware coincida con la IP real.
- El servicio de reconocimiento facial se esté ejecutando (
curl http://<reComputer_IP>:8001/health). - No haya reglas de firewall que bloqueen el puerto 8001.
P: Hailo no se detecta después de instalar hailo-all. ¿Qué debo hacer?
R: Vuelve a ejecutar hailortcli scan después de un reinicio completo. Si aún no se detecta, comprueba la conexión PCIe con lspci | grep Hailo y dmesg | grep -i hailo.
P: ¿Puedo implementar el sistema de reconocimiento facial en otros dispositivos?
R: Sí, siempre que el dispositivo ejecute un sistema basado en Linux con hardware Hailo-8. Se recomienda la serie reComputer, ya que esta guía está validada en esa plataforma.

