在计算机视觉领域,混合动态纹理模型(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
其中
xt∈Rn为帧序列中时刻
t对应的隐变量,刻画视频序列随时间的演变;
yt∈Rm为对应的观测变量 (一般
n≪m),刻画视频帧;参数
A∈Rn×n为状态转移矩阵,参数
C∈Rm×m为发射矩阵;而
vt,wt为高斯白噪声,即
vt∼N(0,Q),wt∼N(0,R),其中
Q∈Rn×n,R∈Rm×m。扩展定义初始状态
x1服从参数为
μ,S的高斯分布。那么DT模型的参数为
Θ={A,Q,C,R,μ,S},概率图模型如下图(a)所示。模型中的隐变量
yt为连续性变量,可理解为整个模型要学习的就是视频帧的上层语义信息(即纹理信息)。该模型与隐马尔科夫模型类似,区别仅在于隐状态变量的离散型或连续性。

很显然,初始状态分布,状态转移条件分布和观测条件分布如下
⎧⎩⎨p(x1)=G(x1,μ,S)p(xt|xt−1)=G(xt,Axt−1,Q)p(yt|xt)=G(yt,Cxt,R)
其中
G(x,μ,Σ)=(2π)−n/2|Σ|−1/2exp{−12∥xt−μ∥2Σ}为
n维高斯分布,
∥xt−μ∥2Σ=(xt−μ)TΣ−1(xt−μ)。那么,
{x,y}的联合概率分布为
p(x,y)=p(x1)∏t=2τp(xt|xt−1)∏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|xt−1,Θ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=1N∑k=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步的计算过程中,对联合分布的对数形式进行展开,对各参数的求解会面临两种形式:
-
第一种为如下的优化求解形式
maxX−12tr(X−1A)−λ2log|X|
上式的求解只需计算对应导数并令其等于0而得到闭合解
12X−TATX−T−λ2X−T=0AT−λXT=0⇒X∗=1λA
-
第二种为如下的优化求解形式
maxX−12tr[D(−BXT−XBT+XCXT)]
其中D,C为对称且可逆矩阵。同理
−12(−DB−DTB+DTXCT+DXC)=0DB−DXC=0⇒X∗=BC−1