基于机器视觉的人流量分析系统设计

2021-01-13 00:52石静雯黎海涛郎漫雨李胜
计算机与网络 2021年21期
关键词:人流量树莓人流

石静雯 黎海涛 郎漫雨 李胜

面对复杂的疫情,最有效避免新冠病毒传播的手段便是尽量减少公共人群聚集的情况。在传统的人群疏散方案中,需要针对各大人流密集的地点安排工作人员进行管理,难免会出现疏忽情况。除此之外,还极容易因突发情况出现预料之外的情况。而上述诸多原因将造成人力成本高、预警性和机动性差的情况。

基于这一背景,本项目希望设计出一种系统,提供给城市管理工作人员,在出外勤时可实时监测城市各大重要交通枢纽的人流情况,从而为各类政企单位做出快速、精准的预案。

人流密度統计原理和相关技术

前端层

随着HTML5和CSS3语言标准的推行,让网页设计更加简单、布局更加灵活、适用范围更广,还可以用于游戏桌面和移动应用程序的开发。本系统利用JavaScript在前端层与逻辑层间提供数据传输服务,通过Ajax进行页面图像和数据的更新。

算法调用

在本项目中需要针对3 m以上的中远距离俯拍,以头部作为主要基准识别目标、统计人数,以适应各类人流密集场景,同时还需要针对不规则区域的人数进行统计,并输出渲染图片。

在经过多种平台的对比后,采取百度AI云平台进行算法层的调用。百度AI人流量统计采取HTTP协议通过POST方法来与云平台后端进行数据交互。通过申请的特定Access Token验证后,返回对应的JSON数据。

信息储存

在算法请求进程得到图像数据后,采取SQLite作为终端数据库。SQLite本身是利用C语言的体积很小,所以可以被集成到各种应用程序中,尤其是针对树莓派这类ARM架构嵌入式的Linux系统。

使用mjpg-streamer视频推流

在官网上将mjpg-streamer源代码下载到树莓派内,解压后使用make install安装即可,同时使用/usr/local/bin/ mjpg_streamer -p 8080启动摄像头网络推流。

在启动成功后,需要通过IP地址访问Web端的视频页面:http://IP:8080/?action=stream。

程序结构设计

软件程序主要分为5个大类,各个流程环环相扣,体现了数据在不同环节的流动过程。

前端层:前端页面采用JavaScript动态更新HTML页面数据,通过文本输入框,对话框等组件完成用户的交互功能,以实现摄像头数据切换,预警功能。

网络层:客户端前端请求通过基于TCP的http协议进行传输。在传输过程中,还应该注意树莓派的网卡带宽流量,最新的树莓派4B+采用了千兆无线网卡,足以应对多摄像头的视频推流。

视频推流层:视频推流通过mjpg-streamer进行推流,前端页面通过访问8080端口便能通过http协议传输视频流数据。

百度AI请求层:后端启动一个Python进程,定时每秒抓取摄像头图像传输给百度云平台进行图像识别请求,将返回的request数据存入数据库。

前端响应层:最后向前端反馈实时更新人流量数据即可。

本文基于百度AI平台提供的API接口,采用HTML和JavaScript作为前端语言开发人流量监测的程序,是一种实现人流量监测统计的高效方案。采用mjpg-streamer进行视频推流的方法,具有部署方便,集成简单等特点,通过Access Token认证后,可与百度AI云平台交换数据。

采用开放AI云平台的API方式实现的人流量监测系统,能够针对业务场景快速部署开发。同时也为人流量统计算法的研究人员提供了详实了数据对比,使其能够快速掌握业务逻辑,并且对算法优化提供了基准。

基金项目:西北民族大学本科生科研项目(1012021XBMU21193)

猜你喜欢
人流量树莓人流
人性化护理干预对人流手术的影响
一种多形式计划生育宣教结合心理护理在降低人流术后再次意外妊娠的应用研究
自动门人流量检测系统设计
提高高职院校图书馆现刊阅览室人流量的策略研究
三级客运汽车站服务能力影响因素分析
女性无痛人流手术一生最多能做几次
黄金水果红树莓
树莓红了 游人醉了
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)