文章来源:BMVC 2015
作者信息:Dan Xu ,Postdoctoral Researcher ,Visual Geometry Group (VGG)
Department of Engineering Science,University of Oxford
主要内容:第一次将深度特征用于异常事件检测。提出AMDN架构,分为Appearance,Motion,Joint 3个通道,并对通道信息进行了两次融合。用SDAE(降噪自编码机)得到视频特征的稀疏表示,利用One-class SVM来检测异常事件。
网络结构:
Appearance representation:
1.利用一个多尺度的滑动窗口来提取patches
2.将这些patches缩放到相同大小(wa,ha,caw_a,h_a,c_awa,ha,ca),其中cac_aca为通道数,并规范到[0,1]
3.输入到堆叠4层的encoder layer,第一层的神经元个数为(va,wa,ha,cav_a,w_a,h_a,c_ava,wa,ha,ca),这个vav_ava是用来构建一个完备滤波器组的扩增量。
Motion representation:
1.固定大小为(wm,hm,cmw_m,h_m,c_mwm,hm,cm)的滑动窗口来对光流特征图像提取patches,其中cm=2c_m=2cm=2对应于光流的x,y两个坐标方向。
2.在每个通道中规范到[0,1]
3.堆叠4层的encoder layer,第一层的神经元个数为(vm,wm,hm,cmv_m,w_m,h_m,c_mvm,wm,hm,cm)
Joint representation:
直接将灰度图像和光流图像提取到的patches进行逐像素融合,得到Joint representation的patches.
SDAE
最简单情况(3层):
encoder:f(W,b)f(W,b)f(W,b)
decoder:f(W′,b′)f(W',b')f(W′,b′)
hidden layer:hhh
x′x'x′为xxx加入噪声后的信号
hi=fe(x′∣W,b)=δ(Wx′+b)h_i=f_e(x'|W,b)=\delta(Wx'+b)hi=fe(x′∣W,b)=δ(Wx′+b) (编码)
x^=fd(hi∣W′,b′)=s(W′hi+b′)\hat{x}=f_d(h_i|W',b')=s(W'h_i+b')x^=fd(hi∣W′,b′)=s(W′hi+b′)(解码)
target : minW,W′,b,b′∑i=1N∣∣xi−xi^∣∣22+λ(∣∣W∣∣F2+∣∣W′∣∣F2)\min\limits_{W,W',b,b'}\sum_{i=1}^N||x_i-\hat{x_i}||_2^2+\lambda(||W||_F^2+||W'||_F^2)W,W′,b,b′min∑i=1N∣∣xi−xi^∣∣22+λ(∣∣W∣∣F2+∣∣W′∣∣F2)(最小化重构误差)
多层情况(2L+1)层
target : minW,W′,b,b′∑i=1Nk∣∣xi−xi^∣∣22+λF∑i=1L(∣∣Wik∣∣F2+∣∣Wi′k∣∣F2)\min\limits_{W,W',b,b'}\sum_{i=1}^{N^k}||x_i-\hat{x_i}||_2^2+\lambda _F\sum_{i=1}^L(||W_i^k||_F^2+||W_i^{'k}||_F^2)W,W′,b,b′min∑i=1Nk∣∣xi−xi^∣∣22+λF∑i=1L(∣∣Wik∣∣F2+∣∣Wi′k∣∣F2)
这可以通过梯度下降法来优化。
最终,取隐藏层的特征sik=δL(δL−1(…δ1(W1kxik+b1k))s_i^k=\delta_L(\delta_{L-1}(\ldots\delta_1(W_1^kx_i^k+b_1^k))sik=δL(δL−1(…δ1(W1kxik+b1k))来表示视频信息。
One-class SVM
training sample:
S={sik}i=1NkS=\{s_i^k\}_{i=1}^{N^k}S={sik}i=1Nk
target:
minw,ρ12∣∣w∣∣2+1VNk∑i=1Nkξi−ρ\min\limits_{w,\rho}\frac12||w||^2+\frac1{VN^k}\sum_{i=1}^{N^k}\xi_i-\rhow,ρmin21∣∣w∣∣2+VNk1∑i=1Nkξi−ρ
stwTΦ(sik)≥ρ−ξist\qquad w^T\Phi(s_i^k)\geq\rho-\xi_istwTΦ(sik)≥ρ−ξi
ξi\xi_iξi:松弛变量
ρ\rhoρ:超球面半径
Φ\PhiΦ:映射函数,将数据映射到其他空间
One-class SVM的思想是训练出一个超球面,使得正常数据在球面内,而异常数据在球面外。松弛变量是为了避免对少数噪声数据的过拟合。对于样本t的k通道(有Appearance,Motion,Joint3个通道)数据来说stks_t^kstk,它的异常分数为:
Ak(stk)=ρ−wTΦ(stk)A^k(s_t^k)=\rho-w^T\Phi(s_t^k)Ak(stk)=ρ−wTΦ(stk)
Late Fusion
由于3个通道得到了3个异常分数,late fusion将对这3个分数进行融合:
A(stk)=∑k∈{A,M,J}αkAk(stk)A(s_t^k)=\sum\limits_{k\in\{A,M,J\}}\alpha^kA^k(s_t^k)A(stk)=k∈{A,M,J}∑αkAk(stk)
而权重向量将通过学习得到:
minwsk,αsk∑kαktr(WskSk(WskSk)T)+λs∣∣α∣∣22\min\limits_{w_s^k,\alpha_s^k}\sum\limits_k\alpha^ktr(W_s^kS^k(W_s^kS^k)^T)+\lambda_s||\alpha||_2^2wsk,αskmink∑αktr(WskSk(WskSk)T)+λs∣∣α∣∣22
stαk>0,∑kαk=1st \qquad \alpha^k>0,\sum\limits_k\alpha^k=1stαk>0,k∑αk=1
取WskW_s^kWsk为SkSk TS^kS^{k\, T}SkSkT的前d大特征值对应的特征向量,则α\alphaα可以由如下方法得到:
minαk>0,∑kαk=112∣∣α−c∣∣22\min\limits_{\alpha^k>0,\sum\limits_k\alpha^k=1}\frac12||\alpha-c||_2^2αk>0,k∑αk=1min21∣∣α−c∣∣22
c=[cA,cM,cJ]c=[c^A,c^M,c^J]c=[cA,cM,cJ]
ck=−12λstr(WskSk(WskSk)T)c^k=-\frac1{2\lambda_s}tr(W_s^kS^k(W_s^kS^k)^T)ck=−2λs1tr(WskSk(WskSk)T)
最终通过A(stk)A(s_t^k)A(stk)是否大于阈值η\etaη来判断是否为异常行为
实验结果
表1用几种最先进的方法从曲线下面积(AUC)和等差率(EER)两方面对ROC曲线进行了定量比较。从框架级的评价来看,这个方法的性能比当时的许多方法要好。此外,考虑到像素级的评估,即异常定位的准确性,使得这种方法在EER和AUC方面都优于所有的竞争方法。
表1还显示了拟议的双融合策略的优点。与早期融合和后期融合相比,AMDN保证了更好的性能。
具体来说,对于早期融合,只使用用Joint这一个支持向量机。对于后期融合,采用两条独立的外观和运动管道以及所提出的融合方案,但放弃了Joint通道。有趣的是,在这个应用程序中,后期融合策略优于早期融合策略