一种基于视频的跌倒检测方法与流程

文档序号:11200051阅读:2357来源:国知局
一种基于视频的跌倒检测方法与流程

本发明涉及图像识别,特别是涉及一种基于视频的跌倒检测方法。



背景技术:

随着经济的迅猛发展,科技的日益进步,先进医疗技术的应用,公共卫生水平提高,人均寿命延长。另一方面育儿费用提高、生产生活节奏的加快、生活压力加大,造成生育率不断下降,从而导致我国老龄化问题日益严重。

跌倒已经成为老年人生活中最多也最严重的安全问题之一,室内的跌倒率远高于室外,世界卫生组织报告指出,全球每年有30余万人死于跌倒,其中一半是60岁以上老人。跌倒是我国65岁以上老年人伤害死亡的首位原因。根据另外一项数据统计,老年人跌倒之后造成的损伤不仅仅是由于跌倒过程中造成的,更多的方面还在于跌倒之后没有进行及时的救助产生的。对于独居老人,一旦跌倒不能及时发现的话,很可能会造成严重的后果。

目前,随着摄像头制造成本的下降和互联网的普及,网络摄像头已经逐渐在普通民众家里得到使用,用户可以通过客户端在远程实时观看家里发生的一切情况,对于需要工作不能全天照看老人的子女,使用网络摄像头可以实时远程监护独居的老人,如果发现突发情况可以得到相对及时的处理,但是这种方法的缺点是需要频繁的查看影像,这样需要耗费大量的精力,不能全身心的投入工作,如果老人跌倒可能不能及时发现,往往会造成非常严重的后果,所以人工监控的方法效率低甚至耽误处理时间。

近几年来,深度学习在图像识别、目标检测、语义分割等领域取得了突破性的进展,深度学习与传统模式识别方法的最大不同在于它是从大数据中自动学习特征,而非采用手工设计的特征。好的特征可以极大提高模式识别系统的性能。

在目前研究领域,可穿戴式传感器检测跌倒的发明成果较多。但是需要长时间佩戴设备,这样会给老年人带来极大的不便。基于环境布设传感器进行跌倒检测,可以不适用穿戴式设备,减小了老人的负担,同时还可以取得比较好的检测效果。但是受外界干扰比较大,容易发生误报的情况,给监护者带来较大的麻烦。使用kinect摄像机采集深度图像进行跌倒检测的方法具有很高的精确度和很好的鲁棒性。但是kinect的价格是网络摄像头的四倍以上,而且对数据处理的资源要求较高,对于跌倒这一低概率时间来说,成本太高。因此研制一款低成本,且准确率较高的跌倒检测方法是十分必要的。



技术实现要素:

本发明的主要目的在于针对现有技术的不足,提供一种基于视频的跌倒检测方法,能够准确、便捷地监护独居老人。

为实现上述目的,本发明采用以下技术方案:

一种基于视频的跌倒检测方法,包括以下步骤:

s1、对视频图像进行处理,识别和定位图像中的人体区域;

s2、针对所述人体区域进行基于级联回归网络的关节点提取,得到一组人体关节点,其中第一级网络后级联了多个相同结构的回归网络,用来精调人体关节点的坐标位置;

s3、将每个人体关节点的运动向量作为人体运动的特征,通过分析关节点的变化,来动态分析人体是否发生跌倒。

进一步地:

步骤s1中,采用高斯背景建模方法,对静态的背景进行建模,并提取运动的前景区域,对该区域通过深度卷积神经网络进行识别,判断是否为人体区域。

步骤s1包括:

对背景进行建模,对视频的每一帧图像用高斯混合模型进行模拟;

建好模型以后,对视频的每一帧图像的每个像素进行匹配,若是匹配则是背景,否则为前景;

提取到运动前景区域后,生成的图像为二值图像,前景区域像素值为255,背景区域像素值为0;

使用连通区域标记法提取前景区域;

筛选提取到的区域,计算所有提取到的区域的面积,与设定的面积的阈值比较,将不符合的剔除出候选集;

计算区域的长宽比,与设定的长宽比阈值比较,将不符合的剔除出候选集;

将提取的到候选集区域映射到原图像中,从而生成矩形的候选框。

