inteintegrity2026-09-18

Centro de demostración de IA minorista multimodal en reComputer RK3588

Ejecuta localmente estanterías inteligentes, detección RKNN multicanal, un asistente de inventario por voz y análisis de conversaciones de venta en reComputer RK3588 desde una interfaz web unificada.

RetailMultimodal AICVGitHub

Este proyecto reúne visión de estanterías, estado de inventario, interacción por voz y análisis de conversaciones de venta en una única interfaz web ejecutada en reComputer RK3588. Puede conectar una reCamera y un ReSpeaker XVF3800 para realizar inferencia visual RKNN, reconocimiento de voz, separación de hablantes, procesamiento con un modelo de lenguaje local y síntesis de voz en el dispositivo.

Una vez preparados los recursos de ejecución, el vídeo, el audio, el inventario y los resultados generados permanecen localmente, sin llamadas a APIs en la nube durante la demostración.

Código fuente: Seeed-Projects/Lab-Prooject-RK

Supervisión multicanal de estanterías

Funciones principales

  • Una interfaz Vue y un servicio FastAPI para gestionar tres experiencias.
  • Detección de objetos RKNN acelerada por la NPU del RK3588.
  • Vídeo detectado y estado de producto en tiempo real desde reCamera.
  • Captura de voz de campo lejano con ReSpeaker XVF3800.
  • Qwen3-ASR, separación de hablantes, RKLLM y Piper TTS locales.
  • Cambio de demostración con estado visible del hardware, servicios y canalizaciones.
  • Respuestas de inventario calculadas mediante lógica determinista, no inventadas por el LLM.

Tres experiencias

1. Estantería inteligente de una cámara y asistente de voz

Inventario y asistente de voz con una cámara

La reCamera entrega al reComputer un flujo RTSP con detecciones y el estado actualizado de los productos. El personal puede preguntar:

  • ¿Cuántas botellas quedan en la estantería?
  • ¿Cuántos tipos de producto hay?
  • ¿Qué productos faltan?

La respuesta se muestra como datos estructurados y se reproduce por el altavoz conectado al reComputer.

El LLM solo identifica la intención. Los nombres y las cantidades se calculan mediante código a partir de un estado reciente de reCamera. Si el estado falta o está obsoleto, el sistema indica que el inventario no está disponible.

2. Supervisión de cuatro flujos

Cuatro procesos independientes de captura e inferencia trabajan simultáneamente en el RK3588. El panel muestra:

  • cuatro vídeos anotados;
  • velocidades de captura, inferencia y visualización por flujo;
  • estado de los workers de la NPU;
  • una línea temporal compartida de reposición;
  • cambios de inventario y alertas de reposición.

El repositorio incluye dos modelos RKNN FP16, el wheel arm64 de RKNN Lite 2.3.2, un vídeo de ejemplo y la configuración de la demostración.

Las regiones de estantería y las reglas de evento están ajustadas al vídeo incluido. Hay que recalibrar las ROI y la lógica al cambiar la cámara o la estantería.

3. Análisis de conversaciones de venta

Análisis de conversaciones de venta

El ReSpeaker XVF3800 captura la conversación y la procesa localmente:

  1. Silero VAD detecta los segmentos de voz.
  2. CAM++ extrae características y distingue a los hablantes.
  3. Qwen3-ASR genera la transcripción en tiempo real.
  4. RKLLM genera un resumen, la intención del cliente y la siguiente acción recomendada.

Los resultados se envían continuamente al navegador. No se admite la separación de voces solapadas, por lo que la precisión puede disminuir cuando varias personas hablan a la vez.

Arquitectura del sistema

Arquitectura del sistema

ComponenteConexión predeterminadaFunción
Navegador → reComputerhttp://<RK3588-IP>:8080UI, REST API y eventos WebSocket
reCamera → reComputerRTSP :8554, WebSocket :9002Vídeo detectado y estado de productos
ReSpeaker → reComputerUSB Audio, tarjeta ALSA con ArrayCaptura de voz de campo lejano
reComputer → altavozSalida ES8311 de 3,5 mmVoz Piper
ASR / RKLLM local:8621 / :8001Reconocimiento, intención y resumen

Requisitos de hardware

HardwareRequisito
Equipo de bordereComputer RK3588, mínimo recomendado de 8 GB
CámarareCamera accesible por red USB o Ethernet
MicrófonoMatriz USB ReSpeaker XVF3800
AudioAuriculares o altavoz activo en la salida ES8311 de 3,5 mm
AlmacenamientoAl menos 12 GB para el paquete de voz sin conexión
PantallaNavegador local o dispositivo de la misma LAN

Para probar únicamente la supervisión de cuatro flujos se pueden omitir reCamera, ReSpeaker y los servicios de voz.

Requisitos de software

  • Debian 12 arm64
  • Controlador RKNPU y RKNN Runtime funcionales
  • Python 3.11 y python3-venv
  • Node.js 18 o posterior
  • curl y alsa-utils
  • Docker y Docker Compose para ASR y RKLLM
  • go2rtc opcional; se usa MJPEG como alternativa

Inicio rápido

1. Obtener el código

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

Revise .env, especialmente la dirección de reCamera, la tarjeta ALSA, la salida de audio y los endpoints locales.

2. Preparar la aplicación

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

bootstrap.sh crea los entornos del backend y RKNN, instala RKNN Lite, compila el frontend Vue y descarga recursos Piper verificados. Se necesita Internet si las dependencias no están en caché.

3. Opcional: preparar voz

Este paso puede omitirse para la demostración multicanal. El asistente de inventario y el análisis de conversaciones requieren recursos adicionales de ASR y RKLLM.

Coloque el paquete sin conexión en:

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. Iniciar el centro

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

Abra http://<RK3588-IP>:8080 desde un navegador de la misma red. Para detenerlo:

bash
./scripts/stop.sh

Validación y estado

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

Documentación de la API: http://<RK3588-IP>:8080/docs

Limitaciones conocidas

  • La experiencia de voz completa requiere recursos ASR, RKLLM y modelos que no están en Git.
  • bootstrap.sh necesita red si las dependencias no están en caché.
  • Las ROI y algunas reglas de la demostración multicanal están ajustadas al vídeo incluido.
  • Las respuestas de inventario requieren un estado reciente de reCamera y no estiman cantidades solo desde el vídeo.
  • No se admite voz solapada.
  • La UI y WebSocket no incluyen autenticación para Internet; úselos en una LAN de confianza o detrás de un proxy seguro.

Recursos

El código de integración usa la licencia Apache-2.0. Los modelos, medios de ejemplo, wheels de proveedores y servicios de terceros conservan sus propias licencias.