法律状态公告日
法律状态信息
法律状态
2016-04-20
授权
授权
2013-08-28
实质审查的生效 IPC(主分类):G06K9/00 申请日:20130424
实质审查的生效
2013-07-31
公开
公开
技术领域
本发明涉及计算机视觉和模式识别领域,特别涉及一种视频语义事件建模方法。
背景技术
运动人体行为分析是计算机视觉领域当前的研究热点,即在不需要人为干预的情况下,综合利用计算机视觉、模式识别、图像处理和人工智能等诸多方面的知识和技术对摄像机拍录的图像序列进行自动分析,实现动态场景中的人体定位、跟踪,并在此基础上分析和判断人的行为,其最终目标是通过对行为特征数据的分析来获取行为的语义描述与理解,通用的分析方法为视频语义事件建模。
视频语义事件建模能够付诸大规模视频数据的自动标注,是视频内容自动理解、分析、索引以及检索的关键技术。例如:在视频监控领域,视频语义事件建模具有重要应用价值。
发明人在实现本发明的过程中,发现现有技术中至少存在以下缺点和不足:
监控视频对于事后取证具有重要意义,然而面对如此众多的监控设备,仅仅依靠监控人员通过目视来实现对视频中语义事件的判断不仅会浪费大量的人力物力,同时也很容易因为监控人员的疲惫或者懈怠造成异常事件的漏报。
发明内容
本发明提供了一种视频语义事件建模方法,本方法减少了异常事件的漏报,避免了人力物力的浪费,详见下文描述:
一种视频语义事件建模方法,所述方法包括以下步骤:
(1)获取原始视频图像序列,并对原始视频图像序列进行灰度化和滤波预处理,获取初始视频图像序列;
(2)对所述初始视频图像序列进行自适应背景建模,获取更新后背景图像,当前图像和所述更新后背景图像对应像素做差得到前景中人体区域;
(3)采用Meanshift算法跟踪所述前景中人体区域,获取每一帧新的位置坐 标;
(4)对所述每一帧新的位置坐标进行统计分析从而判断出相应的运动行为。
所述对所述初始视频图像序列进行自适应背景建模,获取更新后背景图像的步骤具体为:
1)选择j-1时刻图像帧Ij-1作为背景Bj-1;
2)求当前帧图像Ij与上一帧图像Ij-1的差分图像,并根据自适应阈值Tj将差分图像二值化得到二值图像Dj:
3)由二值图像Dj和上一帧背景图像Bj-1更新得到当前帧背景图像Bj。
所述自适应阈值Tj的确定具体为:
1)设置(min,max)=(0,255),初步设置Tj=27,预设闭区间[M1,M2],统计迭代次数A=0;
2)初始化参数wL和wH都为0,以自适应阈值Tj为标准把当前帧图像像素分为两部分,统计两部分像素的数目,即
其中Ij(x,y)为第j帧的输入图像在坐标(x,y)处的灰度值;
3)若wH/wL>M2,最佳Tj在(Tj,max)之间,min=Tj,max不变,Tj=(min+max)/2,A=A+1,若A≥10则迭代结束,Tj即为最佳阈值,否则返回2)统计两部分像素;
4)若wH/wL<M1,最佳Tj在(min,Tj)之间,min不变,max=Tj,Tj=(min+max)/2,并使A=A+1,若A≥10则迭代结束,Tj即为最佳阈值,否则返回2)统计两部分像素;
5)若wH/wL∈[M1,M2]则迭代结束,Tj即为最佳阈值。
所述采用Meanshift算法跟踪所述前景中人体区域,获取每一帧新的位置坐标的步骤具体为:
1)初始化参数:
2)转换色彩空间:将图像Ij从RGB颜色空间转换到HSV颜色空间得到Hj;
3)计算色彩投影图:通过每个像素值的H分量建立像素值和归一化直方图之间的对应关系,将图像Hj上外接矩形内的每个像素值用归一化直方图的值进行替换;
4)计算目标行人在新一帧的位置坐标:
其中x,y为Hj上外接矩形J内所有像素在x轴和y轴的坐标值,Sj(x,y)为坐标(x,y)下色彩投影图Sj的像素值;
增加迭代次数A=A+1,并计算两次迭代结果的距离若A≥10或者则迭代结束,目标行人新的位置坐标即为(x0,y0);否则更新外接矩形J的中心位置坐标(x′,y′)到(x0,y0),矩形大小不变,并返回步骤3)。
本发明提供的技术方案的有益效果是:本方法通过对当前图像和更新后背景图像对应像素做差得到前景中人体区域,并获取每一帧新的位置坐标,通过统计分析判断出人体的相应运动行为;本方法减少了异常事件的漏报,避免了人力物力的浪费,提高了监控设备的工作效率。
附图说明
图1为一种视频语义事件建模方法的流程图;
图2为第一视角VIEW_001下的视频序列的示意图;
图3~图11为对运动人体进行事件分析的实验效果图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了减少异常事件的漏报,避免人力物力的浪费,本发明实施例提供了一种视频语义事件建模方法,采用智能视频分析方式,用视频语义模型的自动检测代替人为监察,当有异常事件发生时通过报警系统提醒,这样就会在效率和效果上有了极大的保证,参见图1,详见下文描述:
101:获取原始视频图像序列,并对原始视频图像序列进行灰度化和滤波预 处理,获取初始视频图像序列;
其中,本发明实施例采用灰度化方法[1]和高斯滤波[2]对原始视频图像序列进行处理,具体处理的步骤为本领域技术人员所公知,本发明实施例对此不做赘述。
102:对初始视频图像序列进行自适应背景建模,获取更新后背景图像,当前图像和更新后背景图像对应像素做差得到前景中人体区域;
其中,自适应背景建模算法的核心思想是:从两帧做差后的二值图像中判断出图像的前景运动目标部分(取值为1的部分),前景运动目标部分保持原背景不变;对于图像中非运动目标部分(取值为0的部分),则用当前图像中的内容与原背景图像中的内容加权平均,来更新背景图像,该步骤具体为:
1)选择j-1时刻图像帧Ij-1作为背景Bj-1;
2)求当前帧图像Ij与上一帧图像Ij-1的差分图像,并根据自适应阈值Tj将差分图像二值化得到二值图像Dj:
式中Ij(x,y),Ij-1(x,y),Dj(x,y)分别为当前帧图像,上一帧图像和二值图像在坐标(x,y)处的像素值。
3)由二值图像Dj和上一帧背景图像Bj-1更新得到当前帧背景图像Bj;
式中α为更新速度,本方法以0.03为例进行说明,具体实现时,还可以为其他的取值,本发明实施例对此不做限制。此时Bj(x,y)即为当前帧背景图像Bj在坐标(x,y)处的灰度值。
选取下一帧图像,当前帧图像变为Ij+1,循环执行步骤2)至步骤3),即可得到每一帧的背景图像。
其中,当前图像和更新后背景图像对应像素做差得到前景中人体区域的操作具体为:对当前图像和更新后背景图像对应像素做差的结果进行腐蚀、膨胀来获取人体轮廓[3],并做人体轮廓的外接矩形J,人体轮廓即前景中人体区域。
由于周围环境光线的变化造成图像背景的变化,采用传统静态阈值更新背景不能很好地适应环境的变化,需要动态更新阈值实时更新背景,以便更好地 分割前景和背景。因此本方法采用迭代算法,以自适应阈值Tj为分界,使当前视频帧图像Ij的两部分像素数量比在一个确定的闭区间内,假如不在闭区间内,迭代更新Tj并重新以Tj为分界,计算Ij的两部分像素数量比,直到比值在闭区间内或迭代超过一定次数。
1)设置(min,max)=(0,255),Tj肯定在(min,max)区间内,可以初步设置Tj=27,预设闭区间[M1,M2](本发明实施例以M1=40,M2=50为例进行说明),统计迭代次数A=0(A的最大次数为10);
2)初始化参数wL和wH都为0,以自适应阈值Tj为标准把当前帧图像像素分为两部分,遍历整幅图像所有像素,统计两部分像素的数目,即
其中Ij(x,y)为第j帧的输入图像在坐标(x,y)处的灰度值。
3)若wH/wL>M2,说明wH较大,最佳Tj应该在(Tj,max)之间。则设min=Tj,max不变,Tj取中间值,Tj=(min+max)/2,并使A=A+1,若A≥10则迭代结束,该Tj即为最佳阈值,否则返回2)统计两部分像素;
4)若wH/wL<M1,说明wH较小,最佳Tj应该在(min,Tj)之间。则设min不变,max=Tj,Tj取中间值,Tj=(min+max)/2,并使A=A+1,若A≥10则迭代结束,该Tj即为最佳阈值,否则返回2)统计两部分像素;
5)若wH/wL∈[M1,M2]则迭代结束,该Tj即为最佳阈值。
103:采用Meanshift算法跟踪前景中人体区域,获取每一帧新的位置坐标;
当步骤102检测到目标行人并获得人体外接矩形J后,通过Meanshift算法迭代计算目标行人在下一帧图像新的位置坐标,直到两次迭代计算出的坐标距离小于一定的阈值或者迭代超过一定的次数,步骤为:
1)初始化参数:
用来保存上一次迭代结果的坐标(x′,y′),该坐标初始化为外接矩形J的位置坐标;统计迭代次数A=0(A的最大次数为10);
2)转换色彩空间:
为了减少光照变化对目标行人跟踪的影响,首先将图像Ij从RGB颜色空间转换到HSV颜色空间得到Hj[4];
3)计算色彩投影图:
在Hj上对外接矩形J内所有像素的H分量进行直方图统计,该直方图代表了不同H分量在外接矩形内出现的数量,然后对直方图进行归一化得到归一化直方图His;通过每个像素值的H分量建立像素值和归一化直方图之间的对应关系,将图像Hj上外接矩形内的每个像素值用归一化直方图His的值进行替换,由此得到色彩投影图Sj。
4)计算目标行人在新一帧的位置坐标:
Hj上外接矩形内所有像素的坐标乘以Sj上对应点像素的值,然后把这些值全部加起来,得到目标行人新的坐标(x0,y0)。
其中x,y为Hj上外接矩形J内所有像素在x轴和y轴的坐标值。Sj(x,y)为坐标(x,y)下色彩投影图Sj的像素值。
增加迭代次数A=A+1,并计算两次迭代结果的距离若A≥10或者则迭代结束,目标行人新的位置坐标即为(x0,y0)。否则更新外接矩形J的中心位置坐标(x′,y′)到(x0,y0),矩形大小不变(即得到了新的外接矩形J),并返回步骤3)计算色彩投影图。
104:对每一帧的位置坐标进行统计分析从而判断出相应的运动行为。
1)定义通过事件:运动行人在监控区域内一直向前方行走,没有返回的行为。
首先需要判定行人出现时的前进方向,方法为当检测到新目标出现时,通过对新目标前若干帧(参考值20帧)的位置坐标进行跟踪记录,若当前位置(第20帧)坐标在新目标出现时(第1帧)坐标的右方,则判定新目标从左向右前进;类似的,若当前位置坐标在新目标出现时坐标的左方,则判定从右向左前进;然后继续对新目标进行跟踪记录,继续下一步的判断。
假设已经判定新目标为从左向右前进,在此之后的位置坐标一直是从左向右即同方向前进时,每一帧符合计算式pi+20(x)-pi+19(x)>0,且满足预设帧数时,则判定此行人是通过行为,其中pi+20(x)和pi+19(x)分别表示第i+20帧和第i+19帧时行人的x轴坐标,i的取值为大于等于1的正整数。
2)定义返回事件:运动人体在监控区域内向前走过一段距离之后,又沿原方向返回的行为。
在已判断行人发生通过事件并且从左向右前进的前提下,当目标从某一帧开始不再符合通过事件的计算式,而是pi+20(x)-pi+19(x)<0,且满足预设帧数时,则判定此人是返回行为。
3)定义徘徊事件:运动人体在监控区域内来回走动。
对于徘徊行为的判断,由于前一段是个返回行为,所以可以在行人发生返回行为基础上再做继续分析判断。当判定为返回行为后,随着行人的继续前进,轨迹又朝正方向移动,计算为pi+20(x)-pi+19(x)>0,且满足预设帧数时,则判定为徘徊事件。
4)定义滞留事件:滞留是指运动人体在监控区域内保持同一个位置超过一定时间,称这种行为为滞留行为。
当目标在一段连续的图像帧(参考值20帧)中的位置坐标基本保持在一个阈值空间范围内(参考值12像素),计算为,其中pi(x)表示第i帧时行人的x轴坐标、pi(y)表示第i帧时行人的y轴坐标,则判定此行人为滞留行为。
5)定义越界事件:在有些场景中,需要监视有没有人进入一些固定的无规则边界区域,比如湖泊,草地,危险区,等其他区域。当行人的位置坐标位于无规则边界区域内时则发生越界事件。
首先在监控图像中画出一个闭合多边形,作为监控的区域。之后,对这个多边形内部进行像素填充[5],将像素值填充成255,多边形外像素值赋为0,记为标记图。根据跟踪到的行人位置坐标,在标记图上确定此坐标位置的像素值,如果位置坐标在标记图上像素值为255,则越界发生,否则未越界。
6)定义越线事件:越线不同于越界,越线是检测是否有人从线的一侧走到了另外一侧,不管是从左侧到右侧还是右侧到左侧,都算作越线的范畴。比如有这样两相邻区域,规定一方区域内的人不允许进入对方的领域,即对是否有人越过这条警戒线为报警条件。
首先构建直角坐标系,以及直线L。令虚拟线L上的两个端点为(x1,y1)、(x2,y2),则虚拟线L上的任意点(x,y)满足方程:
(y2-y1)*(x-x1)-(y-y1)*(x2-x1)=0
当行为在监控区域的任何位置时,譬如(x0,y0),可以应用上式判断位置坐标与虚拟线的位置信息,判断方法如下式:
当LinePos=-1时,表示行人在直线左侧;当LinePos=0时,表示行人在直线上;当LinePos=1时,表示行人在直线右侧。
当检测到新目标出现时,记录起始位置坐标P0。在整个跟踪过程中,根据每一帧目标的新位置P1,不断利用越线状态公式判断行人的位置信息。
当LineStatus=1时判断行人是越线行为,否则就没有越线。
7)定义相遇事件:相遇表示若干行人长时间距离很近。
计算所有行人两两之间的距离,当小于某阈值(参考值12像素),并持续一段时间以上(参考值20帧),可以判定为两人为相遇事件。计算为 其中pi(x),qi(x),pi(y),qi(y)表示第i帧时两个行人分别在x轴和y轴上的坐标值。
8)聚集和分散事件:对行人轨迹的检测和跟踪,对多人的聚集和分散进行判断。
首先统计视野内所有行人的总数,当超过w(参考值5)人时,才可能发生聚集或分散事件。在此基础上,计算所有行人坐标在x,y轴上的重心点(x’,y’),计算式为其中N表示当前帧下共有N个行人,pj(x)表示当前帧第j个行人在x轴上的坐标,pj(y)表示当前帧第j个行人在y轴上的坐标。然后计算每个行人对于重心点距离平方的平均, 当σ连续的缩小时,可以判断为人群正在聚集。当σ连续增大时,判断为人群正在分散。
本实验采用公共数据集PETS2012。数据集共有三组视频:S0、S1、S2、S3。选择适合做跟踪分析的S2数据集,并且选择第一视角VIEW_001下的视频序列。实验平台选择VS2008和OpenCV2.0环境,图3-10为实验平台界面以及 S2数据集VIEW_001下视频场景。
显示结果时,把检测到的实验结果标注在目标上方,并把发生确定行为的目标标号汇总在对话框右上角的列表里,其中
图3通过轨迹线可以判断14、15、16、17号行人一直朝同方向行走,实验结果显示发生通过行为,用深色椭圆标记并在目标上方标记“通过”;
图4通过轨迹可以得出13号行人先是由左到右,后又向反方向行走。实验结果显示13号行人为返回行为,用深色椭圆标记并在目标上方标记“返回”;
图5通过轨迹判断14号行人从右方出现,由右到左行走,后转身返回,行走一段距离后,紧接着又从右到左继续行走,实验结果显示为徘徊行为,用深色椭圆标记并在目标上方标记“徘徊”;
图6可以看出14号行人长时间停留在同一位置,没有移动。实验结果显示该行人为驻留行为,用深色椭圆标记并在目标上方标记“驻留”;
图7可以看到13、14号行人两人距离特别近,而其他行人都距离比较远,实验结果显示13、14号行人发生相遇事件,用深色椭圆标记并在目标附近标记“相遇”;
图8通过轨迹可以看到8、13号行人从深色虚拟线的一侧走到另外的一侧,而其他人出现时和当前都在深色线的同一侧,实验结果显示8、13号行人发生越线行为,用深色椭圆标记并在目标上方标记“越线”;
图9可以看到13、14、16、17号行人进入深色闭合区域,其他人在区域外,实验结果显示13、14、16、17号行人属于越界行为,用深色椭圆标记并在目标上方标记“越界”;
图10可以看到2、4、3、6、1、5号行人正在聚集到一起,实验结果显示他们发生聚集行为,用深色椭圆标记并在其中一个目标上方标记“聚集”;
图11检测到13、2、3、8、11、15、12号行人朝相反的方向走开,实验结果显示这七个行人发生分散行为,用深色椭圆标记并在其中一个目标上方标记“分散”。
综上所述,本发明实施例提供了一种视频语义事件建模方法,本方法通过对当前图像和更新后背景图像对应像素做差得到前景中人体区域,并获取每一帧新的位置坐标,通过统计分析判断出人体的相应运动行为;本方法减少了异常事件的漏报,避免了人力物力的浪费,提高了监控设备的工作效率。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
参考文献
[1]周金和,彭福堂.一种有选择的图像灰度化方法[J].计算机工程,2006.
[2]李雪威,张新荣.保持边缘的高斯平滑滤波算法研究[J].计算机应用与软件,2010.
[3]李宁,黄山,张先震,李秀君.基于背景差分的人体运动检测[J].微计算机信息,2009.
[4]袁奋杰,周晓.基于FPGA的RGB和HSV色空间转换算法实现[J].电子器件,2010.
[5]徐胜攀,刘正军,左志权,程耀东.一种改进的活性边表区域填充算法[J].计算机工程与应用,2013。
机译: 对象语义数据建模系统;一种用于创建相对于数据库存储数据的数据库模式的方法,一种在D中解释公式的方法,以及一种对象语义类型的数据模型的有效期的数据模型,该对象语义类型的数据模型包括多个对象语义。和系统来创建数据库架构
机译: 一种自动化方法和装置,其能够提供时空事件的动态感知不变性,以便提取从时空事件中提取统一的语义表示
机译: 从视频中自动提取语义重要事件的方法