APP下载

基于投影纹理映射的球面斜投影校正方法研究及其应用

2012-09-18邱飞岳赵柏乐张维泽王丽萍

中国生物医学工程学报 2012年5期
关键词:观察者投影仪纹理

邱飞岳 赵柏乐 张维泽 王丽萍

1(浙江工业大学现代教育技术研究所,杭州 310014)

2(浙江工业大学信息工程学院,杭州 310023)

3(浙江工业大学智能信息处理研究所,杭州 310023)

基于投影纹理映射的球面斜投影校正方法研究及其应用

邱飞岳1,2*赵柏乐2张维泽1王丽萍3

1(浙江工业大学现代教育技术研究所,杭州 310014)

2(浙江工业大学信息工程学院,杭州 310023)

3(浙江工业大学智能信息处理研究所,杭州 310023)

临床上采用平面显示屏幕的视功能诊疗设备,因视场角过小,无法模拟自然视觉环境,影响视功能的诊疗效果。本研究自主研发一种半球投射式的显示装置,对球面屏幕和斜投影所导致的几何失真问题,提出了一种基于投影纹理映射的球面斜投影校正方法,投射后的图像畸变小、效果好,接近自然视觉环境,改善视功能的诊疗效果。该方法假设人眼和投影仪满足针孔模型,根据投影系统的几何参数,利用OpenGL构建投影系统的计算机三维模型,将观察者视为投影仪设置投影矩阵,并将被投影图像映射到屏幕上,然后将投影仪视为观察者设置模型视图矩阵获得所需的预变形图像。该预变形图像由诊疗环境中的投影系统所使用,实现图像的几何校正。实验结果表明:该方法校正后的图像失真较小,矩形度为0.985 7;对640像素 ×400像素的图像平均处理时间约为0.031 s,能够较好地符合临床上视功能诊疗要求。

视功能;投影纹理映射;球面斜投影;OpenGL;几何校正

引言

眼睛是人类感官中最重要的器官。有研究表明:大脑中约有80%的信息是通过人类的眼睛获得。但由于某些先天或后天的原因,使某些人的眼睛视物功能出现问题,比较常见的视功能疾病主要有近视、斜视、弱视等[1],这些疾病给患者的学习、工作和生活带来诸多不便[2]。同时,随着人们生活环境和生活方式的改变以及生活节奏的加快,双眼的视功能问题也日益严重,视疲劳的发病率也在逐年上升。

目前,临床上集视功能诊疗于一体,用于斜视弱视检查和治疗的设备主要有弱视综合治疗仪和同视机等[3-5]。经过多年的研究和临床使用,这些诊疗设备对视功能缺损者(如斜视、弱视等)在临床的筛选和治疗上起了重要的作用。但由于这些设备采用平面显示装置,使诊疗中存在不足:首先,平面的显示装置提供的视场角小,一般在20°到40°之间,达不到视野、眼位等检查的临床要求;其次,难以模拟人类眼睛视物的自然状态[6],不能有效遮挡外界的干扰。

本研究采用一种半球投射式的显示装置(如图1)配合检查和治疗,以改善视功能的诊疗效果。该装置相比于平面显示装置,具有3个特点:(1)用于诊疗的视频或动画是通过投影仪直接斜投射到半球投射屏的内表面,患者的眼睛在投射屏的球心位置观察该屏幕,模拟了圆弧成像面,符合人眼视物的自然状态和眼科临床检查的要求;(2)显示区域可以为患者提供足够的视场角;(3)该装置让患者在一个沉浸式的环境中进行视功能的检查和治疗,避免了外界的干扰,提高了视功能诊疗的效果。

该显示装置在图像直接斜投射到半球投射屏的内表面时,会产生严重的畸变,引起图像的几何失真,观察者看到的是一个变形的图像。为了让观察者看到一个无畸变的图像,需要对图像进行几何校正,以消除由于投射屏的几何形状以及斜向投射造成的图像畸变。

目前采用计算机非线性失真校正技术来实现图像的校正,该几何校正方法一般分两步:空间坐标变换和灰度级插值。空间坐标变换可以分为从畸变图像到理想图像的向前映射法[7],从理想图像到畸变图像的向后映射法。灰度级插值采用的算法有:最近邻插值法、双线性插值法和高阶插值法[8-9]。

