掌桥专利:专业的专利平台
掌桥专利
首页

一种基于YOLOv4的泳池溺水检测方法

文献发布时间:2023-06-19 11:57:35


一种基于YOLOv4的泳池溺水检测方法

技术领域

本发明涉及计算机视觉人工智能技术,特别是涉及一种基于YOLOv4的泳池溺水检测方法。

背景技术

随着国民的运动健身意识的觉醒,游泳成为了人们最喜欢的运动之一。但与此同时泳池溺水事故呈现出高发态势,一旦发生溺水事件,救生员往往难以在第一时间察觉并作出反应。所以研究怎样才能及时的发现,救助溺水者,有着重大的现实价值。

对于公共人工游泳馆(池)的安全问题,一部分场馆使用传统的人力监管模式。每个游泳池都靠2-4个救生员时刻紧盯着水面来预防和救援溺水人员。但这种监管模式,可靠性差、救生员处理突发事件的能力较弱、溺水者救助速度也很慢,很难有效保证场馆内的公共安全。再加上人生理条件的限制使得救生员很难保持长时间的注意力高度集中,长时间注视泳池水面还会让救生员出现眩晕状态。对于游泳旺季,游泳池经常人数众多,环境嘈杂,溺水者在水面上的求救动作很难及时引起救生员的注意,而一旦溺水者沉入水下就更加难以被察觉。另一部分场馆使用摄像头对游泳馆内部和水下进行监控,但多为人工监视,不仅耗费人力,而且监视效果会受到人的情绪以及疲劳程度等因素影响,容易出现漏检现象,对溺水者预防和救助效果不明显。

发明内容

本发明提供一种基于YOLOv4算法的泳池溺水检测方法,通过对YOLOv4检测模型加入泳池判定线模型进一步约束检测目标类别提高检测精度,降低溺水者检测误报率,其特征在于,包括以下步骤:

S1:通过游泳池布置的水下摄像机采集游泳池中所有游泳人群的图像并对其进行标注,得到专有游泳者数据库。

S2:游泳者数据库采用K-means聚类算法得到先验框的尺寸,按照不同尺度聚类出9种尺寸的先验框。

S3:在YOLOv4网络模型的配置文件中设置网络模型参数,将YOLOv4网络结构放入配置好环境的计算机中,使用训练集对预训练模型进行迭代训练,直到损失函数收敛,保存训练好的网络模型。

S4:将上述训练好的网络检测模型加入泳池判定线模型,使模型对识别到的目标类别进行再一次判定。

S5:输出符合要求的YOLOv4-泳池判定线检测模型。

S6:使用步骤S5中符合要求的YOLOv4-泳池判定线检测模型对序列图像进行目标检测,输出检测结果,并对溺水现象进行报警。

进一步的,步骤S1中所述的游泳者数据库,为如下要求:水下摄像机采集游泳池中游泳人群的视频,将采集的视频转化为图片格式,利用Labelimg软件标注成VOC格式得到得到游泳者数据库,其中游泳者的自由泳、仰泳、蛙泳、蝶泳、跳水、踩水等行为标记为正常游泳(swimming),潜水、挣扎、溺水等行为标记为溺水(drowning)。

进一步的,步骤S3中所述的配置文件,为如下要求:

S3-1:当输入图像大小为416x416,参数random为0,batch_size参数为16,批次细分subdivision=16,迭代次数为6000,初始学习率为0.001,检测物体种类为2时,用户使用cpu训练模型,至少需要2GB内存;使用单GPU训练模型,至少需要4GB。

S3-2:当输入图像大小为608x608,参数random为0,batch_size参数为16,批次细分subdivision=16,迭代次数为6000,初始学习率为0.001,检测物体种类为2时,用户使用cpu训练模型,至少需要3GB内存;使用单GPU训练模型,至少需要6GB。

进一步的,步骤S4中所述的泳池判定线模型,具体包括如下:根据图片中泳池水下歇脚台的位置对图片进行划分,图片中歇脚台位置即为判定线,依据所划分的判定线将图片分为上下两部分,判定线的上方为正常游泳区,下方为溺水区。当检测目标中心位置位于正常游泳区时,如果目标标签为溺水(drowning),则将标签修正为正常游泳(swimming),如果目标标签为正常游泳(swimming),则无需修正;当检测目标中心位置位于溺水区时,如果目标标签为正常游泳(swimming),则将标签修正为溺水(drowning),如果目标标签为溺水(drowning),则无需修正。

进一步的,步骤S5中所述的符合要求是指对YOLOv4-泳池判定线检测模型进行性能评估,mAP0.5达到92%及以上。

进一步的,步骤S6中所述的进行报警的要求为:连续5秒内出现溺水报警信号。

附图说明

图1为YOLOv4-泳池判定线检测方法的流程图。

图2为YOLOv4网络结构图。

图3为泳池判定线坐标图。

图4泳池水下目标检测图。

具体实施方式

下面结合附图1和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

一种基于YOLOv4算法的泳池溺水检测方法,如图1~图4所示,包括:

S1-1:图像的获取:

通过游泳池布置的水下摄像机,采集游泳池中所有游泳人群的数据,视频的帧速一般是1秒30帧图片左右,设置取帧频率为1秒取3帧,样本总数至少20个视频以上,即样本数目约为15000张左右。并将采集到的图像按照Pascal VOC数据集的格式将图片命名,同时创建名为Annotations、ImageSets、JPEGImages的三个文件夹,在ImageSets下新建Main文件夹。将收集到的数据集图片拷贝到JPEGImages目录下。

S1-2图像的标注:

使用的标注工具labelimg对图片进行标注,生成xml标注文件。将约15000张视频帧图片进行随机编号,给图片编一个合理的序号,比如000001~000999;利用labelimg软件标注数据,每一个图片名对应的有一个相应名字的xml标注文件,比如图片000001.jpg,标注文件是000001.xml。标注的范围包括:图像所在位置、图像名称(如000001.jpg)、图像宽高、图像维度、标注的物体名称以及bbox的坐标值;游泳者行为包括自由泳、仰泳、蛙泳、蝶泳、跳水、踩水、潜水、挣扎、溺水,其中游泳者的自由泳、仰泳、蛙泳、蝶泳、跳水、踩水等行为标记为正常游泳(swimming),潜水、挣扎、溺水等行为标记为溺水(drowning)。其中对图像数据进行划分,分为训练数据集和验证数据集,其中训练数据集占80%,验证数据集占20%。

S2:对图片数据集采用K-means聚类得到先验框的尺寸:

为每种下采样尺度设定3种先验框,总共聚类出9种尺寸的先验框。数据集的9个先验框是:(68x118),(93x137),(114x84),(139x220),(158x135),(173x72),(213x300),(237x104),(291x159)。

表1特征图多尺度分配

S3:YOLOv4模型训练步骤:利用YOLOv4对训练数据集进行训练学习,操作如下:

YOLOv4目标检测网络以CSPDarknet53为主干,包含5个CSP模块,各模块前的卷积核大小为3×3,步幅为2,能够进一步增强网络学习能力;路径聚合网络(PANet)作为颈部,增添空间金字塔池(SPP)附加模块,采用1×1,5×5,9×9,13×13最大池化方式,能够增加感受区并分离出更重要的上下文特征;沿用YOLOv3检测头作为头部。最后通过全连接层输出训练结果,包括边框回归坐标、目标分类结果和置信度大小。

S3-1:当输入图像大小为416*416,参数random为0,batch_size参数为16,批次细分subdivision=16,迭代次数为6000,初始学习率为0.001,检测物体种类为2时,用户使用cpu训练模型,至少需要2GB内存;使用单GPU训练模型,至少需要4GB。

S3-2:当输入图像大小为608*608,参数random为0,batch_size参数为16,批次细分subdivision=16,迭代次数为6000,初始学习率为0.001,检测物体种类为2时,用户使用cpu训练模型,至少需要3GB内存;使用单GPU训练模型,至少需要6GB。

S4:泳池判定线模型,具体包括:

S4-1:根据图片中泳池水下歇脚台的位置对图片进行划分,图片中歇脚台位置即为判定线,依据所划分的判定线将图片分为上下两部分,判定线的上方为正常游泳区,下方为溺水区。当检测目标中心位置位于正常游泳区时,如果目标标签为溺水(drowning),则将标签修正为正常游泳(swimming),如果目标标签为正常游泳(swimming),则无需修正;当检测目标中心位置位于溺水区时,如果目标标签为swimming,则将标签修正为溺水(drowning),如果目标标签为溺水(drowning),则无需修正。

S4-2:为了便于计算,建立平面直角坐标系,坐标原点位于图像左上角,坐标值随着图像边缘向右和垂直向下不断增加。此外,坐标系中的坐标(x,y)与图片分辨率有关,x∈[0,1920],y∈[0,1080]。

S4-3:判定线表达式为分段函数,具体的:

其中A

S4-4:对YOLOv4模型输出的检测框中心坐标(x,y)进行判断,中心坐标(x,y)在判定线上方则检测目标标签为swimming,在判定线下方则检测目标标签为drowning。

步骤S5:YOLOv4-泳池判定线模型验证步骤:

通过验证数据集对YOLOv4-泳池判定线检测模型进行验证,得到模型评分,对模型进行评估,经过模型评估筛选出预测性能最优的模型。

平均精度均值(mAP)是测量目标检测效率的重要指标,由精确率(Precision)和召回率(Recall)决定。以Recall为横轴,Precision为纵轴的曲线简称P-R曲线,P-R曲线下面积记为精度均值,所有目标类别的精度均值的平均值为mAP值,其值越大,神经网络模型效果越好。

它们的计算公式分别如下:

式中:

TP(True Positives)——被判为正类的正类;

FP(False Positives)——被判为正类的负类;

FN(False Negatives)——被判为负类的正类。

AP:PR曲线下面积(PR曲线:Precision-Recall曲线),衡量的是对一个类检测好坏,mAP就是对多个类的检测好坏。

表2检测结果精度值

目标检测步骤:利用最终得到的YOLOv4-泳池判定线检测模型对泳池水下场景进行监测,通过水下的摄像头作为模型的输入,当识别出游泳者和溺水者,当连续5秒内出现溺水报警信号时,推送报警信息。

相关技术
  • 一种基于YOLOv4的泳池溺水检测方法
  • 一种基于端到端3D卷积神经网络的泳池溺水检测方法
技术分类

06120113116017