佘伟伟,苏垸玲,陈炜中,谢培权,郭 磊
(广东海洋大学,广东 湛江 524088)
社区是城市的重要组成部分,近年来,我国不断创新社区管理政策和方针,积极推动智慧化社区管理的发展,“智慧社区”在多个省市自治区试点运行。目前,大多数物业仍采用传统监控管理小区,这样的监控系统功能单一、安全系数较低,遇到问题既不能做到实时处理,也浪费了大量人力、物力。 针对这些问题,本文设计的基于机器视觉的智慧社区监管系统,可以快速识别居民是否佩戴口罩进出小区,小区内是否存在人员异常聚集,是否有外来人员非法进入小区,从而实现对社区自动化一体化的安全管理。
智慧社区监管系统包括5 个方面:佩戴口罩检测模块、电梯安全管理模块、人群聚集检测模块、区域入侵检测模块、高空抛物检测模块。
硬件端由树莓派、摄像头来构成机器视觉模块。树莓派可以连接局域网,并搭载机器视觉识别算法,进行远距离智能检测。 通过摄像头收集图像信息,由算法逐帧获取并分析图像信息,获取目标所在范围区域,再由视觉识别是否具有异常行为,没有则不反馈,有异常行为则截取并保存图片,向监控端发出信号,管理人员可以通过系统反馈的异常行为信息做出相应的应对措施。
佩戴口罩检测、电梯安全管理以及区域入侵系统的设计,可以通过深度神经网络模型中的YOLOv5 算法实现。
与传统的机器视觉算法相比,深度学习具有更强的优势。 深度神经网络基于大量的样本数据,自动提取样本的多维特征,而不是人工设计的简单特征,其特点是自动特征学习和大容量建模,识别效果也非常优异,在样本数据足够的前提下,置信度可以达到90%以上,甚至可以高达98%。 目前,主流的深度学习目标检测算法可以分为两类:一类是基于候选区域的两阶段目标检测方法。 该算法首先根据候选区域生成一系列候选框,然后对候选框进行分类和过滤,其中具有代表性的算法包括R-CNN,FAST R-CNN和FasterR-CNN[1]。 这些方法具有较高的检测精度;但是候选区域的提取过程复杂,检测时间长,进而导致效率较为低下。 因此,两阶段目标检测方法无法满足实时检测的要求。 另一种则是基于回归模型的单阶段目标检测算法。 该算法不需要提取候选区域,将目标区域预测和目标类别预测集成到单个卷积神经网络模型中。 代表性的单阶段算法则是YOLO 算法,YOLO 算法刚提出并使用时,在预测中只使用最深的特征图,背景假检率低,唯一的缺点是对小目标的检测能力较差。 YOLO 的后续系列经过反复改进,在提高检测精度和速度的同时,克服了小目标识别的不足。 在2020 年提出的YOLOv5 算法中,首次使用Pytorch 模型,Pytorch 是一个开源的Python 机器学习库,也是最近流行的一个深度学习框架,不仅能通过GPU 加速,还能支持动态神经网络,可以看成一个拥有自动求导功能的强大的深度神经网络[2]。 因此,这里使用YOLOv5 算法来搭建3 个模块的识别检测模型。
本文通过爬虫搜集到1 763 张佩戴口罩的照片,1 589 张没有佩戴口罩的照片,2 731 张电动自行车照片以及2 870 张人的照片。 由于图片数据集是网络爬取的,需要对图像进行去重以及删除无效样本。 为了确保后续训练过程的顺利高效进行,先进行图片样本尺寸的统一以及通道数的一致,再以Tensor 形式输入CNN,这里使用transform 来实现。 再对图像进行Mosaic 增强处理,Mosaic 算法是YOLOv4 中提出的增强样本数据的方法。 该方法是由数据集中随机抽取4张图片进行组合,再将其合成一张图片作为训练样本,Mosaic 增强处理对于训练神经网络非常有帮助。
得到预处理后的图片数据集之后,用图像标注工具labelimg 标注标签,打完标签后,进行标签格式的转化,即xml 转成yolo 型,用python 脚本即可实现。根据网络深度和特征图宽度, YOLOv5 可分为YOLOv5s,YOLOv5m,YOLOv5l 和YOLOv5x 4 种模型。如表1 所示是各模型的性能详情。
表1 YOLOv5 不同模型的性能参数
由表1 可得,YOLOv5s 的Speed v100 达到2.0 ms,处理速度最快,YOLOv5s 相较其他模型的优势在于:拥有自适应图片填充,可以有效去除图像黑边信息的冗余;运用CSP 结构,实现轻量化的同时又确保了准确性;网络层采用FPN+PAN 结构,FPN 为高纬度向低纬度传递语义信息,PAN 则相反,从低纬度向高纬度传递语义信息,这就优化了大目标与小目标的识别精度[3]。
设定训练轮数为300 轮,得到训练结果后,用最优权重进行推理,可以得出如图1 所示的识别效果。
图1 口罩识别检测
图1 中口罩识别置信度都达到了0.9 以上,检测精度非常高,关于区域入侵识别,只需在推演模块添加并锁定图像输入的区域范围即可,系统只会输入并运算指定的区域,即出现在此区域范围的人,确定为非法入侵。 对于电梯识别检测模块,由于识别角度的原因,置信水平低于口罩识别精度,不过也达到了75%,足以检测出大多数电动自行车。 系统会将识别结果与预先设定的条件相对比,如果符合了检测条件,则会将检测结果输入到硬件模块,启动响应,触发警报装置。
本文采用Opencv 作为高空抛物识别检测模型的基本算法。 Opencv 是一个python 库,其底层函数是由C 和C++编写实现,其中覆盖了计算机视觉各领域多达五百多种函数。 Opencv 可以看作是一个“黑盒”,为用户提供了大量的参数、返回值,可以让用户在不完全了解原理的情况下,也能方便地进行各种复杂的图像处理。 Opencv 有2500 多种优化算法,其中包含了计算机视觉和机器学习的大部分经典算法。这些算法可以用来做图像的底层处理,也可以对视频中的人类行为做分类。 是当今计算机视觉领域必不可少的“工具箱”,同时也被多个深度学习识别算法所运用。
相邻帧差法也称图像序列差分法,当视频中的物体在运动时,帧与帧之间会存在较为明显的差别,此时取两帧图像的灰度值之差的绝对值,将其与设定的阈值对比。 若大于阈值,则确定视频图像有物体在做运动,从而实现目标的检测功能。 先对图像文件进行灰度和降噪处理。 由于视频是逐帧输入,则每次将帧图像与上一帧进行差分运算,通过预先设定的阈值对比,判断灰度差的绝对值,高于阈值即可判断有物品在高速移动,即有坠物危险发生,此时反馈异常信息到硬件装置,触发警报,同时通过树莓派局域网反馈信息到后台,以方便后续溯源工作的展开。
卷积神经网络(convolutional neural networks,CNN)是人工神经网络(ANN) 的一种特殊类型[4]。卷积神经网络主要由卷积层、池化层、激活函数组成,其中卷积层没有完全连续,并且同一卷积核之间的权重相同,即共享权重。 CNN 网络通过共享权重、局部感受卷积核,大大降低了网络模型的复杂程度,只需将图像输入卷积神经网络。 网络模型可以自行从足够的样本数据中进行特征学习,大大减少了人工的参与,并且模型准确率也得到了很大的提高,被广泛运用于计算机视觉领域,在图像识别、目标追踪、图像分类等领域都有较好应用。
针对异常聚集人群的检测,有两个重要方面:(1)进行图像的输入,即获取图像数据;(2)通过卷积神经网络进行人群数据的分析和统计。 人群数据包括人群密度、人群距离势能以及人群分布熵。 通过这3 个数据来动态获取人群坐标,可以将复杂图像转化为人群密度图,超过阈值即可判定为人群密集。 目前传统的识别网络只能通过聚类算法以及人群密度估计来实现聚集检测,在特定场合中,由于行人遮挡的原因,会产生较大误差,而卷积神经网络模型可以有效解决此类问题,并且其中的高斯混合模型也较好地解决了针对人群分布不均、行人身高比例不同等问题。
随着科学技术的发展,人民的物质生活条件得到了大幅改善。 小区物业管理也要与时俱进,保障小区的安全运营,及时发现小区存在的安全隐患。 基于机器视觉的智慧社区监管系统包括佩戴口罩检测模块、电梯安全管理模块、人群聚集检测模块、区域入侵检测模块、高空抛物检测模块5 个方面,通过树莓派搭载的深度学习识别算法,实现图像输入、图像分析、图像识别、图像传输再到硬件响应的流程。 该识别系统在节省大量人力的同时,也可以实现全天自动化识别运行。 与传统监控设备相比。 该系统在预防危险方面有着极高的效率,能够避免因为监控人员的疏忽而造成的安全事故。 基于机器视觉的智慧社区监管系统给小区物业管理带来了便利,也为居民生活安全提供了保障,为未来智慧社区的建设提供了有意义的参考。