每一级所述深度卷积神经网络由5层结构组成,每一层都包括可学习的参数,该网络的前3层为特征提取层,每个特征提取层都包含了卷积层、激活层和池化层,其中激活层优选使用relu函数;该网络的最后两层为全连接层,并添加有softmax函数,用来将网络的输出转化为类别的概率,如式(1)所示;

优选地,网络的训练采用negitivelog-likelihood作为损失函数,如式(2)所示;

yi=softmax(zi)(1)

其中,zi为网络最后全连接层的输出向量,对应第i个类别;yi输出类别的概率值;ti是数据第i个类别的标签;优选地,使用随机梯度下降法优化目标函数j。

步骤s2中,将关节点相对于整幅图像的关节点坐标标准化为相对于人体包含框的坐标,将其数值标准化在0到1之间;其中定义人体包含框的中心坐标为其中,为2维坐标点向量,同时定义包含框的宽度和高度分别为bw和bh,人体包含框定义为b=(bc,bw,bh);根据人体包含框b的中心坐标和尺寸使用式(3)将关节点坐标进行并准化;

对于关节点相对于人体包含框的坐标向量k和关节点相对于整幅图像的坐标向量k*,向量表示第i个关节点坐标(x,y),其中i∈{1,…,k},ki*为相对于整幅图像的第i个关节点坐标;由此可以得到标准化后的人体关节点向量n(k*;b)=(…,n(ki*;b)t,…)t

通过求解模型k=ψ(x;θ),来估计人体关节点,其中,为2k维坐标点向量,x为裁剪后的输入图像,θ表示整个模型的参数;根据式(4)预测得到最终相对于整幅图像的坐标向量

n-1为相对于式(3)的相反过程。

使用多层卷积神经网络拟合复杂的非线性模型ψ(·);其中每一级网络由7层结构组成,该网络的前5层为特征提取层,每个特征提取层均包括卷积层、激活层和池化层,优选地,激活函数为relu,该网络的后两层为两个全连接层,在网络中起到将前面的卷积层提取到的“分布式特征表示”映射到样本标记空间的作用;优选地,全连接层使用的激活函数与卷积层相同,为relu。

在网络训练中,该模型最后一个全连接层添加的损失函数为欧式距离损失函数如式(5),通过网络训练改变可学习参数,来最小化网络输出的预测关节点坐标向量与真实关节点坐标向量的欧氏距离;

其中,ψ(·)为网络模型,θ为网络模型的参数,x为从原数据集d中的图像x*中裁剪出的包含人体的图像,在训练过程中对所有坐标进行标准化,即k=n(k*),标准化后的数据集为dn,网络模型的输出与关节点坐标向量k维度相同,为2k维。

级联回归网络共为s级,记为s∈{1,2,…,s};为第i个关节点的第s级精调网络的网络参数,为第i个关节点通过第s-1级精调网络精调后的关节点坐标为中心,裁剪出的矩形框,每一级的模型表示为定义以关节点ki为中心的矩形框bi(k:σ)=(ki,σdiam(k),σdiam(k)),其中,diam(k)为人体躯干的长度,σ为控制矩形框尺寸的比例系数;

使用包含整个人体的矩形框b0作为初始化网络的输入,即输入为x0,得到粗略估计的人体关节点向量如下式所示:

其中,n-1(·)将相对于人体矩形框的归一化坐标转换为相对于整幅图像的坐标,为网络预测出的关节点坐标,x0表示初始化网络的输入,即第0级网络输入,θ0为初始化网络的参数,即第0级网络的参数;

在接下来的第s级第i个关节点对应的网络中,网络输入为网络输出为其中表示第s级第i个关节点对应的网络预测出的关节点坐标,该坐标点是相对于整幅图像的,表示为网络输出为坐标点的偏差值;第s-1级得到的关节点坐标直接计算出的值,计算方法如下式所示:

在步骤s3中,分析该模型的8个关节点的变化,定义每个关节点的运动向量为ωj={ψj,θj},其中,ψj为第j个关节点变化向量的模值,θj为第j个关节点变化向量的方向,θ∈(-π,π);

将所有关节点的运动向量联合起来,组成一个反应身体运动状态的特征ω,每个特征中包含n帧信息,ω表示如下:

其中为身体8个关节点第n帧的运动特征向量;

提取跌倒视频片段的运动状态的特征,作为跌倒的样本;再提取正常活动状态下的视频片段的运动状态的特征,作为正常行为的样本;使用上述数据训练adaboost分类器,并使用该分类器识别人体是否跌倒。

本发明的有益效果:

本发明的跌倒检测方法可以快速准确的检测识别出人体,使用深度学习的方法提取人体关节点,通过分析关节点的变化来检测人体的运动状态,判断是否发生跌倒。本发明的跌倒检测方法能够用于准确、便捷地监护独居老人,满足监护人对独居老人的监护需求。本发明能够使在家庭中普及的网络摄像头变得智能化,能够实时准确地监护独居老人,识别跟踪老人的活动,对出现的意外跌倒情况进行及时地报警。基于本发明的方法,可以将可能出现的跌倒情况及时地发送至监护人的客户端,从而进行及时的救治。

附图说明

图1为本发明基于视频的跌倒检测方法的流程图;

图2为本发明实施例中的人体检测算法流程图;

图3为本发明实施例中的人体识别网络结构图;

图4为本发明实施例中的第1级人体关节点估计模型网络结构;

图5为本发明实施例中的第s级人体关节点估计模型网络结构。

具体实施方式

以下对本发明的实施方式作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

参阅图1,在一种实施例中,基于视频的跌倒检测方法包括:人体检测、基于级联回归网络的关节点提取、基于关节点的跌倒检测。

人体检测是在视频图像中,识别定位到人体区域,以便于后续关节点定位。本发明实施例中选择灵明度高、鲁棒性好、计算量小的高斯背景建模方法,对静态的背景进行建模,并提取运动的前景区域,对该区域通过卷积神经网络进行识别,判断是否为人体。

基于级联回归网络的关节点提取中,将关节点检测问题视为回归问题,但是由于图像尺寸的限制,仅仅使用一个网络得到的定位点精度不高,所以在第一级网络后级联了多个相同结构的回归网络,用来精调坐标点的位置。这样就可以得到一组人体关节点,组成了人体骨架模型。

在基于人体骨架模型关节点的跌倒检测过程中,通过分析该模型的关节点的变化,来动态分析人体是否发生跌倒,将每个关节点的运动向量作为人体运动的特征。优选地,使用adaboost分类器进行分类,判断是否发生跌倒。

1.人体检测

在检测人体跌倒的过程中,首要的任务就是在视频画面中检测到人体所处的区域。本发明实施例采用经典高斯混合模型背景建模与前景检测检测运动区域。再采用深度神经网络对运动区域进行分类,识别是否为人体。主要步骤如图2所示。高斯混合模型背景建模与前景检测的主要步骤是把图像中的每个像素点的值用k个高斯分布叠加进行表示。将像素点的值x视为随机变量。首先,对背景进行建模,对视频的每一帧图像用高斯混合模型进行模拟。建好模型以后,对视频的每一帧图像的每个像素进行匹配,若是匹配则是背景,否则为前景。提取到运动前景区域后,生成的图像为二值图像,前景区域像素值为255,背景区域像素值为0。使用连通区域标记法提取前景区域。筛选提取到的区域,计算所有提取到的团的面积,与设定的面积的阈值比较,不符合的剔除候选集。计算长宽比,不符合阈值的剔除候选集。将提取的到候选集区域映射到原图像中,从而生成矩形的候选框。

使用卷积神经网络对人体进行分类。如图3所示,该网络由5层结构组成,每一层都包括可学习的参数。该网络的输入是尺寸为64×64的rgb图像。前3层为特征提取层,每个特征提取层都包含了卷积层、激活层和池化层。激活层选择使用relu函数,主要是为了给网络引入非线性特征,同时还可以减小计算量,降低梯度消失,提高了网络训练的速度。池化层选择为最大池化方式,可以保留图像更多的纹理信息。最后两层为全连接层,并添加了softmax函数用来将网络的输出转化为类别的概率,如式(1)所示。具体网络参数如表1所示。

在训练中,为了优化网络参数,这里选择negitivelog-likelihood作为损失函数,如式(2)所示:

yi=softmax(zi)(1)

其中,zi为网络最后全连接层的输出向量,对应第i个类别。yi输出类别的概率值。ti是数据第i个类别的标签。我们使用随机梯度下降法优化目标函数minj。

2.基于级联回归网络的关节点提取

关节点坐标预处理,为了方便在下文中表示关节点坐标,我们将k个关节点表示为向量其中i∈{1,…,k},ki为其中第i个关节点坐标(x,y)。

关节点坐标是相对于整幅图像的坐标,我们将其标准化为相对于人体包含框的坐标,将其数值标准化在0到1之间,这样有利于提高预测坐标的精度,并且有助于使用反向传播方法训练网络,防止反向传播过大的误差值导致网络收敛于局部点,可以提高网络训练的成功率。首先定义人体包含框的表示方法,定义包含框的中心坐标为同时定义包含框的宽度和高度分别为bw和bh,那么包含框可以定义为b=(bc,bw,bh)。根据包含框b的中心坐标和尺寸可以使用式(3)将关节点坐标进行并准化。

其中,k为相对于人体包含框的坐标向量,k*为相对于整幅图像的坐标向量,由此可以得到标准化后的人体关节点向量n(k*;b)=(…,n(ki*;b)t,…)t

在估计人体关节点的过程中,我们将其视为线性回归问题。我们将整个过程定义为求解模型k=ψ(x;θ),的过程,其中x为裁剪后的输入图像,k为标准化后的关节点坐标向量,θ表示整个模型的参数。根据如下式我们可以预测得到最终相对于整幅图像的坐标向量

n-1为相对于式(3)的相反过程。

在过去传统的人体关节点预测的方法中,常常使用人工设计的较为复杂的检测器,检测效果并不理想。在此处我们将模型ψ(·)视为一个复杂的非线性模型,并使用多层卷积神经网络拟合这个模型。因此我们设计了一个深层的卷积神经网络。使用预处理后的固定尺寸的整幅图像作为网络的输入,其中输入图像为3通道的彩色图像。该网络结构由7层结构组成。前5层为特征提取层,每个特征提取层都包括卷积层、激活层和池化层。在池化过程中,最大化池化方式相对于其他方式可以保留图像的更多纹理信息,所以池化方式选择为最大池化。激活函数选择为relu,选择该激活函数同时还可以减小计算量,降低梯度发散,提高网络训练的速度。最后两层结构为两个全连接层,在网络中起到将前面卷积层提取到的“分布式特征表示”映射到样本标记空间的作用,全连接层使用的激活函数与卷积层相同,为relu。最后的那个全连接层,维度为2k,可以直接输出维度为2k的人体关节点坐标向量。网络的结构如图4所示,具体参数如表2所示。

在模型训练中,和分类网络不同,该模型最后一个全连接层添加的损失函数为欧式距离损失函数,也就是均方根误差(mse)。网络训练的目标是改变可学习参数以最小化网络输出的预测关节点坐标向量与真实关节点坐标向量的欧氏距离。损失函数如式(5)所示。

其中,ψ(·)为网络模型,θ为网络模型的参数,x为从原数据集d中的图像x*中裁剪出的包含人体的图像,在训练过程中对所有坐标进行标准化,即k=n(k*),标准化后的数据集为dn,网络模型的输出与关节点坐标向量k维度相同,为2k维。

在第一级网络粗略的定位到关节点位置后,增加下一级网络,输入图像以上一级网络估计到的关节点为中心进行裁剪,图像尺寸同样为224×224,可以使网络捕捉到更多的人体肢体轮廓的信息,提高定位的精度。通过多级网络的级联,最终可以得到更精确的关节点坐标。

为了保留上一级定位坐标的信息,我们使下一级回归网络输出为真实坐标与上一级网络预测出的坐标值的差值,而不是直接输出关节坐标点。每一级使用的网络参数与表1表示的网络除了最后一层全连接层输出不同外,其他结构基本一致。

