发明名称 一种基于KOD能量特征的群体异常行为识别方法
摘要 本发明公开了一种基于KOD能量特征的群体异常行为识别方法,该方法首先对运动目标进行检测,获得运动目标区域;然后提取群体行为KOD能量特征,并进行归一化;最后通过训练隐马尔可夫模型实现群体异常行为识别。实验结果表明,使用KOD能量特征能够有效地检测出群体异常行为并识别出其类型,能够达到92%的准确率。
申请公布号 CN103258193B 申请公布日期 2016.06.22
申请号 CN201310189902.X 申请日期 2013.05.21
申请人 西南科技大学 发明人 范勇;高琳;段晶晶;李郁峰;李绘卓;潘娅
分类号 G06K9/00(2006.01)I;G06K9/46(2006.01)I;G06K9/66(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 龚燮英
主权项 一种基于KOD能量特征的群体异常行为识别方法,其特征在于,包括以下步骤:A1、运动目标检测;具体包括以下步骤:1)将视频图像转换为灰度图像;2)利用当前视频帧灰度图像减去上一帧得到帧间差图像;3)采用中值滤波滤除图像中的噪声,然后对滤波后图像进行二值化;4)采用形态学原理对二值图像进行膨胀,得到连通区域,然后得到运动目标区域;A2、KOD能量特征提取;A21基本特征提取采用基于灰度的Harris角点检测方法提取角点;通过计算图像像素点的梯度及曲率来检测目标边缘的角点,并用角点代表群体中的个体;然后采用基于金字塔模型的Lucas‑Kanade光流计算法通过特征匹配求得角点处的光流,得到群体行为的基本特征;A22能量特征提取分别定义群体动能、方向势能和距离势能三种群体行为能量,分别描述群体的运动激烈程度、群体的主流运动方向、群体中个体的位置分布以及群体随时间的相对位置变化情况,包含丰富的特征信息对群体全局运动状态进行表征:1)群体动能使用式(1)计算所有代表个体的特征角点的运动能量之和,即群体动能E<sub>k</sub>(n):<maths num="0001"><math><![CDATA[<mrow><msub><mi>E</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>I</mi></munderover><msub><mi>m</mi><mi>i</mi></msub><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><msup><mo>|</mo><mn>2</mn></msup></mrow><mi>I</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000011.GIF" wi="982" he="247" /></maths>其中,m<sub>i</sub>表示第i个角点的质量权重值,群体行为发生时,假设群体中的个体在群体行为中所占的权重相同,因此,质量权重值m<sub>i</sub>取相同常量值;I表示第n帧中角点的个数;v<sub>i</sub>代表了第i个角点的光流矢量(v<sub>ix</sub>,v<sub>iy</sub>),|v<sub>i</sub>|表示光流失量的幅值,计算方法如式(2)所示:<maths num="0002"><math><![CDATA[<mrow><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><mo>|</mo><mo>=</mo><msqrt><mrow><msup><msub><mi>v</mi><mrow><mi>i</mi><mi>x</mi></mrow></msub><mn>2</mn></msup><mo>+</mo><msup><msub><mi>v</mi><mrow><mi>i</mi><mi>y</mi></mrow></msub><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000012.GIF" wi="1037" he="150" /></maths>2)方向势能群体行为分析中假设每一个角点代表群体中的一个个体,因此,定义c<sub>i</sub>和c<sub>j</sub>角点运动之间的差异性S<sub>ij</sub>为运动方向差异性及运动速度大小差异性的加权和,如式(3)所示;群体的方向势能即为所有个体与个体之间的方向势能总和,计算各个角点间差异性的总和,归一化后得到第n帧中群体的方向能量E<sub>o</sub>(n),如式(4)所示:<maths num="0003"><math><![CDATA[<mrow><msub><mi>S</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mi>&alpha;</mi><mo>&lsqb;</mo><mi>arccos</mi><mo>(</mo><mfrac><mrow><msub><mi>v</mi><mi>i</mi></msub><msub><mi>v</mi><mi>j</mi></msub></mrow><mrow><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo><msub><mi>v</mi><mi>j</mi></msub><mo>|</mo></mrow></mfrac><mo>)</mo><mo>&rsqb;</mo><mo>+</mo><mi>&beta;</mi><mo>|</mo><mo>|</mo><msub><mi>v</mi><mi>i</mi></msub><mo>|</mo><mo>-</mo><mo>|</mo><msub><mi>v</mi><mi>j</mi></msub><mo>|</mo><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000021.GIF" wi="1197" he="207" /></maths><maths num="0004"><math><![CDATA[<mrow><msub><mi>E</mi><mi>o</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>&gamma;</mi><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>I</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mi>i</mi></mrow><mi>I</mi></munderover><msub><mi>S</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>I</mi></munderover><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000022.GIF" wi="950" he="263" /></maths>其中,v<sub>i</sub>和v<sub>j</sub>分别表示第i和j个角点的光流矢量;α与β分别代表群体运动方向及运动速度大小所占的权重,一般取经验值且满足α>β,另外α和β的取值需要使得方向及大小两种差异性接近相同数量级;γ为归一化常量;3)距离势能通过计算角点与中心的欧氏距离代替个体之间的距离,并由式(5)计算得到归一化后的群体的总距离势能E<sub>d</sub>(n):<img file="FDA0000968114950000023.GIF" wi="1030" he="207" />其中,<img file="FDA0000968114950000024.GIF" wi="59" he="63" />是修正因子,取常量;A23行为模式提取通过计算角点光流特征,计算群体动能、方向势能和距离势能三种行为能量并生成高层KOD能量特征后,提取群体异常行为模式;首先通过提取正常和异常行为中能量特征,针对不同场景不同视角下的视频序列统计得到群体正常行为的动能阈值<img file="FDA0000968114950000025.GIF" wi="102" he="93" />方向势能阈值<img file="FDA0000968114950000026.GIF" wi="94" he="95" />分别表示正常行走与奔跑的动能分界线和群体正常与异常行为的方向散度分界线;当群体动能大于一定的阈值时,定义其为动能异常,即表示群体运动较剧烈,因此群体异常行为序列中第t帧的特征向量P<sub>t</sub>中元素p<sub>1</sub><sup>t</sup>由式(6)计算;<maths num="0005"><math><![CDATA[<mrow><msup><msub><mi>p</mi><mn>1</mn></msub><mi>t</mi></msup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo><msub><mi>E</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&gt;</mo><msub><mi>&theta;</mi><msub><mi>E</mi><mi>k</mi></msub></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>E</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><msub><mi>E</mi><mi>k</mi></msub></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000027.GIF" wi="943" he="171" /></maths>群体方向势能越大代表群体中个体的运动方向越发散,群体运动方向越不统一,特征向量中元素p<sub>2</sub><sup>t</sup>由式(7)计算;<maths num="0006"><math><![CDATA[<mrow><msup><msub><mi>p</mi><mn>2</mn></msub><mi>t</mi></msup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo><msub><mi>E</mi><mi>o</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&gt;</mo><msub><mi>&theta;</mi><msub><mi>E</mi><mi>o</mi></msub></msub></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>E</mi><mi>o</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>&theta;</mi><msub><mi>E</mi><mi>o</mi></msub></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000028.GIF" wi="966" he="175" /></maths>当群体距离势能随着视频序列显示出递增趋势,表示群体正在扩散,反之,表明群体正在聚集;考虑当前帧与前一帧的距离势能变化趋势,计算特征向量中元素p<sub>3</sub><sup>t</sup>,如式(8)所示;<maths num="0007"><math><![CDATA[<mrow><msup><msub><mi>p</mi><mn>3</mn></msub><mi>t</mi></msup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mn>1</mn><mo>,</mo><msub><mi>E</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>E</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mn>0</mn><mo>,</mo><msub><mi>E</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>&gt;</mo><msub><mi>E</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000031.GIF" wi="1070" he="198" /></maths>然后分别将每一帧的能量特征元素连接起来共同生成特征向量P<sub>t</sub>=(p<sub>1</sub><sup>t</sup>,p<sub>2</sub><sup>t</sup>,p<sub>3</sub><sup>t</sup>),将一类异常行为的多帧图像序列特征向量联合起来生成行为模式P=(...,P<sub>t‑1</sub>,P<sub>t</sub>,P<sub>t+1</sub>,…);A3分类识别提取能量特征构造特征向量并生成行为模式后,通过构建隐马尔可夫模型对未知行为进行分类识别;首先定义HMM中涉及到的参数:<img file="FDA0000968114950000032.GIF" wi="909" he="927" />训练HMM即优化模型参数λ={A,B,П},使得观测序列产生的概率P(O|λ<sub>i</sub>)最大化;在为群体异常行为构建HMM时,首先定义模型的隐状态,根据群体异常行为典型行为模式P定义相应行为的隐状态集合,确定状态集合Q和观测值集合V后,根据经验初始化初始状态矩阵П;然后,分别定义前向变量式(9)、后向变量式(10),中间变量式(11)和式(12)用于模型参数估计,前向变量:α<sub>t</sub>(i)=P(O<sub>1</sub>,O<sub>2</sub>,...,O<sub>t</sub>,s<sub>t</sub>=q<sub>i</sub>|λ)  (9)后向变量:β<sub>t</sub>(i)=P(O<sub>t+1</sub>,...,O<sub>T</sub>|s<sub>t</sub>=q<sub>i</sub>,λ)   (10)中间变量:γ<sub>t</sub>(i)=P(s<sub>t</sub>=q<sub>i</sub>|O<sub>1</sub>,...,O<sub>T</sub>,λ)   (11)ξ<sub>t</sub>(i,j)=P(s<sub>t</sub>=q<sub>i</sub>,s<sub>t+1</sub>=q<sub>j</sub>|O<sub>1</sub>,...,O<sub>T</sub>,λ)    (12)最后,使用Baum‑Welch算法对模型参数进行估计,如式(13)~(15)所示;<maths num="0008"><math><![CDATA[<mrow><msub><mover><mi>a</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>T</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>&xi;</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>T</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>&gamma;</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000041.GIF" wi="942" he="310" /></maths><maths num="0009"><math><![CDATA[<mrow><msub><mover><mi>b</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>&Sigma;</mi><mrow><mi>t</mi><mo>&Element;</mo><mo>{</mo><mi>t</mi><mo>|</mo><msub><mi>O</mi><mi>t</mi></msub><mo>=</mo><msub><mi>v</mi><mi>k</mi></msub><mo>}</mo></mrow></msub><msub><mi>&gamma;</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow><mrow><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>T</mi></munderover><msub><mi>&gamma;</mi><mi>t</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000042.GIF" wi="1030" he="262" /></maths><maths num="0010"><math><![CDATA[<mrow><msub><mover><mi>&pi;</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>&gamma;</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>15</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000043.GIF" wi="1038" he="164" /></maths>优化模型参数后,得到群体异常行为最佳模型;为识别未知类型观测序列所属行为类型,首先为每一类异常行为构建并训练一个HMMλ<sub>i</sub>={A<sub>i</sub>,B<sub>i</sub>,∏<sub>i</sub>},在识别阶段,选择观察序列最匹配的模型即该行为所属分类,用式(16)实现;<maths num="0011"><math><![CDATA[<mrow><msup><mi>c</mi><mo>*</mo></msup><mo>=</mo><mi>arg</mi><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mi>i</mi></munder><mrow><mo>(</mo><mi>P</mi><mo>(</mo><mrow><msub><mi>&lambda;</mi><mi>i</mi></msub><mo>|</mo><mi>O</mi></mrow><mo>)</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>16</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968114950000044.GIF" wi="1309" he="143" /></maths>另外,当给定观测序列O和模型参数λ<sub>i</sub>时,根据贝叶斯准则,即可由前向算法将该分类问题转化为计算P(O|λ<sub>i</sub>),产生该观测序列的概率最大的模型,即所属异常行为类型。
地址 621010 四川省绵阳市涪城区青龙大道中段59号