1、 149信息:技术与应用信息记录材料 2022年12月 第23卷第12期 随着高层建筑日益增加,高空抛物伤人事件时有发生,轻则破坏环境卫生,影响居民日常生活,重则直接造成重大人身伤亡和财产损失。社会各界对建立高空抛物监测系统的呼声越来越高。近年来,机器视觉(Machine vision)逐渐走进人们的视野,它是人工智能(AI)的一个基本分支,是指利用计算机对图像进行处理、分析和理解,以识别各种不同目标和对象的技术,是一门涉及生物医学、统计学、计算机科学、图像处理、模式识别等诸多领域的交叉学科1-2。本文研究的高空抛物预警系统运用机器视觉技术,通过视频录像进行实时监控与分析,追踪疑似高空抛物物体
2、,做出预警和反馈。本文设计了一种基于 STM32 的高空抛物预警系统,主要由 OV2640 摄像头、STM32 单片机、蜂鸣器以及软件系统构成,判断出背景与移动物体的区别并进行锁定,并进行去噪处理,该系统具有监测灵敏度高、成本低、不受天气环境影响等优点,能够精确定位高空抛物的具体位置并实时发送警报信号,提醒路上行人及时躲避,既能起到事后追责的作用,也起到事前预防的作用3-4。1 系统总体结构本系统由硬件部分和软件部分组成。硬件主要由OV2640 摄像头、STM32 单片机、蜂鸣器、LED 等以及语音报警系统构成,主要负责收集图像信息,形成一套能感应环境并做出反应的装置。软件部分由具有丰富的函数
3、库以及兼容性良好的 python 技术,结合 Micropython 解释器用于处理图像信息等系统构成,主要处理数据并将获取到的数据通过网络反馈至服务器。2 硬件系统2.1 工作原理本套系统使用STM32-F407ZGT6开发板作为核心部件,图像算法部分在此开发板上进行运算。模块外扩了IO口、UART、SPI、IIC、CAN 通信接口,方便用户拓展使用5,使用 OV2640 摄像头实时监控高空情况,把接收到的视频信息传输至开发板进行视频处理,当视频信息判断为有物体掉落时,发出报警指令,传输至报警模块,以及存储模块,实现报警及存储功能,之后将数据信息反馈到服务器实现数据可视化显示。硬件设计图如图
4、 1 所示。图 1 硬件设计图2.2 主控板及其扩展模块主控板采用 Open 系列,芯片使用 STM32-F407ZGT6,如图 2(a)所示,它带有丰富的扩展接口,支持各类外围模块的接入,方便对高空抛物监视与预警。核心板(STM32-F407ZGT6)中 DCMI 接口方便接入 OV2640 摄像头模块,如图 2(b)所示;Ethernet 接口方便接入以太网模块,如图 2(c)所示;其电路原理图如图 3 所示。图 2 硬件展示图基于 STM32 的高空抛物预警系统研究谭超友,朱海荣,吕 涛,丁世贤(广西科技师范学院 广西 来宾 546199)【摘要】由于近年来高空抛物所产生的意外事件频发,
5、为此本文设计了一种新型高空抛物预警系统,能够在预防高空抛物以及追查责任人方面找寻突破口。本文基于 STM32 系统为核心基础,加载 OPENCV 优化算法,对仰角视频录像进行实时监控和分析,跟踪视频中疑似抛物物体,具备辨别、预警、记录以及分析等功能。实验表明,本文设计的高空抛物系统运用机器视觉进行预警,测试结果准确有效,对抛物进行预警记录并为追查抛物者提供佐证。【关键词】高空抛物;预警;OPENCV【中图分类号】TP279 【文献标识码】A 【文章编号】1009-5624(2022)12-0149-04DOI:10.16009/13-1295/tq.2022.12.066150 信息:技术与应
6、用信息记录材料 2022年12月 第23卷第12期 图 3 电路原理图3 软件系统3.1 软件架构通过报告显示城市高空坠物的种类中,“生活用品”的坠落所占比重达到了 32.7%,居各项坠落之首6。通过摄像头收集到的图像数据进行分析,使用背景分割器Background Subtractor 进行“生活用品”分割能够取得良好效果,Background Subtractor 是一款视频分析专用软件,会对视频中的每一帧进行“学习”并比较,计算阴影,排除检测图像的阴影区域,按照时间推移的方法提高运动分析结果的准确性。而且 Background Subtractor 不仅可以用于背景分割,还可以提高背景检
7、测效果。去除背景后,没有运动的物体,就不会出现白点,将会继续观察并获取图像。当出现运动物体时,捕捉白点进行追踪记录并且报警。整体软件设计伪代码如算法 1 所示。软件设计框图如图 4 所示。算法 1:import cv2 as cvBegin(算法开始)#构造 VideoCapture 对象cap#创建一个背景分割器pBackgroundMOG while True:读取视频 当所有帧读取完毕后退出循环 If 判断视频是否读取完全 print(视频读取失败或者视频已读取完毕)else:FGMask=pBackgroundMOG.apply(frame)#背景分割,并得到前景图像 计算图像大小并显
8、示得到的前景图像,并用画框框出图像。图 4 软件设计框图设备开启后,设定监控环境参数,先对监控背景进行提取保存,后将监控视频与背景对比并去除提前保存的背景,区分静态与动态效果,当物体运动时则在黑色的背景中显示为白色,OV2640 摄像头不断地将实时监控画面和历史监控画面进行对比,当特征不改变即全为黑色时,没有发生像素的改变,继续监控对比;当特征不一致即出现白色的图像时,通过OpenCV算法进行视频物体跟踪、判断,排除干扰项,去除噪声干扰。根据上述算法计算出有物体下落,即与系统预先保存背景进行比对,即可锁定抛物房间的具体位置,预警系统中的扬声器与 LED 灯发出预警,同时将信息传送给服务器并记录
9、信息,为追究抛物者的责任提供佐证。3.2 create Background Subtractor KNN 背景去除器主要利用 cv2 中的 create Background Subtracto KNN7判断出背景与移动物体的区别并进行锁定:创建KNN 的混合高斯模型,作用是判断静态背景,而主要参数是在帧数范围内像素没有发生变化,则判断此帧为背景。此算法实际运用实例:黑白图像为右侧行人在 15 帧之前留下的图像不同,所以显示为白色的轮廓以此确定移动物体的具体位置,此时则可根据轮廓找到中心点进行轮廓确定,以确定物体运动的轨迹。去除背景前后对比图如图 5所示。图 5 去除背景前后对比图基于背景减
10、除法的视频序列运动目标检测算法8,主 151信息:技术与应用信息记录材料 2022年12月 第23卷第12期 要作用是降低减除法针对光线变化、噪声和局部运动等因素对运动目标检测的效果。3.3 对图像进行去噪处理(1)使用 cv2.morphologyEx(形态学去噪声)morphologyEx 函数是一种形态学变化函数。数学形态学可以理解为一种滤波行为,因此也称为形态学滤波。对于录制图像中出现的噪声,首先利用 cv2.morphologyEx进行形态学去噪声处理,以便能更精确地确定运动物体位置,滤波中用到的滤波器,在形态学中称为结构元素。结构元素往往是由一个特殊的形状构成,如线条、矩形、圆等。
11、(2)使用 cv2.blur(图像滤波)cv2.blur 只取内核区域下所有像素的平均值并替换中心元素,一般设定为 3x3 标准化盒式过滤器。根据算法对真彩色图像进行滤波,该算法可以有效地滤除图像中的脉冲噪声,并能较好地保持图像的边缘细节信息9。(3)使用 cv2.boxFilter(img,-1,ksize,normalize=True)方框滤波当 normalize=True 时,与均值滤波结果相同,normalize=False,表示不需要进行归一化处理,直接使用邻域像素值的和。当 normalize=0 时,因为不进行归一化处理,因此滤波得到的值很可能超过当前像素值范围的最大值,从而被
12、截断为最大值。这样,就会得到一幅纯白色的图像。使用 get Structuring Element 函数会返回指定形状和尺寸的结构元素,然后使用 cv2.boundingRect提取矩形坐标计算中心点,反推出矩形以及长、宽、高坐标(x,y,w),在原图上绘制矩形显示掉落物品的位置,物体展示如图 6 所示。图 6 物体追踪展示4 测试当软件数据处理设置与硬件连接设计完成后,在某学院中的宿舍楼安装摄像头并且进行测试。测试的主要内容为:利用本系统部署摄像头监测楼层。监测到高楼抛物体则记录为准确,系统抓捕不到抛物体则记录为失败。在晴天、阴天、雨天的不同天气情况中均累计测试 1 000 次。实验结果为:
13、在晴天准确次数为 980 次,阴天准确次数为985 次,雨天准确次数为 897 次,三个天气状态下,准确率分别为:98%、98.5%、89.7%。测试结果显示,雨天虽受雨滴影响,但也有较高的检测效果。证明系统实用性比较高。记录同一监控视频在不同分辨率下得到的参数如表 1 所示。系统的主要工作流程,为摄像头收集数据后利表 1 同一监控视频在不同分辨率下得到的参数图像长图像宽面积选用阈值 T阈值与面积比原有帧数检索后关键帧数压缩比率第一次测试1 4409001 296 00022 4001.73%1 50022684.94%第二次测试1 200700840 00016 5001.96%1 5002
14、1086.00%第三次测试700500350 0005 0001.43%1 50024084.00%第四次测试500300150 0002 0501.37%1 50023584.33%用串口将数据传输至 STM32 开发板,STM32 开发板中处理数据,并作出反应后传输信号至警报系统和数据控制中心。5 总结从实际测试结果来看,实验的动态物体捕捉效果较好,使用的形态学去噪声、形态学滤波,能更有效地去除视频中的白点噪声,使得背景去除时不会将白点作为运动的物体列入警报行列,并且对于较大物体的运动较为敏感。通过同一视频不同分辨率下关键帧提取的研究,利用其他分辨率的视频图像进行验证,结果证明本文方法可行
15、,能够较好地实现给定分辨率下监控视频关键帧的提取。目前高空抛物监测系统大多是以视频监控、图像处理等技术为基础,由于受到拍摄角度、天气、环境等因素影响,其定位精度、实时预警等问题均有一定局限性。在后续研发及改进过程中,可以采用超声波传感技术与 OV2640 摄像头协同作用,利用超声波测距原理,将高空抛物瞬间检测到的信息传送给单片机,结合图像分割及处理技术,通过监控服务器调取高空抛物的发生时刻和具体位置,便于后续追溯高空抛物责任人。综上所述,本文设计并实现了一种高空抛物监测与警示系统,能够精确定位抛物位置并实时发出预警信号,具有较好的实际应用价值和发展改进潜力。(下转第 154 页)154 信息:
16、技术与应用信息记录材料 2022年12月 第23卷第12期 图 4 不同算法分割实验对比从 PA 的定义可以看出,PA 值越大,图像聚类的效果越好。分析表 1 可得,在分割时间上,本文算法稍长于K-means 算法和 FCM 算法,但是优于没有引入 LBP 算法的GA-K-means 算法。从 PA 的值可得,客观评价指标与主观分析结果一致,表明本文分割结果更接近于基准分割。表 1 分割效果评估算法狗猫海豚PA/%分割时间s PA/%分割时间sPA/%分割时间s经典 K-means0.738.70.8611.40.806.6FCM0.899.10.8910.30.918.4遗传算法+K-means0.929.70.9115.70.9710.6 本文算法 0.9510.50.9213.60.93 9.55 结语本文针对经典 K-means 方法中存在的问题,提出了优化方案。本文的改进在于首先用 LBP 算子对图像进行特征提取,然后再使用改进的 K-means 算法对图像进行分割。仿真实验表明,本文算法优于经典的 K-means 方法和 GA-K-means 算法,但是在运行速度上稍逊于经