Skip to main content

MCPを使用した顔認識の拡張

概要

このガイドでは、SenseCAP Watcher(Xiaozhi)reComputer Raspberry Piシステムを組み合わせて顔認識ワークフローをデプロイする方法を説明します。Watcherが画像をキャプチャし、内部MCPツールを使用してローカルデータベースとの顔照合のためにreComputerに送信します。

ハードウェア準備

SenseCAP Watcher for XiaoZhireComputer AI R2130-12

前提条件

reComputer Raspberry Piシステムをインストールするには、このガイドに従ってください:reComputer R2000 系列入門ガイド

実行結果

ソースコードリポジトリ:

デプロイプロセス

ステップ1. reComputerのIPアドレスをメモする

  • reComputerをルーターなどのネットワークに接続します

  • IPアドレスを取得します。ここで使用する例のIP:192.168.24.10

ステップ2. Watcherにファームウェアをフラッシュする

  • 底部ポートでType-Cケーブルを使用してPCをWatcherに接続します

  • ESP-IDF 5.5 CMD(バージョン5.5.1)を開き、適切なフォルダに移動します

  • Watcherファームウェアリポジトリをクローンします

git clone -b face_rec_api --single-branch https://github.com/suharvest/xiaozhi-esp32.git
cd xiaozhi-esp32
  • reComputerとの通信用のコードセクションを見つけます
    • ファイルの場所:main/boards/sensecap-watcher/sscma_camera.cc(769行目)
std::string face_rec_url = "http://192.168.10.131.80001/recognize"
  • IPアドレスをreComputerの実際のIPに変更します

    std::string face_rec_url = <Your_reComputer_actual_IP>
  • ファームウェアをコンパイルしてフラッシュします

idf.py set-target esp32s3
idf.py menuconfig # Select SenseCAP Watcher board
idf.py build flash

ステップ3. reComputerにSSH接続して環境を準備する

  • SSH経由で接続します(必要に応じてユーザー名とIPを置き換えてください)
ssh <Your_reComputer's username>@<Your_reComputer's host IP>
# For example : ssh [email protected]
note

reComputerへの接続には、VS CodeのRemote - SSH拡張機能の使用をお勧めします。

  • Dockerをインストールしてdockerユーザーを設定します
curl -sSL https://linuxmirrors.cn/docker.sh -o install_docker.sh
sudo bash install_docker.sh
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

sudo groupadd docker
sudo usermod -aG docker $USER
  • システムソフトウェアを更新します
sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update
  • uvをインストールします
curl -LsSf https://astral.sh/uv/install.sh | sh

ステップ4. APIをクローンして依存関係を更新する

git clone https://github.com/suharvest/face_rec_api.git
cd face_rec_api/
uv sync
  • DKMS、HailoRTをインストールし、設定を追加して再起動します
sudo apt-get install dkms
sudo dpkg --install hailort-4.21.0/hailort_4.21.0_arm64.deb hailort-4.21.0/hailort-pcie-driver_4.21.0_all.deb
echo "options hailo_pci force_desc_page_size=4096" | sudo tee /etc/modprobe.d/hailo_pci.conf
  • HailoRTのステータスを確認します
sudo reboot
hailortcli scan
hailortcli fw-control identify
  • 以下のような情報が表示されれば、ドライバーが正常にインストールされています

ステップ5. 写真を追加して顔認識サービスを開始する

  • photos/フォルダに写真を配置します
  • 埋め込みを生成します
uv run scripts/batch_process.py
  • 実行権限を付与してサービスを開始します
chmod +x start_standalone.sh
./start_standalone.sh
  • サービスが実行中です。WatcherはreComputerと通信して、顔がデータベースに存在するかどうかを確認できます。Ctrl + Cでサービスを停止できます。

  • 次のようなプロンプトを追加できます:「人が検出されたら、顔認識ツールを使用して名前と信頼度を確認してください:信頼度が40%を超える場合は名前で挨拶し、そうでなければ一般的な挨拶をしてください。」

ステップ6. 顔データベースを更新する

  • サービスを停止した後、photos/フォルダに新しい写真を追加し、埋め込みを再生成してサービスを再起動します。
uv run scripts/batch_process.py
./start_standalone.sh

ステップ7. 顔データベースをクリアする

  • photos/フォルダ内のすべてのファイルを削除します。

  • data/フォルダ内のembedding.jsonファイルを削除します。

  • クリア後、サービスを実行すると同じログが表示されます

FAQ

Q: Xiaozhi AIに顔認識APIを呼び出させるにはどうすればよいですか?

A: Watcherに「顔認識システムに私が登録されているか確認してください」のような質問をするだけです。 AIは自動的にMCPツールを呼び出して顔データベースを確認します。

Q: 顔認識システムが写真をアップロードできない場合はどうすればよいですか?

A: IPアドレスが正しく、顔認識サービスが正常に動作していることを確認してください。

Q: 顔認識システムを他のデバイスにデプロイできますか?

A: はい。デバイスがLinuxベースのシステムを実行し、ネットワークに接続できる限り、デプロイに使用できます。ただし、reComputer系列はより優れた計算性能を提供します。

技術サポート

Loading Comments...