人流量统计设备

人流量统计设备

本项目是基于Quectel Pi H1智能主控板开发的轻量级人流量统计解决方案,集成了目标检测、目标跟踪和行人重识别(ReID)等技术,具备以下核心功能:

  • 实时人体检测:在视频流中实时识别人体目标
  • 稳定目标跟踪:采用ByteTrack算法实现高精度目标跟踪
  • 智能去重统计:基于ReID特征进行人员身份去重
  • 多源视频支持:兼容USB摄像头、IP摄像头及本地视频文件
  • 多维度统计:提供实时人数、累计去重人数及进出方向统计
  • 案例描述
  • 资源准备
  • 快速上手
  • 进阶使用

本项目是基于Quectel Pi H1智能主控板开发的轻量级人流量统计解决方案,集成了目标检测、目标跟踪和行人重识别(ReID)等技术,具备以下核心功能:

  • 实时人体检测:在视频流中实时识别人体目标
  • 稳定目标跟踪:采用ByteTrack算法实现高精度目标跟踪
  • 智能去重统计:基于ReID特征进行人员身份去重
  • 多源视频支持:兼容USB摄像头、IP摄像头及本地视频文件
  • 多维度统计:提供实时人数、累计去重人数及进出方向统计

开发配件清单

说明:以下配件清单仅供参考,实际开发环境可根据需求调整。例如,通过 SSH 远程连接开发时可省略显示器和 USB 扩展坞。

配件名称 数量 规格参数
Quectel Pi H1智能主控板 1 块 Quectel Pi H1智能主控板
电源适配器 1 个 27 W USB Type-C接口充电器,1.2 米线长,PD快充,适用于树莓派 5 代
HDMI线 1 根 HDMI 2.0 标准,线长1 m,HDMI-A(公头)转 HDMI-D(公头)
网线 1 根 千兆网线,线长1 m
CPU散热风扇 1 个 树莓派 5 代官方原装主动散热器(含导热贴)
USB扩展坞 1 个 绿联USB 3.0 多功能扩展坞
网络摄像头 1 个 Tenda腾达室内家用监控摄像头
USB摄像头 1 个 OV5693 USB摄像头模块
显示屏 1 个 24 英寸HDMI显示器

配件实物参考

开发准备

Quectel Pi H1智能主控板出厂默认搭载Debian 13系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。

硬件连接

散热风扇安装

  1. 将散热风扇排线插入主控板的FAN插槽
  2. 将散热器两端固定在主控板预留的安装孔位

显示连接

将HDMI线一端连接至主控板HDMI接口,另一端连接至显示器HDMI接口。

image-20251017144027933

输入设备连接

将USB键盘和鼠标分别接入主控板的两个USB-A接口。若使用无线输入设备,请将接收器插入USB接口。

image-20251017144124363

网络连接

将网线一端接入主控板千兆网口,另一端接入路由器LAN口(确保路由器已连接互联网)。

自动开机设置

在主控板左上角标有AUTO_POWER_ON字样的排针上安装跳线帽,实现上电自动开机功能。

image-20251017144330473

供电连接

将USB电源线的USB-C端连接至主控板POWER IN接口,USB-A端连接至电源适配器。

image-20251017172353513

网络摄像头连接

为网络摄像头接通电源,并确保其与主控板处于同一局域网内。

完整连接示意图

模型准备

目标检测模型

项目支持以下YOLOv5n ONNX模型(位于src/目录):

模型文件 输入尺寸 特点
yolov5n_320.onnx 320×320 速度最快,精度稍低(默认)
yolov5n_416.onnx 416×416 速度与精度平衡
yolov5n_640.onnx 640×640 精度最高,速度较慢

注意:所有模型文件已包含在项目中,位于src/目录下,无需额外下载。

行人重识别模型

  • ReID模型:osnet_x0_25_market1501.onnx(位于src/目录)
  • 输入尺寸:256×128(宽×高)
  • 特征维度:512 维归一化特征向量

注意:ReID模型需要使用基于Market1501等数据集微调后的版本,不能直接使用ImageNet预训练模型。

统计逻辑说明

计数类型

  1. 实时计数(Current Count):当前视频帧中检测到的活跃目标数量
  2. 累计计数(Total Count):基于唯一track_id的历史累计去重人数
  3. 进出计数(In/Out Count):基于虚拟检测线的人员进出方向统计

计数原理

  • 实时计数:直接统计当前帧中活跃跟踪目标的数量
  • 累计计数:每个新生成的track_id对应一个唯一人员标识,确保累计统计的准确性
  • 进出计数:通过虚拟检测线(默认为画面中央水平线)判断目标移动方向:
    • 进入(In):目标向下移动(Y坐标增大)
    • 离开(Out):目标向上移动(Y坐标减。
    • 基于目标中心点的历史轨迹判断穿越方向
    • 每个track_id仅在首次穿越虚拟线时计数,避免重复统计

虚拟线自定义

当前版本支持自定义虚拟检测线的位置和方向:

  • 水平检测线:direction='horizontal', line_position=指定Y坐标
  • 垂直检测线:direction='vertical', line_position=指定X坐标

项目部署

网络摄像头配置

首次使用网络摄像头时,需先通过手机连接同一Wi-Fi网络,然后使用腾达App添加摄像头设备完成网络配置。

重要提示:确保Quectel Pi H1智能主控板与网络摄像头位于同一局域网,否则无法获取RTSP视频流。

获取项目代码

  1. 创建项目目录并进入:

mkdir ~/people-counting-device

cd ~/people-counting-device

  1. 安装Git并克隆项目代码:

sudo apt update

sudo apt install -y git

git clone https://github.com/Quectel-Pi/demo-people-counting-device.git

  1. 设置目录权限:
sudo chmod -R 755 ~/people-counting-device

image-20251211175705335

创建虚拟环境

为避免依赖冲突,建议在虚拟环境中运行项目:

# 创建虚拟环境

python3 -m venv ~/people-counting-env

# 激活虚拟环境

source ~/people-counting-env/bin/activate

安装项目依赖

# 更新pip到最新版本

pip install --upgrade pip

# 安装项目所需依赖包

cd demo-people-counting-device

pip install -r requirements.txt

摄像头参数配置

网络摄像头的IP地址可通过腾达App的设备信息页面获取。

在主控板系统中打开Firefox浏览器,输入摄像头IP地址,使用默认凭据登录:

  • 用户名:admin
  • 密码:admin123456

登录后配置音视频参数并保存设置。

image-20260226201648323?image-20260320180841426

启动应用程序

进入项目源码目录并运行对应脚本:

cd demo-people-counting-device/src

#运行IP摄像头版本

python3 ip_camera_main.py

#或运行USB摄像头版本

python3 usb_camera_main.py

#或运行本地视频测试版本

python3 local_video_main.py --video ../asset/street.mp4

`--video`: 指定视频文件路径(必填)

`--model`: 指定YOLO模型路径(可。鲜褂脃olov5n_320.onnx)


沟通无界,服务无限

了解更多关于移远公司、产品和技术支持的信息。

sitemap地图