多视点重构算法的研究与实现

时间:2022-03-05 06:59:12

多视点重构算法的研究与实现

摘 要:本文基于视点重构单元进行研究,通过深度图绘制算法(Depth Image Based Rendering简称DIBR)探讨图像合成所需的视差源序列——虚拟视点,以实现多视点裸眼立体图像合成的预处理阶段,实验结果表明采用DIBR算法不仅可以极大地减少参考图像的数量,而且还能产生实时高效且具有任意位置的虚拟视点图像,非常符合多视点裸眼立体显示中视点源序列的需求。

关键词:DIBR算法;虚拟视点;图像合成

中图分类号:TP391.41

1 引言(DIBR算法)

本文基于裸眼多视点立体电视进行研究,采用“二维+深度信息”的解决方法,即在我们平常所看到的二维图像基础上增加一个Z分量的图像(即深度图),从而使用户产生立体视觉[1]。这种设计理念追本溯源就是最大程度的重复使用二维世界的内容和概念,其关键在于虚拟视点的合成。

本文围绕参考图像和与其对应的深度信息合成场景中的虚拟视点图像进行了相关研究。实验结果表明DIBR算法不仅可以极大地减少参考图像的数量,而且还能产生实时高效且具有任意位置的虚拟视点图像,非常符合多视点裸眼立体显示中视点源序列的需求。

2 坐标空间

基于DIBR算法实现虚拟视点绘制,需要准确的反映真实场景与图像平面的变换,因此需要通过坐标系间的相互转换来实现。这里与之密切相关的坐标系有:世界坐标系,摄像机坐标系,图像坐标系、像素坐标系。

(1)世界坐标系(X,Y,Z)是客观世界的绝对坐标,它不但说明了真实世界里物体所在的位置,还指明了观察摄像机在真实世界所处的位置[2]。它可以设定为任意位置,但一旦选择,就不能随意改变。

(2)摄像机坐标系,即以摄像机的光心为坐标原点制定的坐标系统(Xc,Yc,Zc)。这两个坐标系之间关系可以表述为公式(1):

(3)图像坐标系:用二维矩阵(x,y)表示,是三维空间点对成像平面上的投影。

(4)像素坐标系:以像素为单位,用二维矩阵(u,v)表示,是三维空间点在成像平面所处的具置。其中(u0,v0)是图像坐标系坐标原点在像素坐标系上的坐标。

3 针孔相机模型

CCD摄像机的光学成像原理一般是由针孔相机模型(或称作线性成像模)来表示,模型如图(1)所示。假设P点是三维空间中的任意一点,则P点和相机光心Oc的连线在成像平面的交点p即为P点在图像平面上所成图像的位置。假设P点的世界坐标是(X,Y,Z),摄像机的坐标是(Xc,Yc,Zc),图像坐标是(x,y),像素坐标是(u,v)。如果P点的世界坐标和相机的相关参数是已知的,那么P点的图像坐标(x,y)可由摄像机坐标(Xc,Yc,Zc)和相机的焦距?得出,如公式(3)所示:

假设相机参数和一个三维空间点的世界坐标已知,那么由此可以计算出该点在成像平面上所对应的坐标,从而得出针孔相机模型中像素坐标与世界坐标的关系[2],用公式(4)表示:

下面对公式(4)作具体说明:P是3×4的投影矩阵,由摄像机的内部参数?/dx,?/dy,u0,v0及其外部参数R,t共同决定。已知空间任意一点P,如果已知了它的世界坐标P=(X,Y,Z,1)T,则可推出P的像素坐标p(u,v);同理,若已知空间某点P在图像平面的投影点坐标及其深度值Z,便可得出P点的世界坐标(X,Y,Z,1)T[5]。

4 3D渲染方程

DIBR算法是采用已知图像及其每个像素对应的深度值,通过3D变换(3D Warping)合成虚拟视点的过程。该过程主要可以分为以下两步:首先由深度信息将已知图像上的所有像素点重新投影到与之对应的3D空间中的位置;第二,再将这些三维空间点投影到目标图像的平面上[7]。这种由二维到三维的重投影及从三维到二维的投影方法简称为三维图像变换。

三维图像变换是基于深度图将已知图像的像素点投影到虚拟视点的图像中的,在针孔相机的模型中,三维空间点的世界坐标和像素坐标二者间的关系如公式(5)的推导[1]:

其中A1,R1,t1是参考相机的参数,A1为相机的内参矩阵,R1,t1为外参矩阵;Z1在摄像机坐标系中是Z轴分量在三维空间点相应于参考相机的深度值。由公式(5)可以得出参考视点所在像素平面的点(u1,v1)投影到与之对应的3D空间点(X,Y,Z)。

其中A2,R2,t2为虚拟相机的相机参数,A2是内参矩阵,R2,t2是外参矩阵;Z2为三维空间点与虚拟相机对应的深度值。通过公式(6),3D空间点(X,Y,Z)在虚拟视点图像平面上投影点为(u2,v2)。

假设世界坐标系和参考视点的摄像机坐标系重合,则以上两式合并得出适用真实的场景的3D图像变换方程,即3D渲染方程:

根据3D渲染方程,m1,m2分别为参考视点图像和虚拟视点图像成像平面中的像素点;A1,A2分别是参考相机和虚拟相机的内参矩阵;Z1,Z2分别是该三维空间点所对应的三维空间对应于参考相机和虚拟相机的深度;R一般是一个3×3的矩阵,为虚拟相机对应于参考相机的旋转矩阵;t一般也是3×1的矩阵,为虚拟相机对应于参考相机的平移矩阵。从而通过3D渲染方程,便可实现DIBR算法中将任一像素点从参考图像视点到虚拟图像视点的映射[1]。

5 DIBR算法的实验

为了验证本文的算法有效性,实验采用微软研究院(Microsoft Research)交换视觉媒体组提供的ballet序列和breakdancers序列进行测试。这些测试序列是由8个视点组成,每个视点分别包括100帧彩色图像和由其立体对应计算的深度图。每幅图片的分辨率为1024×768。每两个摄像机的水平间距为20cm且成一维弧形排列。

程序流程图:

实验结果及分析

实验结果如图3所示。本文利用假设分析方法和固定参数代入法进行了大量实验,主要对参考相机,虚拟相机参数以及旋转角度R和平移方向T进行调整。

通过DIBR算法进行视点变换,发现合成的虚拟视点图像质量存在很多问题。主要包括:重叠问题,重采样问题和空洞问题。这些问题是今后研究的重点。

参考文献:

[1]冯雅美.自然三维电视系统中虚拟视点绘制技术研究[D].浙江:浙江大学,2010.

[2]陈思利,程.一种基于DIBR的虚拟视点合成算法[J].成都电子机械高等专科学校学报,2010(1):15-19.

[3]胡培成.三维信息提取中的摄像机标定技术研究[D].南京:南京航空航天大学,2007.

[4]林牲.多视点自由立体图像合成算法研究[D].天津:天津大学,2007.

[5]刘占伟.多视点视频中基于图像的绘制技术研究[D].上海:上海大学,2008.

[6]刘占伟,安平,刘苏醒.基于DIBR和图像融合的任意视点绘制[J].中国图象图形学报,2010(1):49-51.

作者简介:史晓云(1986.6-),女,陕西西安人,助理工程师,研究方向:软件工程。

上一篇:基于Android平台的新疆气象移动终端系统设计 下一篇:集团企业超市化商城系统功能规划