定义级联网络共为s级,记为s∈{1,2,…,s}。定义每一级网络的可学习参数为θs,为第i个关节点通过第s-1级精调网络精调后的关节点坐标为中心,裁剪出的矩形框。因此每一级的模型可表示为即为了精调上一级预测出的第i个关节点ki的坐标,我们定义以关节点ki为中心的矩形框bi(k:σ)=(ki,σdiam(k),σdiam(k)),其中,diam(k)为人体躯干的长度,本文定义为右肩膀到左侧臀部的距离,该长度依赖于上一级网络估计出的关节点向量,σ为控制矩形框尺寸的比例系数。具体步骤如下:

首先,我们使用包含整个人体的矩形框b0作为初始化网络的输入,即输入为x0,这样可以得到粗略估计的人体关节点向量如下式所示。

其中,n-1(·)将相对于人体矩形框的归一化坐标转换为相对于整幅图像的]坐标。注意,为网络预测出的关节点坐标,而k*为数据集中标注好的关节点坐标。

在接下来的s级网络中,每个关节点i∈{1,…,k}都有一个网络进行精调其位置结构如图所示。

网络输入为网络输出为网络结构类似第1级的网络结构,如图5所示。

第s级估计的第i个人体关节点计算方法如下式所示。

同时我们也可以得到新的矩形框

在跌倒检测中,我们仅仅通过判断头顶、颈部、左右臀部、左右膝盖和左右脚踝处共8个关节点即可准确的判断人体是否跌倒。所以为了减小计算量,在第一级初始化所有16个关键点的粗略位置后,仅仅对上述8个关节点使用级联网络进行精调。我们可以从图像中得到八个人体关节点,即可将其组合为一个人体的骨架模型。

3.跌倒检测

我们通过分析该模型的8个关节点的变化,来动态分析人体是否发生跌倒,将每个关节点的运动向量作为人体运动的特征。定义运动向量为ωj={ψj,θj}。其中,ψj为第j个关节点变化向量的模值,θj为第j个关节点变化向量的方向,θ∈(-π,π)。那么可以得到n帧图像中,人体的连续运动状态。因此,定义运动特征为:

其中,为人体的第j个关节点在第i帧图像中的坐标相对于第i-1帧图像中关节点坐标的变化向量。表示身体关节点位置变化的幅度和变化的方向。在视频采集处理过程中,我们选择的频率为每秒10帧,这样,不仅可以反映出关节点变化的快慢程度,同时通过多个关节点变化向量的组合也可以反映出身体运动的趋势。因此,我们将人体骨架模型中所有关节点的运动向量联合起来,组成一个反应身体运动状态的特征ω,假设每个特征中包含n帧信息,ω表示如下。

我们从196个跌倒视频中剪切了196个跌倒片段,每一跌倒片段包含在10帧图像中,提取其关节点运动数据,提取其运动特征,作为跌倒的样本。再提取200个左右正常活动状态下的视频片段,提取其运动特征,作为正常行为的样本。使用上述数据训练adaboost分类器。使用该分类器识别人体是否跌倒。

系统搭建

视频采集使用opencv的videocapture接口驱动摄像头,每秒从视频流里提取10帧分辨率为640*480图像,并进行压缩。与服务器端建立一个tcp连接,持续的将压缩后的图像传输给服务器端。此时服务器端作为一个数据中转站,将接收的数据转发给客户端。我们的图像处理服务器在此视为客户端角色。客户端与服务器端也建立一个tcp连接,服务器端将接收到的数据持续发送至客户端。客户端收到持续发送来的数据后,将数据还原成图像格式。此时就完成了视频图像的传输。

图像处理服务器可以持续的接收摄像头采集的数据,调用算法进行处理。处理流程如图1所示。

在系统中,视频采集使用微型电脑和其板载摄像头,将采集的视频发送至服务端,在服务器端使用上述算法处理视频,一旦检测到跌倒信息立刻将跌倒信息传送到用户的手机端。

当图像处理服务器的算法检测到跌倒发生时,将设备、跌倒信息、时间信息和图像使用python的urllib库以post方式上传到用户数据服务器端的http接口,上传成功后返回成功信息。用户数据服务器端,使用php接收到设备端上传的信息,根据用户注册的设备信息查找到注册的用户,根据用户注册时的手机appid进行信息推送,使用第三方的sdk工具推送信息包括图片的网络地址和跌倒信息。通过这种方式,用户可以接收到家里发生的跌倒情况和图像。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。

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