基于视点纠正的鱼眼图像场景化漫游方法

2014-07-09 01:17张海彬刘晓平
图学学报 2014年3期
关键词:鱼眼球面视点

张海彬, 余 烨, 李 琳, 刘晓平

(合肥工业大学计算机与信息学院VCC研究室,安徽 合肥 230009)

鱼眼镜头是指视角范围超过140°的镜头,由于其观察范围广泛,利用鱼眼镜头可以对半球空间的场景进行无盲区的显示,因而广泛应用于视频监控[1]、虚拟现实[2]、虚拟景观、机器人导航、军事观察、摄影摄像、工程测量等领域。鱼眼镜头是根据非相似成像原理设计的,因此在具有大视角的同时也会使成像发生畸变,导致对场景的观看不直观。此外,由于鱼眼图像分辨率受限,其对场景中具体细节部分的描述不够充分。基于上述原因,本文以还原半球空间中的场景信息为目标,在对鱼眼图像进行校正的基础上,进行半球空间的实时漫游。

本文首先对鱼眼图像校正算法进行了研究,在此方面国内外研究者已经进行了很多研究。Zorin和 Barr[3]提出利用轴对称映射来对曲线和歪曲的区域进行校正的方法,校正后的图像可以达到无失真的效果,但他们的方法局限于线性透视投影区域。傅丹等[4]提出一种基于直线的几何不变性标定摄像机参数,先用直线的摄影不变性纠正了鱼眼畸变,然后用直线的相似不变性纠正了透视变形,从而标定摄像机的内部参数,此方法速度快、精度高,但是对于某些包含直线较少的场景,则不能够充分地运用直线的几何不变性,最后得到的校正结果不能很好地满足要求。Carroll等[5]提出一个基于网格的非线性优化技术来减少直线的畸变和保留局部的形状,其校正效果明显。但是其校正映射和图像边缘对图像的内容和用户指定的约束具有很强的依赖性,而且校正速度慢,不能满足实时性的要求。

在高真实感的虚拟环境中进行实时漫游一直是图形界关注的焦点,其问题的关键在于如何有效地表达场景,从而在漫游阶段进行实时、高质量的绘制[6]。由于鱼眼在视频监控、军事观察等领域的广泛应用,要求能够对鱼眼图像中感兴趣的区域进行浏览,这就需要对鱼眼图像进行漫游。崔汉国等[7]用扫描线逼近的轮廓提取算法提取鱼眼图像轮廓,通过对鱼眼图像进行重采样来获得实时漫游的效果。但是,在浏览过程中由于没有进行校正导致不能直观的浏览。汪嘉业等[8]提出先对鱼眼图像进行校正然后将所有校正后的图像存放在一定的数据结构中,建立球面、柱面等数据结构中,实现不同的漫游方法。但由于其空间的复杂度较高,不能满足在视频监控等领域的应用需求。

本文通过建立鱼眼镜头的球面映射模型,对以视点为中心的观察区域进行实时校正。在对鱼眼图像校正的基础上通过构建一个数据结构来提高漫游的速度,该数据结构中存储的是鱼眼图像的参数信息。漫游过程的求解,即通过视点的连续移动找出对应视平面的球面坐标与数据结构中参数信息之间的一一对应关系。最后对视平面进行像素赋值,达到根据视点移动漫游的效果,实验结果证明漫游的过程能够满足实时性的要求。

1 算法思想

1.1 鱼眼镜头的投影模型

鱼眼镜头常用的投影模型有四种:等距投影、等立体角投影、体视投影和正交投影[9],本文中所使用的鱼眼镜头投影模型为等距投影,如图1所示。

图1 鱼眼镜头投影模型

其中,f为鱼眼镜头的焦距,则鱼眼图像上点C(imagex,imagey)与其对应的球面坐标如式(1)所示:

1.2 基于视点的鱼眼图像校正

鱼眼图像包含半球空间的场景信息,按照透视变换原理,无法将鱼眼图像上的全部信息显示在一张无畸变的透视图像上。因此,本文提出一种基于视点纠正的鱼眼图像场景化漫游方法,即模拟人眼观察的效果,以视点为中心进行可观察区域图像的校正。如图2所示,假设观察视点在鱼眼图像上的成像点为C,记以C为中心的可观察区域校正后的图像为T,T是以C点在球面上的投影点M为中心的平面。基于视点的鱼眼图像校正的目标为:给定视点C,计算校正后的图像T。具体计算过程如下所述:

