基于卷积神经网络的跌倒检测方法与流程

文档序号:16215322发布日期:2018-12-08 08:17阅读:450来源:国知局
基于卷积神经网络的跌倒检测方法与流程
本发明涉及跌倒检测方法,特别是涉及基于卷积神经网络的跌倒检测方法。
背景技术
现在社会老龄化趋势日益加重,老年人身体机能的下降以及越来越普遍的独居现象使得跌倒成为老年人致伤的主要原因之一,所以对跌倒行为进行检测具有十分重要的意义。传统的基于计算机视觉的跌倒检测方法通常是手动提取特征,工程量巨大,并且泛化能力差,精度不高。与传统的特征提取法不同,卷积神经网络能够自动提取特征,训练后的模型具有几何不变性,能够克服因光照和拍摄角度的变化而产生的问题。传统技术存在以下技术问题:当前跌倒检测系统主要分为两类:第一类是基于传感器的穿戴式检测系统;另一类是基于视频的检测系统。目前,基于三维加速度或者躯干角速度的穿戴式识别系统研究已经较为成熟。然而,穿戴式装置一般需要佩戴于颈部或腰部,长时间佩戴会使用户感到不适。而基于视觉的检测系统则是通过一个或几个摄像机捕捉目标的运动,通过特定的图像处理算法确定发生跌倒时的图像特征,从而将跌倒和日常活动区分开来。目前常用的基于视觉的跌倒检测算法主要是阈值法和智能算法。阈值法通常是对人体的头部位置或者重心进行检测。diraco通过判断人体中心低于指定高度并维持超过4s时就认为发生跌倒。rougier等人通过定位头部位置,再通过粒子滤波器估算下一帧图像中头部位置,计算水平方向和垂直方向的速度,并与阈值进行比较的方式确定是否发生跌倒。这些方法实现简单,但是精度容易受到环境等外界因素的影响。而基于机器学习的方法主要是先对图像进行人物提取,然后再手动提取特征,将获得的特征输入模型从而实现对跌倒行为的检测识别。这种方法需要人工提取特征,工程量巨大,且大部分只停留在二分类问题上,考虑到未来对于智能家居的要求变高,对于人体的各种姿势进行识别也成了不可或缺的部分。技术实现要素:基于此,有必要针对上述技术问题,提供一种基于卷积神经网络的跌倒检测方法,将基于卷积神经网络的分类方法运用到跌倒检测方法中,同时,为了提高系统的精度,减小运算的复杂度,利用一种改进的前景检测方法来提取出复杂背景下的人物,再将处理后的图像放入卷积神经网络中进行模型训练。一种基于卷积神经网络的跌倒检测方法,包括:训练卷积神经网络,所述训练卷积神经网络具体包括:对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;在imagenet数据集上先对resnet网络进行预训练,从而得到预训练模型;将步骤“对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;”处理后的图片放入所述预训练模型中进行模型训练,得到模型的参数;以及将测试集输入到经过训练后的模型,用测试集对模型的精度进行检测;利用训练的后的卷积神经网络检测图片;其中,所述前景提取的方法具体包括:利用背景差分法处理图像;利用混合高斯模型处理图像;对利用背景差分法处理图像后的结果和利用混合高斯模型处理后图像的结果求与。上述基于卷积神经网络的跌倒检测方法,将基于卷积神经网络的分类方法运用到跌倒检测方法中,同时,为了提高系统的精度,减小运算的复杂度,利用一种改进的前景检测方法来提取出复杂背景下的人物,再将处理后的图像放入卷积神经网络中进行模型训练。在另外的一个实施例中,在步骤“对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;”中,获取得到的每一帧图像是通过读取视频文件得到的。在另外的一个实施例中,在步骤“利用训练的后的卷积神经网络检测图片”之后,所述训练卷积神经网络具体还包括:显示出每一帧图片的检测效果图,并实现模型的卷积核可视化。在另外的一个实施例中,步骤“显示出每一帧图片的检测效果图,并实现模型的卷积核可视化”中在matlab平台上显示出每一帧图片的检测效果图,并实现模型的卷积核可视化。在另外的一个实施例中,步骤“利用背景差分法处理图像;”具体包括:取前几帧图像的平均值,将其用作初始背景图像bt;前帧图像与背景图像的灰度进行减运算,并取其绝对值为nt(x,y)公式即为nt(x,y)=|it(x,y)-bt(x,y)|对当前帧的像素(x,y),若有|it(x,y)-bt(x,y)|≥t,则该像素点为前景点,即更新当前的图像帧为;用当前帧图像更新背景图像。在另外的一个实施例中,步骤“利用混合高斯模型处理图像;”具体包括:使用高斯混合模型对背景建立模型时,序列图像的每个像素的像素值都可以用k个高斯模型模拟,因此在时刻t,某个像素值的概率密度函数可以表示为:其中,wi,t表示高斯模型的权重,而高斯模型的概率密度函数表示为:接着,将k个高斯混合模型按照权重除以标准差的商的大小排序,然后选择先前b个高斯模型用于区分判别,其中b的取值表示为:将新的图像帧中的每个像素分别放到排好序的k个高斯模型当中进行判断,判断条件为:||xt-μt||≤β∑1/2在前面的b个高斯模型当中,如果其中有一个高斯模型中满足上述条件,那么这个像素就判定为背景,如果在b个高斯模型中上述条件都不满足时,则判定这个像素属于前景。对于每个高斯模型,假设上述条件不成立,就要减小这一个高斯模型的权重,如果上述的条件成立,就要更新这个高斯混合模型,具体操作的方法如下公式所示:wi,t=(1-λ)wi,t-1+λbmtμi,t=(1-α)μi,t-1+αxi,t∑i,t=(1-α)∑i,t-1+α(xi,t-μi,t)(xi,t-μi,t)tα=λ/wi,t其中,像素为前景则bm=0,否则bm=1,最后用一个初始的高斯模型来代替权值最小的那个高斯模型,阈值t,学习率λ,参数β都是事先指定的常数。在另外的一个实施例中,步骤“将测试集输入到经过训练后的模型,用测试集对模型的精度进行检测;”中,所述测试集来自urfalldetectiondataset。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。附图说明图1为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法的流程示意图。图2为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的残差学习构建模块示意图。图3为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的损失值函数曲线示意图。图4为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中模型的测试流程图。图5为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的背景差分法的效果示意图。图6为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的高斯混合环境模型的效果示意图。图7为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的改进的前景检测方法的效果示意图。图8为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的前景提取的rgb图。图9为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的卷积核可视化。图10为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的第一层特征图。图11为本申请实施例提供的一种基于卷积神经网络的跌倒检测方法中的第二层特征图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参阅图1,一种基于卷积神经网络的跌倒检测方法,包括:训练卷积神经网络,所述训练卷积神经网络具体包括:对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;在imagenet数据集上先对resnet网络进行预训练,从而得到预训练模型;将步骤“对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;”处理后的图片放入所述预训练模型中进行模型训练,得到模型的参数;以及将测试集输入到经过训练后的模型,用测试集对模型的精度进行检测;利用训练的后的卷积神经网络检测图片;其中,所述前景提取的方法具体包括:利用背景差分法处理图像;利用混合高斯模型处理图像;对利用背景差分法处理图像后的结果和利用混合高斯模型处理后图像的结果求与。上述基于卷积神经网络的跌倒检测方法,将基于卷积神经网络的分类方法运用到跌倒检测方法中,同时,为了提高系统的精度,减小运算的复杂度,利用一种改进的前景检测方法来提取出复杂背景下的人物,再将处理后的图像放入卷积神经网络中进行模型训练。在另外的一个实施例中,在步骤“对获取得到的每一帧图像进行预处理,预处理的工作包括依次为前景提取和归一化、白化操作;”中,获取得到的每一帧图像是通过读取视频文件得到的。在另外的一个实施例中,在步骤“利用训练的后的卷积神经网络检测图片”之后,所述训练卷积神经网络具体还包括:显示出每一帧图片的检测效果图,并实现模型的卷积核可视化。在另外的一个实施例中,步骤“显示出每一帧图片的检测效果图,并实现模型的卷积核可视化”中在matlab平台上显示出每一帧图片的检测效果图,并实现模型的卷积核可视化。在另外的一个实施例中,步骤“利用背景差分法处理图像;”具体包括:取前几帧图像的平均值,将其用作初始背景图像bt;前帧图像与背景图像的灰度进行减运算,并取其绝对值为nt(x,y)公式即为nt(x,y)=|it(x,y)-bt(x,y)|对当前帧的像素(x,y),若有|it(x,y)-bt(x,y)|≥t,则该像素点为前景点,即更新当前的图像帧为;用当前帧图像更新背景图像。在另外的一个实施例中,步骤“利用混合高斯模型处理图像;”具体包括:使用高斯混合模型对背景建立模型时,序列图像的每个像素的像素值都可以用k个高斯模型模拟,因此在时刻t,某个像素值的概率密度函数可以表示为:其中,wi,t表示高斯模型的权重,而高斯模型的概率密度函数表示为:接着,将k个高斯混合模型按照权重除以标准差的商的大小排序,然后选择先前b个高斯模型用于区分判别,其中b的取值表示为:将新的图像帧中的每个像素分别放到排好序的k个高斯模型当中进行判断,判断条件为:||xt-μt||≤β∑1/2在前面的b个高斯模型当中,如果其中有一个高斯模型中满足上述条件,那么这个像素就判定为背景,如果在b个高斯模型中上述条件都不满足时,则判定这个像素属于前景。对于每个高斯模型,假设上述条件不成立,就要减小这一个高斯模型的权重,如果上述的条件成立,就要更新这个高斯混合模型,具体操作的方法如下公式所示:wi,t=(1-λ)wi,t-1+λbmtμi,t=(1-α)μi,t-1+αxi,t∑i,t=(1-α)∑i,t-1+α(xi,t-μi,t)(xi,t-μi,t)tα=λ/wi,t其中,像素为前景则bm=0,否则bm=1,最后用一个初始的高斯模型来代替权值最小的那个高斯模型,阈值t,学习率λ,参数β都是事先指定的常数。在另外的一个实施例中,步骤“将测试集输入到经过训练后的模型,用测试集对模型的精度进行检测;”中,所述测试集来自urfalldetectiondataset。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。下面给出本发明的一个具体应用场景:1.图像预处理在具体的实施例中,使用改进的前景检测方法来提取人物前景。目前前景提取的方法主要有帧间差分法、背景差分法、光流法、混合高斯模型。1)背景差分法其中,若设it,bt分别为当前的图像帧与背景帧,t为前景检测的灰度阈值,背景差分法的算法步骤如下:1)取前几帧图像的平均值,将其用作初始背景图像bt;2)前帧图像与背景图像的灰度进行减运算,并取其绝对值为nt(x,y);公式即为nt(x,y)=|it(x,y)-bt(x,y)|3)对当前帧的像素(x,y),若有|it(x,y)-bt(x,y)|≥t,则该像素点为前景点,即更新当前的图像帧为4)用当前帧图像更新背景图像。2)混合高斯模型混合高斯模型是由stauffer等人提出的一种基于对背景建模的自适应混合高斯背景提取方法。当使用高斯混合模型对背景建立模型时,序列图像的每个像素的像素值都可以用k个高斯模型模拟,因此在时刻t,某个像素值的概率密度函数可以表示为:其中,wi,t表示高斯模型的权重,而高斯模型的概率密度函数可以表示为:接着,将k个高斯混合模型按照权重除以标准差的商的大小排序,然后选择先前b个高斯模型用于区分判别,其中b的取值表示为:将新的图像帧中的每个像素分别放到排好序的k个高斯模型当中进行判断,判断条件为:||xt-μt||≤β∑1/2在前面的b个高斯模型当中,如果其中有一个高斯模型中满足上述条件,那么这个像素就判定为背景,如果在b个高斯模型中上述条件都不满足时,则判定这个像素属于前景。对于每个高斯模型,假设上述条件不成立,就要减小这一个高斯模型的权重,如果上述的条件成立,就要更新这个高斯混合模型,具体操作的方法如下公式所示:wi,t=(1-λ)wi,t-1+λbmtμi,t=(1-α)μi,t-1+αxi,t∑i,t=(1-α)∑i,t-1+α(xi,t-μi,t)(xi,t-μi,t)tα=λ/wi,t其中,像素为前景则bm=0,否则bm=1。最后用一个初始的高斯模型来代替权值最小的那个高斯模型,阈值t,学习率λ,参数β都是事先指定的常数。3)改进的前景检测方法背景差分法虽然方法简单,计算量小,但是会产生“鬼影”现象。而混合高斯模型混合高斯法不仅对背景建模,同时也对前景建模,因此对全局亮度的突然变化非常敏感。为了解决单纯的使用一种方法所带来的局限性,本发明提出一种改进前景检测方法,即将两者的处理效果进行“与”操作能够很好的解决“鬼影”和光照敏感的问题。对于图片矩阵的像素点(x,y)假设背景差分法的输出为d(x,y),混合高斯法的输出g(x,y),改进的前景检测方法的输出为r(x,y),则再用一些二值化处理图片的方式,就能得到清晰的目标人物的二值化图像。经过前景提取后,再对图像进行开闭操作以及最大连通域的选择从而大致确定出人物前景的位置,截取对应的位置得到相应的人物前景的rgb图像。2.模型的选择采用2015年的冠军模型resnet作为本发明的网络模型。resnet网络能够有效的解决随着网络深度增加,算法的准确度趋于饱和并快速下降的问题。同时,它的参数量比vggnet还低,效果非常显著。在大大的提升模型的准确率的同时,训练速度也得到了很大的提高。这主要归功于它所使用的残差模块的构建思想,如图2所示.下表为resnet-34和vgg-16在imagenet2012的对比网络resnet-34vgg-16计算量36亿flops153亿flops精度top-10.7330.715resnet的网络架构如下表所示:预训练模型在正式用预处理后的图像进行模型训练之前,先用imagenet对卷积神经网络的参数进行预训练。bengio教授等人指出采用对模型进行随机初始化的方法往往使得模型进入到局部最小值的概率很高,而采用预训练的方式能够使得模型的效果更好。在实际操作中,预训练模型的作用就是将网络的参数初始化为imagenet在网络上训练出的模型参数。但是,因为imagenet是分为1000类,而本发明只需要将图像分为两类,所以需要对全连接层进行修改,将num_output的值由原本的1000改成2,并修改全连接层的名字。模型训练网络的训练过程基于caffe平台完成,caffe按照神经网络的一个假设来构建的:其中用层的形式来表示所有的计算,层的效果就是根据输入的数据,从而输出经过计算后的结果。就卷积而言,如果输入的是一幅图像,再与这层的参数进行卷积运算操作,最后再输出卷积的结果。每一层都需要两种运算:1)前向通路,从输入数据来计算输出数据;2)反向通路,依据上面的梯度值从而计算出相对于输入的梯度。当每一层都完成了这两个函数后,就能够将许多层都连接成一个网络,网络的功能就是根据输入数据(图像、语音或者其他信息形式)来计算出期望的输出。在训练的过程中,能够根据已知的标签结果来计算输出模型的损失函数以及梯度,而后再根据梯度值进一步更新网络的参数。在对模型进行训练之前,需要先封装图像的数据库即图像和对应的label,即将图像集封装成为数据库的形式:lmdb与leveldb。具体来说就是调用convert_imageset命令来转换数据格式。resnet34模型的搭建是通过定义trian_val.prototxt实现的,它定义了resnet具体的网络结构。该文件的组织构架是类结构体的形式。每层layer结构体当中都包括许多的参数。比如说,bottom参数表示底层输入,top参数表示输出到下一层的结果,param参数表示这一层的参数,其中包括num_output表示滤波器的个数,kernel_size表示滤波器的大小,stride表示步长。resnet的训练模型的方式是通过solver.prototxt这个文件进行编写的,这个文件当中的每行都表示一个训练参数。其中,一些常见的训练参数,像net参数用来指定使用的模型,而max_iter参数表示设置的迭达的最大次数,那么snapshot_prefix参数则表示模型保存时它的前缀名称等。同时,也可以在matlab平台上绘制模型训练时的损失函数曲线。每迭代一次就绘制一次损失值,每迭代100次就绘制一次精度。如图3所示。模型的测试利用训练好的模型对单张图片进行分类并输出分类的结果,这一步骤同样在matlab上实现。具体流程参加图4。在获取前向传播结果时,只需要调用matlab自带的函数net.forward即可获得图像在每一个标签下的概率。数据在每个卷积层都是以三维形式存在的。可以将其看成由很多个二维图片叠在一起,其中每一个称为一个特征图(featuremap)。如果输入层是灰度图片,那么就只有一个featuremap;如果输入层是彩色图片,一般就会是3个特征图(红绿蓝)。层与层之间有很多个卷积核(kernel),上一层的每个featuremap跟每个卷积核做卷积运算,都会产生下一层的一个特征图。1.先用改进后的前景检测法来将人物提取出来,其中背景差分法和混合高斯模型提取前景的效果图如图5和图6所示:运用改进的前景检测法,即将背景差分法和混合高斯模型两者的结果相“与”后的效果图如图7所示。然后,再进行简单的二值化处理和最大连通域的提取确定人物前景的范围,从而在原图上截取得到人物对应的rgb图像2.在公开的数据集urfalldetectiondataset上进行模型训练和性能的测试。其中训练集有7381张图片,测试集有1326张图片。将数据集中所有的图片都先进行前景提取的操作,获得如图8所示的图片后放入网络中进行模型的训练。3.在imagenet数据集上先对本发明使用的resnet网络进行预训练,从而得到预训练模型。将训练集进行预处理(前景检测、白化、归一化)后的图片输入到网络中进行训练。4.并用测试集对训练好的模型进行精度测试,每迭代一次测试一次损失值,每迭代100次测试一次精度,最终收敛时结果精度为96.7%5.借助matlab平台测试单独一张图片的输出,并实现卷积核和特征图的可视化。其中卷积核的可视化图片如图9所示调用matlab自带函数feature_map实现特征图可视化,如图10和图11所示。从图10和图11可以看出,底层的卷积核主要用来提取人物的轮廓等基础的特征。本发明的训练集和测试集均来自于urfalldetectiondataset,将数据集在caffe平台上进行模型的训练以及精度的测试,并利用cudnn进行加速,最终显示精度达到96.7%,时间复杂度为49ms。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1