Pular para o conteúdo principal

Estendendo o Reconhecimento Facial com MCP

Visão geral

Este guia explica como implementar um fluxo de trabalho de reconhecimento facial usando o SenseCAP Watcher (Xiaozhi) em conjunto com um sistema reComputer Raspberry Pi.

Ao gravar um firmware personalizado no SenseCAP Watcher, a IA Xiaozhi passa a ter capacidade de reconhecimento facial alimentada por um reComputer com aceleração Hailo-8. Depois da configuração, basta pedir algo como "verifique quem é esta pessoa" ao Watcher e a IA capturará automaticamente uma foto, identificará o rosto em um banco de dados local no reComputer e responderá com o nome da pessoa e o nível de confiança.

Preparação de hardware

SenseCAP Watcher para XiaozhireComputer AI R2130-12

Pré-requisitos

Processo de implantação

Etapa 1. Anote o endereço IP do reComputer

Conecte o reComputer à sua rede (por exemplo, roteador) e obtenha seu endereço IP. O IP de exemplo usado neste guia é 192.168.24.10.

Etapa 2. Grave o firmware no Watcher

  1. Conecte o PC ao Watcher usando um cabo Type-C na porta inferior.

  2. Abra o ESP-IDF 5.5 CMD (versão 5.5.1) e clone o repositório do firmware:

git clone -b face_rec_api --single-branch https://github.com/suharvest/xiaozhi-esp32.git
cd xiaozhi-esp32
  1. Abra main/boards/sensecap-watcher/sscma_camera.cc, procure por face_rec_url e altere o IP para o IP do seu 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";
  1. Compile e grave:
idf.py set-target esp32s3
idf.py menuconfig # Select SenseCAP Watcher board
idf.py build flash

Etapa 3. Configure o ambiente do reComputer

  1. Conecte via SSH:
ssh <username>@<reComputer_IP>
# Example: ssh [email protected]
nota

Recomendamos usar a extensão Remote - SSH no VS Code para se conectar ao seu reComputer.

  1. Atualize o software do sistema:
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
  1. Instale o runtime e os drivers Hailo:
sudo apt install hailo-all
sudo reboot
  1. Após a reinicialização, conecte-se novamente via SSH e verifique o HailoRT:
hailortcli scan
hailortcli fw-control identify

Se você vir uma saída semelhante à seguinte, o driver foi instalado com sucesso:

  1. Instale o uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env

Etapa 4. Clone a API e instale as dependências

git clone https://github.com/suharvest/face_rec_api.git
cd face_rec_api/
uv sync

Etapa 5. Adicione fotos e inicie o serviço

  1. Coloque fotos na pasta photos/. Cada arquivo deve ser nomeado com o nome da pessoa (o nome do arquivo sem extensão é usado como o nome da pessoa):
photos/
├── john_doe.jpg
├── jane_smith.png
└── alice_wang.jpg
  1. Gere as embeddings:
uv run scripts/batch_process.py
  1. Inicie o serviço:
chmod +x start_standalone.sh
./start_standalone.sh

O serviço agora está em execução na porta 8001. O Watcher pode se comunicar com o reComputer para verificar se um rosto existe no banco de dados. Você pode parar o serviço com Ctrl + C.

Você pode adicionar um prompt como: "Quando uma pessoa for detectada, use a ferramenta de reconhecimento facial para verificar o nome e a confiança: se a confiança for maior que 0,40, cumprimente-a pelo nome; caso contrário, dê uma saudação genérica."

Etapa 6. Atualize o banco de dados de rostos

Adicione novas fotos à pasta photos/, depois gere novamente as embeddings e reinicie o serviço:

uv run scripts/batch_process.py
./start_standalone.sh
dica

Você também pode atualizar o banco de dados enquanto o serviço está em execução chamando o endpoint de recarregamento:

curl -X POST http://localhost:8001/reload

Etapa 7. Limpe o banco de dados de rostos

  1. Exclua todos os arquivos na pasta photos/.
  2. Remova o arquivo embeddings.json na pasta data/.

Após limpar, reinicie o serviço e você verá um log limpo:

Resultado da execução

FAQ

P: Como posso fazer a IA Xiaozhi chamar a API de reconhecimento facial?

R: Basta fazer ao Watcher uma pergunta como "Verifique se estou no sistema de reconhecimento facial." A IA invocará automaticamente a ferramenta de reconhecimento facial.

P: O serviço não consegue se conectar ou reconhecer rostos. O que devo verificar?

R: Verifique se:

  • O endereço IP do reComputer no firmware corresponde ao IP real.
  • O serviço de reconhecimento facial está em execução (curl http://<reComputer_IP>:8001/health).
  • Não há regras de firewall bloqueando a porta 8001.

P: O Hailo não é detectado após instalar hailo-all. O que eu faço?

R: Execute novamente hailortcli scan após uma reinicialização completa. Se ainda não for detectado, verifique a conexão PCIe com lspci | grep Hailo e dmesg | grep -i hailo.

P: Posso implementar o sistema de reconhecimento facial em outros dispositivos?

R: Sim, contanto que o dispositivo execute um sistema baseado em Linux com hardware Hailo-8. A série reComputer é recomendada, pois este guia foi validado nessa plataforma.

Suporte técnico

Loading Comments...