inteintegrity2026-09-18

reComputer RK3588 向けマルチモーダル・リテール AI デモセンター

reComputer RK3588 上でスマートシェルフ、マルチストリーム RKNN 画像検出、在庫音声アシスタント、 販売会話分析をローカル実行し、統合ブラウザー画面でエッジ・リテール AI のワークフローを紹介します。

RetailMultimodal AICVGitHub

このプロジェクトは、棚の画像認識、在庫状態、音声対話、販売会話分析を 1 つのブラウザー画面に統合し、reComputer RK3588 上で実行します。reCamera と ReSpeaker XVF3800 を接続し、RKNN 画像推論、音声認識、話者識別、ローカル LLM 処理、音声読み上げをエッジ側で完結できます。

実行用アセットの準備後は、映像、音声、在庫データ、生成結果をすべてローカルに保持し、デモ実行中にクラウド API を呼び出す必要はありません。

ソースコード:Seeed-Projects/Lab-Prooject-RK

マルチカメラ・スマートシェルフ監視

主な特長

  • 1 つの Vue フロントエンドと FastAPI サービスで 3 つのデモを統合管理。
  • RK3588 NPU 上で RKNN 物体検出を実行。
  • reCamera の検出映像とリアルタイム商品状態を利用。
  • ReSpeaker XVF3800 による遠距離音声収録。
  • ローカルの Qwen3-ASR、話者識別、RKLLM、Piper TTS を利用。
  • デモ切り替え、ハードウェア状態、モデルサービス、推論パイプラインを画面に表示。
  • 在庫数は決定的な業務ロジックで計算し、LLM に在庫を推測させない設計。

3 つのデモ

1. シングルカメラ・スマートシェルフと音声アシスタント

シングルカメラ在庫・音声アシスタント

reCamera は検出結果付き RTSP 映像とリアルタイムの商品状態を reComputer に送信します。スタッフは次のような質問を行えます。

  • 棚に飲料ボトルは何本残っていますか?
  • 現在、商品は何種類ありますか?
  • 在庫切れの商品はどれですか?

回答は構造化データとして画面に表示され、reComputer に接続したスピーカーから読み上げられます。

LLM は質問の意図だけを判定し、商品名と数量は最新の reCamera 商品状態からプログラムが計算します。状態が未初期化または古い場合は、在庫不明と明示し、未確認の数量を生成しません。

2. 4 ストリーム・スマートシェルフ監視

4 つの独立したキャプチャー/推論プロセスを RK3588 上で同時に実行します。ブラウザーには次の情報が表示されます。

  • 検出枠付き 4 ストリーム映像
  • ストリームごとのキャプチャー、推論、表示 FPS
  • NPU worker の状態
  • 共通の補充イベント・タイムライン
  • 棚の在庫変化と補充通知

リポジトリには、2 つの FP16 RKNN モデル、RKNN Lite 2.3.2 arm64 wheel、サンプル動画、デモ設定が含まれます。

棚領域とイベント規則は同梱サンプル動画向けです。カメラ位置や棚を変更する場合は、ROI と業務ルールを再調整してください。

3. 販売会話分析

販売会話分析

ReSpeaker XVF3800 がスタッフと顧客の会話を収録し、次のローカル処理を行います。

  1. Silero VAD で音声区間を検出。
  2. CAM++ で話者特徴を抽出し、話者を識別。
  3. Qwen3-ASR でリアルタイム文字起こし。
  4. ローカル RKLLM で会話要約、顧客意図、推奨アクションを生成。

文字起こしと分析結果はブラウザーへ継続的に送信されます。重複発話の分離には対応していないため、複数人が同時に話す場合は精度が低下する可能性があります。

システム構成

システム構成

コンポーネント既定の接続用途
ブラウザー → reComputerhttp://<RK3588-IP>:8080統合 UI、REST API、WebSocket イベント
reCamera → reComputerRTSP :8554、WebSocket :9002検出映像と商品状態
ReSpeaker → reComputerUSB Audio、ALSA カード名に Array遠距離音声収録
reComputer → スピーカーES8311 3.5 mm 出力Piper 音声再生
ローカル ASR / RKLLM:8621 / :8001音声認識、意図判定、要約

