首页> 中国专利> 一种基于高斯混合模型的视频中异常行为在线检测方法

一种基于高斯混合模型的视频中异常行为在线检测方法

摘要

本发明公开了一种基于高斯混合模型的视频中异常行为在线检测方法,首先从视频中提取原图像序列,对原图像序列中的每张图像执行步骤一至步骤四:步骤一,合成原图像的低分辨率图像;步骤二,分别计算原图像和低分辨率图像中的光流;步骤三,分别按照原图像和低分辨率图像各自的划分方法将这两种图像划分成图像块;步骤四,为原图像和低分辨率图像中每个图像块计算对应的高斯混合模型;步骤五,计算图像块序列的标准高斯混合模型;步骤六,将原图像序列的下一张图像作为待检测图像,按照步骤1至步骤4计算待检测图像中每个图像块的高斯混合模型;步骤七,判断待检测图像中每个图像块是否存在异常行为;步骤八,标记异常图像块并输出。

著录项

  • 公开/公告号CN104156979A

    专利类型发明专利

  • 公开/公告日2014-11-19

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201410361276.2

  • 发明设计人 路通;秦龙飞;马小林;

    申请日2014-07-25

  • 分类号G06T7/20;

  • 代理机构江苏圣典律师事务所;

  • 代理人胡建华

  • 地址 210023 江苏省南京市栖霞区仙林大道163号南京大学

  • 入库时间 2023-12-17 03:18:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-09-14

    授权

    授权

  • 2014-12-17

    实质审查的生效 IPC(主分类):G06T7/20 申请日:20140725

    实质审查的生效

  • 2014-11-19

    公开

    公开

说明书

技术领域

本发明涉及一种视频流中异常行为在线检测方法,特别是将高斯混合模型应 用到对光流分布的建模中。

背景技术

近年来,大量的研究人员对场景中异常行为检测问题进行了研究,并提出了 一些异常行为检测方法。这些方法大致可以分为两类:基于事件检测的方法和基 于统计偏离的方法。基于事件检测的方法对场景中每一个具体的异常行为进行建 模,与某个异常行为相匹配运动被检测为异常行为;而基于统计偏离的方法则对 场景中正常的运动进行了建模,与所有正常运动都不一致的运动被定义为异常行 为。

在基于事件检测的方法中,通常假设所有的异常事件或异常行为是已知的。 基于上述假设,该类方法的主要思路如下:首先,从场景数据中选取包含场景中 典型异常事件的训练数据。然后,根据相应的训练数据对每一中异常事件进行建 模,创建一个由异常事件构成的字典。该字典被认为包含了场景中所有可能的异 常事件。接着,在字典中查找是否存在与测试视频所包含的事件相匹配的异常事 件。如果匹配成功,则该测试视频中包含匹配项对应的异常事件;否则,该测试 视频不包含异常行为。然而,基于事件检测的方法存在两个重要的问题:

1.需要对每一个异常事件建模,创建异常字典,这往往需要消耗大量时间 用来建立字典且准确度不高。

2.这种方法的移植性差,对场景的依赖性强。

针对这些问题,我们采用基于统计偏离的方法,该方法可以进一步分为两类, 一类是基于跟踪的方法,另一类是避免跟踪的方法。本专利中,采用避免跟踪的 方法,与基于跟踪的方法不同,本方法不用提前识别每个对象,检测的目标为图 像块,这样可以避免对象识别与跟踪错误导致的检测失败,在可以提高检测速度 的同时保证了准确度。

发明内容

发明目的:本发明所要解决的技术问题是针对现有的视频中异常检测技术的 不足,提供一种基于高斯混合模型的视频中异常行为在线检测方法,可以从视频 中快速准确的检测出异常。

为了解决上述技术问题,本发明公开了一种基于高斯混合模型的视频中异常 行为在线检测方法,首先从视频中提取原图像序列,对原图像序列中的每张图像 执行步骤一至步骤四:

步骤一,合成原图像的低分辨率图像,得到原图像和低分辨率图像两种不同 分辨率下的图像;

步骤二,利用Lucas-Kanade算法分别计算原图像和低分辨率图像中的光流 并对得到的光流进行噪声处理;

步骤三,分别按照原图像和低分辨率图像各自的划分方法将这两种图像划分 成M×N个图像块,M,N取值范围自然数;

步骤四,为原图像和低分辨率图像中每个图像块计算对应的高斯混合模型: 首先对图像块中的光流聚类,得到K个聚类中心,然后设置该图像块对应的高斯 混合模型所包含的高斯分量数目为K,利用最大似然估计算法计算高斯混合模型 中的最大似然估计值;最后得到该图像块对应的高斯混合模型;

步骤五,分别对原图像序列和低分辨率图像序列中相同位置处的图像块合成 标准高斯混合模型:首先聚类图像块序列对应的高斯混合模型序列,然后选择聚 类结果中包含高斯混合模型最多的聚类中心作为该图像块序列的标准高斯混合 模型;

步骤六,将原图像序列的下一张图像作为待检测图像,按照步骤一至步骤四 计算待检测图像中每个图像块的高斯混合模型;

步骤七,判断待检测图像中每个图像块是否存在异常行为;

步骤八,标记异常图像块并输出。

本发明步骤一中,低分辨率图像I′中像素点(x,y)的灰度值由原图像I中以像 素点(2x,2y)为中心的5×5邻域内的灰度值合成,首先将5×5邻域内每一行5个 像素按照1:4:6:4:1的比例合成出该行中间像素的灰度值:

f(h)=116I(2x-2,2y+h)+416I(2x-1,2y+h)+616I(2x,2y+h)+416I(2x+1,2y+h)+116I(2x+2,2y+h),

其中h取值{-2,-1,0,1,2},f(h)表示原图像I中以像素点(2x,2y)为中心的 5×5邻域内第h行5个像素按照比例合成的灰度值;然后,同样按照1:4:6:4:1的 比例,合成该列中间像素的灰度值:

I(x,y)=116f(-2)+416f(-1)+616f(0)+416f(1)+116f(2),

其中,x,y表示像素点坐标,I′(x,y)表示像素点(x,y)处的灰度值。

本发明步骤二中,利用Lucas-Kanade算法计算图像中的光流,包括以下步 骤:

定义I和J为图像序列(这里的图像序列指原图像序列和低分辨率图像序列) 中相邻的两张灰度图像,其中,I在前,J在后。I(px,py)和J(px,py)分别表示像素 点p=[px,py]T在灰度图像I和J中的灰度值,其中px和py表示像素点p在图像中的 坐标。

给定图像I上面的像素点p=[px,py]T,光流计算的目标是得到图像J上对应 的像素点q=p+v=[px+vx,py+vy]T,使得I(p)与J(q)最相似。向量 v=[vx,vy]T即为图像I中像素点p的光流。定义目标函数:

ϵ(v)=Σx=1wΣy=1h(I(x,y)-J(x+vx,y+vy))2,

其中,v表示由图像I中所有像素点对应的光流构成的矩阵,w和h表示图像 的宽度和高度,参数x取值1~w,参数y取值1~h,通过最小化目标函数ε(ν),可 以得到图像I上每个像素点的对应的光流v。

本发明步骤三中,将图像I划分成M×N个图像块,每个图像块包含 个像素点,其中w表示图像的宽度,h表示图像高度,表示 宽度除以每行划分的块数后上取整,表示高度除以每列划分的块数后上取 整,其中M=100,N=100。

本发明步骤四中,计算图像块的高斯混合模型包括以下步骤:

利用Mean Shift聚类算法对图像块中的光流聚类,得到K个聚类中心以及每 个类别中包含的光流数目;

使用高斯混合模型描述图像块中光流的分布,其中高斯混合模型表示为:

G(v)=Σk=1KωkNk(v|uk,Σk),

其中,K表示高斯混合模型中高斯分量的数目,值等于光流聚类中心的数量, 参数k取值1~K,ωk表示高斯混合模型中第k个高斯分量的权重,初始化为第k个 类别中包含光流数目的比例,v表示光流,Νk(v|ukk)表示第k个高斯分量,uk和 Σk表示第k个高斯分量的均值和协方差矩阵;

利用最大似然估计算法,学习得到K个高斯混合模型的参数ωk,uk,Σk, 最终得到。

本发明步骤五中,计算图像块序列的标准高斯混合模型包括以下步骤:

利用改进的Mean Shift聚类算法对步骤四得到的高斯混合模型聚类,聚类算 法包括以下步骤:

步骤51:随机选取一个高斯混合模型为起点,计算以起点为中心的邻域内 高斯混合模型的中心,高斯混合模型邻域内的中心表示为在该高斯混合模型和其 邻域内的高斯混合模型构成的集合中,到其他高斯混合模型的距离之和最小的高 斯混合模型;

步骤52:以中心对应的高斯混合模型为起点,继续计算以起点为中心的邻 域内高斯混合模型的中心;

步骤53:重复步骤51和步骤52,直至连续两个中心的距离小于设定阈值, 停止迭代,设定该阈值为0.56,可以使迭代次数和聚类效果达到最佳效果;

步骤54:对每个未选取过的高斯混合模型,重复步骤51~步骤53,直至所 有的高斯混合模型都被选取过;

该聚类算法中,两个高斯混合模型的距离使用KL散度计算,KL散度计算公 式为:

