《2025 DigiKey AI应用创意挑战赛》提交贴:基于树莓派与AI视觉的人流量智能检测系统
本帖最后由 eefocus_3878630 于 2026-1-17 22:12 编辑项目名称基于树莓派与AI视觉的人流量智能检测系统设计与实现
一、项目概述
1.1 项目背景
人流量统计在商业领域中扮演着至关重要的角色,尤其在商场、展厅、写字楼等高人流量区域,企业和商家需要精准地获取实时人流数据,以优化空间布局、调整经营策略、进行市场分析等。传统的统计方法,虽然能够完成一定的工作量,但往往存在以下几个主要缺陷:
人工统计:高成本、低效率,且极易受人为因素干扰,且数据不具备连贯性和长期性。
红外对射统计:适用于门口等简单场景,但难以应对多目标并行、人群聚集等复杂情况,且无法区分进出方向。
商业级视频监控系统:这些系统大多价格昂贵,且需要复杂的安装与维护,不适合中小企业或创业公司使用。
因此,设计一种低成本、高效率、易部署且功能强大的人流量智能检测系统,成为解决上述问题的最佳选择。本项目便基于树莓派平台,结合AI视觉算法与计算机视觉技术,设计了一款适用于中小商铺选址辅助等场景的实时人流量统计系统。
1.2 项目简介
本项目基于树莓派5(8GB版本)与Raspberry Pi Camera 3,结合YOLO(目标检测)与SORT(目标跟踪)算法,设计并实现了一款低成本、实时高效、易部署的人流量智能检测系统。通过该系统,用户可以实时捕捉到进入监控区域的人物,识别并统计时间段进入的人流数量,准确地跟踪每个目标的动态,避免重复计数,同时实时展示相关统计信息和运行状态。
该系统除了具备精确的人流统计功能外,还支持通过触摸屏界面进行简单易用的交互操作,且通过WiFi自动获取北京时间,提高了数据的精确度和同步性。
1.3 项目主要功能
本项目的核心功能包括以下几大模块:
实时视频采集与显示功能;
系统通过树莓派连接摄像头进行视频采集,实时显示监控区域的画面;
支持通过触摸屏控开启和关闭检测,用户可以轻松查看实时画面;
AI目标检测与人物识别功能,基于YOLO目标检测算法,识别视频流中的“人”目标;
通过置信度筛选,避免识别出无关物体(如桌椅、背景物品等);
多目标跟踪与身份识别功能,引入SORT算法,为每个目标分配唯一ID,实现多目标的实时跟踪,在目标遮挡或短暂消失时依然保持身份稳定,避免同一目标被重复计数;
人流量统计;
基于设定的虚拟计数线,通过目标的移动方向区分“进入”,实时统计人流量,避免同一目标在连续帧中的重复计数,保证数据的精确性。
时间记录与显示功能,系统实时显示当前时间、运行时长以及当前人流统计数量;
触摸屏界面与用户交互,基于Tkinter构建用户友好的图形界面,便于操作,提供“退出”、“开始检测”、“停止检测”等按钮,支持触控操作。
二、系统总体设计
2.1 系统架构设计
本系统采用模块化设计,将硬件采集、算法处理与交互展示三大部分独立开来,使系统更加灵活、易于维护和扩展。
系统架构图:
每个模块都承担独立的任务,通过接口进行数据传输。硬件采集模块负责获取视频流,目标检测模块提取“人”目标,目标跟踪模块确保目标在运动过程中的身份稳定,人流统计模块进行实时计数和分析,最后通过图形界面模块展示结果。
2.2 硬件物料与选型说明
树莓派5(8GB版本):提供足够的计算能力来支持YOLO模型与SORT算法的运行,具备较强的多任务处理能力。8GB内存能更好地处理多目标跟踪和并发处理。
Raspberry Pi Camera 3:提供高清图像质量,满足人流量监控的需求,同时与树莓派兼容,确保系统稳定运行。
DFR0550-V2显示屏:集成触控功能,使得系统在嵌入式环境下具备良好的交互性,尤其适用于展示和统计数据,方便用户操作。
三、软件设计与实现
3.1 软件运行环境
操作系统:Raspberry Pi OS(64位)
编程语言:Python3(注意需要在指定的文件路径创建Python环境,有一些第三方库不支持安装在系统python环境)
图形界面库:Tkinter
计算机视觉库:OpenCV
深度学习框架:PyTorch
目标检测模型:YOLO
目标跟踪算法:SORT
3.2 核心算法
目标检测(YOLO)
使用YOLO算法进行实时目标检测,该算法通过卷积神经网络(CNN)对图像进行分割,能够在单张图像中一次性识别出多个目标,极大提升了检测速度和效率。针对人流量统计的需求,YOLO模型仅识别“人”类别,排除其他无关物体。通过设置置信度阈值,系统确保每个目标的识别结果都具备高准确性。
多目标跟踪(SORT)
为了避免重复计数,系统使用SORT算法进行多目标跟踪。SORT算法基于卡尔曼滤波和匈牙利算法,能够实时追踪多个目标的运动轨迹,并为每个目标分配唯一的ID,确保在多目标场景下,统计结果更加准确。
人流统计与过线计数
系统通过设定一条虚拟线框来进行进出方向的判定。在每帧图像中,通过计算目标的中心点在两帧图像中的变化,系统能够判断目标是否经过计数线,以及其进出方向。结合目标ID信息,确保每个人只被计数一次。这里最后取得是一个线框,发现单个计数线会导致错误的IN计数。
3.3 用户交互界面设计
系统使用Tkinter框架构建了简洁的图形界面,包含以下功能:
摄像头显示:实时显示监控区域的视频流。
时间显示:显示当前时间和检测的运行时长。
人流统计:实时展示当前人流数量。
控制按钮:提供“打开摄像头”、“开始检测”、“停止检测”等按钮,支持用户触控操作。
通过触摸屏进行交互,用户无需其他输入设备即可轻松操作系统。
四、作品实物图
实际操作采集如图:
项目硬件组成:
五、演示视频
视频地址:【基于树莓派与AI视觉的人流量智能检测系统设计与实现】 https://www.bilibili.com/video/BV1pTrXB9EWN/?share_source=copy_web&vd_source=f03b02506162c2d03feeb4684b1e6313
六、项目文档代码附件:包括过程测试代码,主运行代码为main_app.py
七、其他附件测试视频附件:
页:
[1]