ハードウェア要件

ハードウェア要件
エッジコンピューターreComputer RK3588、8 GB 以上を推奨
カメラUSB ネットワークまたは Ethernet で接続可能な reCamera
マイクReSpeaker XVF3800 USB マイクアレイ
音声出力ES8311 3.5 mm に接続するヘッドホンまたはアクティブスピーカー
ストレージ完全なオフライン音声アセットには 12 GB 以上を推奨
操作端末reComputer または同一 LAN 上のブラウザー端末

4 ストリーム棚検出だけを試す場合、reCamera、ReSpeaker、音声サービスは省略できます。

ソフトウェア要件

  • Debian 12 arm64
  • 動作する RKNPU ドライバーと RKNN Runtime
  • Python 3.11 と python3-venv
  • Node.js 18 以降
  • curl、alsa-utils
  • ASR/RKLLM 用 Docker と Docker Compose
  • go2rtc は任意。未導入時は MJPEG にフォールバック

クイックスタート

1. コードを取得

bash
git clone https://github.com/Seeed-Projects/Lab-Prooject-RK.git
cd Lab-Prooject-RK
cp .env.example .env

実際の接続に合わせて .env の reCamera アドレス、ALSA カード、音声出力、ローカルモデルサービスを確認してください。

2. アプリケーション環境を準備

bash
./scripts/bootstrap.sh
./scripts/verify.sh

bootstrap.sh はバックエンドと RKNN 仮想環境を作成し、RKNN Lite を導入し、Vue フロントエンドをビルドし、検証済み Piper アセットを取得します。依存関係がキャッシュされていない場合はインターネット接続が必要です。

3. 任意:音声ランタイムを準備

マルチカメラ棚検出だけを試す場合は、この手順を省略できます。在庫音声アシスタントと販売会話分析には、追加の ASR/RKLLM アセットが必要です。

別途配布されるオフラインバンドルを次に配置します。

text
services/voice-pipeline/deploy/bundle/
bash
cd services/voice-pipeline
./deploy/restore.sh ./deploy/bundle
docker compose -f deploy/docker-compose.asr-realtime.yml up -d
docker compose -f deploy/docker-compose.llm-summary.yml up -d
./bootstrap.sh
cd ../..

4. デモセンターを起動

bash
./scripts/start.sh
./scripts/status.sh

同一 LAN のブラウザーで http://<RK3588-IP>:8080 を開きます。

停止するには次を実行します。

bash
./scripts/stop.sh

検証と状態確認

bash
./scripts/verify.sh
bash
curl -fsS http://127.0.0.1:8080/api/v1/health
curl -fsS http://127.0.0.1:8080/api/v1/hardware/status
curl -fsS http://127.0.0.1:8080/api/v1/showcase/status
curl -fsS http://127.0.0.1:8621/health
curl -fsS http://127.0.0.1:8001/health

API ドキュメント:http://<RK3588-IP>:8080/docs

既知の制限

  • 完全な音声デモには、Git に含まれない ASR、RKLLM、モデルアセットが必要です。
  • 依存関係がキャッシュされていない場合、bootstrap.sh はネットワーク接続を必要とします。
  • 4 ストリーム棚デモの ROI と一部イベント規則はサンプル動画専用です。
  • 在庫回答には新しく初期化された reCamera 商品状態が必要で、映像だけから数量を推測しません。
  • 話者識別は重複発話に対応していません。
  • WebSocket とデモ UI は公開ネットワーク向けの認証を備えていません。信頼できる LAN または安全なリバースプロキシ内で使用してください。

リソース

統合コードは Apache-2.0 ライセンスです。モデル、サンプルメディア、vendor wheel、上流サービスには、それぞれのライセンスが適用されます。