DKL(g1,g2)=limn1nΣi=1nlogg1(vi)g2(vi),

g1和g2为需要计算KL散度的两个高斯混合模型,vi表示第i个光流, DKL(g1,g2)为g1和g2之间的KL散度,n表示在高斯混合模型中抽取的样本点个数;

高斯混合模型g1表示为:

g1(v)=Σk=1KωkNk(v|uk,Σk),

其中,K1表示高斯混合模型中高斯分量的数目,参数k取值1~K1,ωk表示 高斯混合模型中第k个高斯分量的权重,v表示光流,Νk(v|ukk)表示第k个高斯 分量,uk和Σk表示第k个高斯分量的均值和协方差矩阵。

计算第k高斯分量分配的样本数目为:

nk=ωkn,

其中,n表示在高斯混合模型g1中抽取的样本点总数目,nk表示第k高斯分量 分配的样本数目。对每个高斯分量Νk(v|ukk),计算其对应的高斯分布函数:

y=Fk(v),

其中,v表示光流,y表示分布函数的值。高斯分布函数的反函数表示为:

v=F-1k(y),

首先计算在[0,1]区间上均匀分布的nk个随机数ξs=U[0,1],然后对nk个随机 数ξs分别计算vs=F-1ks),解方程求得vs

其中,U[0,1]表示[0,1]区间上均匀分布,ξs表示第s个随机数,vs表示由第s个 随机数得到的光流。

按照相同的步骤可以为高斯混合模型g2抽取相同数目的样本点。

通过高斯混合模型的聚类,得到若干个聚类中心,每个聚类包含若干个高斯 混合模型,将聚类结果中包含高斯混合模型最多的聚类中心作为图像块序列的标 准高斯混合模型。

本发明步骤七中,判断待检测图像中每个图像块是否存在异常行为包括以下 步骤:

计算待检测图像中该图像块对应的高斯混合模型与标准高斯混合模型之间 的差异得分Score1

F和分别表示两种分辨率下图像块的高斯混合模型,G与分别表示两种分 辨率下相同位置处图像块序列的标准高斯混合模型,DKL表示KL散度,其中, α=0.8;

计算图像块与邻接图像块之间的差异得分Score2

其中,和分别表示两种分辨率下与待检测图像中该图像块相邻的高斯混 合模型集合,和表示对应集合中第j个高斯混合模型,Z表示与该图像块相邻 的高斯混合模型个数,j取值1~Z;

该图像块中存在异常行为的得分Score为:

Score=βScore1+(1-β)Score2

其中,β=0.5,当Score≥η,将该图像块标记为异常块,否则标记为正常, η为阈值。

有益效果:本发明是一种基于高斯混合模型的视频中异常行为在线检测方法, 不仅充分考虑到多个肢体部分的运动在运动模式的建模过程中会相互干扰,导致 最终的运动模式与真实的分布不一致造成的异常检测错误,而且利用图像金字塔 异常检测算法提高了系统的准确性和鲁棒性。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上 述和或其他方面的优点将会变得更加清楚。

图1为本发明流程图。

图2a~图2d为实施例1中针对视频中人的异常行为检测效果图。

图3a~图3d为实施例2中针对视频中物的异常行为检测效果图。

具体实施方式:

本发明所述的一种基于高斯混合模型的视频中异常行为在线检测方法的基 本出发点是通过对视频中运动产生的光流建立高斯混合模型,然后加上图像金字 塔检测算法,在不同分辨率下对图像块中的异常行为作出判断,完成视频中异常 在线检测。

下面结合图1对本发明做更加详细的解释:

首先从视频中提取原图像序列,对原图像序列中的每张图像执行步骤一~步 骤四:

步骤一,低分辨率图像I′中像素点(x,y)的灰度值由原图像I中以像素点 (2x,2y)为中心的5×5邻域内的灰度值合成,首先将5×5邻域内每一行5个像素 按照1:4:6:4:1的比例合成出该行中间像素的灰度值:

f(h)=116I(2x-2,2y+h)+416I(2x-1,2y+h)+616I(2x,2y+h)+416I(2x+1,2y+h)+116I(2x+2,2y+h),

其中h取值{-2,-1,0,1,2},f(h)表示原图像I中以像素点(2x,2y)为中心的 5×5邻域内第h行5个像素按照比例合成的灰度值;然后,同样按照1:4:6:4:1的 比例,合成该列中间像素的灰度值:

I(x,y)=116f(-2)+416f(-1)+616f(0)+416f(1)+116f(2),

其中,x,y表示像素点坐标,I′(x,y)表示像素点(x,y)处的灰度值。

步骤二,利用Lucas-Kanade算法计算图像中的光流,包括以下步骤:

定义I和J为图像序列(这里的图像序列指原图像序列和低分辨率图像序列) 中相邻的两张灰度图像,其中,I在前,J在后。I(px,py)和J(px,py)分别表示像素 点p=[px,py]T在灰度图像I和J中的灰度值,其中px和py表示像素点p在图像中的 坐标。

给定图像I上面的像素点p=[px,py]T,光流计算的目标是得到图像J上对应 的像素点q=p+v=[px+vx,py+vy]T,使得I(p)与J(q)最相似。向量 v=[vx,vy]T即为图像I中像素点p的光流。定义目标函数:

ϵ(v)=Σx=1wΣy=1h(I(x,y)-J(x+vx,y+vy))2,

其中,v表示由图像I中所有像素点对应的光流构成的矩阵,w和h表示图像 的宽度和高度,参数x取值1~w,参数y取值1~h,通过最小化目标函数ε(v),可 以得到图像I上每个像素点的对应的光流v。

步骤三,将图像I划分成M×N个图像块,每个图像块包含个 像素点,其中w表示图像的宽度,h表示图像高度,表示宽度除以每行划 分的块数后上取整,表示高度除以每列划分的块数后上取整,其中M=100, N=100。

步骤四,计算图像块的高斯混合模型包括以下步骤:

利用Mean Shift聚类算法对图像块中的光流聚类,得到K个聚类中心以及每 个类别中包含的光流数目;

使用高斯混合模型描述图像块中光流的分布,其中高斯混合模型表示为:

G(v)=Σk=1KωkNk(v|uk,Σk),

其中,K表示高斯混合模型中高斯分量的数目,值等于光流聚类中心的数量, 参数k取值1~K,ωk表示高斯混合模型中第k个高斯分量的权重,初始化为第k个 类别中包含光流数目的比例,v表示光流,Νk(v|ukk)表示第k个高斯分量,uk和 Σk表示第k个高斯分量的均值和协方差矩阵;

利用最大似然估计算法,学习得到K个高斯混合模型的参数ωk,uk,Σk, 最终得到。

步骤五,计算图像块序列的标准高斯混合模型包括以下步骤:

利用改进的Mean Shift聚类算法对步骤四得到的高斯混合模型聚类,聚类算 法包括以下步骤:

步骤51:随机选取一个高斯混合模型为起点,计算以起点为中心的邻域内 高斯混合模型的中心,高斯混合模型邻域内的中心表示为在该高斯混合模型和其 邻域内的高斯混合模型构成的集合中,到其他高斯混合模型的距离之和最小的高 斯混合模型;

步骤52:以中心对应的高斯混合模型为起点,继续计算以起点为中心的邻 域内高斯混合模型的中心;

步骤53:重复步骤51和步骤52,直至连续两个中心的距离小于设定阈值, 停止迭代,设定该阈值为0.56,可以使迭代次数和聚类效果达到最佳效果;

步骤54:对每个未选取过的高斯混合模型,重复步骤51~步骤53,直至所 有的高斯混合模型都被选取过;

该聚类算法中,两个高斯混合模型的距离使用KL散度计算,KL散度计算公 式为:

DKL(g1,g2)=limn1nΣi=1nlogg1(vi)g2(vi),

g1和g2为需要计算KL散度的两个高斯混合模型,vi表示第i个光流, DKL(g1,g2)为g1和g2之间的KL散度,n表示在高斯混合模型中抽取的样本点个数;

高斯混合模型g1表示为:

g1(v)=Σk=1KωkNk(v|uk,Σk),

其中,K1表示高斯混合模型中高斯分量的数目,参数k取值1~K1,ωk表示 高斯混合模型中第k个高斯分量的权重,v表示光流,Νk(v|ukk)表示第k个高斯 分量,uk和Σk表示第k个高斯分量的均值和协方差矩阵。

计算第k高斯分量分配的样本数目为:

nk=ωkn,

其中,n表示在高斯混合模型g1中抽取的样本点总数目,nk表示第k高斯分量 分配的样本数目。对每个高斯分量Νk(v|ukk),计算其对应的高斯分布函数:

y=Fk(v),

其中,v表示光流,y表示分布函数的值。高斯分布函数的反函数表示为:

v=F-1k(y),

首先计算在[0,1]区间上均匀分布的nk个随机数ξs=U[0,1],然后对nk个随机 数ξs分别计算vs=F-1ks),解方程求得vs

其中,U[0,1]表示[0,1]区间上均匀分布,ξs表示第s个随机数,vs表示由第s个 随机数得到的光流。

按照相同的步骤可以为高斯混合模型g2抽取相同数目的样本点。

通过高斯混合模型的聚类,得到若干个聚类中心,每个聚类包含若干个高斯 混合模型,将聚类结果中包含高斯混合模型最多的聚类中心作为图像块序列的标 准高斯混合模型。

