HumansXドキュメントセンター 公式サイトへ ↗

インテリジェント顔追跡システム – 概要

RDK X5 プラットフォームをベースとしたインテリジェント顔追跡システムです。YOLO11 による顔検出と2自由度パンチルト台の制御を統合しています。MCP プロトコルと RESTful API により、AI アシスタントによる自然言語での制御と、Web 画面でのリアルタイムな操作を実現します。

主な特長

  • リアルタイム顔検出:YOLO11n 量子化モデルと BPU ハードウェアアクセラレーションにより、約 30fps のリアルタイム性能を実現
  • インテリジェントなターゲット追跡:PID 制御とカルマンフィルタを用いたマルチターゲット追跡システム
  • MCP プロトコルの統合:8 つのツール関数を提供し、AI アシスタントとの自然言語インタラクションに対応
  • 統合サービスアーキテクチャ:1 つのサーバーで Web サービスと MCP サービスを同時に稼働
  • リアルタイム Web 画面:MJPEG 映像ストリームの表示と、インタラクティブなパンチルト制御
  • ⚙️ きめ細かな例外処理:充実したエラー分類、例外捕捉、状態フィードバックの仕組み
  • 動的な視覚フィードバック:追跡状態をリアルタイムに可視化

システム要件

  • ハードウェア:RDK X5 開発ボード、または互換性のある ARM アーキテクチャのプロセッサ
  • オペレーティングシステム:Ubuntu 20.04 以降
  • Python:3.6 以上
  • 周辺機器:USB カメラ、2 自由度 PWM サーボ式パンチルト台
  • メモリ:2GB 以上の RAM
  • ストレージ:3GB 以上の空き容量

クイックスタート

1. リポジトリのクローン

git clone https://github.com/your-username/Proj_Intelligent-Face-Tracker.git
cd Proj_Intelligent-Face-Tracker

2. 依存パッケージのインストール

# 仮想環境を作成(推奨)
python3 -m venv venv
source venv/bin/activate

# 依存パッケージをインストール
pip install -r requirements.txt

3. ハードウェアの準備

# カメラデバイスを確認
ls /dev/facecamera || ls /dev/video*

# シリアルポートデバイスの権限を確認
ls -l /dev/ttyS1
sudo chmod 666 /dev/ttyS1

4. システムの起動

# 起動スクリプトを使用(推奨)
./bin/start-mcp-server.sh

# または直接実行
python main.py

# 従来の Web モード
python main_legacy.py

5. サービスへのアクセス

詳細ドキュメント

ドキュメント 内容
ドキュメントナビゲーション ドキュメントの索引とクイックナビゲーション
アーキテクチャ設計 システムアーキテクチャとモジュール設計
API インターフェース RESTful API の詳細仕様
デプロイガイド 環境設定とデプロイ手順
MCP サーバー MCP プロトコルの統合とツール関数
主要機能 顔検出・追跡アルゴリズム

️ MCP ツール関数

本システムは 8 つの MCP ツール関数を提供しており、AI アシスタントから自然言語で制御できます。

検出系ツール

  • detect_faces() - 現在の顔検出結果を取得します

制御系ツール

  • control_gimbal(pan, tilt) - パンチルト台の絶対位置を制御します
  • move_gimbal_relative(pan_offset, tilt_offset) - パンチルト台を相対移動させます
  • reset_gimbal_position() - パンチルト台の位置を初期状態にリセットします

追跡系ツール

  • start_face_tracking() - 自動顔追跡を開始します
  • stop_face_tracking() - 自動顔追跡を停止します

状態系ツール

  • get_gimbal_status() - パンチルト台の現在の状態を取得します
  • get_system_status() - システムの稼働状態を取得します

️ プロジェクト構成

Proj_Intelligent-Face-Tracker/
├── face_tracker_mcp/        # MCP 版のメインソースコード
│   ├── main.py             # 統合サーバーのエントリーポイント
│   ├── core/               # コアビジネスロジック
│   │   ├── detection.py    # YOLO11 顔検出
│   │   ├── gimbal_control.py # パンチルト台制御
│   │   ├── exceptions.py   # 例外処理
│   │   └── utils.py        # ユーティリティ関数
│   ├── services/           # サービス層
│   │   ├── mcp_service.py  # MCP プロトコルサービス
│   │   └── web_service.py  # Web サービスのラッパー
│   ├── api/                # API インターフェース層
│   │   └── routes.py       # RESTful ルーティング
│   └── config/             # 設定管理
├── src/                     # 従来版のソースコード(互換用)
├── config/                  # 設定ファイル
├── docs/                    # ドキュメントディレクトリ
├── bin/                     # スクリプトディレクトリ
├── model/                   # YOLO モデルファイル
└── logs/                    # ログディレクトリ

技術的特長

顔検出エンジン

  • モデル:YOLO11n 量子化モデル、入力サイズ 320 × 320
  • アクセラレーション:Horizon BPU によるハードウェアアクセラレーション推論
  • 性能:約 30fps のリアルタイム検出、信頼度しきい値 0.6
  • フォーマット:NV12 入力形式(RDK X5 プラットフォームに適合)

インテリジェント追跡システム

  • マルチターゲット管理:ターゲット ID の対応付けと継続的な追跡
  • スコアリングアルゴリズム:信頼度、サイズ、継続時間、位置の連続性を総合的に評価
  • 動き予測:カルマンフィルタによるターゲット位置の予測
  • ブレ防止制御:ターゲット切り替えのしきい値機構により、頻繁な切り替わりを防止

パンチルト制御システム

  • ハードウェア:2 自由度 PWM サーボ式パンチルト台
  • 通信:シリアル通信(/dev/ttyS1、ボーレート 115200)
  • 制御:PID コントローラーによる滑らかな追従
  • 可動範囲:0°~270° の角度制御範囲

⚡ 性能指標

  • 検出遅延:33ms 未満(30fps)
  • 制御応答:50ms 未満
  • メモリ使用量:400MB 未満
  • CPU 使用率:約 10%(RDK X5)
  • 追跡精度:角度精度 ±2°

️ 安全機能

  • 角度制限:パンチルト台の角度範囲を厳密にチェック
  • 例外捕捉:充実したハードウェア障害検出
  • 状態監視:システム状態をリアルタイムに監視
  • 安全な終了処理:SIGINT/SIGTERM シグナルの処理

情報交換の場

資料のダウンロード・技術サポートについては、HumansX株式会社までお問い合わせください。