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

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

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为连续性变量,可理解为整个模型要学习的就是视频帧的上层语义信息(即纹理信息)。该模型与隐马尔科夫模型类似,区别仅在于隐状态变量的离散型或连续性。
计算机视觉-混合动态纹理模型(Mixtures of Dynamic Textures)
很显然,初始状态分布,状态转移条件分布和观测条件分布如下
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