计算机视觉-混合动态纹理模型(Mixtures of Dynamic Textures)

在计算机视觉领域,混合动态纹理模型(Mixtures of Dynamic Textures, MDT)常用于视频帧序列建模。比如对帧序列的分割,局部或全局的异常事件检测。下图能很好表明MDT的建模过程及其应用,该模型用于人群场景中局部异常的检测。首先,训练阶段:在一定的训练时间内且在每一个子区域中学习相应的MDT模型;其次,测试阶段:针对每一个子区域的MDT模型计算测试帧对应区域的负对数似然。整个过程类比于GMM模型用于视频建模,其中两者的区别在于GMM模型中的样本数据点为单帧中的local patch;而在MDT模型中的样本数据点多考虑了时间信息,即为spatio-temporal local patchs。而这层时间信息可以用马尔科夫链进行建模,下面我们先描述一下动态纹理模型(DT),然后再讨论MDT。
这里写图片描述

1. 动态纹理模型(DT)

DT是一个典型的视频帧序列的生成模型。这个随机过程通过一系列隐变量和观测变量 {x,y} 并结合线性动态系统(linear dynamical system, LDS)进行形式化:

{xt+1=Axt+vtyt=Cxt+wt

其中 xtRn 为帧序列中时刻 t 对应的隐变量,刻画视频序列随时间的演变; ytRm 为对应的观测变量 (一般 nm ),刻画视频帧;参数 ARn×n 为状态转移矩阵,参数 CRm×m 为发射矩阵;而 vt,wt 为高斯白噪声,即 vtN(0,Q),wtN(0,R) ,其中 QRn×n,RRm×m 。扩展定义初始状态 x1 服从参数为 μ,S 的高斯分布。那么DT模型的参数为 Θ={A,Q,C,R,μ,S} ,概率图模型如下图(a)所示。模型中的隐变量 yt 为连续性变量,可理解为整个模型要学习的就是视频帧的上层语义信息(即纹理信息)。该模型与隐马尔科夫模型类似,区别仅在于隐状态变量的离散型或连续性。
这里写图片描述
很显然,初始状态分布,状态转移条件分布和观测条件分布如下
p(x1)=G(x1,μ,S)p(xt|xt1)=G(xt,Axt1,Q)p(yt|xt)=G(yt,Cxt,R)

其中 G(x,μ,Σ)=(2π)n/2|Σ|1/2exp{12xtμ2Σ} n 维高斯分布, xtμ2Σ=(xtμ)TΣ1(xtμ) 。那么, {x,y} 的联合概率分布为
p(x,y)=p(x1)t=2τp(xt|xt1)t=1τp(yt|xt)

由于隐变量的存在,该模型的参数学习一般通过 EM算法求解;而隐变量的推断(预测问题)一般采用经典的维特比算法。这里就不过多介绍细节,下面我们来看MDT模型。

2. 混合动态纹理模型(MDT)

所谓MDT,即一个视频帧序列 y 采样于某一个动态纹理,且每一个动态纹理参数为 Θk ,对应概率为 αk ,满足 Kkαk=1 。整个模型的生成过程如下:

  • 从多项式分布 {α1,,αK} 中采样一个成分 k
  • 从动态纹理成分 Θk 中采样一个视频帧序列 y

那么该序列从该生成模型中采样的概率为

p(y)=k=1Kαkpk(y;Θk)

其中 pk(y;Θk) 为第 k 个动态纹理的条件概率分布,参数为 Θk={Ak,Qk,Ck,Rk,μk,Sk} 。这就是混合动态纹理模型,概率图模型即为上图(b)。那么联合概率分布为
p(x,y,z)=p(z)P(x,y|z)=p(z)k=1Kp(x,y|Θk)zk=k=1Kαzkkp(x,y|Θk)zk

其中 p(x,y|Θk)=p(x1|Θk)τt=2p(xt|xt1,Θk)τt=1p(yt|xt,Θk)
现在考虑模型参数的学习问题。假设给定了一系列独立同分布的视频帧序列 Y={yn}Nn=1 ,而 yn={yn1,yn2,,ynτ} 为第 n 个视频帧序列。那么一般采用最大似然估计模型参数,即 Θ=argmaxΘNnlogp(yn;Θ) 。同理由于隐变量 X,Z 的存在,我们采用EM算法求解。联合分布的对数形式为:
logp(X,Y,Z;Θ)=n=1Nlogp(xn,yn,zn;Θ)=n=1Nk=1Kznk(logαk+logp(xn,yn|Θk)

下面我们考虑EM算法第E步:
EX,Z|Ylogp(X,Y,Z)=n,kExn,zn|yn[znk(logαk+logp(xn,yn|Θk)]=n,kEzn|yn(Exn|zn,yn[znk(logαk+logp(xn,yn|Θk)])=n,kp(znk=1|yn)Exn|zn=k,yn[logαk+logp(xn,yn|Θk]

其中上式用到了各视频序列独立性的假设; p(znk=1|yn) 为后验概率,可利用全概率公式计算。有了E步的计算,那么M步则利用拉格朗日乘子法对各参数进行求解。在M步的计算过程中,对联合分布的对数形式进行展开,对各参数的求解会面临两种形式:

  • 第一种为如下的优化求解形式

    maxX12tr(X1A)λ2log|X|

    上式的求解只需计算对应导数并令其等于0而得到闭合解
    12XTATXTλ2XT=0ATλXT=0X=1λA

  • 第二种为如下的优化求解形式

    maxX12tr[D(BXTXBT+XCXT)]

    其中 D,C 为对称且可逆矩阵。同理
    12(DBDTB+DTXCT+DXC)=0DBDXC=0X=BC1

猜你喜欢

转载自blog.csdn.net/step_forward_ml/article/details/78661766
今日推荐