基于光学视觉分析的溺水预警方法与流程

文档序号:15638229发布日期:2018-10-12 21:44阅读:226来源:国知局

本发明属计算机视觉、图形处理技术领域,具体涉及一种基于光学视觉分析的溺水预警方法。



背景技术:

随着社会的发展和人们生活水平的提高,游泳这一全身性锻炼的体育运动越来越受到人们的欢迎。但因其在水中进行的,初学者往往因为不能自由的呼吸、行动等而导致呛水,甚至发生溺水事故。此外,游泳者可能在水中发生肌肉痉挛、相互碰撞、体力不支等情况,这些都可能导致溺水事件的发生。溺水事件一旦发生,将直接关乎到游泳者的生命安全,据世界卫生组织报道:溺水已成为世界各地非故意伤害死亡的第三大原因,每年溺水死亡数估计为36万例。有研究表明,若溺水者能在沉水昏迷的前十秒内被救生员发现,并在接下来的二十秒内被迅速救起,那么死亡事件发生的可能性将会大大降低。但在实际情况中,因泳池内各游泳者相互遮挡、救生员长时间精神紧张以及水面对光的反射和折射等因素,救生员往往无法在较短的时间内发现溺水者,因而也就难以在有效的时间内将溺水者救起。所以,尽管专业的救生人员在努力认真地进行监督,溺水事故的发生概率依然居高不下。因此,若能发明一种能进行溺水预警并且可对溺水现象及时报警的方法,并用来辅助救生员的工作,则可为游泳者提供更好的安全保障。

就游泳者的检测而言,因泳池内的水是不断运动的,在此背景下快速准确的检测出游泳者是相当困难的,而游泳者的检测是进行溺水预警很重要的一步,可为后续处理提供必需的基础信息。因光照的变化、背景的干扰、运动目标的影子及水对光的散射和吸收等因素的影响,会使采集到的图像的分辨率和信噪比低,图像质量不理想,且冗余干扰信息多,这些都不利于对游泳者进行快速有效的检测;就游泳者的跟踪而言,因泳池中游泳者的数目众多,且其活动范围没有明确的限制,会频繁的出现游泳者之间的相互遮挡,这对游泳者的准确跟踪带来了极大的困难;就游泳者的行为理解分析而言,因不同的游泳者有不同的游泳姿态和习惯,所以难以提取鲁棒的游泳者水下行为特征。一方面,能够用来判断是否溺水的有效特征数量少,另一方面,所用特征不够鲁棒,可靠性差。比如使用最多的速度特征,当游泳者溺水时,其速度会明显减小甚至静止不动,但正常游泳状态下,游泳者也可能以极慢的速度运动,该速度值可能比溺水者的移动速度还要低,这为分类阈值的确定带来了困难,进而影响对游泳者的行为理解和分析。

为解决上述难题,大量溺水预警或报警方法不断涌现,这些方法大致可以分为利用声呐等监测装置、利用便携式监测装置和基于视觉分析三大类型。利用声呐等监测装置的方法主要是在水下、泳池底部等安装一些声呐发射、接收装置,并利用探测器来判断是否存在障碍物,然后根据一系列溺水依据做出是否溺水的判断,如:coffelt等在文献“methodofdrowningdetection,u.s.patent.no.6,111,510.2000”中提出在泳池四壁安装声呐发射、接收装置的方法,并根据人体不动的时间是否大于某个设定的时间进行是否溺水的判断。利用便携装式监测装置的方法主要是让游泳者在游泳时携带一些特定制作的监控装置,如手表、气囊等,如果游泳者所处位置低于特定深度超过一定时间,监测装置就会发出溺水警告,并产生特定的反应,如气囊充气并携带溺水者上浮等,如:sitbon等在文献“survivalnecklace,u.s.patent.no.14,001,198.2013”中设计了一种项链状监测装置,其上的麦克风和传感器等会将游泳者喉咙和气管的状态实时发送给接收器;kharrat等在文献“automaticwaistairbagdrowningpreventionsystembasedonunderwatertime-lapseandmotioninformationmeasuredbysmartphone’spressuresensorandaccelerometer,ieeeinternationalconferenceonconsumerelectronics,pp.270-273,2013”中提出了在游泳者腰部放置一个气袋并且在头部佩戴压力传感器和加速度计速器的方法,用以实时感知游泳者的压力状态和运动状态。基于视觉的方法是通过将摄像机固定在水面上、水下或者泳池底部,实时获得游泳者在池内的情况,并通过图像处理及视觉分析等方法判定是否可能发生溺水,如:zhang等在文献“anovelcamera-baseddrowningdetectionalgorithm,chineseconferenceonimageandgraphicstechnologies,pp.224-233,2015”中通过对背景进行建模的方法实现前、背景的分离,并对得到的前景区域进行帧内去噪的处理,最终检测到泳池内的游泳者;fei等在文献“real-timetrackingofunderwatermovingtarget,ieeecontrolconference,31stchinese,pp.3984-3988,2012”中提出将meanshift(均值漂移)和particlefilter(光流滤波)结合对泳池中游泳者进行跟踪的方法。