步骤六,将原图像序列的下一张图像作为待检测图像,按照步骤一至步骤四 计算待检测图像中每个图像块的高斯混合模型;

步骤七,判断待检测图像中每个图像块是否存在异常行为包括以下步骤:

计算待检测图像中该图像块对应的高斯混合模型与标准高斯混合模型之间 的差异得分Score1

F和分别表示两种分辨率下图像块的高斯混合模型,G与分别表示两种分 辨率下相同位置处图像块序列的标准高斯混合模型,DKL表示KL散度,其中, α=0.8;

计算图像块与邻接图像块之间的差异得分Score2

其中,和分别表示两种分辨率下与待检测图像中该图像块相邻的高斯混 合模型集合,和表示对应集合中第j个高斯混合模型,Z表示与该图像块相邻 的高斯混合模型个数,j取值1~Z;

该图像块中存在异常行为的得分Score为:

Score=βScore1+(1-β)Score2

其中,β=0.5,当Score≥η,将该图像块标记为异常块,否则标记为正常, η为阈值。

步骤八,将存在异常的图像块标记后输出显示。

实施例1

本实施例针对视频中人的异常行为检测,包括以下部分:

1.图像序列提取与分类

本实施例在公共数据集UCSD上进行实验。该数据集包含两个从固定视角俯 视拍摄的拥挤场景视频数据,共包含有98个视频。具体地,对公共数据集UCSD 中每一个视频,按照每个视频中包含图像的数目,将前10%张图像作为初始的训 练图像,后90%张图像作为待检测图像。本实施例可以更具体的分为两个部分: 第一个部分对训练图像中的每张图像分别进行低分辨率图像合成,光流特征计算, 划分图像块以及高斯混合模型计算,最终计算得到每个图像块位置处标准高斯混 合模型。第二个部分依次对待检测图像中每个图像分别进行低分辨率图像合成, 光流特征计算,划分图像块以及高斯混合模型计算,最后计算待检测图像中是否 存在异常图像块。

2.合成低分辨率图像

按照图像金字塔原理,合成每个原图像I对应的低分辨率图像I′,其中I′中任 意像素点(x,y)的灰度值由原图像I中以像素点(2x,2y)为中心的5×5邻域内的灰 度值合成,首先将5×5邻域内每一行5个像素按照1:4:6:4:1的比例合成出该行 中间像素的灰度值:

f(h)=116I(2x-2,2y+h)+416I(2x-1,2y+h)+616I(2x,2y+h)+416I(2x+1,2y+h)+116I(2x+2,2y+h),

其中h取值{-2,-1,0,1,2},f(h)表示原图像I中以像素点(2x,2y)为中心的 5×5邻域内第h行5个像素按照比例合成的灰度值;然后,同样按照1:4:6:4:1的 比例,合成该列中间像素的灰度值:

I(x,y)=116f(-2)+416f(-1)+616f(0)+416f(1)+116f(2),

其中,x,y表示像素点坐标,I′(x,y)表示像素点(x,y)处的灰度值。

3.光流特征计算

定义I和J为图像序列(这里的图像序列指原图像序列和低分辨率图像序列) 中相邻的两张灰度图像,其中,I在前,J在后。I(px,py)和J(px,py)分别表示像素 点p=[px,py]T在灰度图像I和J中的灰度值,其中px和py表示像素点p在图像中的 坐标。

给定图像I上面的像素点p=[px,py]T,光流计算的目标是得到图像J上对应 的像素点q=p+v=[px+vx,py+vy]T,使得I(p)与J(q)最相似。向量 v=[vx,vy]T即为图像I中像素点p的光流。定义目标函数:

ϵ(v)=Σx=1wΣy=1h(I(x,y)-J(x+vx,y+vy))2,

其中,v表示由图像I中所有像素点对应的光流构成的矩阵,w和h表示图像 的宽度和高度,参数x取值1~w,参数y取值1~h,通过最小化目标函数ε(v),可 以得到图像I上每个像素点的对应的光流v。

对得到的光流归一化处理后,按照光流的长度排序,舍弃光流中长度位于后 10%的光流,通过过滤掉弱光流可以减少微弱光流对系统的干扰,增强检测的鲁 棒性。

4.图像块划分

将图像I划分成M×N个图像块,每个图像块包含个像素点, 其中w表示图像的宽度,h表示图像高度,表示宽度除以每行划分的块数 后上取整,表示高度除以每列划分的块数后上取整,其中M=100,N=100。

5.高斯混合模型学习

首先利用Mean Shift聚类算法对图像块中的光流聚类,得到K个聚类中心以 及每个类别中包含的光流数目;

