本发明涉及监控领域,特别是指一种基于监控视频的游泳馆深水区早期危险行为检测方法。
背景技术:
随着人们健身意识的增强,越来越多的人开始选择游泳这项运动,室内游泳馆的数量日益剧增。虽然许多国家对于游泳馆都有一定的严格要求,比如必须配备一定数量的救生员,泳池的坡度以及深度都有严格的标准,但是在室内游泳馆内出现溺水意外死亡的情况却时常发生。许多溺水者溺水时没有明显的挣扎和求救的动作,导致救生员没有发现溺水者,错过最好的救援时间。在室内游泳馆中,泳池一般分为两种:深水区与浅水区。深水区水深较深,游泳者无法站立在水中、双腿伸直的状态(踩水)只能保持瞬间、踩水时仅头部露出水面(肩部少);浅水区的水深较浅,游泳者可以直接站立在泳池中,一般嬉水人数较多,游泳者不一定会游泳,站立时肩背部可露出水面,深水区与浅水区的数据有较大的差异。
救生员在判断游泳者是否发生溺水行为的主要方法还是根据自己的救援经验来判断的,人发生溺水的主要特征并非像影视剧中显示的那样,大声呼救以及挣扎,而是睁着眼睛、眼神呆滞、站立在水中或者是水里垂直爬梯形状、双臂伸向两侧或向前。由于大多数溺水者不会呼救且无法挥手,所以当泳池内游泳人数过多的时候,救生员可能无法及时发现早期溺水者,而当溺水者身体下沉时已经属于溺水后期,极有可能错过救援的最佳时机。
救生员无法时时刻刻关注每一位游泳者,但是监控视频可以做到。随着智能监控以及视频理解的发展,可以采用监控视频进行目标的检测、跟踪以及复杂行为的判断,因此使用游泳馆内的监控视频来协助救生员进行早期的溺水危险行为判断,抓住救援的最佳时机,减少意外的发生具有重要意义。
技术实现要素:
本发明要解决的技术问题是提供一种基于监控视频的游泳馆深水区早期危险行为检测方法,以解决现有技术所存在的如何利用监控视频,实现游泳馆深水区早期危险行为检测及报警的问题。
为解决上述技术问题,本发明实施例提供一种基于监控视频的游泳馆深水区早期危险行为检测方法,包括:
实时采集游泳者在游泳池中的视频,对视频中的游泳者进行游泳者头部检测,得到游泳者头部检测框;
根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态;
若不是处于正常游动状态,则利用游泳者的头身比判断游泳者是否处于直立状态,若是处于直立状态,则报警。
进一步地,在采集游泳者的视频,根据采集到的视频对游泳者头部进行检测,得到游泳者头部的检测框之前,所述方法还包括:
获取游泳者在游泳池中的图片构成训练集,其中,图片中的游泳者头部已被标注出;
利用获取的训练集对yolov3深度学习网络进行训练,得到游泳者头部检测模块,其中,所述游泳者头部检测模块用于对游泳者头部进行检测,得到游泳者头部检测框。
进一步地,所述对视频中的游泳者进行游泳者头部检测还包括:
若预设时间段内未检测到头部检测框,则报警。
进一步地,所述根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态判断游泳者是否处于正常游动状态包括:
根据目标游泳者在视频前n帧的游动情况,确定用于判断检测框面积交并比的初始间隔帧数t;
在n帧之后的图像中,判断间隔t帧的2幅图像中的检测框的面积交并比比值是否在预设的正常范围内,若是,则处于正常游动状态。
进一步地,所述根据目标游泳者在视频前n帧的游动情况,确定用于判断检测框面积交并比的初始间隔帧数t包括:
s1,获取目标游泳者视频的前n帧图像;
s2,根据获取的目标游泳者视频的前n帧图像,确定第一个与第0帧图像f0无重叠检测框的图像
s3,分别计算第t0+1帧图像
s4,按照s3的操作,更新
其中,图像fn对应的间隔帧数
进一步地,所述判断间隔t帧的2幅图像中的检测框的面积交并比比值是否在预设的正常范围内包括:
根据确定的初始间隔帧数t,确定第a帧图像fa与第a-t帧图像fa-t的检测框面积交并比比值是否在预设的正常范围内,若是,则处于正常游动状态,并通过公式
进一步地,所述利用游泳者的头身比判断游泳者是否处于直立状态,若是处于直立状态,则报警包括:
判断游泳者的头身比是否超过预设的报警阈值,若超过,则判定游泳者处于直立状态,进行报警。
本发明的上述技术方案的有益效果如下:
上述方案中,通过采集到的游泳者在游泳池中的监控视频,对视频中的游泳者进行游泳者头部检测,得到游泳者头部检测框;根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态;若不是处于正常游动状态,则利用游泳者的头身比判断游泳者是否处于险的直立状态,若是处于直立状态,则报警。这样,通过对泳池内的游泳者的早期危险行为进行判断,从而实现游泳馆深水区早期危险行为的检测及报警,为救生员提供可靠的救援信息。
附图说明
图1为本发明实施例提供的基于监控视频的游泳馆深水区早期危险行为检测方法的流程示意图;
图2为本发明实施例提供的游泳者头部检测结果示意图;
图3为本发明实施例提供的前100帧的帧间隔数更新情况示意图;
图4为本发明实施例提供的前100帧根据相应的帧间隔数对应的检测框交并比比值变化曲线示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明实施例提供的基于监控视频的游泳馆深水区早期危险行为检测方法,包括:
s101,实时采集游泳者在游泳池中的视频,对视频中的游泳者进行游泳者头部检测,得到游泳者头部检测框;
s102,根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态;
s103,若不是处于正常游动状态,则利用游泳者的头身比判断游泳者是否处于直立状态,若是处于直立状态,则报警。
本发明实施例所述的基于监控视频的游泳馆深水区早期危险行为检测方法,通过采集到的游泳者在游泳池中的监控视频,对视频中的游泳者进行游泳者头部检测,得到游泳者头部检测框;根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态;若不是处于正常游动状态,则利用游泳者的头身比判断游泳者是否处于险的直立状态,若是处于直立状态,则报警。这样,通过对泳池内的游泳者的早期危险行为进行判断,从而实现游泳馆深水区早期危险行为的检测及报警,为救生员提供可靠的救援信息。
在前述基于监控视频的游泳馆深水区早期危险行为检测方法的具体实施方式中,进一步地,在采集游泳者的视频,根据采集到的视频对游泳者头部进行检测,得到游泳者头部的检测框之前,所述方法还包括:
获取游泳者在游泳池中的图片构成训练集,其中,图片中的游泳者头部已被标注出;
利用获取的训练集对yolov3深度学习网络进行训练,得到游泳者头部检测模块,其中,所述游泳者头部检测模块用于对游泳者头部进行检测,得到游泳者头部检测框。
本实施例中,通过摄像装置捕捉游泳者在游泳池中的视频,对采集的视频按照z(例如,25)帧每秒进行采样,采用矩形框标注采样得到的图片中游泳者的头部,将已标注的图像按照预设的比例划分成训练集和测试集,将训练集中的图片输入到yolov3深度学习网络中,对yolov3深度学习网络进行训练,得到游泳者头部检测模块,例如,检测结果如图2所示;并利用测试集中的图像对得到的游泳者头部检测模块进行测试。
在前述基于监控视频的游泳馆深水区早期危险行为检测方法的具体实施方式中,进一步地,所述对视频中的游泳者进行游泳者头部检测还包括:
若预设时间段(例如,3分钟)内未检测到头部检测框,则报警。
在前述基于监控视频的游泳馆深水区早期危险行为检测方法的具体实施方式中,进一步地,所述根据游泳者头部检测框的时序位置变化判断游泳者是否处于正常游动状态判断游泳者是否处于正常游动状态包括:
根据目标游泳者在视频前n帧的游动情况,确定用于判断检测框面积交并比的初始间隔帧数t;
在n帧之后的图像中,判断间隔t帧的2幅图像中的检测框的面积交并比比值是否在预设的正常范围内,若是,则处于正常游动状态。
在前述基于监控视频的游泳馆深水区早期危险行为检测方法的具体实施方式中,进一步地,所述根据目标游泳者在视频前n帧的游动情况,确定用于判断检测框面积交并比的初始间隔帧数t包括:
s1,获取目标游泳者视频的前n帧图像;
s2,根据获取的目标游泳者视频的前n帧图像,确定第一个与第0帧图像f0无重叠检测框的图像
s3,分别计算第t0+1帧图像
s4,按照s3的操作,更新
其中,图像fn对应的间隔帧数
本实施例中,例如,n=100,在实际应用中,可以根据实际应用场景确定n的取值,这样,根据目标游泳者前100帧的游动情况,确定后续进行判断的检测框面积交并比的初始间隔帧数t,前100帧的帧间隔数更新及确定的结果如图3所示。由图3可知,在第11帧时找到与第一帧完全没有重叠的检测框,然后进行帧间隔数的更新,最终确定初始帧间隔数为11,前100帧根据相应的帧间隔数对应的相邻t帧检测框的面积交并比如图4所示,比值在-0.05-0.05之间。
在前述基于监控视频的游泳馆深水区早期危险行为检测方法的具体实施方式中,进一步地,所述判断间隔t帧的2幅图像中的检测框的面积交并比比值是否在预设的正常范围内包括:
根据确定的初始间隔帧数t,确定第a帧图像fa与第a-t帧图像fa-t的检测框面积交并比比值是否在预设的正常范围内,若是,则处于正常游动状态,并通过公式
本实施例中,在判断正常游速的过程中对间隔帧数进行修正,能够避免当前的游动速度与前n帧的游动速度相差较大导致误判。
本实施例中,将游泳状态分为踩水状态和直立状态,其中,直立状态为危险状态。正常人的头身比在1:6.5-1:7.5左右,由于摄像头角度和水折射的原因,水中的头身比略有差异。在踩水状态时,双腿的完全伸直状态仅为瞬间,因此在踩水时,由于游泳者的蜷腿状态,游泳者的头身比会有明显的差异,在1:2-1:3左右。
本实施例中,采集一段游泳者20秒的视频,利用检测框面积交并比比值进行游泳者正常游动的判断依据,若在第16秒时,检测框面积交并比比值不在预设的正常范围内,则说明游动速度改变异常,进行预报警,并执行s103判断游泳者是否处于直立状态。
本实施例中,若16-18秒时,头身比均值为1:2.4664,判断为踩水状态,18-20秒,头身比超过设定的报警阈值,则判断为直立状态,进行报警。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。