上述利用声呐等检测装置的方法有很多缺点:1)因绝大多数声呐等监测装置是通过人身体里边含有的空气来进行感知的,若溺水者身体内已充满水,则得到的信号就会变得模糊,甚至无法进行信号处理;2)声呐方法需要在几百伏的电压下产生声呐脉冲,而相关安全规定,泳池水域附近不能有高于12或24伏的应用电压,显然安全规定范围内的电压无法满足声呐设备的需要;3)处理情景很局限。对位于声呐装置和墙之间的游泳者可以有效处理,但当游泳者离墙很近时,会因声呐信号中包含墙壁的回声噪声且该噪声信号难以消除,无法得到游泳者运动分析所必须的信号。除声呐系统外,应用无线电波的系统也有诸多类似的问题,如水中多重反射的问题,此外,当游泳者人数过多时,也无法对每个人进行准确的跟踪。因此,这样系统难以满足辅助救生的要求。利用便携式监测装置的方法也因其系统的安装、使用和维护耗资巨大,且误报率高,对于游泳者也多有不便,未被广泛采用。相对于利用声呐等监测装置和利用便携式监测装置等方法,基于视觉分析的方法具有对泳池环境要求低、适用性强、应用面广、安装使用耗资少及误报率低等优点,是溺水预警及报警系统的首选手段。但早期基于视觉分析的系统中摄像机位于泳池底部,通过判断游泳者是否在泳池底部超过一定时间来判定是否溺水,显然,这种系统是在溺水事故已发生后才进行报警,会延误一定的施救时间,另外,当游泳者数目过多时,无可避免的会发生游泳者间的相互遮挡,使得位于泳池底部的摄像机难以获得足够充分的视觉信息。因此,当前国际上流行的溺水报警系统都是把摄像机置于泳池上方(可能在水下放置少数摄像机进行辅助),与早期基于视觉分析的溺水报警系统不同,这种报警系统可获得尽可能多的游泳者视觉信息,有利于及时对游泳者的动作行为提取特征并加以识别处理,判断其是否具有早期溺水特征,进而触发报警。

基于视觉分析的溺水预(报)警系统的主要处理步骤为运动目标检测、多目标跟踪、行为理解和分析。运动目标检测是指检测泳池中游泳者的位置,并在图像中用矩形框框出其所在位置;多目标跟踪是对泳池中的若干游泳者进行跟踪,得到其运动轨迹信息;行为理解和分析是指利用游泳者一定时间内的姿态及运动特征分析其行为。依次进行这三步的处理来判断是否溺水,需要较多的处理时间,很难达到实时效果,基于此,本发明拟同时进行目标的检测和跟踪,以更快得出是否溺水的判断。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于光学视觉分析的溺水预警方法。首先通过去噪、图像增强、去除光照不均等对图像进行预处理,然后利用免疫遗传算法同时对游泳者进行检测和跟踪,得到其位置和运动轨迹信息,最后利用lstm(longshort-termmemory,长短期记忆网络)提取视频中游泳者具有时序信息的行为特征,并通过softmax层对该特征进行分析,给出是否溺水的判断。