图1 半球投射式显示装置Fig.1 Hemispheric-projection display device

在投影过程中,原始图像一般为矩形,常用的算法是:先将矩形的4条边映射为曲线四边形的4条边,采用灰度级插值算法计算曲线四边形内部像素与原始图像内部像素的映射关系。该方法确实能起到校正作用,但需使用3次以上的高阶多项式表示曲线边,计算较繁琐,参数调节的灵活性也较差。针对上述缺点,刘堂友等提出一种基于标准网格的算法,通过建立目标图像的倾斜模型和径向畸变的联合变形,用最小二乘法和最优化算法求得标准网格的失真参数,进而校正目标图像[10]。该算法计算简单,校正后图像失真小。但是,该算法中变形模型的建立非常耗时,而且算法复杂度较高。顾费勇等提出了一种基于仿射迭代的算法用于对图像特征点集合进行匹配,通过使用后向映射和双线性插值法在图像合并过程中进行插值计算,并使用重叠区域线性过渡算法来消除图像拼接缝,实现图像之间的无缝拼接[11]。但该算法准确度还不够,有待进一步优化和提高。

经过对上述几种算法的分析,传统几何校正方法虽然可以有效实现对畸变图像的校正,但算法较复杂、耗时,其中多项式模型的阶次直接影响畸变校正的质量,仅限于理论上的讨论,在实际应用中,具有较大局限性。

在上述研究的基础上,以投影纹理映射技术为基础,利用OpenGL高效的纹理映射方法实现球面斜投影校正,并将该方法应用于数字化的视功能诊疗设备,以期在视功能的检查和治疗过程中,为患者提供足够大的视场角以避免外界干扰,从而提高视功能的诊疗效果。

1 方法

纹理映射(texture mapping)是一种类似“贴墙纸”的方法,将反映物体表面细节的图案贴到物体表面上。与构造模型的方法相比,在模拟物体表面细节方面,纹理映射是一种有效的方法[12]。而且实现代价也小得多,显示速度较快。纹理映射技术最早是在1974年由 Catmull率先提出[13]。Catmull找到了以(u,v)表示的双变量实数空间(纹理空间)和以参数(s,t)表示的三维曲面之间的对应关系(映射关系)。但是,在 Catmull的算法中,被映射的值仅局限为纹理图案的彩色值。Blinn等在1976年提出了“反射映射”技术[14],该技术在光照模型中考虑了纹理图案的镜面反射系数和高光值,从而极大地改进了经纹理映射后的图像质量。

随后,不断有学者致力于寻找更好的纹理生成方法[15-16],对纹理映射技术进行了更加深入的研究和发展。其中,Segal等在1992年提出了投影纹理映射(projective texture mapping)概念,用于映射一个纹理到物体上[17]。这种方法如同“将纹理视为幻灯片,灯光如同投影仪,然后将纹理投影到一个物体上,就如同于投影仪将幻灯片投影到幕墙上”[18]。该方法不需要在应用程序中指定顶点纹理坐标,而是在顶点着色程序中通过视图矩阵和投影矩阵计算得到,故也被称作投影纹理映射。投影纹理映射具有两大特点:其一,可以将纹理和空间顶点进行实时对应,而不需要指定纹理坐标;其二,可以有效的避免纹理扭曲现象。

投影纹理映射坐标的计算与常规的顶点坐标空间转换流程类似。后者先将顶点从模型坐标空间转换到世界坐标空间,然后转换到视点空间,再转换到裁剪空间,投影到视锥近平面。经过这些步骤,确定了一个顶点在屏幕上的位置。而在计算纹理投影坐标时是将视点当作投影仪,然后采用同样流程,并将获得的投影顶点坐标归一化到(0,1)空间中,求得投影纹理坐标。归一化步骤可以通过左乘式(1)中的矩阵NM实现。

然后由式(2)求取投影坐标矩阵

式中,projectionMatrix表示投影矩阵,viewMatrix表示视图矩阵,worldMatrix表示世界坐标转换矩阵(结合式(3),即通过左乘该矩阵,可以将顶点从模型坐标空间转换到世界坐标空间)。求得投影坐标矩阵后,便可以使用该矩阵将顶点坐标转换为纹理投影坐标,由式(3)得到。

