一种基于计算机视觉的泳池防溺水预警系统的制作方法

文档序号:24242690发布日期:2021-03-12 13:18阅读:531来源:国知局
一种基于计算机视觉的泳池防溺水预警系统的制作方法

本发明涉及防溺水预警系统技术领域,具体为一种基于计算机视觉的泳池防溺水预警系统。



背景技术:

游泳属于高危运动项目,每年在泳池都会发生大量的溺水事件,而因溺水死亡的原因大多是没有及时获得溺水求救信号。随着图像识别技术的进步,监控摄像头的普及,人们也越来越希望能够通过监控设备来监测溺水事件,以便提前发出警报信号进而减少人员的伤亡。

现有的一般是由专门的监视人员坐在监控屏幕前进行泳池监视或救生员坐在泳池旁进行肉眼观察,但是由于人的疏忽,加上泳池的水面反光,监视员很难及时发现泳客溺水情况,当出现溺水情况时,可能已经错过最佳救援时间。



技术实现要素:

本发明的目的在于提供一种基于计算机视觉的泳池防溺水预警系统,以解决上述背景技术中提出现有的一般是由专门的监视人员坐在监控屏幕前进行泳池监视或救生员坐在泳池旁进行肉眼观察。但是由于人的疏忽,加上泳池的水面反光,监视员很难及时发现泳客溺水情况,当出现溺水情况时,可能已经错过最佳救援时间的问题。

为实现上述目的,本发明提供如下技术方案:一种基于计算机视觉的泳池防溺水预警系统,包括以下步骤:

s1、通过高清摄像头对泳池人员的运动数据进行采集,并将采集到的视频数据流通过rtsp协议传输到共性能主机;

s2、进行每帧视频画面转为rgb图像,利用画面畸变算法对得到的图像进行预处理;

s3、用预训练好的yolov3模型对视频图像中泳客进行目标检测;

s4、运用卡尔曼滤波器作为追踪器对识别出的人体目标进行追踪编号;

s5、溺水检测算法。

优选的,所述s5、溺水检测算法包括以下步骤:

s501、输入目标追踪监测结果到滑动窗口;

s502、在滑动窗口中去除过期(20s内未出现在画面中)的游泳者;

s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者。

优选的,所述步骤s5、溺水检测算法判断是否有人溺水,溺水检测算法判断结果为有人溺水,输出结果设置为红框标记泳者显示在显示屏上,并保存此段视频画面及相关数据,同时报警装置红灯闪烁提醒救生员,输出报警信息音频以方便救生员定位。

优选的,所述步骤s5、溺水检测算法判断是否有人溺水,溺水检测算法判断结果为无人溺水,输出结果设置为没有溺水,正常显示监控画面,标记画面中的泳客。

优选的,所述步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水2,判断结果为发生静态溺水_2,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积大于s_0,则输出结果设置为则认定发生溺水。

优选的,所述步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水_2,判断结果为没有发生静态溺水_2,则输出结果设置为则认定发生溺水。

优选的,所述步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为没有发生静态溺水_1,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积大于s_0,则输出结果设置为则认定发生溺水。

优选的,所述步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为没有发生静态溺水_1,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积小于或等于s_0,则输出结果设置为认定未发生溺水。

优选的,所述步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水_2,判断结果为发生静态溺水_2,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积小于或等于s_0,则输出结果设置为认定未发生溺水。

与现有技术相比,本发明的有益效果如下:

1、利用摄像机对泳池进行全覆盖监控,系统运用基于深度学习的目标检测技术自动识别泳池中的泳客,不再需要手环等可穿戴设备;

2、通过在泳池四周安装摄像头,无死角对泳池进行监控,救生员可以通过显示屏查看泳池状况,各个视频监控画面中包含模型识别出的人体检测追踪框,确保可以实时对泳池中的所有人的游泳状态进行掌握;

3、针对泳池常见的动态溺水和静态溺水两种情况,利用目标检测追踪算法获得的泳客在水中的追踪框面积和坐标,根据救生教练经验和实际情况设计了溺水检测算法,能够对可能对泳池中可能存在的溺水状态进行检测;

4、利用基于深度学习的人体骨骼姿态识别算法识别出人体的骨骼关键点的坐标,来判断人体姿态,从而排除人体站立在泳池的情况,降低系统误报率。

附图说明

图1为本发明主视结构示意图;

图2为本发明流程结构示意图;

图3为本发明步骤s5流程结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-3,本发明提供一种技术方案:一种基于计算机视觉的泳池防溺水预警系统,包括以下步骤:

s1、通过高清摄像头对泳池人员的运动数据进行采集,并将采集到的视频数据流通过rtsp协议传输到共性能主机;

s2、进行每帧视频画面转为rgb图像,利用画面畸变算法对得到的图像进行预处理;

s3、用预训练好的yolov3模型对视频图像中泳客进行目标检测;

s4、运用卡尔曼滤波器作为追踪器对识别出的人体目标进行追踪编号;

s5、溺水检测算法。

本发明中:s5、溺水检测算法包括以下步骤:

s501、输入目标追踪监测结果到滑动窗口;

s502、在滑动窗口中去除过期(20s内未出现在画面中)的游泳者;

s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者;。

本发明中:步骤s5、溺水检测算法判断是否有人溺水,溺水检测算法判断结果为有人溺水,输出结果设置为红框标记泳者显示在显示屏上,并保存此段视频画面及相关数据,同时报警装置红灯闪烁提醒救生员,输出报警信息音频以方便救生员定位;。

本发明中:步骤s5、溺水检测算法判断是否有人溺水,溺水检测算法判断结果为无人溺水,输出结果设置为没有溺水,正常显示监控画面,标记画面中的泳客;。