一种基于光学视觉分析的溺水预警方法,其步骤如下:

步骤1:对每一帧泳池视频图像进行预处理,得到预处理后图像,具体为:先采用中值滤波方法对每一帧泳池视频图像进行降噪处理,然后采用直方图均衡化方法对降噪后的图像进行图像增强,最后采用同态滤波方法对增强后的图像进行滤波处理;

步骤2:利用免疫遗传算法对游泳者进行检测和跟踪,具体为:

步骤a:利用数据集对faster-rcnn神经网络模型进行训练,得到训练好的检测器;其中,所述的数据集为开源溺水警数据集,从中随机抽取80%数据作为训练集,剩下的20%数据作为测试集,采用随机梯度下降算法进行网络参数的学习;

步骤b:首先,用训练好的检测器对预处理后的第一帧图像进行检测,得到每个游泳者的位置检测框和检测框的置信度值,如果某两个检测框的重叠面积与其相并面积之比大于0.8,则删除置信度值低的检测框;然后,对所有检测框由1开始进行编号,每个检测框对应一个唯一的编号,并以每个检测框为一个种群,以其置信度值为其适应度值,得到该帧图像的所有种群,其中,每个种群的种群信息包含位置、编号和适应度值;

步骤c:计算得到当前帧图像中的各种群对应在下一帧图像中的初始种群,具体为:设种群在当前帧图像中的位置中心点为o,种群宽度为w,高度为h,在下一帧图像中以相同位置o为中心、2.5w宽、2.5h高的范围内,随机产生15个宽度为w、高度为h的检测框,并将这些检测框输入到训练好的检测器,得到每个检测框的置信度值,以每个检测框为一个个体,以每个检测框的置信度值为其个体适应度值,得到一个初始种群,即种群对应在下一帧图像中的初始种群;

步骤d:对初始种群中的个体进行筛选,具体为:对每个初始种群,首先,以其在上一帧图像中对应的父辈种群的位置及编号为疫苗,以其父辈种群的适应度值为疫苗的适应度值,得到与其对应的疫苗;然后,将种群中每个个体的适应度值与其疫苗的适应度值进行比较,若个体适应度值低于疫苗的适应度值,则删除该个体,反之,则保留该个体,若种群中所有个体的适应值都低于疫苗的适应度值,则以其父辈种群的种群信息作为该种群的种群信息;

步骤e:对经步骤d筛选后的种群,判断其是否满足收敛标准,若不满足收敛标准,根据遗传算法原理,对其进行交叉、变异,生成下一代种群,并利用检测器计算种群中每个个体的适应度值,返回步骤d继续进行筛选;若满足收敛标准,则收敛状态下的种群即为最终的种群;若经20次交叉、变异和筛选后,仍不满足收敛标准,则删除该种群;所述的收敛标准为:种群中只有一个个体,且其适应度值高于0.9;

当对所有种群完成上述处理后,返回步骤c,进行下一帧图像种群的计算,直至完成对所有帧图像的处理,得到每一帧图像的所有种群,其中,一个种群对应一个游泳者,种群的位置即为游泳者的位置,种群的编号即为游泳者的身份,种群的适应度值即为该位置处有游泳者的置信度值;

步骤3:利用lstm提取得到每个游泳者具有时序信息的行为特征,并通过softmax分类层得到是否溺水的判断,具体为:

首先,构建包括lstm和softmax层的溺水行为判别网络,其中,每个lstm单元后连接一个softmax层;然后,利用数据集对网络进行训练,得到训练好的网络,其中,所述的数据集为开源溺水报警数据集,从中随机抽取80%数据作为训练集,剩下的20%数据作为测试集,采用随机梯度下降算法进行网络参数的学习;最后,将步骤3中得到的同一游泳者在每一帧的位置信息按时间先后顺序分别输入到训练好的网络中的同样先后顺序的lstm单元中,将每个lstm单元得到的特征输入到softmax层,即可得到该游泳者在某时刻的溺水概率,若某游泳者在连续10帧的溺水概率都高于0.7,则发出预警,并给出溺水者当前在游泳池的具体位置信息;反之,不进行预警。

