兰诚栋,陈康杰,蔡楚华
(福州大学 物理与信息工程学院,福建 福州 350116)
基于立体全景漫游中深度图获取技术的研究*
兰诚栋,陈康杰,蔡楚华
(福州大学 物理与信息工程学院,福建 福州 350116)
近年来,随着硬件技术的进步和计算机视觉理论的发展,为了增强用户的沉浸感和体验,立体全景技术被广泛应用于生产和生活中。针对多视点立体全景三维重建中深度图的获取问题,提出了一种新的深度图生成方法。首先将前后摄像机拍摄的图像进行配准,然后通过线性变换矩阵得到对应像素点与中心像素的距离,最后利用提出的算法求得深度图。
深度图;多视点;全景;摄像机
深度是指真实场景中某个点到摄像机中心所在平面的距离。本文中用深度图来表示场景中每个点的深度信息,即深度图中的每一像素代表了场景中的某个点到摄像机中心所在平面的距离[1]。深度图的获取可以通过深度相机[2]和视差估计算法[3]两种方法来获取。因为深度相检测距离较小而且价格昂贵,所以目前一般都是用视差估计算法来获取深度信息[4]。
2002年,HAN J H等人[5]提出了一种基于图像渲染的方法。其利用一组全景相机和周围场景的全向深度信息来生成图像。一种实现全光函数的新方法被提出:利用估计的深度来进行全景场的渲染。该方法假设全景的每个狭缝图像(垂直方向上的“一列”像素)具有恒定的深度,根据摄像机以及给定的一对狭缝计算深度。这种方法的扩展解决了狭缝图像每个像素具有不同深度的情况。随后,Shi Min等人[6]提出了一种新的深度估计方法,该方法通过分析静态模糊路线来估计深度,所提出的算法避免了在实际和复杂的场景中容易出错的特征匹配,能有效地生成深度而不受遮挡、运动模糊的影响。之后,NAGAHARA H等人[7]提出了一种利用路线全景(连续的全景图像,即拼接的全景图像)上的颜色漂移来进行深度估计的方法。该方法可以仅仅从路线全景的颜色漂移恢复深度,但是精度不高,该方法是精度和冗余之间的折中。2015年,TAYLOR C J等人[8]提出用全景深度图像来高效地表示扩展的环境,这种方法利用深度传感器收集深度图像序列进而得到全景图像,虽然对环境中局部区域的表示十分准确,但是需要利用传感器等硬件来获取深度信息。
在多视点立体全景漫游中,需要采集连续视点的全景视频,以使用户在任意的行走路径上都能看到反映真实场景的图像。但是这必然会使得数据量过于庞大,因此只采集特定位置的全景视频信息,通过深度图来合成虚拟视点处的图像[9-10]。本文提出了一种多视点立体全景漫游过程中深度图生成的方法。利用前后摄像机拍摄的图像,经过匹配得到线性变换矩阵,从而求得像素点与中心像素的距离,最后利用提出的算法求得深度。
在传统的自由视点视频应用中[11],摄像头水平摆放,如图1所示,自由视点路径是横向水平的。而在立体全景漫游应用中,由于人的走动习惯是向前的,因此漫游路径是纵向垂直的,所以必须考虑摄像头垂直摆放的情况,并且在立体全景漫游应用中,由于要达到360°全景的效果,因此单个视点是全方向的,摄像机的架设如图2所示。
图1 自由视点路径横向水平的摄像机架设 图2 立体全景漫游中的摄像机架设
对于传统自由视点视频应用中摄像头水平摆放的情况,合成中间视点时深度是通过以公式(1)来获得的:
(1)
其中xl-xr为视差,B为基线,f为摄像机的焦距,Z为深度。而在立体全景漫游应用中,摄像机纵向摆放,当合成中间虚拟视点时,每个点在虚拟视点中的位置必然与两个不同的深度(已知视点的深度和虚拟视点的深度)有关,而在传统应用中已知视点与虚拟视点的深度一样,即只有一个深度,所以传统的模型并不适用,需要重新建模。
本文先用3Ds Max模拟立体全景漫游应用中一组前后摄像机针对同一对象拍摄到的图像,通过在这两幅图像上选取三对匹配的点求得线性变换矩阵,利用该矩阵确定任意一像素表示的对象在另一图像上的位置,进而求出映射到两个不同成像平面后的各个点与成像平面中点的距离。将这个距离带入本文的算法中即可求得深度。
1.1 线性变换矩阵的获取
对于立体全景漫游应用中摄像机架设的情况,由于前后对应位置上的两台摄像机拍摄的图像只有缩放、平移和旋转变换中的一种或几种,因此它们之间是线性变换关系,即:若设前面摄像机拍摄图像上的一点坐标为(x,y),该对象在后面摄像机拍摄图像上的坐标为(x′,y′),则两点的坐标满足如下关系:
(2)
其中a1,a2,b1,b2,c1,c2为未知参数。只需两幅图像上匹配的3对(6个)点,即可求出上述的6个未知参数,从而得到线性变换矩阵。
1.2 算法分析
图3 前后对应位置摄像头连线与光轴不重合的模型
由于:
Z′P1=ZBtanγ
(3)
ZP1=ZFtanβ
(4)
(5)
(6)
因此:
(7)
ZB=ZF+Bcosα
(8)
(9)
(10)
(11)
(12)
(l1+l2)ZF=B(fsinα-l2cosα)
(13)
因此,只需要知道P1点映射到两个不同成像平面后的点与成像平面中点的距离、摄像机的焦距、基线以及摄像机光心间的连线与光轴之间的夹角,就可以计算出深度值ZF和ZB,其中:
ZB=ZF+Bsinα
(14)
摄像机的焦距、基线以及摄像机光心间的连线与光轴之间的夹角都可容易获得。
特别地,当摄像头同向竖直摆放且光轴重合时,对深度的探讨可简化为图4的模型。
图4 前后对应位置摄像头连线与光轴重合的模型
由于:
(15)
(16)
(17)
(18)
CFPO=ZF
(19)
CBPO=ZB
(20)
(21)
(22)
因此可得:
(23)
所以,同样只需知道P1点映射到两个不同成像平面后的点与成像平面中点的距离,就可以计算出深度值ZB和ZF。
本文的实验在一台Intel酷睿i7-4790k 4.0 GHz CPU、16 GB内存的台式机上运行,借助MATLAB和3Ds Max软件来完成。实验所用的原图像如图5所示,通过本文的算法得到的深度图结果如图6所示。
图5 摄像机原图像 图6 原图像深度图
本文提出了一种针对立体全景漫游应用中摄像头前后同向摆放时获取深度的新方法。该方法通过像素点的匹配获取线性变换关系,通过该关系求得同一对象映射到两个不同成像平面后的点与成像平面中点的距离,最后通过提出的算法得到深度信息。实验验证了本文提出的方法用于获取深度信息的有效性,可以获得较精确的深度图。该方法还有待进一步优化,以解决空洞和遮挡问题在生成深度图中造成的影响。
[1] 章国峰,姜翰青,鲍虎军.基于图像的深度计算[J]. 中国计算机学会通讯,2012,8(8):29-37.
[2] IDDAN G J, YAHAV G. 3D imaging in the studio (and elsewhere.)[J]. SPIE, 2001, 34(3):48-55.
[3] SCHARSTEIN D, SZELISKI R. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J]. International Journal of Computer Vision, 2002, 47(1):7-42.
[4] 朱波,蒋刚毅,张云,等.面向虚拟视点图像绘制的深度图编码算法[J].光电子激光,2010,21(5):718-724.
[5] HAN J H, JUNG M, LEE C, et al. Panorama field rendering with scene depth estimation[J]. Electronics Letters, 2002, 38(14):704-705.
[6] Shi Min, Zheng Jiangyu. A slit scanning depth of route panoramafrom stationary blur[C]. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society, 2005:1047-1054.
[7] NAGAHARA H, ICHIKAWA A, YACHIDA M. Depth estimation from the color drift of a route panorama[C]. IEEE/RSJ International Conference on Intelligent Robots and Systems,2008:4066-4071.
[8] TAYLOR C J, COWLEY A, KETTLER R, et al. Mapping with depth panoramas[C]. IEEE/RSJ International Conference on Intelligent Robots and Systems,2015:6265-6272.
[9] 陈悦.基于快速图像匹配的深度图获取与虚拟视点绘制[D].福州:福州大学,2014.
[10] 罗桂娥, 陈少华, 刘小群. 视差图提取技术与OpenGL三维重建[J]. 微型机与应用, 2012, 31(9):38-40.
[11] 李哲.基于深度图像绘制的自由视点生成的研究[D].济南:山东大学,2011.
Research on the technique of depth map acquisition based on stereoscopic panorama
Lan Chengdong, Chen Kangjie, Cai Chuhua
(College of Physics and Information Engineering, Fuzhou University, Fuzhou 350116, China)
In recent years, with the development of hardware technology and the development of computer vision theory, in order to enhance the user's immersion and experience, three-dimensional panoramic technology is widely used in production and life. A new method is proposed for the acquisition of the depth map in 3D reconstruction of multi-view stereo. Firstly, the images captured by the cameras are registrated, then through the linear transformation matrix the distance between the pixel and the center pixel is calculated, and finally useing the proposed algorithm the depth map is obtained.
depth map; multi-view; panoramic; camera
福建省自然科学基金资助项目(2014J01234);福建省教育厅基金资助项目(JA15061)
TP391
A
10.19358/j.issn.1674- 7720.2017.16.012
兰诚栋,陈康杰,蔡楚华.基于立体全景漫游中深度图获取技术的研究[J].微型机与应用,2017,36(16):41-43.
2017-02-28)
兰诚栋(1981-),男,博士,讲师,主要研究方向:数字图像处理。
陈康杰(1991-),男,硕士研究生,主要研究方向:数字图像处理。
蔡楚华(1991-),男,硕士研究生,主要研究方向:人工智能。