论文部分内容阅读
摘要:近年来,人工智能、计算机视觉和深度学习的高速发展,极大地促进了基于监控视频的行人流量统计、社交距离检测的研究。基于监控视频的行人流量与社交距离检测时资源合理分配、收集商业信息和进行智能管理等任务的基础,它也是现代视频智能监控重要的功能组成部分,具有比较高的研究意义和应用价值。本系统的研究与开发是基于深度学习和图像处理技术的安全社交距离检测和行人流量统计。利用YOLOv3算法实现行人检测,使用opencv图像处理工具进行社交距离的检测,采用常规数学计数手段进行行人的流量统计与数据处理,将处理完毕的数据存入数据库进行数据存储,最后利用pyqt5界面设计工具设计界面,最终实现了公共场所安全距离监测系统在街道中的应用实例。
关键字:深度学习;行人检测;社交距离检测;行人流量统计
1引言
近年来,人工智能、计算机视觉和深度学习的高速发展,极大地促进了基于监控视频的人流量统计、社交距离检测的研究。基于监控视频的行人流量与社交距离检测时资源合理分配、收集商业信息和进行智能管理等任务的基础,它也是现代视频智能监控重要的功能组成部分,具有比较高的研究意义和应用价值。基于监控视频的安全距离检测与行人流量统计通过图像处理和计算机视觉的理论与技术(特别是深度学习在图像处理和计算机视觉领域的应用),对监控区域的目标行人进行准确实时的检测识别,完成项目系统所要求的任务[1-4]。
本文基于深度学习对密集安全距离监测这一课题展开研究,设计并实现满足密集人流场合下的安全距离监测算法,同时设计基于监控视频的安全距离监测服务系统。该系统提供的安全距离监测结果可以为商场提供商业决策。如;依据统计公共场所内的人数,可以帮助管理者有效做好预警,采取分流措施,通过临时增加出入通道和维护人员,从而有效避免拥堵情况;另外,也能对公共场所内违规社交距离、人群异常状态的及时可靠的检测和疏散,使疫情扩散的风险降为最低,为疫情当下的公共安全问题提供了一种有效的缓解途径。。
2 YOLOv3目标检测算法
YOLOv3网络是JosephRedmon等人提出的对于检测任务的CNN,与RCNN系列预先提取候选框的方法不同,YOLOv3网络将输入图像分成S*S的网格,每个网格在三个不同的尺度预测边界框,每个边界框预测每个目标的类别、位置和尺寸信息。YOLO系列网络不需要预先提取候选框,因此其大大地提高了检测的速度。
YOLOv3网络结构conv包含卷积层、批量归一化层和LeaKyReLu层,残差单元(res)层包含两个卷积层和一个快捷链路。YOLOv3从第0层到第74层是特征提取的主要网络结构,其卷积层采用一系列的3*3和1*1的卷积核。这些卷积层是通过整合来自各种主流网络结构的有更好性能的卷积层得到。从75到106层为YOLOv3网络的特征交互层,通过采用与特征金字塔类似的操作从上采样特征与更细粒度的信息中收集更有意义的语义信息,从而预测3种不同尺度的框(对于输入分辨率为416*416的图片,三种预测框为3*3,26*26,52*52),多尺度预测。具体实现过程为:第79层的特征图进行两种操作,第一种将其进行卷积得到第一个尺度预测结果,第二种是将其上采样与第61层的特征图融合后,再经过一系列卷积操作得到第91层特征图,同上,第91层的特征图进行两种操作,第一种将其进行卷积得到第二个尺度预测结果,第二种是将其上采样与第36层的特征图融合后,再经过一系列卷积操作得到第三个尺度预测结果。YOLOv3使用K-means方法去确定边界框的9个聚类先验框,在三个尺度上平均分割聚类。
3 社交距离检测算法
在行人检测中,能够得到公共场景中每个行人的位置信息,并根据这些位置信息来框出行人。而在算法研究这一部分本项目即会利用上述信息来进行社交距离的检测。
整个图片的坐标系是以图片的左上角为零点,横向为x轴,纵向为y轴而建立的。上述的位置信息中包含行人框的左上角以及右下角坐标,那么根据这些坐标可以得出中心点在图片坐标系下的精确坐标。利用精确坐标和数学工具欧式距离的计算可以得出点与点之间的距离,这也代表了行人之间的社交距离。
本文利用opencv圖像处理工具结合图像的透视变换。但经过处理后的图像依旧存在“远小近大”的情况,所以,本文结合图像中行人的“身高”比例,对于图像上方(感官上为远处)的行人将框的高度设定为距离阈值,而对于图像下方(感官上为近处)的行人将框的高度乘以某一经验比例值设为距离阈值,这样设定不同的距离阈值即可更加正确的检测间距。
4 界面显示
本项目采用python语言编写,对于GUI设计选择使用优势较强的PyQt5。应用界面如图2所示。
具体控件与槽函数说明:
1一号、二号摄像头按钮:连接检测算法函数,对其输入的视频进行检测,将其监测结果显示在对应窗口上。其中两个控件切换不同的输入视频。
2密度数标签:对应对密度数计算函数,将其密度数显示,每5秒更新一次。
3当前流量标签:对应此时摄像设备检测到的行人数量。
4建议疏散标签:对应密度数阈值判断函数,若高于设定阈值,显示红色,应该疏散。低于阈值,显示绿色则视为正常情况。
5刷新数据统计标签:对应画表函数,根据从数据库上获取到的数据,进行绘制统计图,并显示。
6时间标签:对应showtime函数,显示实时时间,一秒刷新一次。
7退出按钮:结束进程与窗口,关闭系统。
5 结论
本文提出了基于深度学习和图像处理技术的安全社交距离检测统计设计。利用YOLOv3算法实现行人检测,使用opencv图像处理工具进行社交距离的检测,采用常规数学计数手段进行行人的流量统计与数据处理,将处理完毕的数据存入数据库进行数据存储,最后利用pyqt5界面设计工具设计界面,最终实现了公共场所安全距离监测系统在街道中的应用实例。
参考文献
[1] 沈爽.基于深度学习的密集人流量统计应用[D].大连:大连海事大学,2019.
[2] 小白学视觉.使用Python+OpenCV+detectorn2实现社交距离检测
[EB/OL].https://mp.weixin.qq.com/s/68nSMY5QgkqshRHDfsttxQ,2020-06-02.
[3] 普里亚-迪维迪.深度学习
[EB/OL].https://github.com/priya-dwivedi/Deep-Learning/tree/master/detecting_social_distancing_violation,2020.
[4] 王维波,栗宝娟,张晓东,等.python Qt GUI与数据可视化编程[M].人民邮电出版社:北京,2019:1-490.
关键字:深度学习;行人检测;社交距离检测;行人流量统计
1引言
近年来,人工智能、计算机视觉和深度学习的高速发展,极大地促进了基于监控视频的人流量统计、社交距离检测的研究。基于监控视频的行人流量与社交距离检测时资源合理分配、收集商业信息和进行智能管理等任务的基础,它也是现代视频智能监控重要的功能组成部分,具有比较高的研究意义和应用价值。基于监控视频的安全距离检测与行人流量统计通过图像处理和计算机视觉的理论与技术(特别是深度学习在图像处理和计算机视觉领域的应用),对监控区域的目标行人进行准确实时的检测识别,完成项目系统所要求的任务[1-4]。
本文基于深度学习对密集安全距离监测这一课题展开研究,设计并实现满足密集人流场合下的安全距离监测算法,同时设计基于监控视频的安全距离监测服务系统。该系统提供的安全距离监测结果可以为商场提供商业决策。如;依据统计公共场所内的人数,可以帮助管理者有效做好预警,采取分流措施,通过临时增加出入通道和维护人员,从而有效避免拥堵情况;另外,也能对公共场所内违规社交距离、人群异常状态的及时可靠的检测和疏散,使疫情扩散的风险降为最低,为疫情当下的公共安全问题提供了一种有效的缓解途径。。
2 YOLOv3目标检测算法
YOLOv3网络是JosephRedmon等人提出的对于检测任务的CNN,与RCNN系列预先提取候选框的方法不同,YOLOv3网络将输入图像分成S*S的网格,每个网格在三个不同的尺度预测边界框,每个边界框预测每个目标的类别、位置和尺寸信息。YOLO系列网络不需要预先提取候选框,因此其大大地提高了检测的速度。
YOLOv3网络结构conv包含卷积层、批量归一化层和LeaKyReLu层,残差单元(res)层包含两个卷积层和一个快捷链路。YOLOv3从第0层到第74层是特征提取的主要网络结构,其卷积层采用一系列的3*3和1*1的卷积核。这些卷积层是通过整合来自各种主流网络结构的有更好性能的卷积层得到。从75到106层为YOLOv3网络的特征交互层,通过采用与特征金字塔类似的操作从上采样特征与更细粒度的信息中收集更有意义的语义信息,从而预测3种不同尺度的框(对于输入分辨率为416*416的图片,三种预测框为3*3,26*26,52*52),多尺度预测。具体实现过程为:第79层的特征图进行两种操作,第一种将其进行卷积得到第一个尺度预测结果,第二种是将其上采样与第61层的特征图融合后,再经过一系列卷积操作得到第91层特征图,同上,第91层的特征图进行两种操作,第一种将其进行卷积得到第二个尺度预测结果,第二种是将其上采样与第36层的特征图融合后,再经过一系列卷积操作得到第三个尺度预测结果。YOLOv3使用K-means方法去确定边界框的9个聚类先验框,在三个尺度上平均分割聚类。
3 社交距离检测算法
在行人检测中,能够得到公共场景中每个行人的位置信息,并根据这些位置信息来框出行人。而在算法研究这一部分本项目即会利用上述信息来进行社交距离的检测。
整个图片的坐标系是以图片的左上角为零点,横向为x轴,纵向为y轴而建立的。上述的位置信息中包含行人框的左上角以及右下角坐标,那么根据这些坐标可以得出中心点在图片坐标系下的精确坐标。利用精确坐标和数学工具欧式距离的计算可以得出点与点之间的距离,这也代表了行人之间的社交距离。
本文利用opencv圖像处理工具结合图像的透视变换。但经过处理后的图像依旧存在“远小近大”的情况,所以,本文结合图像中行人的“身高”比例,对于图像上方(感官上为远处)的行人将框的高度设定为距离阈值,而对于图像下方(感官上为近处)的行人将框的高度乘以某一经验比例值设为距离阈值,这样设定不同的距离阈值即可更加正确的检测间距。
4 界面显示
本项目采用python语言编写,对于GUI设计选择使用优势较强的PyQt5。应用界面如图2所示。
具体控件与槽函数说明:
1一号、二号摄像头按钮:连接检测算法函数,对其输入的视频进行检测,将其监测结果显示在对应窗口上。其中两个控件切换不同的输入视频。
2密度数标签:对应对密度数计算函数,将其密度数显示,每5秒更新一次。
3当前流量标签:对应此时摄像设备检测到的行人数量。
4建议疏散标签:对应密度数阈值判断函数,若高于设定阈值,显示红色,应该疏散。低于阈值,显示绿色则视为正常情况。
5刷新数据统计标签:对应画表函数,根据从数据库上获取到的数据,进行绘制统计图,并显示。
6时间标签:对应showtime函数,显示实时时间,一秒刷新一次。
7退出按钮:结束进程与窗口,关闭系统。
5 结论
本文提出了基于深度学习和图像处理技术的安全社交距离检测统计设计。利用YOLOv3算法实现行人检测,使用opencv图像处理工具进行社交距离的检测,采用常规数学计数手段进行行人的流量统计与数据处理,将处理完毕的数据存入数据库进行数据存储,最后利用pyqt5界面设计工具设计界面,最终实现了公共场所安全距离监测系统在街道中的应用实例。
参考文献
[1] 沈爽.基于深度学习的密集人流量统计应用[D].大连:大连海事大学,2019.
[2] 小白学视觉.使用Python+OpenCV+detectorn2实现社交距离检测
[EB/OL].https://mp.weixin.qq.com/s/68nSMY5QgkqshRHDfsttxQ,2020-06-02.
[3] 普里亚-迪维迪.深度学习
[EB/OL].https://github.com/priya-dwivedi/Deep-Learning/tree/master/detecting_social_distancing_violation,2020.
[4] 王维波,栗宝娟,张晓东,等.python Qt GUI与数据可视化编程[M].人民邮电出版社:北京,2019:1-490.