inteintegrity2026-09-18

基于 reComputer RK3588 的多模态零售 AI 演示中心

在 reComputer RK3588 上本地运行智能货架、多路 RKNN 视觉检测、库存语音助手与销售对话分析, 通过统一的浏览器界面展示完整的边缘零售 AI 工作流。

RetailMultimodal AICVGitHub

该项目将货架视觉、库存状态、语音交互和销售对话分析集中到一个浏览器界面中,运行于 reComputer RK3588。系统可以连接 reCamera 与 ReSpeaker XVF3800,并在边缘侧完成 RKNN 视觉推理、语音识别、说话人区分、本地大语言模型处理和语音播报。

完成运行资源准备后,视频、音频、库存数据和生成结果都保留在本地,不需要在演示过程中调用云端 API。

源代码:Seeed-Projects/Lab-Prooject-RK

多路智能货架监控

项目亮点

  • 使用一个 Vue 前端和一个 FastAPI 服务统一管理三个演示场景。
  • 在 RK3588 NPU 上运行 RKNN 目标检测。
  • 支持 reCamera 检测画面和实时商品状态输入。
  • 支持 ReSpeaker XVF3800 远场音频采集。
  • 使用本地 Qwen3-ASR、说话人区分、RKLLM 与 Piper TTS。
  • 支持按需切换演示,并显示硬件、模型服务和推理流水线状态。
  • 库存问答由确定性业务逻辑计算数量,避免由大模型直接猜测库存。

三个演示场景

1. 单摄像头智能货架与语音助手

单摄像头库存与语音助手

reCamera 向 reComputer 提供带检测结果的 RTSP 视频流,以及实时商品状态。工作人员可以询问:

  • 货架上还有多少瓶饮料?
  • 当前有多少类商品?
  • 哪些商品已经缺货?

系统会在页面显示结构化答案,并通过连接到 reComputer 的扬声器进行语音播报。

这里的大语言模型只负责识别用户意图;商品名称和数量由程序根据最新的 reCamera 商品状态计算。当商品状态缺失或过期时,系统会明确提示库存不可用,而不会生成未经验证的库存答案。

2. 四路智能货架监控

四个独立的视频采集与推理进程在 RK3588 上同时运行。浏览器可以显示:

  • 四路带检测框的视频;
  • 每路采集、推理和显示帧率;
  • NPU worker 状态;
  • 共享的补货事件时间线;
  • 货架库存变化和补货提示。

仓库中包含两个 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 网络或以太网访问的 reCamera
麦克风ReSpeaker XVF3800 USB 麦克风阵列
音频输出连接 ES8311 3.5 mm 接口的耳机或有源扬声器
存储空间安装完整离线语音资源时建议至少预留 12 GB
操作终端reComputer 本机浏览器或同一局域网内的其他设备

如果只体验四路货架检测,可以暂时不连接 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

在同一局域网的浏览器中打开:

text
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 文档位于:

text
http://<RK3588-IP>:8080/docs

已知限制

  • 完整语音体验依赖单独准备的 ASR、RKLLM 和模型资源,未全部包含在 Git 仓库中。
  • bootstrap.sh 在依赖未缓存时需要网络连接。
  • 四路货架演示中的 ROI 和部分事件规则针对示例视频配置,不应直接视为生产级库存系统。
  • 单摄像头库存问答依赖新鲜、已初始化的 reCamera 商品状态,只有视频流时不会推断库存数量。
  • 说话人区分不支持重叠语音。
  • WebSocket 和演示 UI 默认没有公网鉴权,只应运行在可信局域网,或部署在安全反向代理之后。

项目资源

项目集成代码采用 Apache-2.0 许可证。模型、示例媒体、vendor wheel 和上游服务遵循各自的许可条款。