inteintegrity2026-09-18

Centre de démonstration IA retail multimodale sur reComputer RK3588

Exécutez localement une étagère intelligente, la détection RKNN multicanal, un assistant vocal d'inventaire et l'analyse des conversations de vente sur reComputer RK3588 depuis une interface unifiée.

RetailMultimodal AICVGitHub

Ce projet réunit vision des rayons, état des stocks, interaction vocale et analyse des conversations de vente dans une seule interface Web exécutée sur reComputer RK3588. Une reCamera et un ReSpeaker XVF3800 permettent d'effectuer localement l'inférence RKNN, la reconnaissance vocale, la distinction des locuteurs, le traitement par LLM et la synthèse vocale.

Une fois les ressources préparées, la vidéo, l'audio, les données de stock et les résultats restent sur l'appareil, sans appel à une API cloud pendant la démonstration.

Code source : Seeed-Projects/Lab-Prooject-RK

Surveillance multicanal des rayons

Points forts

  • Une interface Vue et un service FastAPI pour trois expériences.
  • Détection d'objets RKNN accélérée par le NPU RK3588.
  • Vidéo détectée et état des produits fournis par reCamera.
  • Capture vocale distante avec ReSpeaker XVF3800.
  • Qwen3-ASR, distinction des locuteurs, RKLLM et Piper TTS en local.
  • État du matériel, des services et des pipelines visible dans l'interface.
  • Quantités calculées par une logique déterministe plutôt que devinées par le LLM.

Trois expériences

1. Étagère intelligente à une caméra et assistant vocal

Inventaire et assistant vocal à une caméra

La reCamera fournit au reComputer un flux RTSP annoté et l'état actualisé des produits. Le personnel peut demander :

  • Combien de bouteilles restent sur le rayon ?
  • Combien de types de produits sont présents ?
  • Quels produits sont en rupture ?

La réponse structurée s'affiche dans la page et peut être lue par le haut-parleur connecté au reComputer.

Le LLM identifie uniquement l'intention. Les noms et quantités sont calculés à partir d'un état reCamera récent. Si cet état manque ou est trop ancien, l'application indique que l'inventaire est indisponible.

2. Surveillance de quatre flux

Quatre processus indépendants de capture et d'inférence s'exécutent simultanément sur le RK3588. Le tableau de bord affiche :

  • quatre vidéos annotées ;
  • les FPS de capture, d'inférence et d'affichage ;
  • l'état des workers NPU ;
  • une chronologie partagée des événements de réapprovisionnement ;
  • les variations de stock et les alertes.

Le dépôt contient deux modèles RKNN FP16, le wheel arm64 RKNN Lite 2.3.2, une vidéo d'exemple et la configuration de démonstration.

Les régions et règles sont réglées pour la vidéo fournie. Recalibrez les ROI et la logique métier si la caméra ou le rayon change.

3. Analyse des conversations de vente

Analyse des conversations de vente

Le ReSpeaker XVF3800 capture la conversation, puis le pipeline local effectue :

  1. la détection des segments vocaux avec Silero VAD ;
  2. l'extraction des caractéristiques et la distinction des locuteurs avec CAM++ ;
  3. la transcription en temps réel avec Qwen3-ASR ;
  4. le résumé, l'intention client et l'action recommandée avec RKLLM.

Les résultats sont envoyés en continu au navigateur. Les voix qui se chevauchent ne sont pas séparées et peuvent réduire la précision.

Architecture du système

Architecture du système

ComposantConnexion par défautRôle
Navigateur → reComputerhttp://<RK3588-IP>:8080UI, REST API et événements WebSocket
reCamera → reComputerRTSP :8554, WebSocket :9002Vidéo détectée et état produit
ReSpeaker → reComputerUSB Audio, carte ALSA contenant ArrayCapture vocale distante
reComputer → haut-parleurSortie ES8311 3,5 mmLecture Piper
ASR / RKLLM local:8621 / :8001Reconnaissance, intention et résumé

Matériel requis

MatérielExigence
Ordinateur edgereComputer RK3588, 8 Go minimum recommandés
CamérareCamera accessible par réseau USB ou Ethernet
MicrophoneRéseau USB ReSpeaker XVF3800
AudioCasque ou enceinte amplifiée sur la sortie ES8311 3,5 mm
StockageAu moins 12 Go pour les ressources vocales hors ligne
AffichageNavigateur local ou appareil sur le même LAN

Pour tester uniquement la surveillance à quatre flux, reCamera, ReSpeaker et les services vocaux peuvent être omis.

Logiciels requis

  • Debian 12 arm64
  • Pilote RKNPU et RKNN Runtime fonctionnels
  • Python 3.11 et python3-venv
  • Node.js 18 ou plus récent
  • curl et alsa-utils
  • Docker et Docker Compose pour ASR et RKLLM
  • go2rtc facultatif ; MJPEG sert de solution de repli

Démarrage rapide

1. Récupérer le code

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

Adaptez .env, notamment l'adresse reCamera, la carte ALSA, la sortie audio et les endpoints locaux.

2. Préparer l'application

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

bootstrap.sh crée les environnements backend et RKNN, installe RKNN Lite, construit le frontend Vue et télécharge les ressources Piper vérifiées. Une connexion Internet est nécessaire si elles ne sont pas en cache.

3. Facultatif : préparer la voix

Cette étape peut être ignorée pour la démo multicanal. L'assistant d'inventaire et l'analyse des conversations nécessitent des ressources ASR et RKLLM supplémentaires.

Placez le bundle hors ligne dans :

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. Lancer le centre

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

Ouvrez http://<RK3588-IP>:8080 depuis un navigateur du même réseau. Pour arrêter :

bash
./scripts/stop.sh

Validation et état

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

Documentation de l'API : http://<RK3588-IP>:8080/docs

Limites connues

  • L'expérience vocale complète exige des ressources ASR, RKLLM et modèles non incluses dans Git.
  • bootstrap.sh nécessite le réseau si les dépendances ne sont pas en cache.
  • Les ROI et certaines règles multicanal sont configurées pour la vidéo fournie.
  • Les réponses de stock nécessitent un état reCamera récent et ne déduisent pas les quantités de la seule vidéo.
  • Les voix superposées ne sont pas prises en charge.
  • L'UI et WebSocket n'ont pas d'authentification publique ; utilisez un LAN de confiance ou un proxy sécurisé.

Ressources

Le code d'intégration est sous licence Apache-2.0. Les modèles, médias, wheels fournisseurs et services amont conservent leurs licences respectives.