假设B点为平面T上需要进行计算的任一像素点,D点为B点在鱼眼图像上的投影,且位于以视点C为中心的可视区域内。则图像校正的目标可表述为:针对任一点B,获取B点的对应点D的图像坐标(D点为B点在鱼眼图像上的投影点),并将D点的像素赋给B点。

图2 鱼眼图像校正模型

如图2所示为鱼眼图像的校正模型,在校正平面T上选取点A使得AB⊥AM,则A点在视平面的中心线上,由 A点、M 点→坐标可以得出AM的直线方程(其平行向量为n)。D、E、C分别为B、A、M点在鱼眼图像平面上的投影点,AB与底面平行,故由平行向量得T 与球面相切于 M 点,则有由AB⊥AM、OM ⊥AB,可得AB垂直于平面AOM,则AB⊥OA,可知由AB⊥OA、AB⊥AE得AB垂直于平面AOE,则DE垂直于平面AOE,得出DE⊥OE,可知∠ X OD = ∠ X OE + ∠ D OE。如图3所示为底面投影示意图,视平面的宽在底面的投影FH与球心构成等腰三角形OFH,FH的中心点为C点,则∠ X OE = ∠X OC + ∠C OE, 由,可推出B点对应的鱼眼图像上点D(x,y),如式(2)所示:

图3 半球底面投影表示

通过式(2)获得了校正后平面上任一点 B对应的点D,从而对整个校正后的平面像素进行赋值,实现指定区域的校正。图4(a)为鱼眼图像,点 C为指定的视点,则其对应的校正平面如图4(b)所示。可以看出校正的效果明显,满足直线特征[10],达到了普通透视图的效果。

图4 鱼眼图像校正效果图

1.3 鱼眼图像的实时漫游

基于鱼眼图像的漫游实际上是通过视点的连续移动获取不同的校正平面来达到漫游的效果,为了保证漫游的实时性,本文在对鱼眼图像校正的基础上构建一个存储鱼眼图像上像素点球面坐标的数据结构。通过视点的连续移动找出对应视平面的球面坐标与数据结构中参数信息的一一对应关系,最后对视平面进行像素赋值,达到视点移动过程中漫游的效果。

本文提出的基于视点纠正的鱼眼图像场景化漫游方法,通过建立视点的移动模型来确定视平面的位置。如图5所示,令视点对应的视平面的方程为 A x+ B y+ C z+ D = 0,视平面在空间中的位置可以用九元组 (θ,φ ,ω,n1,n 2 ,n3 ,v1,v2 ,v3)来表示。其中,θ为视平面中心点入射角,φ为视平面中心点的方向角,ω为视平面的视场角(如图6所示),(n1 ,n 2 ,n3 )为视平面的→平行向量 (v1,v2,v3)为视平面的垂直向量V。通过入射角和方向角可以得到视平面与球面相切处的坐标 O (Ox ,O y,Oz),如式(3)所示:

图5 鱼眼图像漫游模型

图6 视平面对应的视场角

令width为视平面的长,height为视平面的宽,可以根据视场角ω求得,|OO'|为半O′球的半径,如式(4)所示:

得到视平面左上角第一点的坐标后,通过视平面的水平向量和垂直向量即可获得视平面上任意一点的坐标。设 B点为视平面上的任意一点,其空间坐标(B x,B y,B z)由式(6)得出,如下所示:

其中,(i,j)为B点在视平面上的像素坐标,通过式(6)得到视平面任意一点的三维坐标,将三维坐标转化为球面坐标。通过查找与数据结构中球面坐标的关系,得出视平面的像素信息并进行赋值,这就实现了通过视点的连续移动达到漫游的效果。

2 实验结果与分析

2.1 鱼眼图像的校正

本文提出的一种基于视点纠正的鱼眼图像场景化漫游方法,可以实现对指定视点所在区域的校正。通过鱼眼镜头拍摄的鱼眼图像宽度为1600,高度为1200,为了证明在鱼眼图像上不同视点的校正效果,本文进行了以下的实验,如图7所示为本文提出的基于视点的鱼眼图像漫游方法所开发的鱼眼图像校正和实时漫游软件的界面,如图8所示在初始的鱼眼图像中指定了A、B、C、D四个不同的视点。

图7 软件界面

图8 指定视点的鱼眼图像

图9(a~d)四幅图对应于在A、B、C、D四个不同的视点校正的效果图,可以看出校正效果明显,满足直线约束标准。校正的过程在内存为4 GB和3.4 GHz的4核PC机上运行,通过多线程加速技术校正一张图像需要40.2 ms。

2.2 鱼眼图像的漫游

在视频监控中采集的视频帧率一般不低于25帧/秒,为了满足实时漫游观察效果,并保证漫游过程的顺畅自然,本文采用了预处理和多线程技术来提高计算的速度,处理后漫游的速度可以达到26帧/秒。图10为标注视点移动轨迹的鱼眼图像,A、B、C、D、E、F、G、H 为轨迹上的视点。

图9 不同视点校正后的图像

图10 漫游轨迹

图11展示了漫游过程中A、B、C、D、E、F、G、H八个视点处的图像,可以看出本文漫游过程中图像清晰,易于观看,而且实验可以证明我们在漫游过程中达到了视频播放的效果,满足实时性的要求。

图11 鱼眼图像的漫游

3 结 论

本文提出了一种基于视点纠正的鱼眼图像场景化漫游方法,实现了对指定视点区域的鱼眼图像的校正和实时漫游。通过获取不同的视点位置得到对应视平面的数据信息,得到不同视点区域校正后的图像。与文献[11]相比,本文的实验结果中校正的效果能够很好地满足直线约束,利用视点的连续移动带动对应视平面的移动。通过对鱼眼图像进行重采样得到不同位置视平面的数据信息,实现场景化的实时漫游。实验表明能够满足实时性的要求,并且漫游过程中能够保持图像的清晰、高质量。本文提出的方法能够在视频监控、虚拟现实、军事观察等领域得到很好的应用。

[1] Glatt T L. Video surveillance system: European Patent EP 0714081[P]. 2001-6-27.

[2] Xiong Yalin,Turkowski K. Creating image-based VR using a self-calibrating fisheye lens[C]//Computer Vision and Pattern Recognition,1997. Proceedings,1997 IEEE Computer Society Conference on,1997:237-243.

[3] Zorin D,Barr A H. Correction of geometric perceptual distortions in pictures[C]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques. ACM,1995: 257-264.

[4] 傅 丹,周 剑,邱志强,于起峰. 基于直线的几何不变性标定摄像机参数[J]. 中国图象图形学报,2009,14(6): 1058-1063.

[5] Carroll R,Agrawal M,Agarwala A. Optimizing content-preserving projections for wide-angle images[C]//ACM Transactions on Graphics (TOG).ACM,2009,28(3): 43-51.

[6] 张严辞,刘学慧,吴恩华. 基于图像的实时漫游[J].计算机辅助设计与图形学学报,2003,13(1): 132-133.

[7] 崔汉国,陈 军,王大宇. 基于鱼眼图像的虚拟漫游研究[J]. 系统仿真学报,2007,19(5): 1053-1056.

[8] 汪嘉业,杨兴强,张彩明. 基于鱼眼镜头拍摄的图像生成漫游模型[J]. 系统仿真学报,2001,13: 66-68

[9] Kannala J,Brandt S. A generic camera calibration method for fish-eye lenses[C]//Pattern Recognition,2004. ICPR 2004. Proceedings of the 17th International Conference on,2004,1: 10-13.

[10] Wei Jin,Li Chenfeng,Hu Shimin,Ralph R M,Tai C L. Fisheye video correction [J]. Visualization and Computer Graphics,IEEE Transactions on,2012,18(10): 1771-1783.

[11] 黄有度,苏化明. 大视角鱼眼镜头图像中的漫游[J].工程图学学报,2006,27(5): 44-49.

猜你喜欢
鱼眼球面视点
面向鱼眼图像的人群密度估计
关节轴承外球面抛光加工工艺改进研究
球面检测量具的开发
深孔内球面镗刀装置的设计
微信扫一扫马上看视频鱼眼视频 小程序每天带你看最有意思的摄影视频
应用Fanuc宏程序的球面螺旋加工程序编制
鱼眼明目鱼头补脑是真的吗?
环境视点
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点