本发明的有益效果是:由于采用免疫遗传算法进行游泳者的跟踪和检测,实现了对游泳者检测和跟踪的同时完成,节省了处理时间,有利于对溺水事件的尽早预警;由于采用lstm网络能够提取游泳者具有时序信息的特征,充分挖掘游泳过程中游泳者各个时刻的状态在时序间的关联,以便对可能发生的溺水事件及时预测并发出警告。

附图说明

图1是本发明的一种基于光学视觉分析的溺水预警方法流程图

图2是本发明的利用免疫遗传算法对游泳者进行检测和跟踪的方法流程图

图3是本发明的溺水判断网络结构示意图

具体实施方式

下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。

1、图像预处理

泳池的视频图像会因水波、光照等的影响,而存在噪声多、图像模糊、光照不均等现象,图像质量低,不利于后续的处理,所以先对每一帧视频图像进行一定的预处理以去除干扰,提高图像质量。具体步骤如下:

(1)采用中值滤波方法去除图像中的噪声

所谓噪声,指的是外界对图像质量干扰的总称。就泳池中视频图像而言,主要受到水波、光照等因素的影响,导致成像效果粗糙,图像真值被噪声覆盖,图像不够清晰。为此,本发明采用中值滤波方法去除图像中的噪声。

取大小为3×3的中值滤波器,按从走到右、从上到下的顺序,逐一处理图像中的每个3×3子区域,用子区域中像素值的中值作为该子区域中心像素点在结果图像中的像素值,得到中值滤波后的图像。

(2)采用直方图均衡化法进行图像增强

滤波虽然可以去除图像中的噪声,但因水对光存在反射、折射现象,导致图像中前景(游泳者)与背景(水、泳池壁等)的视觉差异小,不利于游泳者的检测和跟踪,为此,本发明采用直方图均衡化的方法进行图像增强,以增大前景和背景之间的差异,有利于进行游泳者检测。

直方图均衡化的具体步骤为:首先,统计图像各灰度级gi的像素数ni,i=1,…,l,l为图像的灰度级数;然后,按计算图像直方图各灰度级的频数,按计算累计分布函数,n为图像的像素总数;再利用公式g′j=round[(pmax-pmin)c(gi)+pmin]计算直方图均衡化后图像的各灰度级g′j,j=1,…,m,m为输出图像灰度级数,pmax和pmin分别表示原图像像素的最大值和最小值,round表示四舍五入的取整操作;根据gi到g′j的映射关系修改原始图像的灰度值,从而获得直方图均衡化处理后的输出图像。

(3)采用同态滤波方法去除光照不均

如果视频图像是由光的反射形成的,则光照射到物体上的照度不均匀,会导致较暗部分的细节不易看清,因此,采用同态滤波方法去除视频图像中光照不均的影响。

由光反射形成的视频图像的数学模型为:p(x,y)=r(x,y)×i(x,y),其中,(x,y)表示像素点在图像中的坐标,p(x,y)表示视频图像在点(x,y)处的像素值,r(x,y)表示点(x,y)处的像素值的反射分量,i(x,y)表示点(x,y)处的像素值的照度分量。

同态滤波的具体处理过程为:先取对数,即p'(x,y)=ln[p(x,y)],然后进行傅里叶变换,即实现由时域到频域的映射,其中,f(u,v)表示频域中与(x,y)处对应的(u,v)处的点的值,m表示图像的行数,n表示图像的列数,j是虚数单位;接着进行频域滤波,即f'(u,v)=h(u,v)f(u,v),f'(u,v)表示频域滤波后的结果,h(u,v)是频域滤波器,其定义为其中,γh、γl、c、d0为常量,本实施例中依次取值为0.5、4.7、2、10,floor表示向下取整操作;最后,进行反傅里叶变换,即并取指数,即f'(x,y)=ef(x,y)。f'(x,y)即为同态滤波后的结果。

