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 Xiaozhi | reComputer AI R2130-12 |
|---|---|
![]() | ![]() |
Pré-requisitos
- Instale o sistema Raspberry Pi no reComputer seguindo: Introdução à Série reComputer R2000
- Repositórios de código-fonte:
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
-
Conecte o PC ao Watcher usando um cabo Type-C na porta inferior.
-
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
- Abra
main/boards/sensecap-watcher/sscma_camera.cc, procure porface_rec_urle 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";
- 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
- Conecte via SSH:
ssh <username>@<reComputer_IP>
# Example: ssh [email protected]
Recomendamos usar a extensão Remote - SSH no VS Code para se conectar ao seu reComputer.

- Atualize o software do sistema:
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
- Instale o runtime e os drivers Hailo:
sudo apt install hailo-all
sudo reboot
- 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:

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

- Gere as embeddings:
uv run scripts/batch_process.py

- 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
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
- Exclua todos os arquivos na pasta
photos/. - Remova o arquivo
embeddings.jsonna pastadata/.

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.