本发明中:步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水2,判断结果为发生静态溺水_2,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积大于s_0,则输出结果设置为则认定发生溺水;。

本发明中:步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水_2,判断结果为没有发生静态溺水_2,则输出结果设置为则认定发生溺水;。

本发明中:步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为没有发生静态溺水_1,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积大于s_0,则输出结果设置为则认定发生溺水;。

本发明中:步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为没有发生静态溺水_1,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积小于或等于s_0,则输出结果设置为认定未发生溺水;。

本发明中:步骤s503、滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者能够判断是否发生静态溺水_1,判断结果为发生静态溺水_1,输出结果到是否发生静态溺水_2,判断结果为发生静态溺水_2,输出结果到30秒内追踪框中心点的面积是否大于s_0,判断结果为30秒内追踪框中心点的面积小于或等于s_0,则输出结果设置为认定未发生溺水;。

该基于计算机视觉的泳池防溺水预警系统的工作原理:首先,在泳池四周的墙壁或支柱上安装2-3米处安装焦距为4mm摄像机监控,镜头角度在30度-45度,镜头数量和安装的位置视泳池大小而定,确保泳池无四角覆盖,各镜头画面有交叉,其次拍摄装置通过poe网线与poe网络交换机连接,将高性能主机也接入局域网,确保主机可以访问到摄像机,并通过基于rtsp协议的h.264方案能够获取到实时流媒体传输画面,画面分辨率为1080p,帧率为2fps;再高性能主机上对实时画面首先进行画面畸变矫正算法处理,摄像机拍摄图像的畸变会引起误差,影响图像识别的效果,因此需要获得相机的一些参数,包括:内参矩阵、外参矩阵、畸变系数(可以从摄像机厂家获取或者),通过内参矩阵转化成相机坐标系,通过畸变系数校正图像的相机坐标,校正后通过内参矩阵将相机坐标系转换成图像像素坐标系,并根据源图像坐标的像素值赋值给新的图像坐标形成新的图像;

收集足够泳池现场的图片为样本图片,对图片进行预处理和增强,利用标注工具再对样本图片中的泳客的位置进行标注,标注为person,标注完成后将图片标注数据标定转为voc格式。设置yolov3算法的darknet53卷积神经网络的超参数,然后将标注数据和图片输入到yolov3算法的神经网络进行训练,输入图形的大小为416x416。经过电脑主机训练得到最佳的权重,生成用于泳池人体目标检测的模型;

将经过矫正过的实时泳池画面输入到泳池人体目标检测模型,若有网格检测中心点落在该网格范围内的目标,预测出3个预测框,每个预测框对应5个值,分别为预测框的中心坐标(x,y)、预测框的宽度w和高度h、以及存在检测目标的置信得分p(object).预测框的目标检测得分为,通过非极大值抑制算法筛选预测框置信得分,为:

i表示类别号,m为置信得分大的候选框,b_i为被比较的物体预测框,i(m,b_i)为m与b_i的交并比(重叠区域和并集区域的比值),n_t为抑制阈值;最终留下一个预测框作为的预测框;

使用卡尔曼滤波算法建立追踪器,将人体目标检测模型得到目标检测框的t-1时刻和t时刻的位置信息,得到t时刻预测的目标,并对当前时刻的目标和最终的目标进行关联并对该目标并标号为person_id。将包含预测框的画面显示在显示器上,以便救生室中休息的救生员观看;

通过对各种溺水发生时溺水状态的总结,可以将溺水分为两类,一类是动态溺水,游泳者在溺水时伴随着挣扎和其它剧烈的实体动作溺水;另一类时无任何征兆的静态溺水,多由于突发疾病或重创导致的暂时性休克。本发明设计的溺水检测算法主要针对这两情况,具体如下:

1.接受返回的目标检测追踪结果存储到滑动窗口slide_box中,字段包括:

id:编号

timestamp:时间戳

person_id:游泳者id

status:游泳者状态,1为正常(默认),0为溺水

lane:泳道

section:泳道区域

central_x:追踪框中心点x

central_y:追踪框中心点y

w:追踪框宽度

h:追踪框高度

2.在滑动窗口中去除过期(20秒内未出现在画面中)的游泳者

3.滑动窗口中连续运动超过30秒的游泳者为需要判断的游泳者,记录其person_id。

4.对需要判断的游泳者选择其滑动窗口中选择其最近30秒的数据进行溺水识别,如果有人可能发生溺水,则更改该游泳者状态status为0,并记录该游泳者的person_id。

判断规则:

(1)是否发生静态溺水:30秒内追踪框中心点的移动距离是否小于d_0(根据实测数据测算或者根据一般常识与实际场地应用状况设定),若小于d_0则认定可能发生溺水,再利用openpose框架识别出当前追踪框中的人体骨骼关键点,判断左肩与左脚踝的连线和右肩和右脚踝的连线是否垂直于泳池,若接近垂直,则判断人体为站立状态,并非溺水;若不垂直,则判断游泳者溺水,修改该游泳者的status为0;否则该游泳者的status为1.

(2)是否发生动态溺水:30秒内追踪框中心点的面积(w*h)是否大于s_0(根据实测数据测算或者根据一般常识与实际场地应用状况设定),若大于s_0则认定发生溺水,则修改该游泳者的status为0;否则该游泳者的status为1。

若经过溺水检测算法后,发现溺水者列表非空,则根据滑动窗口输出报警信息,包括:泳道、大概区域等,用红框标记泳者显示在显示屏上,用报警灯闪烁警示救生员,用音频输出报警信息给救生员方便定位,并保存此段视频画面及相关数据;否则,不输出。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1