采用如上方法对直方图均衡化后的图像进行处理,得到预处理后的图像。

对每一帧泳池视频序列图像分别进行如上的预处理,并以预处理后图像为基础,进行后续处理。

2.利用免疫遗传算法对游泳者进行检测和跟踪

通过对游泳者的检测可以得到其位置信息,可在溺水事件发生时帮助救生员快速找到溺水者;对游泳者的跟踪可以得到其运动轨迹及每个时刻的位置信息,保证后续对游泳者行为进行理解和分析的可行性。相较于游泳者检测和跟踪的分别进行,如果二者可以同时完成,则可以提高效率,且有利于更早的发现溺水迹象,为救生员的援救争取过多的时间。具体处理过程为:

(1)训练检测器。使用faster-rcnn(fasterregion-basedconvolutionalneuralnetwork,快速区域卷积神经网络)作为游泳者的检测器,并用已有的开源溺水预(报)警数据集(lu.wandtan.y.p,“acamera-basedsystemforearlydetectionofdrowningincidents,”inproceedings,internationalconferenceonimageprocessing,vol.3,pp.iii-iii,2002)作为训练数据,随机选出其中的80%作为训练集,剩下的20%作为测试集,通过随机梯度下降算法进行参数的学习,得到训练好的检测器。

其中,faster-rcnn记录在文献“ren.s,he.k,girshick.r,andsun.j,fasterr-cnn:towardsreal-timeobjectdetectionwithregionproposalnetworks,inadvancesinneuralinformationprocessingsystems,pp.91-99,2015”中。

(2)初始化。用训练好的检测器对第一帧视频图像进行检测,得到每个游泳者的位置检测框和检测框的置信度值,若一个位置附近出现多个检测框重叠的情况,通过非极大抑制方法进行处理,即取置信度最高的检测框作为该位置处的检测结果,此处一个位置附近的重叠检测框指的是两个检测框的重叠面积与其相并面积之比大于0.8。为对游泳者进行区分和编号,对每个游泳者赋予唯一的身份信息,即对游泳者/检测框进行身份编号,编号id从1开始计数,每个不同的游泳者/检测框在已有最大id编号的基础上加1作为其id编号。以每个检测框为一个种群,并以其对应的置信度值为其适应度值,得到该帧图像的所有种群。

(3)计算各种群在下一帧图像中的初始种群。设种群在当前帧图像中的位置中心点为o,种群宽度为w,高度为h,在下一帧图像中以位置o为中心、2.5w宽、2.5h高的范围内,随机产生15个宽度为w、高度为h的检测框,并将这些检测框输入到训练好的检测器,得到每个检测框的置信度值,以每个检测框为一个个体,以每个检测框的置信度值为其个体适应度值,得到一个初始种群,即种群对应在下一帧图像中的初始种群。

对当前帧图像中的所有种群均按上述过程进行处理,得到各种群对应在下一帧图像中的初始种群。

(4)疫苗筛选初始种群中的个体。对每个初始种群,以其在上一帧图像中对应的种群(即其父辈种群)的位置及身份信息(也就是其id编号)为疫苗,并以该父辈种群的适应度值作为疫苗的适应度值,将种群中每个个体的适应度值与疫苗的适应度值进行比较,若个体适应度值低于疫苗的适应度值,则删除该个体,反之,则保留该个体。若该种群中所有个体的适应值都低于疫苗的适应度值,则以疫苗所代表的其父辈种群的种群信息(位置、身份编号及适应度值)作为该种群在本帧的种群信息。

(5)判断种群是否收敛。对经步骤(4)筛选后的每个种群,判断其是否满足收敛标准,若不满足收敛标准,根据遗传算法原理,对其进行交叉、变异,生成下一代种群,并利用前面训练好的检测器计算种群中每个个体的适应度值,返回步骤(4)继续进行筛选,如果经过20次交叉、变异和筛选后该种群依然不满足收敛标准,则认为该种群在当前时刻已经消失,删除该种群;若满足收敛标准,则收敛状态下的种群即为最终的种群,种群中未被删除的个体的位置、身份及其对应的适应度值即为本帧图像中该种群的种群信息(有种群或已消失。当已消失时,无位置信息,只需记录该种群在本帧消失信息)。所述的收敛标准是指种群中只有一个个体,且其适应度值高于0.9,则认为留下的这个个体为该种群在当前时刻的后代。

