《武汉工程大学学报》  2011年11期 74-77   出版日期:2011-11-30   ISSN:1674-2869   CN:42-1779/TQ
自由视点视频的虚拟图像合成


0引言近几年,随着3D视频技术的不断发展,学者们开始关注一种叫多视点视频的新3D表示技术.这种技术中,场景信号是通过一系列不同视点的摄像机同步获得的,即3D视频信号是由一系列序列不同摄像机拍摄视频序列组成的.这种技术被广泛的用在自由视点视频(Free Viewpoing Video:FVV)中[1].在应用中,用户可以自由的选择视点,而不受视频视角的限制.目前商业广播系统还不能支持多视频信号的处理和传输;而且,在接受端计算合成虚拟视频也是非常低效的.为了解决这一问题,研究者提出了不同的编码方法和虚拟视频合成方法,并被证明是有效的.文献[2]中,利用视频间视差与3D几何特性编码和合成虚拟视频;同样的,在文献[3]中,利用小波变换去除视频中的时间和空间的冗余信息,并且对子带进行熵编码.这两种方法有效的去除冗余信息,满足了3D信号的传输要求.但是,这两方法对3D几何特性要求很高,这也成为了他们应用的瓶颈.相比之下,在基于图像描绘(Imagebased rendering:IBR)[4]中,多视点视频信号由一些彩色视频信号和利用这些彩色视频插值得到的中间视频信号组成的.这件技术不需要附加条件和几何条件的约束就能合成出十分逼真的虚拟视频来.然而,它对带宽的要求很高.基于深度图像的自由视点编码是一种具有网格基编码[5]和IBR的优点的编码方法.在选择视点时,它做了一个光场函数的近似,这种近似允许减少摄像机视点数目,减少带宽.1基于深度图像的视点合成1.1自由视点DIBR算法基于深度图像描绘(Depth Image Based Rendering:DIBR)是利用参考视点的图像及其每个像素对应的深度信息,并且结合了相机的内外参数,通过三维变换来合成场景中虚拟视点图像,该过程包括以下四步[6]:第一步变换(warping):通过多个视频点图像和对应深度图像信息,即相机的内外参数,进行三维变换合成粗虚拟图像.由于深度信息是灰度图像表示,其中像素点灰度值在0到255之间,灰度越大表现越远,亦则相反.公式将灰度信息和深度信息联系起来.d(xref)=255p(xref)((1dmin-1dmax)+dmax)(1)其中p(xref)是深度图的灰度值,d(xref)是像素点得深度值,dmin和dmax分别是透视投影所变换所采用的远近剪切值.得到深度信息后,再利用参考视点相机的内外参数进行三维空间投影,公式如下:Pwc=R-1ref·A-1ref·P-1refD-R-1reftref(2)其中Rref、Aref、tref分别表示相机内参数、旋转矩阵和平移矩阵,D向量矩阵(深度值),矩阵Pwc是三维空间中坐标.最后根据公式(3)将三维空间点投影到虚拟图像平面.Pta=Ata·Rta·(Pwc+R-1ta·tta)(3)在这个过程中,先找出不连续点,并在投影物体时,去除这些点.第二步:处理裂缝(Cracks).三维变换合成会导致虚拟出得图像中有空洞或裂缝现象,而这部分通过中值滤波对空洞和裂缝进行平滑处理.第三步:混合(Blinding).这个部分是将两个被投影的图像混合成为可见的前景景物.这个步骤可以减少因遮挡的误投影.第四步:内绘(Inpainting).和第二、三个步骤一样,这个步骤也是对虚拟出图像中问题进行修复.在这个部分,利用深度图像和视频图像的权重关系对虚拟图像中的黑点像素进行插值修复.如图1所示.图1DIBR算法流程
Fig.1DIBR algorithm1.2深度图像估计深度图像估计是DIBR算法的关键技术之一,因为深度图像的质量好坏直接影响整个三维投影以及最后的虚拟图像的质量.为了获得高质量的深度图像,学者们已经提出了深度图有基于区域的算法(localbased algorithms)和基于全局的算法(globalbased algorithms)两种方法.区域算法主要有SAD[7],SSD[7],NCC[8]等算法.全局算法主要有图割(Graph Cut:GC)[9]、动态规划(Dynamic Programming:DP)[10]、信念传播(Belief Propagation:BP)[1112]等算法.本文采用的快速图割算法步骤如下.
1.2.1求初视差设S(xy)代表平方差值算法.利用改进SSD算法求取视差的初始值,假设S(x,y,d)表示I1(x,y)与I1(x,y+d)区域的S值时,则I1(x,y+1)与I1(x,y+1+d)区域的S(x,y+1,d)值可以用S(x,y,d)值表示:S(x,y+1,d)=S(x,y,d)+f(x,y+1,d)(5)其中f(x,y+1,d)为:f(x,y+1,d)=∑nt=-n[I1(x+i,y+m+1)-
I2(x+i,y+m+1)]2b2-4ac-∑nt=-n[I1(x+i,y-m)-I2(x+i,y+d-m)]2(6)
1.2.2校正初始视差校正初始视差是为了提高视差的精度.通过左右一致验证法[13]对视差图进行校正.左右一致验证法是假设左右图分别为右左的参考图,也就是分别求出以左右参考图的右左深度视差(DL(p),DR(p)),然后求两幅视差图的一致性.DL(p)=DR(p-DL(p))(7)如果视差值相同,就是可以确定这个值为视差值,如果不一致则是遮挡点,那么将这个点做为图割的限制项进行优化能量函数,使能量函数最小.
第11期李寒,等:自由视点视频的虚拟图像合成
武汉工程大学学报第33卷
1.2.3构建能量函数求最终的深度图将左右一致性求出遮挡点作为约束项f初始,能量函数如下:E(f)=Edata(f)+Esmooth(f)+Eocclusion(f)+Efrange(f)(8)其中Efrange(f):Efrange(f)=0f∈(f初始±frange)
∞其它(9)2实验结果与分析为了验证本文提出的算法的性能,本文将采用美国Middlerbuy大学计算机视觉研究中心提供8视点的640×480的Ballroom测试序列和微软研究所提供的8视点的1 024×768的Ballet测试序列进行算法耗时和合成虚拟视点的仿真实验.在本试验中,将选择Ballroom和Ballet测试序列的视点0和做为虚拟视点,视点2为辅助视点,视点1为虚拟视点.计算机硬件条件为:单核CPU主频为2.93 GHz,内存为1 G,软件编译环境为vs2005.因为采用了初始像素视差的计算结果来控制网络的规模,在允许视差范围内增加的节点要比搜索全部视差范围的节点要小得多,所以这样就减少了网络中的节点数,降低了计算复杂度.表1是两种算法对Ballroom、Ballet的匹配耗时情况,不难看出本算法明显减少匹配时间.图2为不同算法估计出的深度图.将虚拟合成出来的图像进行噪声峰值性噪比和结构相似指标(SSIM)评价,发现利用本文算法产生的深度图像合成出得虚拟图像有较高的PSNR,有较高的相似度,结果如表2和表3所示.图3中依次是Ballet序列的第1虚拟合成图像,Ballroom序列的第1帧和第95帧虚拟合成图像.表1算法耗时
Tab 1Algorithm timeconsumingmsBallroomBalletGC7 507.5102.96本文算法4 237.572.36图2不同算法估计的深度图
Fig.2GC and proposed algorithm estimate depth maps表2虚拟图像质量评估
Tab 2Virtual image quality assessment“Ballet”0frame“Ballroom”0frame“Ballroom”95framePSNR32.736 331.157 330.987 1SSIM0.948 90.905 50.911 8表3虚拟图像质量评估比较
Tab 3Comparison of the PSNR GC and
proposed algorithmPSNR“Ballet”0frame“Ballroom”0frame“Ballroom”95frame本文
算法32.736 331.157 330.987 1GC25.12125.17326.986

图3合成虚拟序列
Fig.3Synthetic virtual sequence3结语上述采用的DIBR算法合成虚拟图像客观和主观上证明了快速立体匹配算法的性能.采用改进的SSD匹配算法快速获得初始视差图,并将其作为GC算法的参考项,减少网络的规模,优化了能量函数,在保证深度图像质量的情况下,进一步提高了估计效率.而虚拟合成的图像会有裂纹、重影、空洞等问题,这些问题在高清视频将被放大,不能满足高清3D视频观看要求.参考文献: