基于参数自调节神经网络的人体异常行为检测方法

文档序号:10553315阅读:382来源:国知局
基于参数自调节神经网络的人体异常行为检测方法
【专利摘要】本发明涉及一种基于参数自调节神经网络的人体异常行为检测方法。本发明是基于一种双层神经网络,即生长式神经气体模型,利用其灵活“生长”的优势对场景中的可变行为模式进行学习和建模。本发明针对其因固定参数无法实现自适应调整的问题进行了重要改进,提出了针对气体神经元生长、学习、删除等过程中的模型参数自适应调整方法。在模型用于判断行为是否异常时,本发明提出了基于双层高斯平滑窗的判断方法,实现多变场景中的快速的异常行为判别。
【专利说明】
基于参数自调节神经网络的人体异常行为检测方法
技术领域
[0001] 本发明属于机器视觉的运动目标分析领域,也属于智能视频监控领域。本发明具 体涉及一种基于竞争生长式神经网络的参数自调节方法,此方法通过自调节参数对可视范 围内的人体行为进行自适应学习和建模,并实时检测异常行为,属于高层的运动目标分析 范畴。
【背景技术】
[0002] 视频中的运动目标分析是机器视觉领域的重要课题,同时也是近年来备受关注的 前沿研究方向之一。它在智能监控、人机交互、虚拟现实、基于内容的视频检索与编码等领 域具有重要的理论研究意义和应用前景。其主要内容就是通过对视频数据中包含的人体目 标运动信息进行特征提取和模式识别来理解所包含的运动类别和意图,它涵盖了图像处 理、计算机视觉、模式识别与人工智能等多个学科。
[0003] 异常行为检测属于运动目标分析,也是智能监控系统的重要研究目标之一。目前 较为前沿和主流的方法主要是基于稳定场景中运动建模的方法,其优点在于可利用当前场 景中大量的观察逐渐学习到正常行为模型作为检测基准,高效并且在一定情况下的抗干扰 能力强。其缺点是所学习到的模型对场景信息和场景内容依赖性较强,可移植性差,对于复 杂多变的户外场景或者相机移动的场景的有较大局限性。可变场景建模要求模型本身具有 模式适应性,即模型的具体参数可以根据观察到的实际数据实时调整,学习到场景中固有 或常见的正常行为模式。
[0004]在低噪声环境下获取的视频中进行运动检测和识别已经可以达到较高的识别效 率,但是针对实际环境中的视频,人体运动描述和异常行为识别仍然面临很多难题,如人体 遮挡、视频模糊、拍摄视角变化等,所需要解决的问题就变得更加复杂。这就更加要求人体 运动特征提取和建模方法本身具有强大的表征能力和区分能力,可以在复杂的环境中学习 到少见或者异常的人体行为模式。
[0005] 传统的离线学习的方法通过大量的行为样本训练分类器,然后再对视频中获取的 运动特征进行识别。一般通过迭代学习训练分类器和优化分类器参数(如支持向量机SVM) 是较为耗时的,异常行为常常是在短时间发生的,利用分类器识别较难满足快速实时判断 的系统要求。这就要求模型本省具有很高的异常判断能力,也就是说需要利用常用的距离 算子即可判断新特征的异常值是否达到了异常阈值。

【发明内容】