使用高斯混合模型描述图像块中光流的分布,其中高斯混合模型表示为:

G(v)=Σk=1KωkNk(v|uk,Σk),

其中,K表示高斯混合模型中高斯分量的数目,值等于光流聚类中心的数量, 参数k取值1~K,ωk表示高斯混合模型中第k个高斯分量的权重,初始化为第k个 类别中包含光流数目的比例,v表示光流,Νk(v|ukk)表示第k个高斯分量,uk和 Σk表示第k个高斯分量的均值和协方差矩阵;

利用最大似然估计算法,学习得到K个高斯混合模型的参数ωk,uk,Σk, 最终得到。

6.标准高斯混合模型学习

利用改进的Mean Shift聚类算法对步骤四得到的高斯混合模型聚类,聚类算 法包括以下步骤:

步骤51:随机选取一个高斯混合模型为起点,计算以起点为中心的邻域内 高斯混合模型的中心,高斯混合模型邻域内的中心表示为在该高斯混合模型和其 邻域内的高斯混合模型构成的集合中,到其他高斯混合模型的距离之和最小的高 斯混合模型;

步骤52:以中心对应的高斯混合模型为起点,继续计算以起点为中心的邻 域内高斯混合模型的中心;

步骤53:重复步骤51和步骤52,直至连续两个中心的距离小于设定阈值, 停止迭代,设定该阈值为0.56,可以使迭代次数和聚类效果达到最佳效果;

步骤54:对每个未选取过的高斯混合模型,重复步骤51~步骤53,直至所 有的高斯混合模型都被选取过;

该聚类算法中,两个高斯混合模型的距离使用KL散度计算,KL散度计算公 式为:

DKL(g1,g2)=limn1nΣi=1nlogg1(vi)g2(vi),

g1和g2为需要计算KL散度的两个高斯混合模型,vi表示第i个光流, DKL(g1,g2)为g1和g2之间的KL散度,n表示在高斯混合模型中抽取的样本点个数, 本实施例中将抽取样本的数目设置为图像块中包含像素点的数目;

高斯混合模型g1表示为:

g1(v)=Σk=1KωkNk(v|uk,Σk),

其中,K1表示高斯混合模型中高斯分量的数目,参数k取值1~K1,ωk表示 高斯混合模型中第k个高斯分量的权重,v表示光流,Νk(v|ukk)表示第k个高斯 分量,uk和Σk表示第k个高斯分量的均值和协方差矩阵。

计算第k高斯分量分配的样本数目为:

nk=ωkn,

其中,n表示在高斯混合模型g1中抽取的样本点总数目,nk表示第k高斯分量 分配的样本数目。对每个高斯分量Νk(v|ukk),计算其对应的高斯分布函数:

y=Fk(v),

其中,v表示光流,y表示分布函数的值。高斯分布函数的反函数表示为:

v=F-1k(y),

首先计算在[0,1]区间上均匀分布的nk个随机数ξs=U[0,1],然后对nk个随机 数ξs分别计算vs=F-1ks),解方程求得vs

其中,U[0,1]表示[0,1]区间上均匀分布,ξs表示第s个随机数,vs表示由第s个 随机数得到的光流。

按照相同的步骤可以为高斯混合模型g2抽取相同数目的样本点。

通过高斯混合模型的聚类,得到若干个聚类中心,每个聚类包含若干个高斯 混合模型,将聚类结果中包含高斯混合模型最多的聚类中心作为图像块序列的标 准高斯混合模型。

7.输入待检测图像

对视频中前10%的图像完成训练后,每个图像块位置处对应一个标准高斯混 合模型,视频中后90%的图像作为待检测的图像,依次对待检测图像分别进行低 分辨率图像合成,光流特征计算,划分图像块以及高斯混合模型计算,每个图像 块可以得到对应的高斯混合模型。

8.计算待检测图像包含的图像块中是否存在异常

计算待检测图像中图像块对应的高斯混合模型与标准高斯混合模型之间的 差异得分Score1

F和分别表示两种分辨率下图像块的高斯混合模型,G与分别表示两种分 辨率下相同位置处图像块序列的标准高斯混合模型,DKL表示KL散度,其中, α=0.8;

计算图像块与邻接图像块之间的差异得分Score2

其中,和分别表示两种分辨率下与待检测图像中该图像块相邻的高斯混 合模型集合,和表示对应集合中第j个高斯混合模型,Z表示与该图像块相邻 的高斯混合模型个数,j取值1~Z;

该图像块中存在异常行为的得分Score为:

Score=βScore1+(1-β)Score2

其中,β=0.5,当Score≥η,将该图像块标记为异常块,否则标记为正常,η为 阈值。

9.将存在异常的图像块标记后输出显示。

