《1 前言》

1 前言

光流 (optical flow) 是图像亮度的模式运动, 即灰度像素点在图像平面上运动而产生的瞬时速度场。基于光流方程 (OFE) 的光流计算, 是一种二维运动的非参数场模型。其他的用于二维运动估计的非参数模型包括块运动匹配、像素递归、频域运动估计和贝叶斯法[1]。与这些非参数模型相比较, 光流计算更侧重于时空的平滑性约束。从20世纪50年代提出至今, 已经出现了诸多成熟有效的光流计算方法, 从概念上可以将它们分为微分法、区域匹配法、基于能量的方法、基于相位的方法和神经动力学方法等。各种光流技术通常都可以归结为3个处理阶段[2]:a. 利用低通或带通滤波器进行预滤波和光滑处理, 从而提取感兴趣的信号信息, 并尽可能的提高信噪比;b. 确定可以用来度量光流场的基本约束条件和定量关系;c. 结合上述的度量信息产生2D光流场并进行光滑处理。

光流计算的一个发展趋势就是统一框架理论的完善建立。该理论依据是:已有的各种光流计算方法基本上可以统一在一个框架下, 并将光流信息分成保持信息和邻域信息2部分, 再通过2种信息的提取、分析和融合恢复光流场[3]。所以从提高光流计算精确度的角度考虑, 一个研究方向是在不影响该统一框架的前提下, 利用其他的图像视频技术和信号处理方法进行光流准确性的提升研究。

高斯函数对于图像进行的滤波处理, 可以有效地表达时域和频域的图像特征, 包括降噪处理, 边缘检测, 图像增强和多分辨率分析等。特别对于时间域的处理可以提取主要信号信息, 提高信噪比, 突出时间域混叠现象和量化效果。为了在现有的光流求解算法的基础上进一步提升光流场的准确性, Barron在文献[2]中提到了利用一种高斯 (Gauss) 时空多维滤波技术对图像序列进行预光滑处理, 并且在多种视频序列中进行应用, 但是未对这种技术给出深入的理论方法和实验研究报告。笔者在此基础上通过严格的实验方法, 利用预处理环节对序列图像的时间维和空间维进行耦合的预滤波处理, 再结合通常的光流算法有效地提升序列图像的运动估计效果, 侧重于研究高斯多维时空预滤波对于光流估计的提升能力以及提升幅度。

《2 光流算法》

2 光流算法

光流技术从概念上可以分为多种方法, 包括微分法、区域匹配法、基于能量的方法、基于相位的方法和神经动力学方法等。无论是真实的还是合成的图像序列都要求尽可能地避免时空混叠现象的产生。基于微分度量的LK算法的精确度, 稳定性和可靠性都很高, 因此选择该算法作为参考光流算法。

LK算法[4] 是由Lunas和Kanade提出的一种光流估计算法。该算法假设在给定时刻的运动场中, 任何图像像素点的运动矢量都限制于某个唯一的像素运动区域块В中, 该区域是均匀的, 并可以看作一个运动点, 其整体光流运动可以由中心像素点的运动替代处理:

v(x,y)=[vx,vy]Τ=v,x,yВ(1)

在满足一般性的光流约束方程 (OFE) 的情况下, 像素块В 内的误差函数定义为

ε=x,yB(E(x,y)xvx+E(x,y)yvy+E(x,y)t)2(2)

块中心像素的运动估计矢量就是使得上述误差函数达到最小的v (x, y) 值, 即满足εx方向和y方向运动矢量的一阶偏导数为0, 由此得到方程组:

{x,yB(E(x,y)xv^x+E(x,y)yv^y+E(x,y)t)E(x,y)x=0x,yB(E(x,y)xv^x+E(x,y)yv^y+E(x,y)t)E(x,y)y=0(3)

其中v^x, v^y是块В 中心像素点的运动矢量估计值。方程组式 (3) 的求解为

[v^xv^y]=[BEx2BExEyBExEyBEy2]-1[-BExEt-BEyEt](4)

其中Ex=∂E (x, y) /∂x, 则定义ΔE(x,y)=[Ex,Ey]Τ

在寻找模式运动速度的光流场方面, LK算法是一种有效的方法, 它的原理和实现比较简单, 而且在找寻光流的准确性方面也有一定的精确度。但是, 其本身也有一定的适应范围, 对于相对运动较小的2幅图像来说, 能够求得比较好的效果, 但是对于2幅图像相对运动比较大, 或者说某一部分有较大差异的2幅图像来说, 求取的光流就不够准确。利用高斯时空多维滤波技术, 可以有效地提升相对运动较大的图像序列的光流场计算精度。

《3 高斯时空多维滤波模型》

3 高斯时空多维滤波模型

《3.1高斯多维滤波核》

3.1高斯多维滤波核

高斯函数对图像进行的滤波处理可以有效地表达时域和频域的图像特征, 包括降噪处理、边缘检测、图像增强和多分辨率分析等。高斯函数的基本表达式为

G(t)=Aexp[-(t-μ)2/2σ2](5)

其中 μ, σ是常数, 分别代表统计学中的均值和方差, A一般是常系数。作为高斯滤波核函数考虑时, 通常令A=1, μ=0, 则式 (5) 表示为

Gt=G(t)=Aexp[t2/2σ2](6)

高斯滤波核做卷积结果仍然是高斯核, 对于一般的具有各向同性的低通滤波核的迭代光滑, 都可以归结为高斯光滑, 高斯多维滤波核为

Gt1*Gt2**Gtn=Gt1+t2++tn(7)

高斯多维滤波核中的不同维的滤波性能, 可以通过调节相应的方差参数σ 进行控制。

《3.2高斯时空三维滤波核》

3.2高斯时空三维滤波核

为了利用多维高斯滤波核的滤波特性对序列图像 (包括视频序列或者人工合成图像) 进行处理, 提取主要的信号信息, 提高信噪比, 突出时间域混叠现象和量化效果, 可以同时考虑空间滤波和时间滤波[2]。时空滤波核的函数表达式为

Gσ,τ,{x,y,t}=Cexp[-((x2+y2)/2σ2+t2/2τ2)](8)

其中σ, τ 是常数, 分别表示空间域 (像素/帧) 和时间域 (像素/帧) 的方差, x, y表示空间域中的二维坐标, t表示时间域的一维坐标, C是常系数。利用该时空滤波核可以对序列图像进行滤波和平滑处理。图1表示了一个利用高斯时空滤波器进行图像处理的模型, 其中, E (x, y, t) 表示输入的图像序列, 经过高斯时空滤波处理后, 得到处理后图像序列Y (x, y, t) 为

Y(x,y,t)=E(x,y,t)*Gσ,τ(x,y,t)(9)

《图1》

图1 高斯时空滤波模型Fig.1 Gaussian spatiotemporal filter model

图1 高斯时空滤波模型Fig.1 Gaussian spatiotemporal filter model  

对于数字图像, 需要考虑离散卷积, 从滤波效果和运算量角度考虑如何选择合适的滤波算子尺度。算子尺度太大, 运算速度下降很大, 无法满足实时性要求;算子尺度太小, 尽管提高了运算速度, 但是无法体现出高斯滤波的效果。式 (9) 的离散卷积表达式为

Y(x,y,t)=h=0Τ-1i=0Μ-1j=0Ν-1E(i,j,h)Gσ,τ(x-i,y-j,t-h)(10)

其中空间算子尺度大小为M×N, T为图像序列的数目, 即时间算子尺度。对算子进行归一化处理∑Mask {x, y, t}=1, 则得到

Y(x,y,t)=1A(x,y,t)E(x,y,t)*Gσ,τ(x,y,t)(11)

其中A(x,y,t)=h=0Τ-1i=0Μ-1j=0Ν-1Gσ,τ(x-i,y-j,t-h)

《图2》

图2 正方形高斯时空多维滤波算子

图2 正方形高斯时空多维滤波算子  

Fig.2 Square Gaussian multidimensional filter operator

图2描述了取正方形滤波算子时, 对于连续2帧 (T=2) , 大小为m×n的图像序列进行时空滤波的示意图。

《3.3高斯时空三维滤波的渐进性》

3.3高斯时空三维滤波的渐进性

光流算法适用于同一对象运动的序列图像或视 频图像, 以及运动幅度不能太大的场景。对于对象运动变化较大的场合, 常规光流算法无法有效计算模式运动场。利用高斯时空滤波对2幅相邻图像进行渐进处理, 可以从时间域和空间域有效地缩小对象大幅运动的差异, 使得光流算法得到一定效果的应用。这里的渐进性滤波是由式 (10) 中的参数M, N, σ, τ 的调节实现的。在不同参数的条件下, 特定图像与参考图像的渐进逼近效果见图3。通过分别调节时间和空间的参数都可以产生差异很小的渐变图像序列。由2幅图像生成的图像序列, 可以在相邻图像间采用现有的光流算法进行运动估计。其中特定图像和参考图像是2幅不同性别的人脸图像。首先对它们进行了基于域Warp技术的形状对准处理[5]。对这2幅不同的人脸图像, 直接利用常规光流算法计算特定图像和参考图像间的光流场是失效的。

《图3》

图3 高斯时空滤波的渐进效果Fig.3 The gradual effect of the Gaussian spatiotemporal filter (the two images are from MPI)

图3 高斯时空滤波的渐进效果Fig.3 The gradual effect of the Gaussian spatiotemporal filter (the two images are from MPI)   

(2幅图像引自德国Max-Planck研究所人脸图像库)

高斯时空滤波器的这种渐进性支持了其从时间域和空间域对研究对象运动场的捕捉与控制能力。这种从图像的角度对模式运动场的改变可以提高光流计算效果。

《4 实验与分析》

4 实验与分析

实验中, 首先对标准LK光流算法进行研究, 然后加入高斯时空预滤波后对相同视频序列进行处理, 最后计算出客观评价的峰值信噪比, 从而比较2种算法的光流计算效果。运动估计中的客观评价标准很多, 如峰值信号噪声比 (PSNR) 、熵 (entropy) 等。采用文献[6]中定义的PSNR (略有改进) 对图像运动场计算结果进行客观比较, 如

ΡSΝR=10lg[2552(Μ-4)(Ν-4)/x[F(x,n)-F0(x,n)]2](12)

其中, M×N表示帧图像的大小, F (x, n) 表示生成帧, F0 (x, n) 表示参考帧。采用 (M-4) × (N-4) 是考虑到高斯滤波窗无法对图像边界进行处理, 从而无法比较高斯时空滤波的预滤波后光流提升效果, 相应的生成帧与参考帧的像素距离也只计算到图像边界2个像素以内的所有灰度值。

在不同区域块大小的情况下, 利用LK算法分别对Flower Garden和Football序列 (如图4所示的两序列的第一帧图像) 的前50帧352×40图像进行相邻帧的光流场计算, 然后利用相邻帧的前帧图像与求解出的光流信息重构出后帧图像, 再求解出重构图像与实际图像的峰值信号噪声比, 最后对50次计算结果进行平均, 获得PSNR的平均值, 如表1所示。结合主观评价, 笔者认为, 分块大小为5×5时对于所研究的2图像序列的光流计算结果较好, 其中Flower Garden序列中的平均峰值信噪比PSNR为18.870 dB, Football序列中的平均峰值信噪比为19.211 dB。

《图4》

图4 标准Flower Garden和Football视频序列的第一帧图像Fig.4 The first frame of the standard video sequences:Flower Garden and Football

图4 标准Flower Garden和Football视频序列的第一帧图像Fig.4 The first frame of the standard video sequences:Flower Garden and Football  

同样, 以前50帧Flower Garden视频序列为参考样本, 首先对相邻2帧图像进行一定时空维方差参数σ, τ 下的高斯时空预滤波处理, 然后对滤波后的2帧图像利用LK算法进行光流场的计算, 利用相邻帧的前帧图像与求解出的光流场重构后帧图像, 求解出重构图像与实际图像的峰值信号噪声比, 最后对50次计算结果进行平均, 获得PSNR的平均值。实验中, 高斯时空预滤波窗口大小为5×5, 参数σ, τ 分别从0.1开始以步长0.1递增, LK算法中的分块大小为5×5。实验结果见表2, 显示了部分不同参数σ, τ 下的平均PSNR结果比较。表2中未列出的其他不同参数 τ 情况下的平均PSNR结果均低于未加入高斯时空预滤波时利用LK算法计算的峰值信噪比18.870 dB。图5描绘了空间方差σ从0.1变化到1.0、时间方差τ 从0.1变化到0.5的PSNR曲线图 (称为有效曲线) , 数据取自表2。由于τ=0.6时PSNR均低于未加入高斯时空预滤波时利用LK算法计算的PSNR值, 所以未画出。从图5可以看出当τ=0.4时PSNR曲线增长最快, 而且当σ=0.8时, 该曲线已经超过其他有效曲线。表2也列出了时间方差 σ 在0.1~0.6、空间方差σ从1.0变化到2.0的PSNR结果, 当τ=0.4时PSNR增长仍然最快 (见图6) 。从图6可以看出, 当空间方差σ >1.5时曲线的增长速度减慢并且趋于稳定, 增长幅度小于0.05 dB。为了与未加入高斯时空预滤波时LK算法的计算结果进行比较, 求出表2中σ=[1.6, 2.0] 区间的PSNR平均值为21.442 dB, 与未加入高斯时空预滤波时利用LK算法计算的峰值信噪比18.870 dB相比, 提升2.572 dB, 提升幅度为 13.6 %。图7描绘了加入高斯时空预滤波前后的利用LK算法计算的Flower Garden序列前两帧图像序列的光流场, 比较图7a和图7b可以看出主要运动信息的增强效果以及时间混叠效果。

表1 不同分块大小下Flower Garden和Football序列的平均PSNR (dB) 结果

Table 1 Average PSNR (dB) of the two sequences under different block size

《表1》


分块大小
3×35×57×79×911×1113×13

PSNR
/dB

Flower
Garden
18.84518.87018.72618.54518.38418.434

Football
19.33319.22118.89218.63018.41018.243

表2 不同时空方差参数下Flower Garden序列的平均PSNR (dB) 结果

Table 2 Average PSNR (dB) of Flower Garden under different σ and τ (1)

《表2》


σ
0.10.20.30.40.50.60.70.80.91.0

τ=0.1
18.84018.87018.87919.18419.77320.24820.52420.65120.71220.759

τ=0.2
18.81018.84418.87819.18419.77320.24820.52420.65120.71220.759

τ=0.3
18.80918.81018.85519.16719.76320.25320.54220.68020.75420.812

τ=0.4
18.59518.59618.62618.92119.52620.09420.50520.76520.93921.064

τ=0.5
18.03118.03218.05218.25318.66719.12719.51019.78419.98220.106

τ=0.6
17.38317.38417.38517.48617.66917.83317.95518.03818.10718.142

σ
1.11.21.31.41.51.61.71.81.92.0

τ=0.4
21.16121.23721.29621.34621.38221.40221.43121.44121.46321.472

τ=0.1
20.80020.83420.85820.89120.91220.93420.94420.94820.96020.964

τ=0.2
20.80020.83420.85820.89120.91220.93420.94320.94820.96020.964

τ=0.3
20.85420.90220.92120.95420.97721.00721.01521.02621.04221.046

τ=0.5
20.20920.27820.32220.36220.38020.38920.40720.40620.41020.409

τ=0.6
18.16618.17418.17418.16818.15818.15118.13118.12418.11818.103

《图5》

图5 不同时空参数下的PSNR曲线

图5 不同时空参数下的PSNR曲线  

Fig.5 PSNR (dB) versus σ and τ

《图6》

图6 时间方差为0.4时的PSNR曲线

图6 时间方差为0.4时的PSNR曲线  

Fig.6 PSNR (dB) versus σ when τ=0.4

《图7》

图7 加入高斯时空预滤波前后利用LK算法计算的Flower Garden序列前2帧的光流场

图7 加入高斯时空预滤波前后利用LK算法计算的Flower Garden序列前2帧的光流场  

Fig.7 The optical flow field of the first two frames in Flower Garden influenced by Gaussian spatiotemporal filter

《5 结论》

5 结论

研究了渐进性高斯多维预滤波对光流估计的提升性能, 实验分析表明在不改变现有光流计算方法的前提下, 通过调节时间维和空间维的方差参数, 改变时空预滤波和光滑效果, 突出主信息和时间混叠, 可以较大幅度提高峰值信噪比PSNR。以标准的Flower Garden为测试序列, 以LK算法为参考光流算法。结果显示, 滤波窗口为5×5时的最佳时间方差参数为0.4, 最佳空间方差参数为[1.6, 2.0]。进一步的工作包括对更多视频序列进行实验验证, 总结出渐进性高斯多维预滤波对于不同视频条件下的光流估计的提升能力与针对性。

致谢:感谢德国Max-Planck研究所 (MPI, Tǜbingen, Germany) 提供的高加索人脸图像库;感谢张强, 张婷, 卓峰等智能人像研究小组成员给予的帮助。