微信公众号 联系我们 关于我们 3618客服热线:020-32784919   推广热线:020-32780069
资讯
频道
当前位置:首页 > 医疗器械资讯 > 学术论文 > 裸眼立体显示中3D模型多视点影像提取

裸眼立体显示中3D模型多视点影像提取

文章来源:首席医学网发布日期:2011-07-04浏览次数:50504

【摘要】  基于图像的立体显示能够把拍摄的符合要求的二维图像信息以三维实体的形式显示出来,使人们获得真正的立体感觉与深度信息。本文从人类立体视觉的原理出发,重点讨论在计算机中如何从3D模型获取用于裸眼立体显示视差图像的问题。文中采用了两种方法,一种是用单一摄像机拍摄,另一种是用摄像机序列同步拍摄,文章还对两种方法的优缺点做了论述,并在结尾验证了提取方法的正确性。

【关键词】  裸眼立体显示; 立体图像; 视差; 多视图提取

    Multi-view extraction of 3D model applied in autostereoscopic displayWU Weisheng,  ZHANG Hai,  SHEN Wei,  DONG Dai,  WU Huaxia

    (Key Lab of Modern Imaging and Display Technology of Anhui Province,

    Anhui Hua Dong Photoelectric Technology Institute, Wuhu 241002, China)

    Abstract: 2-dimensional images captured correctly can be displayed in 3 dimensions using the stereoscopic display technique ba[x]sed on parallax images. The problem of how to extract parallax images from computer 3D models used in stereoscopic display is discussed in this paper. Two methods were put forward ba[x]sed on the principle of stereo vision of human. One uses only a single camera, another uses a camera sequence. The difference between the two approaches was listed, and the correctness of the two methods was validated.

    Key words:  autostereoscopic display; stereo image; parallax; multi-view extraction

    在当前的计算机显示领域,立体显示成为未来的发展方向,无需配戴立体眼镜的自由立体显示技术以其方便舒适的特点成为研究的热点。然而,在采用光栅的平板立体显示器上,一般采用两幅视图经光栅分光后分别进入人的左眼和右眼。垂直放置的光栅因显示器像素间的缝隙易对进入两眼的光线产生黑色的干扰条纹,并且对人眼在显示器前的位置有较大的限制。

    为了改善普通光栅立体显示技术的缺陷,采用多幅视图合成立体图像,经斜置光栅分光后进入人双眼产生立体视觉的显示技术被提出。该显示技术具有宽视角、高亮度、无干扰的特点。但是,多视角图像的视差关系直接决定显示的立体感效果。因此,如何获取满足立体显示要求的多视点图像也是值得研究的问题。本文从立体视觉原理出发,重点讨论如何用软件方法从计算机虚拟3D模型中提取多视点图像的问题。如果现实中的硬件条件满足要求,可以推广到现实场景多视点图像获取的应用上,文中提出了两种方法,一种是单摄像机拍摄,另一种采用多摄像机序列拍摄的方法。文章还对应用本文所提方法摄取的多视点图像进行了立体合成实验。实验表明通过上述两种方法提取的立体图像源满足立体视觉图像源的视差要求。

    1  立体视觉及立体显示原理

    人眼具有三维视觉的能力(立体感),其原因很多,但重要的因素是人的双眼所成的图像存在视差。由于人类两眼的位置差异,两眼观察景物时,相对于各物点的位置与角度有微小的差别,这种差异使人们能够将视场(眼睛所观看到的景物区域)中的物体区别出远近。人眼成像模型如图1所示。以左右眼的瞳孔中心为原点,分别建立坐标系,记为Ol-XlYlZl、Or-XrYrZr。其中,两坐标系的Z轴都在左右眼瞳孔连线所在的水平面内,并且与该连线垂直,正方向指向观察者的正前方[1,2]。

    图1  人眼的成像模型

    图中,2b为两眼瞳孔中心的距离,成人的平均距离为65   mm;f为人眼水晶体的焦距,成人平均为 18.930~22.785   mm(分别为紧张时和放松时的数值)。

    当双眼注视点B时,B在视网膜上的像落在左右眼的黄斑位置Bl和Br,B点相对于左右眼的两视线有一个夹角OlBOr。称为视差角或者角视差(angular parallax)。视差角由眼睛观察B点时偏转的会聚角产生。显然,视差角等于两倍的会聚角。则B相对于人眼的距离Zb为:Zb=b   tanφ.(1)    A(Xa,Ya,Za)为景物空间中任意一点,在左右视网膜上所成的像点分别为Al和Ar,则A点相对于人眼的距离仍可用上面的公式计算[3]。

    人眼的成像模型为模型提取过程中摄像机的布置提供了依据。因为人的双眼之间的距离一定,可以适当调节人眼与物体之间的距离和会聚角,以使人眼睛产生佳效果的立体感。

    2  3D模型视差图像提取

    在计算机中提取图像与在现实中利用摄像机拍摄图像类似,所不同的是计算机中的是虚拟的物体,所用的摄像机也是虚拟的摄像机,这一切都要在计算机虚拟的3D环境中操作。

    与现实环境中相比,计算机虚拟环境中的操作更加灵活。只要硬件条件允许,在计算机中可以任意的速率采集图像,并且摄像机的位置与朝向可以任意设置。对于一个3D模型,可以观察其4π空间任意角度的立体图像。

    从计算机3D模型[4]中提取视差图像,需要编写软件,并借助硬件支持才能够实现。目前比较流行的计算机3D环境主要有OpenGL[5]和Direct3D两种,这两种环境都可以完成从计算机3D模型中提取视差图像的功能。

    由于计算机虚拟环境灵活的可操作性,在计算机虚拟3D环境[4]中可以设置多部摄像机。按摄像机的个数不同,本文提出了两种提取方法。下面两节将分别给予介绍。

    2.1  单摄像机提取

    单摄像机提取是使用一部摄像机对准物体,用程序驱动3D模型,使它绕过模型中心的轴线做旋转运动。每转动一定的角度,采集一幅当前视场下的图像,后连接成视频。在旋转过程中,要求物体绕固定方向的轴线旋转,并且轴线的方向与摄像机向上的方向相同。只有这样拍摄的图像才会只存在水平视差,而没有垂直视差。具体的提取流程如图2所示。

    图2  单摄像机提取流程

    在提取的流程中,有下面几点需要特别注意:

    1. 计算包围球半径及中心位置:该计算是提取步骤非常重要的一步,计算包围球半径是为了确定模型的空间大小,以便于完全显示图像;模型的中心位置是模型包围球的圆心位置,它是模型的旋转中心;为便于实现,可以在放置模型物体时,将该中心位置移到3D环境的坐标原点位置。

    2. 定义UVN摄像机[4]:在计算机三维环境中,通常有两种常用的摄像机模型:欧拉模型和UVN摄像机模型。关于摄像机的定义,这里不做详述。

    3. 计算旋转角度步长:旋转角度的步长决定两幅连续视差图像的视差大小。该角度要根据人眼的立体视觉几何特征计算求得,具体的计算如图3所示。

    图3  旋转角度步长的计算图示

    θ是两眼间的视角,θe是两眼位置不同造成的真正视角。根据人眼立体视觉特征,人类感觉立体效果较好的角度是θe为6°。而事实上,为了使整个模型综合立体效果好,通常选取θ等于6°。这样,根据一幅立体图像采用的视差图像的数目,可以求得模型单步旋转的角度:Δθ=6   N.(2)其中,Δθ为模型单步旋转的角度,N为一幅立体图像采用的视差图像数目。通常,为了在一次提取后可用于不同的立体图像,可以把N取值大一些,在使用时从中抽取适合视差的图像。

    4. 读取缓存数据到内存:OpenGL与Direct3D都支持双缓冲技术,即一个缓冲区用于动态存储图像数据,一个用于显示图像。在读取缓冲区时要注意读取正确的缓冲区。

    2.2  摄像机序列提取

    将多部摄像机按视差要求布置在一定位置拍摄模型,分别保存拍摄的图像内容,可以同时得到立体图像所需的一帧视差图像序列。在图4中,圆周上的黑点为布置的摄像机,模型中心与左、右两条半径之间的夹角是人类感知3D视觉的佳视角。中间摄像机与左右两摄像机一起均匀布置在圆周上,并且对准模型中心。所有摄像机同时拍摄模型,并按从左到右的顺序按序号保存图像,则保存的图像为序列视差图像。具体的提取流程如图5所示。

    2.3  方法比较

    单摄像机与摄像机序列方法都可以从计算机3D模型中提取视差图像,但是,多摄像机与单摄像机相比,具有如下特点:

    1. 摄像机序列方法对模型的运动要求更加宽松。根据摄像机序列的布置,可知这样布置的摄像机拍摄任意景物都满足视差要求,即各幅图像之间都只存在水平视差,没有垂直视差。因此,无论怎样做旋转运动,都可以从一个图像序列中得到一幅立体图像,就不必要求模型绕固定轴、固定角度步长旋转。

    2. 摄像机序列方法对计算机硬件的要求增加。由于摄像机数目的增加,系统的开销也增加,系统的响应速度会降低。

    3  结果验证

    如图6所示,图像序列是用上述方法提取的视差图像序列,其中采用的视点数目为9,任意两幅相邻图像间的水平视差由公式(2)求得。序列的视差总和为两眼佳立体视觉视差。

    图6  视差图像序列

    图7  视差图像合成的立体图像

    图7是利用立体图像生成算法得到的九视点立体图片。将合成的立体图像在加有斜置光栅的立体显示器上显示,通过观察,得到了较好的立体效果,并且有较大的视角。从而证明了本文论述的从3D模型中提取立体图像的方法可行,并符合立体图像图片源的要求。

    4  结束语

    本文采用基于人眼的立体视觉原理的两种视差图像提取方法,获得了较理想的立体显示效果。在现实生活中,按照本文所提出的摄像机布置方法,根据摄像机的拍摄速度及视差要求设置物体的旋转速度,就能拍摄人眼视差图像。再利用这些图像生成立体图像,就得到了现实世界物体在计算机中的立体图像。因此,本文的方法可以推广到现实生活中,结合立体图像处理软件,可以广泛应用于军事、娱乐及广告等领域[6,7]。

