人流量检测及口罩佩戴检测在楼宇节能与安防中的应用

2021-09-25 20:17罗天柴真琦李汉秋
科技风 2021年24期
关键词:目标跟踪神经网络

罗天 柴真琦 李汉秋

关键词:神经网络;目标跟踪;智慧楼宇

实时人流量统计信息在智慧楼宇场景中具有重要意义,一方面可以与楼宇空调、照明等系统进行联动,根据特定区域的当前人数、人流量等信息,对空调的温度、风量等参数进行实时调整,在保证舒适环境温度的同时降低能耗成本,实现节能降耗,提升能源利用率的目的;另一方面可以减少物业管理人员工作量,实现减员增效。

口罩佩戴检测系统具备重要意义,在避免检测人员和他人接触感染的风险的同时,还能够提高检测的效率。可用于机场、地铁、车站等人员流动密集场所的监控系统,检测人们佩戴口罩的情况,也可用于小区人脸门禁、企业人脸打卡此类场景,识别进出人员是否按规范佩戴口罩。传统的口罩佩戴检测系统在出入口位置,可以识别到访客口罩佩戴情况。一旦进入园区或室内,就无法进行检测。本文拟开发一种便捷的口罩佩戴识别算法,可方便部署到园区内或室内的摄像头,进行全方位无死角的保护。

1背景

随着计算机视觉技术的发展,低成本视觉采集机器逐渐发展成熟,可以便捷地获取得到大量的视频数据,为深度学习在机器视觉中的应用提供了数据支撑。深度学习在计算机视觉的各个领域一直都有很广泛的应用,例如图像分类、目标检测、语义分割等。随着大数据的不断发展以及计算机能力的不断提高,近年来深度学习也逐渐开始被应用于目标跟踪领域。传统的目标跟踪方法普遍采用概率密度方法、人工设计特征等方法对图像进行检测,从而在视频的每一帧中定位出感兴趣的运动目标。例如使用手工设计的方向梯度直方图特征进行跟踪的方法,这种方法不依赖先验知识,因此很难适应复杂的环境变化,鲁棒性和精度都有待提高。相反,基于深度学习的方法可以自动从大数据中学习得到有效的特征表示,因此跟踪效果较好。

本文提出了基于Yolo算法的人流统计算法,通过采用Yolo框架检测视频流中的人流信息,再通过目标追踪算法实时检测人物目标的流动方向,实时统计特定场景的门、过道等处的人流量信息。鉴于当前社会要求人们出行、工作时务必佩戴好口罩,本文还提出了利用计算机视觉来进行口罩佩戴检测的一种思路,在避免检测人员和他人接触感染的同时还能提高检测效率。人流统计算法与口罩佩戴检测算法均考虑部署到边缘侧设备,故在保证准确度的同时亦将计算速度纳入了考虑范围。

2人流量实时统计模型

本文采用基于Yolov4算法进行人流量实时统计,主要由目标检测与目标追踪两部分组成。目标检测部分确定对象在图像中的位置,包括Haar cascades、HOG与SVM的组合,以及基于深度学习的目标检测器,例如FasterR-CNN,Yolo和SSD等;目标跟踪部分获取目标检测得到的对象在图像中的坐标位置,并赋予每个对象一个唯一的id,根据图像梯度或光流等属性追踪目标在视频流中的运动并预测其在下一帧中的运动方向。目标跟踪算法包括MedianFlow、MOSSE、GO-TURN、核化相关过滤器和判别相关过滤器等。

本文在目标检测部分采用Yolov4,该算法在平均精度和速度上,较Yolov3版本有很大提升。从本质上,Yolov4筛选了一些从Yolov3发布至今,被用在各式各样检测器上能够提高检测精度的tricks,并以Yolov4为基础进行改进的目标检测模型。Yolov4有五个基本组件:CBM是Yolov4网络结构中的最小组件,由Conv、Bn、Mish激活函数三者组成;CBL由Cony、Bn、Leaky Relu激活函数三者组成;Res unit借鉴了Resnet网络中的残差结构,让网络可以构建的更深;CSPX借鉴了CSPNet网络结构,由三个卷积层和x个Res unint模块Concate组成;SPP采用了1×1,5×5,9x9,13×13的最大池化的方式,进行多尺度融合。作为one-stage系列算法,Yolov4在具备出色检测速度的同时兼顾了准确的检测精度。因部署环境为边缘侧设备,對计算复杂度要求不可过高,故在此处亦考虑过使用Yolov4-tiny版本。该版本虽然在速度上有极大的提升,但准确度有明显下降,会对后续追踪阶段造成较大影响,最终选择Yolov4作为检测算法。

本文在跟踪阶段采用了中心跟踪算法,相较于MOSSE,GOTURN,deepso~等算法,该算法对算力要求较低,可在边缘侧高效运行。该算法具体流程如下,主要分为两个阶段:

第一部分为检测阶段,检测当前帧中是否有新的对象进入并且查看在追踪过程中是否有对象丢失。若该对象为新进入的对象,则根据该对象的对象框创建一个新的对象追踪器并赋予一个唯一id,若该对象在上一帧中已经存在,则更新该对象的对象跟踪器。考虑到目标检测在计算上消耗的资源较多,因此在需要提升实时速率的时候可以每N帧运行一次。

第二部分为跟踪阶段,当不处于检测阶段时,即处于跟踪阶段。对于检测到个每个对象,创建一个对象跟踪器来跟踪该对象在每一帧中移动时的情况。因为对象跟踪器不可跳帧运行,故需要比对象检测器更快,更高效。持续跟踪阶段,直到到达第N帧后,再次运行第一阶段的对象跟踪器。重复该过程直至视频流结束。

这种方式的优势是可以应用高度精确的对象检测方法,且不会产生过大的计算量。

跟踪阶段的中心跟踪算法步骤如下:

(1)获取目标对象的边界框坐标并计算边界框的中心。边界框由Yolov4对象检测器生成。获取边界框之后计算各个边界框的中心坐标并赋予首次出现的边界框一个唯一的id。

(2)计算当前帧新获取的各个边界框中心点与上一帧获取的各个边界框中心点的欧氏距离。对于视频流中的每个后续帧,计算各个新的对象的边界框中心点并确定是否可以将新的对象中心点与上一帧的对象中心点相关联。

(3)更新已经存在的对象的中心坐标,该算法的前提假设是给定对象会在后续帧之间移动,并且对象自身的移动距离小于该对象与其他任意对象之间的距离。因此,若将对象中心与后续帧之间的最小距离相关联,就可以更新对象跟踪器。

猜你喜欢
目标跟踪神经网络
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于改进VGG-16神经网络的图像分类方法
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于BP神经网络PID控制的无刷直流电动机调速系统设计
多视角目标检测与跟踪技术的研究与实现
基于改进连续自适应均值漂移的视频目标跟踪算法
基于重采样粒子滤波的目标跟踪算法研究
空管自动化系统中航迹滤波算法的应用与改进