式中,modelCoordinate表示顶点在模型空间中的坐标。

为使观察者看到不变形的图像,提出一种基于投影纹理映射的球面斜投影校正方法,对用于视功能诊疗的视频或动画中的每一帧图像进行几何校正。实现原理主要分为3个步骤,如图2所示。

图2 基于投影纹理映射的球面斜投影校正方法流程Fig.2 Flow chartofsphericalinclined projection correction method based on projective texture mapping

步骤 1中,利用 OpenGL场景绘制技术[19],构建投影系统的计算机三维模型。首先对投影仪、投影屏幕和观察者建立几何模型,然后在计算机中构建给定投影系统的三维模型。Raskar指出:当投影仪光学系统径向变形较小时,可将其近似为计算机视觉研究中常用的线性模型,即针孔模型[20]。在视功能投影系统建模过程中,采用针孔模型表示投影仪和观察者。投影仪关键的模型参数有投影仪位置、投影方向和投影范围(指角度)等。而观察者的关键的模型参数有观察者的位置、视线方向和视角大小等。投影屏幕是球面的一部分,对于球面上任意一点,其空间坐标用参数化表示为

因此,可以通过划分球幕α和β的取值范围,利用四边形逼近该球面,建立投影屏幕的三维模型。

根据式(4)的几何参数,构建投影系统的计算机三维模型,如图2中的步骤1。该模型以半球投射屏球心所在位置为世界坐标系的原点,使得球幕中心到球心的轴线方向为Z轴方向,观察者的头顶方向为Y轴方向,观察者的右手方向为 X轴方向,如图3所示。该坐标系满足右手法则。

图3 投影系统的计算机三维模型。(a)正面;(b)侧面Fig.3 Three-dimensionalcomputer modelofthe projection system.(a)Anterior view;(b)Side view

步骤2中,加载现有的平面图片作为纹理图像,并将观察者视为一个虚拟的投影仪,利用投影纹理映射技术,在观察者所处位置设置投影矩阵将被投影图像(作为纹理)映射到屏幕上[17]。根据投影纹理映射的特点,此时以观察者和投影屏幕组成的投影系统中的屏幕图像,正是观察者所应该观察到的理想图像,如图4所示。

图4 理想图像Fig.4 The ideal image

在投影仪所处位置对带有纹理的显示屏进行渲染,获取投影仪所需要的预变形图像,如图2中的步骤3。将投影仪视为一个虚拟的观察者,通过设置合理的视线方向和视角大小,对屏幕进行观察。该步骤主要利用OpenGL场景绘制技术,通过其内部的库函数和工具包函数,设置投影仪和物体的相对位置关系以及视域体的远近平面和视场角的大小,从而将球幕模型的世界坐标转换为视口坐标,渲染带有纹理的球幕模型至一幅变形图像。根据针孔模型的特点可知,该图像就是投影系统进行图像校正所需的预变形图像,如图5所示。

图5 预变形图像Fig.5 The pre-distorted image

为了获得更佳的投影效果,将建模环境中的背景颜色设置为黑色,得到改进后的预变形图像,如图6所示。将该改进后的预变形图像作为投影图像,由现实中的投影系统所使用,实现投影图像的几何失真校正。

图6 改进后的预变形图像Fig.6 The improved pre-distorted image

2 结果

为了改善视功能的诊疗效果,让患者在一个沉浸式的环境中进行检查和治疗,采用大视场角的半球式投射屏作为显示屏幕,其半径为58 cm。投影仪采用EPSON公司型号为EB-450W的短焦投影仪,并选用其70英寸16∶10的投影配置,即投影距离为55 cm,从投影仪底缘到屏幕上缘的高度为21 cm,从投影仪底缘到屏幕底缘的高度为116 cm。

采用Visual C++6.0软件进行编程实现,几何预变形输入的是一幅640像素×400像素的理想图像,经过计算机处理之后,输出一幅640像素 ×400像素的预变形图像。为了便于分析讨论,在观察者眼睛所处位置(半球式投射屏球心位置)用广角照相机分别对校正前后图像的投影效果进行拍摄。图7和图8的上方为图像未经校正的投影效果,图的下方为图像经过校正的投影效果。由图7和图8可知,经过本方法的校正,投影效果有明显的改善,图像失真程度显著下降。

