基于3D旋转模型的全景视频稳像算法

2021-06-21 01:53
计算机应用与软件 2021年6期
关键词:全景算法模型

刘 煦 李 琛 宋 利 解 蓉

(上海交通大学图像通信与网络工程研究院 上海 200240)

0 引 言

全景视频是新一代的视频显示技术,人们可以任意在拍摄角度周围360度地观看动态视频,而不受时间、空间和地域的限制,有一种身临其境的体验。全景视频不再是单单显示静态图片的形式,而是具有景深、动态图像、声音等很多因子,具备声画对位、声画同步的特性,有着良好的沉浸感,极有可能成为未来的视频新型载体。然而,相比于专业的摄影设备,视频若是由手持式的设备拍摄,画面的抖动会非常影响视觉舒适度。而且由于全景视频广视域的特性,其对抖动的敏感度要远高于一般的平面视频。

视频稳像技术是一种后处理技术,指利用相关算法对抖动的视频序列进行稳定处理。然而,现有的大多数稳像算法都是基于平面视频的,并不适用于全景视频。因此,为了提升观看者的体验,需要针对全景视频进行视频稳像算法的研究。

本文提出一种利用3D旋转模型对全景视频进行稳像处理的方法。与2D模型相比,3D模型可以更准确地描述真实的相机运动。在实际应用中,由于相机的平移运动对视频的影响远小于旋转运动,可以忽略不计,所以只考虑相机的旋转运动,使用3D旋转模型来描述相机路径。提取并跟踪连续帧的特征点,计算每对相邻帧之间的旋转,为了减少数据冗余,使用欧拉角表征旋转模型的参数。在路径平滑的过程中,引入一种基于样条拟合的改进方法,可以有效地分离抖动和主观运动并消除高频的抖动,生成稳定的相机路径。基于相机的真实路径以及生成的稳定路径,对视频帧进行投影变换,输出稳像后的视频。本文的主要贡献如下:

1) 使用3D旋转模型来描述相机运动,并使用欧拉角来表征旋转参数,可以减少数据冗余。

2) 在路径平滑的过程中,提出一种基于样条插值的改进方法,添加了新的约束项以及预处理操作,相比传统方法更加准确可靠。

1 相关工作

1.1 视频稳像算法

视频稳像算法指的是应用图像处理的方法对相机的抖动进行补偿,减弱或消除视频帧序列间不规则的平移、旋转和缩放等失真情况,从而使视频看起来更稳定。根据使用的相机运动模型的不同,稳像算法大致可以分为2D方法和3D方法。

2D方法使用一系列的二维变换矩阵表示相机运动。文献[1]通过对每个参数进行低通滤波(如高斯滤波)的方法消除抖动。文献[2]使用L1范数生成稳定的相机路径。文献[3]将视频帧空间划分为网络进一步地优化稳定路径。然而,由于2D运动不能刻画深度信息,对于一些复杂的场景效果欠佳。

3D方法通过重建三维场景的方法估计相机的运动轨迹。文献[4]提出一种利用深度信息进行3D全局运动估计的方法。文献[5]提出保留内容进行帧变换的3D稳像方法。由于重建三维结构信息的过程较为复杂且鲁棒性较差,因而使用范围有限。

1.2 全景视频稳像算法

全景视频稳像的相关研究相对较少。文献[6]提出混合3D-2D算法,使用一种新的运动模型来消除视频中的抖动。文献[7]将相机旋转与其他运动解耦,并消除无意旋转造成的抖动,然后使用基于网格的帧变换方法处理剩余的抖动。这些方法均使用约束优化的方法来平滑路径,计算复杂度较高。

2 基于3D旋转模型的稳像算法

2.1 算法流程

图1展示了本文算法的大致流程。由于使用的是3D旋转模型,所以首先要将视频投影到3D单位球面上,然后使用特征点提取跟踪的方法计算每对相邻帧之间的旋转,合成真实的相机路径。接着,引入一种基于样条插值的改进方法,对相机路径进行平滑,生成稳定的相机路径。最后,对视频帧进行投影变换,输出稳像后的视频。

图1 全景视频稳像算法流程

2.2 相机投影模型

全景视频是以经纬度投影(ERP)格式呈现的,需要将其映射到3D球面上,以匹配后续的3D旋转模型。图2描述了整个算法的映射过程,给定ERP格式的视频帧,长为H,宽为W,对于像素坐标p=[px,py],通过映射函数φ(·)将其映射到3D球面上对应的位置P=[Px,Py,Pz],后面经过相机路径估计与平滑后,使用逆函数φ-1(·)进行还原。映射函数如下:

图2 全景视频ERP格式与3D球面模型的映射关系

(1)

(2)

2.3 运动路径估计

对于全景视频,由于相机的平移运动对视频的影响远小于旋转运动,可以忽略不计,所以只考虑相机的旋转运动,使用3D旋转模型来描述运动路径。

(3)

该问题可以使用Kabsch算法[9]来求解未知量R的最小值Rt,即旋转矩阵。然而,矩阵形式包含了过多的冗余信息,用9个数来表示只需要3个数表示的量,占用空间大且容易产生非法数据。因此,在后续的路径平滑过程中,使用欧拉角来表征相机的旋转。旋转矩阵Rt与相应的欧拉角Et之间的转换关系如下:

(4)

式中:Rij表示旋转矩阵Rt中的i行j列的元素;φ、θ、ψ表示欧拉角Et的各轴角度。

Ct+1=Et+Ct⟹Ct=Et-1+…+E1+E0

(5)

2.4 相机路径平滑

(1) 低通滤波:通过对真实路径进行低通滤波,去除掉高频的抖动,如高斯滤波等。这个方法简单有效,但是难点在于滑动窗口大小的设定,很难做到完美地分离主观运动与抖动。

(2) 样条拟合:通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程,可以用作插值或平滑[10]。此外引入平滑因子S,动态调整纽结点的个数,保证数据之间的连续性及平滑性。假设xi为帧数,yi为原始数据,f()为拟合函数,S按照如下的方式调整(wi为权重):

(6)

样条拟合方法的问题在于容易造成过拟合现象,即消除抖动的同时也消除了主观运动。

(3) 基于样条拟合的改进算法:为了解决样条拟合方法的问题,引入一个新的约束条件,使得拟合结果不会过于偏离原始数据点。定义阈值th及thoa,规定拟合值f(x)与原始数据y的距离在±th之间的数据点的个数大于thoa。如果不满足该条件,减少平滑因子S的值,以避免过拟合。公式如下:

(7)

式中:h(x)表示整条路径的筛选结果,根据其总和来调整平滑因子S。

(8)

式中:f(xi)代表第i帧数据的拟合值;h(xi)为对应的筛选结果。

除此之外,在进行样条拟合之前,对数据进行预处理操作,使用小核高斯滤波函数预先消除部分高频噪声,使得拟合结果更加准确。

图3展示了三种方法的平滑结果。可以看出,低通滤波方法的效果不够好,保留了部分抖动;样条拟合方法出现了过拟合的现象,拟合结果过于偏离原始数据;而本文改进方法可以有效地消除高频噪声,且很好地保留了主观运动,没有出现过拟合现象。综上本文改进方法表现更好。

(a) 原始数据 (b) 低通滤波方法

(c) 样条拟合方法 (d) 改进算法图3 不同方法的路径平滑结果

2.5 视频帧合成

3 实验及结果分析

3.1 实验结果

拍摄多种场景下的高清全景视频,包括室内、室外、走路、跑步等,分辨率为3 840×1 920,帧频为30 帧/s;实验基于MATLAB实现,设备选用Intel Core i7-6900K CPU。在实验中,对单帧图像的处理时间约300 ms,其中图像处理部分占用了大量时间,后续可以通过GPU加速的方法进一步优化。

图4、图5展示了走路场景下抖动视频的稳像效果,以及各轴欧拉角的平滑效果。可以看出,相机运动路径与视频画面均获得了很好的稳定效果,验证了该算法的有效性。

(a) 原始视频 (b) 稳像视频图4 走路场景下的稳像结果图

(a) 原图 (b) X轴欧拉角

(c) Y轴欧拉角 (d) Z轴欧拉角图5 走路场景下各轴欧拉角的数据平滑效果图

3.2 客观评价

根据文献[11]提出的评价准则,稳像算法的性能可以使用峰值信噪比(PSNR)进行评价,定义如下:

(9)

(10)

式中:It和It+1分别表示t和t+1时刻的两帧图像,尺寸为M×N;MSE表示帧间的均方误差。计算每一对相邻视频帧之间的PSNR,作为衡量视频整体稳定程度的标准,即帧间变换保真度(ITF),定义如下:

(11)

式中:Nframe表示帧数。

ITF可以客观地评估视频的稳定程度,值越大代表视频越稳定。图6计算了几个典型场景稳像前后的ITF值。可以看出,稳像后的视频ITF提升了约2~3 dB,表明本文方法有效地提高了视频的稳定程度。

图6 不同场景下的帧间变换保真度对比

3.3 主观评价

主观评价是最为直接的稳像评价方法。以个人作为观察者对抖动视频稳像前后的品质进行评定。本文邀请12名观察者,佩戴VR头盔观看每组视频,基于稳定性对视频进行打分,0~10分表示稳定程度由低到高,并计算所有人的平均意见得分(MOS),作为主观评价的标准,如表1所示。可以看出,本文算法可以大幅提高用户的体验。

表1 不同场景下的用户平均意见得分表

4 结 语

本文提出一种使用3D旋转模型对全景视频进行稳像处理的新方法。为了减少数据冗余,使用欧拉角来表征旋转模型的参数,而不是常用的旋转矩阵。此外,引入了一种基于样条拟合的改进方法,用于相机路径平滑。实验结果表明本文算法可以有效地消除抖动并生成稳定的视频。希望该算法可以为相关的研究提供帮助。未来会进一步与其他算法进行对比实验,也将对算法进行优化加速,并考虑相机平移运动带来的影响。

猜你喜欢
全景算法模型
适用于BDS-3 PPP的随机模型
自制空间站模型
哪种算法简便
Excerpt from Three Days to See
Travellng thg World Full—time for Rree
全景敞视主义与侦探小说中的“看”
全景山水的心理空间揭示
模型小览(二)
算法框图的补全
算法初步知识盘点