低成本本地人流计数 — 部署指南

AI 辅助通道

还没定硬件?还是设备已到手准备安装?

不想在网页上手动勾选或敲命令?你可以让 AI 助手根据现场情况自动核算主机与配件,或者在设备通电后一键运行脚本自动安装。

方案自助咨询与部署
套餐

Grove Vision AI Module V2

把一块 Grove Vision AI Module V2 变成独立的人流计数器。模组自己完成人体检测、跨帧跟踪、双向越线计数,并实时给出每个区域内的人数——全部在模组本地算完。

设备用途
Grove Vision AI Module V2摄像头 + Himax WE2(Cortex-M55 + Ethos-U55 NPU),全部计算在设备本地完成
USB-C 数据线烧录与实时预览

你会得到:

  • 最多 4 条计数线,各自独立统计进/出
  • 最多 4 个区域,实时显示区域内人数
  • 人体检测与多目标跟踪运行在 NPU 上
  • 不联网、不上云——画面只经 USB 线传到你自己电脑上的应用,不去别处

真机实测: 单帧推理 48 ms,端到端约 13 fps(240x240 输入,Swift-YOLO Nano 单类别人体模型,INT8 量化后 mAP 92.6%)。

前置条件: 一台有空闲 USB-C 口的电脑。不需要 WiFi、不需要账号、不需要服务器。

1

烧录固件与模型

把人流计数固件和人体检测模型写入模组。

接线
  1. 用 USB-C 数据线把 Grove Vision AI Module V2 连到电脑(只能充电的线不会枚举出串口)
  2. 串口通常会自动选好。如果没有,选 CH343 端口——macOS 上形如 /dev/cu.usbmodem*,Linux 上是 /dev/ttyACM0,Windows 上是名字带 USB-Enhanced-SERIAL CH343 的 COM 口
  3. 点击 烧录

烧录会写入两样东西:先是固件镜像,然后是烧到 flash 地址 0x700000 的人体检测模型。模型文件尾部带有 16KB 填充——这是有意为之,用于绕过 xmodem 传输在距文件末尾约 6KB 处的截断问题。921600 波特率下整个传输需要几分钟。

故障排查
问题解决办法
列表里没有串口换一根能传数据的 USB-C 线,或换一个 USB 口
烧录一直不开始拔掉重插模组后重试
烧录中途卡住关掉其它占用串口的程序(串口助手、另一个 IDE),重新连接后重试
烧录完成但下一步没有画面拔插一次模组,让新固件干净启动

2

配置计数区域

在实时画面上画出计数线和区域,然后看着计数更新。

使用方法

  1. 点击 连接——模组会加载人体检测模型并开始推流。模型加载需要几秒,第一帧会稍慢
  2. 你会看到 240x240 的实时画面,每个检出的人身上带一个框
  3. 用视频下方的 计数 面板画线和区域

画一条计数线

  1. 在计数面板点击 添加计数线
  2. 在画面上拖出你想要的边界——门口、通道口、楼梯顶端
  3. 线会分出 进 和 出 两侧;方向反了就把它调换过来
  4. 走过这条线,看进/出计数是否累加

最多支持 4 条线,每条线各自维护自己的进/出计数。

画一个区域

  1. 在计数面板点击 添加区域
  2. 在你关心的范围上拖一个矩形——排队区、等候区、会议桌
  3. 区域会显示当前在其中被跟踪到的人数

最多支持 4 个区域。

选择跟踪锚点

每个被跟踪的人会被归约成一个点,越线判定和区域判定都基于这个点。锚点模式 决定用哪个点:

锚点建议用于
框中心平视安装,以及垂直俯视安装
框底边中心(脚)倾斜俯视安装

倾斜俯视时建议用底边中心锚点。用框中心的话,人走近摄像头时检测框会变大,中心点随之在画面里移动,可能扫过附近的计数线,触发一次并没有发生的越线。脚部锚点则稳定停在地面平面上。

安装建议