在配置为:处理器Pentium(R)Dual‐Core CPU E6700,主频3.2GHz;内存8GB; 硬盘500GB;操作系统Windows 7 Ultimate 64位;编程环境Matlab R2011a的 计算机上,本发明提出的方法可检测的异常行为类别有3种,检测准确度90%。

实施例2

本实施例针对视频中物的异常行为检测,包括以下部分:

1.图像序列提取与分类

为了验证该方法对视频中物异常检测的效果,我们从现实场景中采集了一个 视频集,该视频集包含包100个视频,其中每个视频中包含车辆信息。具体地, 对视频集中每一个视频,按照每个视频中包含图像的数目,将前10%张图像作为 初始的训练图像,后90%张图像作为待检测图像。本实施例可以更具体的分为两 个部分:第一个部分对训练图像中的每张图像分别进行低分辨率图像合成,光流 特征计算,划分图像块以及高斯混合模型计算,最终计算得到每个图像块位置处 标准高斯混合模型。第二个部分依次对待检测图像中每个图像分别进行低分辨率 图像合成,光流特征计算,划分图像块以及高斯混合模型计算,最后计算待检测 图像中是否存在异常图像块。

2.合成低分辨率图像

按照图像金字塔原理,合成每个原图像I对应的低分辨率图像I′,其中I′中任 意像素点(x,y)的灰度值由原图像I中以像素点(2x,2y)为中心的5×5邻域内的灰 度值合成,首先将5×5邻域内每一行5个像素按照1:4:6:4:1的比例合成出该行 中间像素的灰度值:

f(h)=116I(2x-2,2y+h)+416I(2x-1,2y+h)+616I(2x,2y+h)+416I(2x+1,2y+h)+116I(2x+2,2y+h),

其中h取值{-2,-1,0,1,2},f(h)表示原图像I中以像素点(2x,2y)为中心的 5×5邻域内第h行5个像素按照比例合成的灰度值;然后,同样按照1:4:6:4:1的 比例,合成该列中间像素的灰度值:

I(x,y)=116f(-2)+416f(-1)+616f(0)+416f(1)+116f(2),

其中,x,y表示像素点坐标,I′(x,y)表示像素点(x,y)处的灰度值。

3.光流特征计算

定义I和J为图像序列(这里的图像序列指原图像序列和低分辨率图像序列) 中相邻的两张灰度图像,其中,I在前,J在后。I(px,py)和J(px,py)分别表示像素 点p=[px,py]T在灰度图像I和J中的灰度值,其中px和py表示像素点p在图像中的 坐标。

给定图像I上面的像素点p=[px,py]T,光流计算的目标是得到图像J上对应 的像素点q=p+v=[px+vx,py+vy]T,使得I(p)与J(q)最相似。向量 v=[vx,vy]T即为图像I中像素点p的光流。定义目标函数:

ϵ(v)=Σx=1wΣy=1h(I(x,y)-J(x+vx,y+vy))2,

其中,v表示由图像I中所有像素点对应的光流构成的矩阵,w和h表示图像 的宽度和高度,参数x取值1~w,参数y取值1~h,通过最小化目标函数ε(v),可 以得到图像I上每个像素点的对应的光流v。

对得到的光流归一化处理后,按照光流的长度排序,舍弃光流中长度位于后 10%的光流,通过过滤掉弱光流可以减少微弱光流对系统的干扰,增强检测的鲁 棒性。

4.图像块划分

将图像I划分成M×N个图像块,每个图像块包含个像素点, 其中w表示图像的宽度,h表示图像高度,表示宽度除以每行划分的块数 后上取整,表示高度除以每列划分的块数后上取整,考虑到车辆的体积比 较大,每台车可能包含在多个图像块中,通过增加图像块的大小使车辆异常检测 更加准确,设置M=80,N=80。

5.高斯混合模型学习

首先利用Mean Shift聚类算法对图像块中的光流聚类,得到K个聚类中心以 及每个类别中包含的光流数目;

使用高斯混合模型描述图像块中光流的分布,其中高斯混合模型表示为:

G(v)=Σk=1KωkNk(v|uk,Σk),

其中,K表示高斯混合模型中高斯分量的数目,值等于光流聚类中心的数量, 参数k取值1~K,ωk表示高斯混合模型中第k个高斯分量的权重,初始化为第k个 类别中包含光流数目的比例,v表示光流,Νk(v|ukk)表示第k个高斯分量,uk和 Σk表示第k个高斯分量的均值和协方差矩阵;

利用最大似然估计算法,学习得到K个高斯混合模型的参数ωk,uk,Σk, 最终得到。

6.标准高斯混合模型学习

利用改进的Mean Shift聚类算法对步骤四得到的高斯混合模型聚类,聚类算 法包括以下步骤:

步骤51:随机选取一个高斯混合模型为起点,计算以起点为中心的邻域内 高斯混合模型的中心,高斯混合模型邻域内的中心表示为在该高斯混合模型和其 邻域内的高斯混合模型构成的集合中,到其他高斯混合模型的距离之和最小的高 斯混合模型;

步骤52:以中心对应的高斯混合模型为起点,继续计算以起点为中心的邻 域内高斯混合模型的中心;

步骤53:重复步骤51和步骤52,直至连续两个中心的距离小于设定阈值, 停止迭代,设定该阈值为0.56,可以使迭代次数和聚类效果达到最佳效果;

步骤54:对每个未选取过的高斯混合模型,重复步骤51~步骤53,直至所 有的高斯混合模型都被选取过;

该聚类算法中,两个高斯混合模型的距离使用KL散度计算,KL散度计算公 式为:

DKL(g1,g2)=limn1nΣi=1nlogg1(vi)g2(vi),

g1和g2为需要计算KL散度的两个高斯混合模型,vi表示第i个光流, DKL(g1,g2)为g1和g2之间的KL散度,n表示在高斯混合模型中抽取的样本点个数, 本实施例中将抽取样本的数目设置为图像块中包含像素点的数目;

高斯混合模型g1表示为:

g1(v)=Σk=1KωkNk(v|uk,Σk),

其中,K1表示高斯混合模型中高斯分量的数目,参数k取值1~K1,ωk表示 高斯混合模型中第k个高斯分量的权重,v表示光流,Νk(v|ukk)表示第k个高斯 分量,uk和Σk表示第k个高斯分量的均值和协方差矩阵。

计算第k高斯分量分配的样本数目为:

nk=ωkn,

其中,n表示在高斯混合模型g1中抽取的样本点总数目,nk表示第k高斯分量 分配的样本数目。对每个高斯分量Νk(v|ukk),计算其对应的高斯分布函数:

y=Fk(v),

其中,v表示光流,y表示分布函数的值。高斯分布函数的反函数表示为:

v=F-1k(y),

首先计算在[0,1]区间上均匀分布的nk个随机数ξs=U[0,1],然后对nk个随机 数ξs分别计算vs=F-1ks),解方程求得vs

其中,U[0,1]表示[0,1]区间上均匀分布,ξs表示第s个随机数,vs表示由第s个 随机数得到的光流。

按照相同的步骤可以为高斯混合模型g2抽取相同数目的样本点。

通过高斯混合模型的聚类,得到若干个聚类中心,每个聚类包含若干个高斯 混合模型,将聚类结果中包含高斯混合模型最多的聚类中心作为图像块序列的标 准高斯混合模型。

7.输入待检测图像

对视频中前10%的图像完成训练后,每个图像块位置处对应一个标准高斯混 合模型,视频中后90%的图像作为待检测的图像,依次对待检测图像分别进行低 分辨率图像合成,光流特征计算,划分图像块以及高斯混合模型计算,每个图像 块可以得到对应的高斯混合模型。

8.计算待检测图像包含的图像块中是否存在异常

计算待检测图像中图像块对应的高斯混合模型与标准高斯混合模型之间的 差异得分Score1

F和分别表示两种分辨率下图像块的高斯混合模型,G与分别表示两种分 辨率下相同位置处图像块序列的标准高斯混合模型,DKL表示KL散度,其中, α=0.8;

计算图像块与邻接图像块之间的差异得分Score2

其中,和分别表示两种分辨率下与待检测图像中该图像块相邻的高斯混 合模型集合,和表示对应集合中第j个高斯混合模型,Z表示与该图像块相邻 的高斯混合模型个数,j取值1~Z;

该图像块中存在异常行为的得分Score为:

Score=βScore1+(1-β)Score2

其中,β=0.5,当Score≥η,将该图像块标记为异常块,否则标记为正常,η为 阈值。

9.将存在异常的图像块标记后输出显示。

在配置为:处理器Pentium(R)Dual‐Core CPU E6700,主频3.2GHz;内存8GB; 硬盘500GB;操作系统Windows 7 Ultimate 64位;编程环境Matlab R2011a的 计算机上,本发明提出的方法可检测的异常行为类别有3种,检测准确度95%。

如图2a~图2d所示,为实施例1中针对视频中人的异常行为检测效果图, 如图2a~图2d中的黑色矩形框标注视频中存在异常行为的人,在视频中该人突 然改变运动方向。

如图3a~图3d所示,为实施例2中针对视频中物的异常行为检测效果图, 图3a~图3d中的黑色矩形框标注视频中存在异常行为的车辆。

本发明提供了一种基于高斯混合模型的视频中异常行为在线检测方法的思 路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选 实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原 理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保 护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号