Horn-Schunck光流法是基于灰度一致性假设前提下得到的稠密光流场,当光源不恒定或运动物体存在形变时,光流计算将不准确。人脸运动是典型的非刚体运动,采用传统光流法必然会导致光流场计算的不精确,从而影响面部表情的识别率。为此,Richard P.Wildes等人基于流体运动的连续方程提出了一种适合计算流体运动光流场的扩展光流算法。该算法对光源变化、运动物体的形变具有较好的鲁棒性。本小节在扩展光流方程的基础上,通过引入散度-旋度样条(div-curl Splines)作为附加约束条件,进一步深入讨论了非刚体运动光流场的计算方法,并将该算法用于计算面部表情序列光流场。通过实验表明,该方法具有较好的性能。
1.扩展光流方程
由流体力学可知,所有流体的运动都遵循如下连续方程:
式中,ρ为流体密度;V为流速;divV为速度场,divV=∂u/∂x+∂v/∂y+∂w/∂z,V=(u,v,w)散度。式(10-44)可进一步展开成
如果用图像灰度I代替流体密度ρ,并进一步展开可得到:
Ixu+Iyv+It+Iux+Ivy=0 (10-46)
其中V=(u,v)为二维速度场,则式(10-46)即为扩展光流约束方程,与基本光流约束方程比较,扩展光流约束方程增加了IdivV项。
2.div-curl样条约束
式(10-46)中含有两个未知数,为了求解速度场(u,v),必须引入附加约束条件。Horn-Schunck光流法引入一阶正则化函数,不难证明,在求解光流场时,该正则化函数等价于一阶Div-curl样条函数,其中,curlV=vx-uy。
为求解式(10-46)光流场,本文引入一阶和二阶div-curl样条函数作为附加约束条件,这样可以得到如下目标函数:
其中,式(10-47)附加约束项为一阶div-curl样条函数,式(10-48)附加约束项为二阶div-curl样条函数。α、β分别为散度与旋度约束项的平滑参数。
3.div-curl样条约束下的光流数值解
(1)一阶div-curl样条约束下的光流数值解 由变分原理可知,式(10-49)对应的欧拉方程(Euler-Lagrange Equations)为
式中,F为式(10-43)中的被积函数,由此可以得到
进一步可整理为
利用有限差分法求解式(10-51),可以得到
式中,
把式(10-52)写成如下紧凑形式:
采用迭代法,把式(10-53)写成如下迭代形式:
式(10-54)为基于一阶div-curl样条约束下的非刚体运动光流迭代公式。
(2)二阶div-curl样条约束下光流数值解 与式(10-48)对应的欧拉方程式为
式中,F为式(10-48)中的被积函数。由式(10-54)可以得到
式中,
同样,采用有限差分法求解式(10-54),可以得到
(www.xing528.com)
式中,
把式(10-58)写成如下紧凑形式:
式中,
同样,式(10-59)可以写成如下迭代形式:
式(10-60)即为基于二阶div-curl样条约束下的非刚体运动光流迭代公式。
4.div-curl样条约束下非刚体光流法的进一步考虑
利用式(10-54)或式(10-60)可以求解面部表情运动序列光流场,为保证计算的准确度能进一步提高,对散度与旋度约束项的平滑参数α、β进行了自适应选取,同时对光流数值解进行了限制。
(1)α、β自适应选取 考虑到α、β控制目标函数附加约束中的一阶或二阶散度、旋度项,α或β越大,则对应的散度或旋度样条约束对光流估计的贡献越大,反之亦然。所以α、β的选取必须充分考虑到运动物体的运动特性,为此对α、β进行自适应选取。
对一阶div-curl约束下的光流算法,选择
对二阶div-curl约束下的光流算法,选择
这样,散度和旋度约束项参数α、β比较合理地反映图像中各点的散度、旋度分布。
(2)光流数值解的进一步限制 式(10-54)和式(10-60)解的稳定性取决于矩阵A。如果A的条件数Cond(A)很大,则式(10-54)和式(10-60)为病态方程,其解不稳定,计算出的光流场不可靠。为此,作如下处理:
1)如果Cond(A)<τ(τ为阈值),则按照式(10-55)和式(10-60)计算光流;
2)如果Cond(A)≥τ,则Vn+1=Vn。
5.实验结果及分析
为了验证上述算法的有效性,本小节采用了一组合成图像序列和CMU人脸表情库图像序列进行实验。合成图像序列相邻帧间的真实光流已知,通过采用改进算法对其估计光流,然后与真实光流比较,作出定量评估。采用了标准差为1.5像素/帧的时空高斯滤波器平滑图像序列,这有助于削弱时间噪声和输入中的量化效应。分别采用一阶、二阶div-curl(散度-旋度)样条约束下非刚体光流法计算Translating Trees图像序列的第7、8帧对应光流,该图像序列以1.73~2.26的流速向右运动,运动方向平行于水平轴。图10-16a、b所示分别是利用上述一阶和二阶div-curl样条约束光流法计算的第7、8帧之间的光流场。可以看出,光流方向基本跟真实光流方向一致,大小稍有差别,表10-5给出了本小节改进算法和其他方法计算的光流平均角误差和标准角偏差的对照。
图10-16 基于div-curl样条约束光流法计算的Translating Trees序列光流场
a)第7帧光流场 b)第8帧光流场
表10-5 对TranslatingTrees序列,本小节改进算法与其他算法比较
然后,利用从卡内基梅隆大学的人脸表情库中抽取的惊奇表情图像序列进行光流计算,惊奇表情主要表现在嘴巴张开、眼睛睁大、眉毛上升等。图10-15a、b所示为惊奇表情中的第5、6帧图像,图10-17a、b所示分别为采用一阶、二阶div-curl样条约束下非刚体光流法计算的光流场。图10-17c所示则为Horn和Schunck光流法计算的光流场。从计算结果可以看出,采用本小节改进算法可以比较有效地计算出惊奇表情的运动特征(眼睛和嘴巴运动),特别是计算基于二阶div-curl约束下的光流法,计算的结果干扰信息比较少(见图10-17b),而用Horn和Schunck光流法计算,结果不理想,干扰信息过多(见图10-17c)。
图10-17 一阶和二阶div-curl约束光流法及Horn和Schunck法的惊奇表情光流场
a)一阶div-curl约束 b)二阶div-curl约束 c)Horn和Schunck法
图10-14所示为愤怒表情图像序列中的连续两帧图像,图10-18所示分别为采用采样一阶、二阶散度-旋度约束方法和Horn和Schunck光流法计算的光流场,显然,用本小节提出的改进方法计算的光流场优越于Horn和Schunck光流法。
图10-18 一阶和二阶div-curl约束光流法及Horn和Schunck法的愤怒表情光流场
a)一阶div-curl约束 b)二阶div-curl约束 c)Horn和Schunck法
6.小结
考虑到人脸运动是典型的非刚体运动,采用传统光流法必然会导致光流场计算的不精确,本小节引入div-curl样条函数作为扩展光流约束方程的附加约束条件,并给出了一阶和二阶div-curl样条约束下光流的数值解,同时为有效提高光流场计算的精度,自适应选取了散度和旋度平滑参数,并且通过计算光流求解方程中系数矩阵A的条件数,进一步判断光流解的稳定性。实验结果表明,上述的两种改进方法均能有效提高面部表情序列图像光流场计算的准确度。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。