当每个种群都按照上述过程进行处理至收敛或消失后,返回步骤(3),对下一帧图像的种群进行计算和处理,直至完成对所有帧图像的处理,得到每一帧图像的所有种群,包括其种群信息,即每个种群的位置、身份信息(id编号)和适应度值。其中,每个种群即表示该图像中的一个游泳者,种群的位置即为游泳者的位置,种群的身份信息即为游泳者的身份信息(id编号),种群的适应度值即为该位置处有游泳者的置信度值。

3.利用lstm每个游泳者的运动行为进行处理和分析,提取其具有时序信息的行为特征,通过softmax分类层得到是否溺水的判断。

为充分利用游泳者运动过程中的时序信息,尽早根据其溺水迹象前兆进行预警,尽可能的避免溺水事件的发生,或在溺水事件发生时,为救生员争取尽可能多的时间,拟利用网络,根据上一步骤得到的游泳者的轨迹信息(即在每一帧图像中的具体位置信息),直接得到游泳者是否溺水的判断。

所述的网络包括lstm和softmax层,其结构示意图如图2所示,lstm为单向lstm网络,每个lstm单元后连接一个softmax层。其中,lstm(longshort-termmemory,长短期记忆网络)为gers等提出的网络模型,记录在文献“gers.f.a,schmidhuber.j,andcummins.f,“learningtoforget:continualpredictionwithlstm,”pp.850-855,1999.”中,其用于提取视频中游泳者具有时序信息的运动行为特征,softmax层为hansen等提出的分类模型,记录在文献“hansen,l.k.,&salamon,p.(1990).neuralnetworkensembles.ieeetransactionsonpatternanalysisandmachineintelligence,12(10),993-1001.”中,其可根据lstm提取的特征对游泳者是否溺水作出判断。

具体过程如下:

(1)网络训练。从已有的开源溺水报警数据集中随机选出80%的数据为训练集,剩余20%数据为测试集,利用随机梯度下降算法进行网络参数的学习,得到训练好的网络;

(2)利用训练好的网络对游泳者的行为进行理解和分析,并做出是否溺水的判断。即将步骤3中得到的同一游泳者在每一帧的位置信息按时间先后顺序分别输入到同样先后顺序的lstm单元中。因lstm可以根据输入的具有时序信息的序列提取出含有序列语义信息的每个输入的特征(即每帧中游泳者位置处的特征),将这些特征按序逐个输入到其对应的softmax层,即可在softmax层综合分析每个具有时序信息的特征。所以,将每个lstm单元得到的特征输入到softmax层,即可得到该游泳者在该时刻的溺水概率,即其在该时刻溺水的可能性,若某游泳者在连续10帧的溺水概率都高于0.7,则判断其为可能溺水状态,发出预警,并给出溺水者当前在游泳池的具体位置信息,以提醒救生员进行援救;反之,不进行预警。

本发明方法所述的溺水预警系统,可以智能地对泳池中的游泳者进行视觉感知,并理解和分析其运动行为,对溺水状态进行预警,并快速准确的给出溺水者的位置信息,辅助救生员的援救工作。就游泳者的检测和跟踪而言,不同于已被广泛采用的背景消减法、时域差分法及光流法等,本发明所使用的免疫遗传算法,实现了对游泳者检测和跟踪的同时完成,节省了处理时间,有利于对溺水事件的尽早预警;就游泳者的行为分析而言,相较于模板匹配和状态空间等方法,lstm网络能提取游泳者具有时序信息的特征,可以充分挖掘游泳过程中游泳者各个时刻的状态在时序间的关联,以便对可能发生的溺水事件及时预测并发出警告。

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