为了进一步验证本方法的有效性,对校正效果图进行矩形度分析。选用图8中的人造图像,图8的上方为未经校正的图像,图8的下方为校正后的图像。矩形度用物体的面积与其最小外界矩形的面积之比计算,反映物体对其外接矩形的充满程度[21]。图9为采用计算人造图像正中心的4个小四边形及大四边形(由4个小四边形组成)与各自最小外接矩形的面积(像素)比的方法,检验其几何校正效果,具体计算结果如表1所示。理论上,如果矩形度等于或者近似于1,表明其形变程度极小,图像失真也就越小。

图7 校正前(上)后(下)的图像Fig.7 The natural image before(upper)and after(lower)the correction

图8 校正前(上)后(下)的人造图像Fig.8 The artificial image before(upper)and after(lower)the correction

图9 人造图像校正效果图的矩形度分析Fig.9 The rectangular degrees analysis of the artificial image after correction

表1 人造图像校正结果的矩形度分析Tab.1 The rectangular degrees analysis of the corrected result of artificial image

由表1可得,校正后5个四边形的平均矩形度:

由此可见,校正后5个四边形的平均矩形度近似等于1,说明其图像失真较小。不难发现,校正效果图中的4个小四边形的矩形度略有出入,这可能是由于所采用柔性材质制作的半球式投射屏存在一定的不规则因素(不完全球面)造成的。

为了验证实时性,在 Intel(R)Core(TM)i3 CPU,540@3.07 GHz,3.0 GB 内存,显卡型号为NVIDIA GeForce GT 240的 32位Windows 7操作系统上,通过5幅640像素 ×400像素的图像对本方法进行了总共50次的运行时延测试。结果显示,平均时延维持在0.031 s左右,也就是说,本方法每秒钟可以处理32幅640像素×400像素的图像,而人眼分辨事物的最高频率是24 Hz,所以本方法具有实时处理图像的能力,可用于诊疗过程中在线处理视频或动画。

3 结论

本研究在综合了国内外典型的计算机非线性失真校正算法的基础上,结合投影纹理映射理论,提出了一种基于投影纹理映射的球面斜投影校正方法,对投影图像进行预变形处理,抵消了由于屏幕的几何形状以及斜向投射造成的图像畸变。该方法校正后的图像投影效果有明显的改善,图像失真程度显著下降。由于采用了半球式投射屏,更加符合视功能诊疗环境对图像真实感的要求。本方法简单易操作,运行速度快,运行时延小,兼具开发成本低和实时处理能力强等特点,可满足临床上视功能诊疗低成本、真实感和实时性的需求。如果能够在生产半球投射屏工艺中得到进一步改进,可以将基于投影纹理映射的球面斜投影校正方法应用于生产数字化视功能诊疗设备。该设备对弱视、斜视等视功能缺损者的筛选和治疗,提供足够大的视场角,减少外界的干扰,满足眼科临床检查的真实感要求,对提高视功能的诊疗效果和效率的研究具有重要的实际意义。

[1] 严宏.弱视[M].北京:科学出版社,2007.

[2] 王丽萍,孙朝晖,邱飞岳,等.基于多媒体的弱视治疗系统研制[J].浙江大学学报(工学版),2005,39(7):967 -970.

[3] 邱飞岳,王丽萍.一种具有三级视功能的弱视综合治疗仪[P].中国专利:CN101156815,2008-04-09.

[4] 林肯.一种同视机[P].中国专利:CN2439838,2001-07-28.

[5] 王丽萍,邱飞岳.一种数字化同视机[P].中国专利:CN101283904,2008-10-15.

[6] 沈建新,周儒荣,廖文和.准分子激光人眼像差矫正系统的研究[J].中国生物医学工程学报,2003,5:410-417.

[7] 刘保权,刘学慧,吴恩华.基于GPU的实时深度图像前向映射绘制算法[J].软件学报,2007,18(6):1531-1542.

[8] 王科俊,贲烨.基于线性插值的步态识别算法[J].华中科技大学学报(自然科学版),2010,2:41-44.

