inteintegrity2026-09-18

Multimodaal Retail AI-democentrum op reComputer RK3588

Voer slimme schappen, meerkanaals RKNN-detectie, een spraakassistent voor voorraad en analyse van verkoopgesprekken lokaal uit op reComputer RK3588 via één geïntegreerde browserinterface.

RetailMultimodal AICVGitHub

Dit project brengt schapvisie, voorraadstatus, spraakinteractie en analyse van verkoopgesprekken samen in één browserinterface op reComputer RK3588. Met reCamera en ReSpeaker XVF3800 worden RKNN-beeldinferentie, spraakherkenning, sprekeronderscheiding, lokale LLM-verwerking en spraaksynthese op het edge-apparaat uitgevoerd.

Nadat de runtime-assets zijn voorbereid, blijven video, audio, voorraadgegevens en resultaten lokaal. Tijdens de demonstratie is geen cloud-API nodig.

Broncode: Seeed-Projects/Lab-Prooject-RK

Meerkanaals bewaking van slimme schappen

Belangrijkste functies

  • Eén Vue-frontend en één FastAPI-service voor drie demo's.
  • RKNN-objectdetectie op de RK3588-NPU.
  • Gedetecteerde video en actuele productstatus vanuit reCamera.
  • Verre-veld audio-opname met ReSpeaker XVF3800.
  • Lokale Qwen3-ASR, sprekeronderscheiding, RKLLM en Piper TTS.
  • Zichtbare status van hardware, modelservices en inferentiepijplijnen.
  • Voorraadaantallen uit deterministische logica in plaats van LLM-schattingen.

Drie demo-ervaringen

1. Slim schap met één camera en spraakassistent

Voorraad en spraakassistent met één camera

reCamera levert een RTSP-stream met detecties en de actuele productstatus aan de reComputer. Medewerkers kunnen vragen:

  • Hoeveel flessen staan nog op het schap?
  • Hoeveel producttypen zijn aanwezig?
  • Welke producten ontbreken?

Het gestructureerde antwoord verschijnt in de browser en kan via de aangesloten luidspreker worden uitgesproken.

Het LLM bepaalt alleen de intentie. Productnamen en aantallen worden berekend uit een recente reCamera-status. Als die status ontbreekt of verouderd is, meldt de toepassing dat de voorraad niet beschikbaar is.

2. Bewaking met vier streams

Vier onafhankelijke opname- en inferentieprocessen draaien gelijktijdig op de RK3588. Het dashboard toont:

  • vier geannoteerde videostreams;
  • opname-, inferentie- en weergave-FPS per stream;
  • status van de NPU-workers;
  • een gedeelde tijdlijn voor aanvulgebeurtenissen;
  • voorraadwijzigingen en aanvullingsmeldingen.

De repository bevat twee FP16 RKNN-modellen, de RKNN Lite 2.3.2 arm64-wheel, een voorbeeldvideo en de demo-configuratie.

De schapregio's en gebeurtenisregels zijn afgestemd op de meegeleverde video. Kalibreer ROI's en bedrijfsregels opnieuw bij een andere camera- of schapopstelling.

3. Analyse van verkoopgesprekken

Analyse van verkoopgesprekken

ReSpeaker XVF3800 neemt het gesprek op. De lokale pijplijn voert daarna uit:

  1. detectie van spraaksegmenten met Silero VAD;
  2. sprekerkenmerken en sprekeronderscheiding met CAM++;
  3. realtime transcriptie met Qwen3-ASR;
  4. samenvatting, klantintentie en aanbevolen vervolgstap met RKLLM.

Transcripties en analyses worden voortdurend naar de browser gestuurd. Overlappende spraak wordt niet gescheiden en kan de nauwkeurigheid verlagen.

Systeemarchitectuur

Systeemarchitectuur

ComponentStandaardverbindingDoel
Browser → reComputerhttp://<RK3588-IP>:8080UI, REST API en WebSocket-events
reCamera → reComputerRTSP :8554, WebSocket :9002Gedetecteerde video en productstatus
ReSpeaker → reComputerUSB Audio, ALSA-kaart met ArrayVerre-veld audio-opname
reComputer → luidsprekerES8311 3,5-mm-uitgangPiper-spraakweergave
Lokale ASR / RKLLM:8621 / :8001Herkenning, intentie en samenvatting

Hardwarevereisten

HardwareVereiste
EdgecomputerreComputer RK3588, minimaal 8 GB aanbevolen
CamerareCamera bereikbaar via USB-netwerk of Ethernet
MicrofoonReSpeaker XVF3800 USB-microfoonarray
AudioHoofdtelefoon of actieve luidspreker op ES8311 3,5 mm
OpslagMinimaal 12 GB voor de volledige offline spraakassets
BedieningsschermLokale browser of apparaat op hetzelfde LAN

Voor alleen de demo met vier streams kunnen reCamera, ReSpeaker en de spraakservices worden weggelaten.

Softwarevereisten

  • Debian 12 arm64
  • Werkende RKNPU-driver en RKNN Runtime
  • Python 3.11 en python3-venv
  • Node.js 18 of nieuwer
  • curl en alsa-utils
  • Docker en Docker Compose voor ASR en RKLLM
  • Optioneel go2rtc; MJPEG dient als fallback

Snel starten

1. Code ophalen

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

Pas .env aan, vooral het reCamera-adres, de ALSA-kaart, audio-uitvoer en lokale modelendpoints.

2. Applicatie voorbereiden

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

bootstrap.sh maakt de backend- en RKNN-omgevingen, installeert RKNN Lite, bouwt de Vue-frontend en downloadt gecontroleerde Piper-assets. Zonder cache is internettoegang nodig.

3. Optioneel: spraakruntime voorbereiden

Deze stap kan worden overgeslagen voor de meerkanaals demo. De voorraadassistent en gespreksanalyse vereisen extra ASR- en RKLLM-resources.

Plaats de offline bundel in:

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. Democentrum starten

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

Open http://<RK3588-IP>:8080 in een browser op hetzelfde netwerk. Stoppen kan met:

bash
./scripts/stop.sh

Validatie en status

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-documentatie: http://<RK3588-IP>:8080/docs

Bekende beperkingen

  • De volledige spraakervaring vereist ASR-, RKLLM- en modelassets die niet allemaal in Git staan.
  • bootstrap.sh heeft netwerktoegang nodig wanneer afhankelijkheden niet zijn gecachet.
  • ROI's en sommige gebeurtenisregels van de vierstreamdemo zijn afgestemd op de voorbeeldvideo.
  • Voorraadantwoorden vereisen een recente reCamera-productstatus en schatten geen aantallen uit video alleen.
  • Overlappende spraak wordt niet ondersteund.
  • UI en WebSocket hebben geen publieke authenticatie; gebruik een vertrouwd LAN of beveiligde reverse proxy.

Bronnen

De integratiecode valt onder Apache-2.0. Modellen, voorbeeldmedia, leverancierswheels en upstream-services behouden hun eigen licenties.