[0006] 本发明的目的是实现多变场景中的异常人体行为检测。本发明是基于一种双层神 经网络--生长式神经气体模型(Growing Neural Gas,GNG),利用其灵活"生长"的优势对 场景中的可变行为模式进行学习和建模。本发明针对其因固定参数无法实现自适应调整的 问题进行了重要改进,提出了针对气体神经元生长、学习、删除等过程中的模型参数自适应 调整方法。在模型用于判断行为是否异常时,本发明提出了基于双层高斯平滑窗的判断方 法,实现快速的异常行为判别。
[0007] 1 .GNG模型参数自适应调节方法
[0008]分析GNG模型的建立过程,其气体神经元在插入、学习和删除过程中涉及到的参 数,如插入条件中的阈值、学习速率和学习范围参数、删除条件中的阈值,通常都是固定参 数,不受环境变化的影响,无法实现环境自适应调整。这不利于模型在多场景或变场景中的 实际应用。本发明利用对环境中观察到的实际数据对GNG模型的各个重要学习参数进行自 适应的调整,分别针对神经元插入、学习、删除三个重要步骤提出了三个基于邻域神经元分 布情况的阈值调整算法。具体来说:
[0009] (1)针对插入过程,本发明设计了两个自适应阈值,分别称为内部插入阈值和外部 插入阈值,用于控制外来神经元的适时插入操作。
[0010] (2)针对学习过程,本发明提出了实时调整学习速率的算法,根据新输入特征与其 最近邻神经元的距离确定调整幅度。
[0011] (3)针对删除过程,本发明通过定义一个密度算子确定所需删除的神经元周围的 网络分布情况,接着计算每个待删除神经元的平均累积分数,在网络较为稳定时平均累积 分数低于平均水平且密度计算结果排位靠后的神经元将会被删除。依次,本发明对上述GNG 神经网络的三个重要步骤中包含的重要参数设计了自适应的调整策略。
[0012] 2.基于双层高斯平滑窗的异常判断方法
[0013] 由于本发明旨在检测视频中包含的异常人体行为,对系统实时性的要求较高。一 般的分类器方法不适用。本发明提出了采用双层高斯平滑窗的异常判断方法,首先对输入 的检测得到的局部特征序列进行异常类别判断,定义其中离正常模式距离超过平均水平的 特征为异常特征(第一层高斯平滑窗),接着对异常特征的数量进行统计计算,将超过平均 值的数量所引起的事件定义为异常事件(第二层高斯平滑窗)。
[0014] 本发明的基于参数自调节神经网络的人体异常行为检测方法中,模型参数的自动 学习使得模型对多变的监控场景具有更强的适应性,通过基于双层高斯平滑窗的判断方 法,能够实现快速的异常行为判别。
【附图说明】
[0015] 图1是本发明的插入外部神经元的示意图:(a)当新的观察数据x输入时,如果x与 S1之间的欧氏距离大于S1的阈值巧,(b)那么将x作为新的网络节点,并入网络A,生成新的网 络A,。
[0016] 图2是本发明的局部特征点检测效果图(UMN数据库):分别展示了在UMN数据库的 三个场景视频中检测到的局部运动点;其中第一排是正常运动,第二排是异常慌乱运动。
[0017] 图3是本发明的异常行为检测效果图(UCSD Pedl数据库):框中是本不应该出现在 人行道上的异常行为,如骑自行车和开车经过。
[0018] 图4是本发明的异常行为检测效果图(Avenue数据库):框中是本不应该出现在地 铁站进站口的异常行为,如向空中投掷纸张和快速奔跑经过。
【具体实施方式】
[0019] 下面通过具体实施例和附图,对本发明做进一步说明。
[0020] 1、特征点的检测
[0021] 本发明的特征点提取部分采用的是基于如下的时空Gabor滤波器组得到的局部运 动点。这是一种基于周期性运动的运动点检测方法,利用2D空间高斯平滑核函数g外加一对 1D时间高斯核函数h^hod(公式(2)和(3))构造了三维响应函数R(公式(1))。所要获取的兴 趣点的个数是通过手动调整两个核函数的尺度参数来进行设定的。本发明中的运动点检测 是在某一固定尺度参数下进行的。下面公式中,I表示输入的图像帧,t表示当前输入的图像 的时间节点,t表示时间尺度参数,co表示空间尺度参数。
[0022] R=(I*g*hev)2+(I*g*h〇d)2 (1)
[hji;z.(0) = -cos(2/r/^)c; ( ' (2)
[0023] ^ ,
[hii,(l;T,0j) = -sin(2/r!(0)e ! ' (3)
[0024] 2、特征点的局部特征描述
[0025]检测得到局部运动点之后,将所有的点的局部区域的描述作为该点的局部特征, 本发明所使用的局部特征是3D-SIFT特征(其他局部运动特征也可作为此处的基本特征,如 稠密轨迹特征),具体的计算过程如下:
[0026]在点p(x,y;t)周围取2*2*2的像素模块,采用下面公式对其梯度极坐标进行计算, 其中m3D表示梯度幅值,0表示的是2D梯度方向角,巾表示极坐标系下目标向量向2D梯度方向 的偏向角,L x、Ly、Lt分别表示有限差分逼近的简化表示算子,例如Lx = L(x+l,y,t)-L(x-l, y,t)),以此类推计算其他差分算子,再根据如下公式计算相应的三种特征量,即可得到局 部特征向量X。
[0030] 3、GNG神经网络的外部神经元插入过程
[0031]局部特征向量x输入之后,在已有的神经网络神经元中利用下面的公式(7)和(8) 找到最近的神经元S1和第二最近的神经元S2 :
[0032] = argIi x-wJ|2 (7)
[0033] =argmins,eMli,, II x-wjla (8)
[0034] 其中,s表示全体神经元的集合d中的任一神经元,Ws表示神经元x的权重。接着,判 断特征向量X与神经元S1 (或神经元S2)的距离是否超过阈值尤,(或&),即判断下式是否成 立:
[0035] {I! x-wj|2 >r }v{|| x-wJ2>TJ (9)
[0036] 以神经元幻为例,其阈值;的定义如下:如果神经元S1有直接相连的神经元邻居, 那么阈值& II 其中X,表示与神经元对直接相连的邻居神经元集合; 如果神经元S1没有直接相连的神经元邻居,那么可以定义7; = II Wq -w"ll2。在此 定义下,如果公式(9)成立,那么此时需要在网络中插入外部神经元x。插入步骤如下: ,.4 :="4 u?丨v丨.,wx=x,nnew: =nnew+l,1_:=11 :x-wi:|li2 b其中又表示全体神经元的集合,Wx表示神 经元x的权重,nnew表示当前学习周期中新插入的神经元个数,Tx表示当前新节点的外部神 经元的插入阈值。
[0037] 图1是本发明的插入外部神经元的示意图,其中(a)图为插入前的距离判断,(b)图 为插入后的位置分布。图中A表示插入前的神经元网络,A'表示插入外部神经元之后的网 络,i和j表示当前输入向量的最近神经元si的邻居神经元,L表示当前输入向量到si的欧氏 距离,气表示 81的当前累积误差,A ei表示前期输入向量1带来的误差,A仍表示前期输入向 量2带来的误差,A e3表示前期输入向量3带来的误差,Tx =+°°表示新的外部插入神经元的 初始的外部神经元插入阈值为无穷大,图中数字1、2、3表示在当前输入向量x之前的被81内 部学习掉的输入向量。
[0038] 接着判断神经元81和神经元82之间是否存在直接相连的边,如果不存在,则添加一 条直接相连的边,也就是::c := C u &)丨,其中:c_表示全体神经元的边集合。
[0039] 4、GNG神经网络的神经元学习过程
[0040] 对于上步骤中输入的特征向量X,将其与最近的神经元81之间的欧氏距离作为误 差累积到神经元81的误差变量中,也就是:
[0041 ] ^ :=bsi+|| -x|l2 (10)
[0042]接着,根据下面的公式(11-14)更新神经元81的平均累积分数
[0047] 其中上述四个公式中表示两两神经元的平均距离,scorei表示神经元i的当 前得分,aSl表示K个周期的累计分数,况是神经元i的全部邻居神经元的集合,K代表的是学 习迭代的周期数,对旨的是每个周期中所输入的特征向量的个数(每个周期中的A都相等)。 [0048]下面通过调整神经元自身权重来学习输入特征向量所代表的模式。调整方法如 下:
[0049 ] Wj. := WS] + eJtyH- ll2 (15)
[0050] wB := wn + en(t)-\\ x~wnll2,V/? e (16)
[0051] 其中表示的是与神经元S1直接相连的邻居神经元集合。另外,神经元81的学习 速率和邻居神经元的学习速率^^))的定义分别如下面公式(17)和(18):
MS1(0代表的是截止到当前的时 间节点t时以S1为最近神经元的输入特征向量的个数,Mn(t)表示截止到当前的时间节点t时 以n为最近神经元的输入特征向量的个数。这种调整方法使得当前学习速率可以受到输入 模式的良性的自动调整。
[0055] 5、GNG神经网络的内部神经元插入过程
[0056]在上述学习过程中若判断当前帧上观察到的全部特征向量已经学习完毕,那么在 GNG网络的累积误差最大的位置周围插入一个内部神经元,插入方法如下:
[0057] (1)找到当前误差变量最大的神经元q,其对应的误差变量也就是eq;
[0058] (2)在神经元q的邻居神经元集合A/;中找到含最大误差变量的邻居神经元f,其对 应的误差变量也就是e f;
[0059] (3)在神经元q和f之间插入一个新的内部神经元r,建立r到两个神经元之间的连 接边:c:=.C.U (/,/):}..,删除两个神经元之间原始的连接边:c:=_C\{(f,/):}。将神经元r 的误差变量er和平均累计分数^:分别初始化为:%和:;。
[0060] (4)按照一定比例a缩小神经元q和f的误差变量:eq: =aeq;ef: =aef。同时,按照另 一个比例丫缩小神经元q和f的平均累计分数:。
[0061 ] 6、GNG神经网络的神经元删除过程
[0062] 本发明中神经元的删除条件分两种:一是为空时的初始情况(其中,^:表示 平均累计分数的阈值);二是i已经有实际值的情况。本发明通过计算一个实时的值E sll (t )与已存储的阈值Ethr (此阈值是人为设定的一个较小的值,如0.0001,可根据局部特征的 平均距离大小来适当调整,距离越大,阈值越大)比较大小来判断网络学习是否成熟。
[0063] (1)当为空时,根据下面四个公式计算Esii(t):
[0065]其中的Sil(t)表示当前网络的成熟度,%4(0表示当前网络的神经元个数,表 示将i作为最近神经元的输入向量的个数;两个距离项的计算如下:
[0068] Esii(t)的计算如下:
[0069] Esii(t)=Sil(t)-Sil(t-l) (22)
[0070]计算完毕之后,判断如果Esll(t)彡Ethr成立,那么将网络中现有的神经元按照其平 均累积分数进行降序排列,将排在末尾的一个神经元删除,并删除其所有直接相连的边。如 果Esll(t)<E thr,那么将网络中现有的神经元按照其平均累积分数进行降序排列,删除末尾 起倒数nnew个神经元,及其所有直接相连的边。
[0071 ] (2)当不为空时,同样根据公式(19-22)计算Esii(t)。判断如果Esii(t)彡Ethr, 那么将所有神经元的平均累计分数与^;作比较,删除平均累计分数比小的所有神经 元及其所有直接相连的边。如果Esll(t)<Ethr,回到上一种情况(1)执行(1)中的操作。
[0072] 7、GNG神经网络训练用于异常行为检测的方法(异常事件阈值的定义)
[0073] 当新的人体运动特征向量被观察到,按照上述六个步骤训练整个网络,并实时返 回当前学习到的神经元集合和边集合作为正常行为的模型。异常检测的测试程序开启时, 本发明采用双层高斯平滑窗的异常判断方法,首先对输入的检测得到的局部特征序列进行 异常类别判断,定义其中离正常模式距离超过平均水平的特征为异常特征(第一层高斯平 滑窗),接着对异常特征的数量进行统计计算,将超过平均值的数量所引起的事件定义为异 常事件(第二层高斯平滑窗)。
[0074] 具体来说,第一层判断异常特征的阈值定义如下:
[0075] ^overflowing ~ ^feature ^ feature (23)
[0076]其中lifeature表示输入特征向量集合的均值,Ofeature表示输入特征向量集合的方差。 [0077]判断为异常特征之后,对这一群体进行数量的判断,得到第二层判断异常时间的 阈值,具体定义如下:
[0078] ^mtomaly - ^overfiawing ' ^y^aver/lgwing (24)
[0079] 其中iWerflowing表示异常特征的平均数量,〇_rfl?ing表示异常特征数量变化的方 差。
[0080] 当判断最终的异常特征的数量超过上述公式(24)中计算的异常事件阈值than_ly 时,即可判断为异常事件发生,给出报警。
[0081] 图2是本发明的局部特征点检测效果图(UMN数据库):其中(a)、(b)、(c)分别展示 了在UMN数据库的三个场景视频中检测到的局部运动点;其中第一排是正常运动,第二排是 异常慌乱运动。
[0082]图3是本发明的异常行为检测效果图(UCSD Pedl数据库),其中(a)图表示在人行 道上出现的滑板运动,属于异常行为,(b)图表示本不应该在人行道上出现的骑自行车,属 于异常行为,(c)图表示检测到的有人横跨草坪,属于异常行为,(d)图表示本不应该在人行 道上出现的车辆开过,属于异常行为。可以看出,本发明提出的算法可以较为鲁棒的检测出 监控场景中的异常行为。
[0083] 图4是本发明的异常行为检测效果图(Avenue数据库),本不应该出现在地铁站进 站口的异常行为:(a)图表示向空中投掷纸张,(b)图表示快速奔跑。可以看出,本发明提出 的算法可以较为鲁棒的检测出监控场景中的异常行为。
[0084] 以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术 人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本 发明的保护范围应以权利要求书所述为准。
【主权项】
1. 一种基于参数自调节神经网络的人体异常行为检测方法,其步骤包括: 1) 建立生长式神经气体模型,对气体神经元在插入、学习和删除过程中设及到的模型 参数进行自适应调整,包括: 针对插入过程,通过两个自适应阔值,即内部插入阔值和外部插入阔值,控制外来神经 元的适时插入操作; 针对学习过程,根据新输入特征与其最近邻神经元的距离确定学习速率的调整幅度; 针对删除过程,通过定义密度算子确定所需删除的神经元周围的网络分布情况,接着 计算每个待删除神经元的平均累积分数,将平均累积分数低于平均水平且密度计算结果排 位靠后的神经元删除; 2) 通过所述生长式神经气体模型对视频中的人体行为进行检测,采用双层高斯平滑窗 的判断方法实现人体异常行为判别。2. 如权利要求1所述的方法,其特征在于,所述双层高斯平滑窗的判断方法是:首先对 输入的检测得到的局部特征序列进行异常类别判断,定义其中离正常模式距离超过平均水 平的特征为异常特征;接着对异常特征的数量进行统计计算,将超过平均值的数量所引起 的事件定义为异常事件。3. 如权利要求1或2所述的方法,其特征在于:在检测特征点时,采用时空Gabor滤波器 组得到局部运动点,得到局部运动点之后,将所有的点的局部区域的描述作为该点的局部 特征。4. 如权利要求3所述的方法,其特征在于:所述局部特征是3D-SIFT特征。5. 如权利要求1或2所述的方法,其特征在于,步骤1)中神经网络的外部神经元插入过 程是: a) 局部特征向量X输入之后,在已有的神经网络神经元中找到最近的神经元Si和第二最 近的神经元S2^中,S表示全体神 经元的集合八中的任一神经元,Ws表示神经元X的权重; b) 判断特征向量X与神经元Sl或神经元S2的距离是否超过阔值马,或,即判断 V >2;诣否成立,如果成立则在网络中插入外部神经元X; C)判断神经元Sl和神经元S2之间是否存在直接相连的边,如果不存在,则添加一条直接 相连的边,也就是:C:=Cu化,.S,)},其中C表示全体神经元的边集合。6. 如权利要求5所述的方法,其特征在于,步骤1)中神经网络的神经元学习过程是:对 于输入的特征向量X,将其与最近的神经元Sl之间的欧氏距离作为误差累积到神经元Sl的误 差变量中;然后更新神经元Si的平均累积分数然后通过调整神经元自身权重来学习输 入特征向量所代表的模式。7. 如权利要求6所述的方法,其特征在于,在学习过程中若判断当前帖上观察到的全部 特征向量已经学习完毕,那么在神经网络的累积误差最大的位置周围插入一个内部神经 元,插入方法如下: a) 找到当前误差变量最大的神经元q,其对应的误差变量也就是eq; b) 在神经元q的邻居神经元集合A/;中找到含最大误差变量的邻居神经元f,其对应的误 差变量也就是ef; C)在神经元q和f之间插入一个新的内部神经元r,建立r到两个神经元之间的连接边: C:=CU府,叫,(/-,/)},删除两个神经元之间原始的连接边:C:=C\{((/,/)!;将神经元r的误 差变量er和平均累计分数心分别初始化为:eq和;与: d)按照一定比例a缩小神经元q和f的误差变量:eq: =aeq;ef: =aef;同时,按照另一个比 例丫缩小神经元q和f的平均累计分数:佩化V, :=;/化V,。8. 如权利要求7所述的方法,其特征在于,步骤1)中神经元的删除条件分两种:一是平 均累计分数的阔值品;;:为空时的初始情况;二是品;^已经有实际值的情况;通过计算一个 实时的值Esil(t)与已存储的阔值Ethr比较大小来判断网络学习是否成熟,包括如下步骤: a) 当兩;;为空时,如果EsiiU杉Ethr成立,那么将网络中现有的神经元按照其平均累积 分数进行降序排列,将排在末尾的一个神经元删除,并删除其所有直接相连的边;如果Esii (t)<Ethr,那么将网络中现有的神经元按照其平均累积分数进行降序排列,删除末尾起倒 数nnew个神经元,及其所有直接相连的边; b) 当^不为空时,如果Esii(t)>Ethr,那么将所有神经元的平均累计分数与品;作比 较,删除平均累计分数比品;T小的所有神经元及其所有直接相连的边;如果Esil(t)<Ethr, 回到上一种情况a)执行a)中的操作。9. 如权利要求2所述的方法,其特征在于,步骤2)中,第一层判断异常特征的阔值定义 为:姨。帕哦-'科/颂"巧 + 細昨,其中Ufeature表不输入特化向里集合的均值,Ofeature表不输 入特征向量集合的方差;判断为异常特征之后,对运一群体进行数量的判断,得到第二层判 断异常时间的阔值,其具体定义为 :巧柳函.幻/V _ 叫。VerfUwin客千 ^"sj^overlJowmg,其中 I^overf lowing灰小升 常特征的平均数量,CWrflDWing表示异常特征数量变化的方差;当判断最终的异常特征的数 量超过异常事件阔值thanomaly时,即可判断为异常事件发生,给出报警。
【文档编号】G06N3/08GK105913011SQ201610216333
【公开日】2016年8月31日
【申请日】2016年4月8日
【发明人】刘宏, 孙倩茹, 丁润伟
【申请人】北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1