[9] Ji Bin,Liu Hongchen,Gao Yanying.Rapid hybrid interpolation method of single image[C]//2010 International Conference on Electrical and Control Engineering.Wuhan:IEEE Computer Press,2010:1519 -1522.

[10] 刘堂友,董爱华.精确校正图像的径向畸变和倾斜失真[J].中国图象图形学报,2007,12(10):1935-1938.

[11] 顾费勇.基于图像的自适应图像拼接算法研究[D].杭州:浙江大学,2008.

[12] 王相海,李婷婷,庞新.基于重复纹理映射的动态云实时模拟研究[J].计算机科学,2011,2:257-259.

[13] Catmull E.A subdivision algorithm for computer display of curved surfaces[D].Utah:University of Utah,1974.

[14] Blinn JF,Newell ME. Texture and reflection in computer generated images[J].Communicatious of the ACM,1976,19(10):542-547.

[15] Bier E,Sloan K.Two-part texture mappings[J].IEEE Computer Graphics and Application,1986.9,6(11):40-53.

[16] 李增忠.纹理映射技术的研究[D].西安:西安电子科技大学,2005.

[17] Segal M,Korobkin C,van Widenfelt R,et al.Fast shadows and lighting effects using texture mapping[J].Computer Graphics,1992,26:249-252.

[18] Cass Everitt.Projective texture mapping [EB/OL].http://developer.nvidia.com/object/Projective_Texture_Mapping.html.

[19] Shreiner D.OpenGL编程指南[M].北京:机械工业出版社,2010.

[20] Raskar R.The office of the future:a unified approach to imagebased modeling and spatially immersive displays[C] //Proceedings of Computer Graphics.Orlando:ACM Press,1998:1-10.

[21] 章毓晋.图象工程 (上册)图象处理和分析[M].北京:清华大学出版社,1999.

Research of Spherical Inclined Projection Correction Method Based on Projective Texture Mapping and its Application

QIU Fei-Yue1,2*ZHAO Bai-Le2ZHANG Wei-Ze1WANG Li-Ping3
1(Institute of Modern Educational Technology,Zhejiang University of Technology,Hangzhou 310014,China)2(College of Information Engineering,Zhejiang University of Technology,Hangzhou 310023,China)
3(Institute of Intelligence Information Processing,Zhejiang University of Technology,Hangzhou,310023,China)

At present,the vision examination and treatment equipment using flat-panel display screen does not meet the requirement of virtual reality in vision clinic environment which influences the clinical results of visual function.Based on the independent research and development of a hemispheric-projection display device that introduces the geometric distortion caused by the spherical screen and inclined projection,this paper presented a spherical inclined projection correction method based on projective texture mapping in order to let the observer have a realistic view of images with no/little distortion,thereby improving visual function examination and treatment environment.With the assumption that human eyes and projectors meet pinhole model,the method builds three-dimensional computer model of the projection system with OpenGL according to its geometric parameters,maps the projected image(as a texture)to the screen through setting the projection matrix by regarding the observer as a projector,and obtains the pre-distorted image through setting model view matrix by regarding the projector as an observer.Finally,the pre-distorted image was applied in the projection system of the vision examination and treatment equipment for geometric correction.The experimental results showed that the distortion was small with the rectangular degrees of 0.985 7,the process was almost real-time(the average handling time for an image of 640 pixel×400 pixel was about 0.031 s),which meet the requirements of immersion in visual function examination and treatment.

visual function; projective texture mapping; spherical inclined projection; OpenGL;geometric correction

R318.08

A

0258-8021(2012)05-0697-07

10.3969/j.issn.0258-8021.2012.05.008

2012-03-02,录用日期:2012-06-12

国家科技型中小企业技术创新基金(11C26213304686);浙江省自然科学基金(R2080100);浙江省科技计划项目(2011C21013)

* 通信作者。 E-mail:qfy@zjut.edu.cn

猜你喜欢

观察者投影仪纹理
多普勒效应之新讨论
天空投影仪
用追击相遇的模型解释多普勒效应
基于BM3D的复杂纹理区域图像去噪
防尘投影仪支撑架
“你看不见我”
使用纹理叠加添加艺术画特效
索尼发布真4K投影仪
高校多媒体教室投影仪维护技术分析
TEXTURE ON TEXTURE质地上的纹理