以下是起点建议,不是承诺——具体高度和角度取决于你的天花板和人流情况。

  • 倾斜俯视(摄像头斜向下对着通行路径)是常规选择。人体保持在检测模型训练时常见的姿态下,配合脚部锚点使用。
  • 垂直俯视(摄像头直对地面)人与人之间的遮挡最少,在密集人流下有帮助。代价是:模型是用常规视角数据训练的,正上方俯视的检出率可能下降。定版前请在你自己的场地实测。
  • 计数线不要贴着画面边缘,让人在线的两侧都能被跟踪若干帧。
  • 光照均匀比光照强更重要。被摄者背后有窗户或门形成强逆光,是最常见的失败场景。
故障排查
问题解决办法
提示"请先完成步骤 1"回到步骤 1 选好串口
画面一直是黑的重新插拔 USB 线,再点连接
完全没有检测框确认步骤 1 的模型烧录成功;不确定就重烧一次
人走向摄像头时计数忽增忽减把锚点切换成框底边中心(脚)
同一个人被数了两次把计数线往画面中间挪,让轨迹在线两侧都稳定
进和出反了在计数面板里翻转这条线的方向
部署完成后

模组已经在计数了。以上一切都在模组本地运行——应用只是把它报上来的结果显示出来。

试一试:

  1. 沿一个方向走过计数线,再反向走一次——进和出应各累加一次
  2. 站进一个区域,观察区域人数
  3. 叫上第二个人一起进画面,看多目标跟踪

数据去哪了: 计数事件和逐帧检测结果以 SSCMA JSON 从 USB 串口输出,你可以接进自己的脚本、看板或网关。实时预览走的是同一条 USB 串口:模组随每次结果附带一张 JPEG,应用才能把你画的线和区域叠在真实画面上。这些都只在模组和这台电脑之间传输:不上传任何数据,画面也不会进入网络或云端。


3

选配:加装 XIAO ESP32-S3 实现 Wi-Fi 与 MQTT 无线上报

如果需要脱离电脑运行并通过 Wi-Fi 或 MQTT 上报人流数据,可以加装预焊接排针的 Seeed Studio XIAO ESP32-S3。

接线
  1. 断开模组供电。
  2. 将 XIAO ESP32-S3(已焊接排针版本) 对准 Grove Vision AI Module V2 背面的母座排针插入。
  3. 特别注意朝向:XIAO 的 Type-C 接口应与 Grove Vision AI V2 的 Type-C 接口保持同一朝向。两者通过底板的 UART 接口直连。
故障排查
问题解决方法
未发现配网热点 XIAO-Counter-XXXX检查 XIAO 插入朝向,确认模组供电正常
配网页面未自动弹出手动打开浏览器访问 http://192.168.4.1
Wi-Fi 连接失败检查 2.4GHz Wi-Fi 名称与密码是否正确
MQTT 服务端未收到数据检查 Broker IP 地址、端口及认证账号密码
部署完成后

XIAO 刷入无线上报固件后,通过内置的 Web 门户完成现场配网,免装任何 IDE 或调试驱动:

  1. 连接配网热点:模组上电后,XIAO 首次启动或未连上网络时会自动广播开放热点 XIAO-Counter-XXXX。
  2. 打开配网页面:用手机或笔记本连接该热点,浏览器会自动弹出配网界面(或手动访问 http://192.168.4.1)。
  3. 扫描并连接现场 Wi-Fi:在列表里选中现场 2.4GHz Wi-Fi 并输入密码。
  4. 配置 MQTT / 数据接收端:
    • Broker 地址:填入 MQTT 服务器 IP 或域名(如 Home Assistant IP,默认端口 1883)。
    • Topic 前缀:默认为 people_counter,设备会发布至 people_counter/{device_id}/events。
    • 认证账号:若启用鉴权,填入用户名和密码;可选勾选 Home Assistant 自动发现。
  5. 保存生效:点击「Save & Reboot」。配置自动写入 Flash,XIAO 关闭临时热点并连接现场 Wi-Fi。

MQTT 消息示例(人员越线或区域人数变动时推送):

{
  "device_id": "xiao_esp32s3_a1b2",
  "timestamp": 1789881234,
  "line_crossings": [
    { "line_id": 1, "in": 42, "out": 35 }
  ],
  "zones": [
    { "zone_id": 1, "occupancy": 3 }
  ],
  "status": "online"
}

当现场 Wi-Fi 闪断时,Grove Vision AI 依然在本地持续运算并累计人流计数,XIAO 会在后台重试。Wi-Fi 恢复后自动重连并补发最新计数值,不阻塞视觉推理。