【参考文献】
  [1] 毛崇德, 王元庆. 多视点自由立体投影系统 [J]. 光电工程, 2006, 33(4), 60-84.

MAO Chongde, WANG Yuanqing. Multi-view auto-stereoscopic projection system [J]. Opto-Electronic Engineering, 2006, 33(4), 60-84.(in Chinese)

[2] 梁发云. 彩色立体显示关键技术研究 [D].合肥:合肥工业大学, 2005.

LIANG Fayun. Research on Key Technology of Color Stereoscopic Display. HEFEI: Hefei University of Technology, 2005

[3] 沈孝本. 多视角立体影像显示处理方法 [P]. 中国, 03147730.5, 2005.1.19.

[4] (美)拉莫泽著. 3D游戏编程大师技巧 [M]. 李祥瑞,陈武,译. 北京:人民邮电出版社. 2005.

Andre LaMothe. Tricks of the 3DGame Programming Gurus: Advanced 3D Graphics and Rasterization [5] Dave Shreiner, Mason Woo, Jackie Neider, et al. OpenGL Programming Guide [M]. Addison-Wesley. 2006.

[6] 刘国权.关于体视学的定义、用途和方法学基本要素 [J].中国体视学与图像分析,2001,6(1):1-5.

LIU Guoquan. ON THE DEFINITION, APPLICATION AND METHODOLOGY COMPONENTS OF STEREOLOGY. BeiJing: Chinese Journal of Stereology and Image Analysis. 2001,6(1):1-5.

[7] 徐新萍, 王晓民, 彭瑞云 等. 浅议信息可视化基本原理与应用 [J].中国体视学与图像分析,2007,12(1):75-78. XU Xinping, WANG Xinaomin, PENG Ruiyun, WANG Dewen. Information visualization [D]. BeiJing: Chinese Journal of Stereology and Image Analysis. 2007,01.