深度全景视频(共4篇)
深度全景视频 篇1
0 引 言
大规模、复杂虚拟场景的建模和绘制是计算机图形学最为重要的研究问题之一[1]。随着三维扫描和几何建模技术的快速发展,构建高度复杂的三维场景已经变得相对容易,可以包含几亿甚至几十亿个三角形和高分辨率纹理。若不采用合适的处理技术,即使利用最新的图形处理器也无法在普通PC上实现上述数据集的交互式绘制。虽然可利用模型简化和可见性剔除技术来加速虚拟场景绘制,但采用这类技术的实时绘制系统主要侧重于速度,它们通过牺牲画面质量来实现快速绘制[1]。
由于图形硬件本身的固有限制,对于大数据集仍无法实现复杂的光线跟踪、辐射度、光子跟踪等全局光照明绘制算法。为此,可采用基于图像的绘制IBR技术[2]来解决高质量实时图形绘制问题。基于图像的绘制技术以给定图像/视频序列作为输入,利用采样数据来重建全光函数的连续表示,然后通过重采样得到目标视点的图像[3]。由于可使用三维造型和绘制软件来离线绘制高质量的输入图像,IBR系统可取得比传统实时绘制系统更好的视觉效果。
现有IBR技术,如全光建模[3]、全光拼接[4]、同心拼图[2,5]等,主要面向真实场景。这些IBR技术采用的场景表示、绘制算法和结果图像质量都取决于获取的几何信息的精确性。它们采用计算机视觉算法来计算相机参数和图像之间的对应关系或者场景几何模型,视觉算法的不稳定性限制了它们的应用场合。另外,它们使用的绘制算法也没有利用图形处理器(GPU)的可编程性来提高系统性能[6]。
虚拟场景与真实场景相比具有自身的特点。对于给定的虚拟场景,通过交互设定虚拟相机的运动路径,可以非常方便地获取全光函数的多个样本。另外,利用三维造型和动画软件,如3DS Max、Maya等,不仅可以得到绘制图像的颜色信息,还可以得到Z-Buffer中保存的深度值,这些深度值给出了虚拟场景在相机位置的局部精确几何信息[7]。利用获取的全光函数样本和Z-Buffer中的深度值,可以设计多幅深度图像混合绘制技术来生成目标画面[8]。虽然可将面向真实场景的IBR技术直接应用于虚拟场景,但由于它们的场景表示和绘制算法没有充分利用虚拟场景自身的特点,因此,它们并不是虚拟场景IBR的最合适方法。
本文研究面向虚拟场景的IBR技术来克服现有方法的不足,提出以深度全景视频DPV(Depth Panoramic Video)作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数来计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标[6],以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。
1 深度全景视频
1.1 基本表示
深度全景视频是深度全景图的动画序列。深度全景图是全景图的一种扩展,它由全景图、相机参数和全景深度图三部分组成。全景深度图记录了全景图的像素所对应的场景深度值,深度值可通过三维软件或者三维重建算法获得。相机参数和全景深度图给出了场景在相机位置的局部精确几何信息。全光函数的原始描述并不涉及几何信息[3],包含几何信息的描述方法可看作它的一种扩展。几何信息用于绘制过程中全光函数的重建,它并不改变全光函数的维数。
深度全景图包含了相机位置沿空间所有方向的可见信息,可看作全光函数的一个样本,需两个参数来描述它所包含的光线,即:
其中(θ,ϕ)描述了光线方向。深度全景视频可看作一种三维全光函数,需三个参数来描述它所包含的光线。即:
其中t表示光线所在的深度全景图在图像序列中的编号。
选择立方体的外表面作为投影面来记录全光函数的样本。使用该投影表面,深度全景图可分解为具有公共投影中心的六幅深度图像,其中每幅图像对应于立方体的一个面。相应地,深度全景视频可分解为六段深度图像序列。
1.2 复合表示
对于大部分虚拟场景漫游应用,人眼一般局限于某个平面/高度场上[2,4,5],我们称该平面/高度场为漫游平面。某一时刻,漫游平面发出的光线需四个参数来表示,即:
其中(u,v)表示光线在漫游平面上的参数坐标,(θ,ϕ)描述了光线方向。
由于深度全景视频只是一种三维全光函数,为采集漫游平面发出的光线,必须使用多段深度全景视频。这些深度全景视频在漫游平面上相互交错,形成网状结构,我们称它为深度全景视频网络。图1给出了一个深度全景视频网络。图1(a)为某个虚拟场景的俯视图,我们对方框内的区域进行光线采集。图1(b)中粗线条表示深度全景视频的相机路径。
由图1可以看出,多条深度全景视频可围成具有一定面积的封闭区域,我们将构成区域边界的所有深度全景视频称为深度全景视频环。深度全景视频环是深度全景视频复合结构中最简单的一种,深度全景视频网络由多个深度全景视频环彼此连接构成。
理想的漫游系统允许用户在三维空间中自由移动,描述三维空间中的光线需五个参数[3],即:
其中(Vx,Vy,Vz)表示光线在三维空间中的位置,(θ,ϕ)描述了光线方向。
我们采用空间分层方法来描述自由空间中的光线。该方法以某个坐标分量(比如说Vz)为基准对空间进行分层,然后在每一层以另外两个坐标分量(Vx,Vy)作为光线在漫游平面上的参数坐标。该方法实质是将光线的空间位置(Vx,Vy,Vz)转化为(n,u,v)三元组,其中n表示光线所在层的编号,(u,v)为光线在漫游平面上的参数坐标。采用空间分层方法,可以在每一层采集深度全景视频网络,从而表示整个虚拟场景。
2 虚拟场景绘制
深度全景视频环是虚拟场景绘制的基本单元。深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线。对于给定深度全景视频环内的任意视点,首先根据目标视点参数(位置、朝向和视域范围)来确定深度全景视频环中哪些深度全景图在目标视点可见,以及这些可见的深度全景图中对目标图像有贡献的区域(简为候选区域)。然后,计算候选区域内每一像素的混合权。混合权描述了像素对目标图像的贡献比例[9,10],通过权函数来计算。权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量。最后,利用深度图像三维变换技术把所有对目标图像有贡献的候选区域warping到目标视点,并使用多幅深度图像混合绘制技术来绘制目标画面[8]。
对于深度全景视频网络,首先确定视点所在的深度全景视频环,然后利用上述绘制技术来生成目标视点画面。由于绘制算法使用的三维变换方程描述了视点之间的透视变换关系,视点可自然地从一个深度全景视频环过渡到另一个深度全景视频环。利用这种分而治之的策略,可实现视点在深度全景视频网络内自由运动。
综上所述,虚拟场景绘制的基本过程如下:
Step1.在深度全景视频网络中,根据视点所在虚拟场景中的位置(u, v)和高度h确定其所在的深度全景视频环。
Step2.利用深度全景视频环绘制技术生成目标视点画面。
2.1 深度全景视频环绘制
深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线,可以利用这些采集的光线来生成视频环内任意视点位置的目标图像。绘制算法将候选区域重建为三角形网格,然后利用三维变换将它们warping到目标视点[8],并将绘制的结果通过视点空间Z偏移和浮点混合技术来生成目标图像。深度全景视频环绘制的基本过程如下:
2.2 候选区域计算
对于给定的深度全景视频环,绘制算法的目标是利用视频环中采集的光线来生成它内部区域任意视点的目标图像。将目标图像的每一个像素看作一根光线(称为目标光线),计算目标光线的颜色等价于对采集的若干光线的颜色进行插值。几何代理是场景几何信息的一种近似表示[10],大部分IBR技术都使用几何代理计算插值光线,从而提高系统的绘制质量。
深度全景图中的全景深度图包含了全景图中每一像素的深度信息,利用相机参数和全景深度图,可以重建虚拟场景在相机位置的局部精确几何。因此,本文将全景深度图作为场景的几何代理。利用全景深度图作为场景的局部几何代理,与传统方法不同,本文绘制算法不需显式地查找每根目标光线所需的插值光线,而是根据视点参数来确定每个全光样本对目标图像有贡献的区域,然后将这些候选区域warping到目标视点,并利用多幅深度图像混合绘制技术来生成目标图像。
对于给定深度全景视频环,绘制算法需根据视点参数来确定深度全景视频环中哪些深度全景图在目标视点可见以及这些可见的深度全景图中对目标图像有贡献的区域。图2说明如何完成这一任务,其中矩形表示深度全景视频环的相机路径,三角形表示目标相机,圆和圆心发出的一簇光线表示一幅深度全景图。不失一般性,使用相机路径上相邻的三幅深度全景图{Si}i=1,2,3来说明问题。
令{Li}i=1,2,3表示从目标相机D的投影中心O出发,通过深度全景图{Si}i=1,2,3的相机投影中心{Oi}i=1,2,3的射线集合,{Pi}i=1,2,3为{Li}i=1,2,3与目标相机成像平面I的交点集合。若Li在目标相机D的视域范围内,则认为深度全景图Si在目标视点可见,它会对目标画面有所贡献。下面讨论如何确定深度全景图Si中对目标图像有贡献的区域。
如图2(a)(b)所示,以深度全景图S1的投影中心O1为始点作平行于L2的射线L′2;以深度全景图S2投影中心O2为始点作分别平行于L1和L3的射线L′1和L′3。
对于成像平面I上{Pi}i=1,2,3三点,它们对应的目标光线{Li}i=1,2,3通过深度全景图{Si}i=1,2,3的相机中心{Oi}i=1,2,3,可用{Si}i=1,2,3中与{Li}i=1,2,3方向相同的光线颜色作为{Pi}i=1,2,3的颜色。对于P1与P2之间的像素所对应的目标光线L,需对S1和S2中与L方向相同的两根光线进行插值来计算L的颜色值。利用上述插值策略,参考图2(a)不难看出,绘制P1与P2之间的像素只需S1中位于射线L1与L′2夹角范围内的光线和S2中位于射线L′1与L2夹角范围内的光线。同理,可得到P2与P3之间的像素绘制时,S2和S3中对目标光线有贡献的区域。对于深度全景图S2来说,它对目标图像有贡献的区域由两部分组成,可将它们合并为一个更大的区域(图2(b)中L′1与L′3的夹角范围)。
上述搜索策略假设场景在无穷远处,基于该假设得到的区域是候选区域的最乐观的估计。实际应用中,若场景中物体距离虚拟相机较近,上述区域估算方法将出现重建盲区。通过扩大候选区域面积来减小重建盲区面积,一个简单方法是使用相机路径上与它编号距离为r(r≥2)的全光样本信息。
综上所述,若使用与深度全景图编号距离为r(r≥2)的全光样本作为搜索策略,估算目标图像候选区域基本过程如下:
2.3 混合权计算
根据光线插值策略,候选区域中每一像素对目标图像的贡献均不相同,用混合权来描述像素对目标图像的贡献比例。图3以深度全景图S2为例(参看图2),说明如何计算候选区域中像素的混合权。
图3中,L2表示从目标相机投影中心O出发,通过S2的相机投影中心O2的射线(参看图2),空心圆表示候选区域的像素。根据极点一致性准则[10],L2所对应的候选区域像素的混合权应最大,候选区域边界所对应像素的混合权最小,它们之间像素的混合权应从最大值连续变化到最小值。混合权的计算以图像列为基本单元,候选区域中位于同一列的所有像素具有相同的混合权。
下面以一次函数作为权函数 (图3中w3)来说明如何计算像素的混合权。设L2右侧区域中像素qi所对应的光线与L2的夹角为angle(i),区域右侧边界与L2的夹角为angleright,则像素点qi的混合权为:
L2左侧区域的像素混合权可同理计算。
权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量[9,10]。GPU支持的浮点混合技术[6],允许使用更一般的权函数,如截断的sinc函数(图3中w1)、高斯函数(图3中w2)来控制重建结果。
综上所述,若以一次函数作为权函数,则混合权算法的实现方法如下:
3 实验结果
3.1 数据说明
利用3DS Max软件,依照1.1节介绍的方法从浙江大学新校区规划场景中采集深度全景视频环。该场景包含了大量三维几何和精细纹理,在硬盘上占用超过1GB的存储空间。数据采集时,每台虚拟相机生成深度图像的分辨率为512×512。以矩形的每条边作为相机路径,均匀采集50幅深度全景图,深度全景视频环一共包含200幅深度全景图,整个采集过程大约需要8小时。使用脚本程序从3DS Max软件的绘制结果中提取颜色信息、深度信息和相机参数。整个数据获取阶段需要12小时左右。
3.2 实验结果
我们在一台配备NVIDIA GeForce GTX260图形卡、Intel i7-920四核CPU的PC上实现了一个浙江大学新校区的漫游系统。该系统根据当前视点信息,使用2.1节介绍的绘制流程来生成目标图像,它允许视点在深度全景视频环的内部区域作连续运动。用一张表面格式为D3DFMT_A16B16G16R16F的浮点纹理作为绘制目标来保存混合绘制结果。将该纹理映射到一个四边形上,通过绘制带纹理的四边形来显示最终画面(分辨率为512×512)。绘制过程中目标相机的视域(FOV)保持不变,始终为70度。
系统绘制一帧所需的时间随目标相机视域内候选区域的变化而变化。若相机运动过快,候选区域缓存命中率会急剧降低,这时系统性能最差,平均速度为每秒25帧左右,如图4(a)。在大多数运动模式下,缓存的使用会极大地提高系统的响应速度,系统最大绘制速度为每秒160帧左右,如图4(b)。
图5给出场景的几个典型绘制结果。图5(a)给出视点在两个不同位置得到的绘制图像。由于三维warping可以描述视点之间的透视变换关系,建筑物本身的直线特征得到了保持。图5(b)左图中临水建筑具有四根柱子,由于视点位置改变会引起物体之间遮挡关系发生变化,在右图中只能观察到三根,其中一根被遮挡。本文提出的绘制技术不仅可处理遮挡变化,还可生成与视点相关的光照效果。比较图5(b)中左右两幅图可发现视点变化引起的水面高光区域的改变,浮点纹理混合技术使重建的高光区域非常平滑。
4 总结与展望
本文提出了一种面向虚拟场景的深度全景视频绘制技术,以深度全景视频作为场景表示的基本单元,以深度全景视频环作为场景绘制的基本单元。通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。该技术综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,本文提出的深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。在未来,我们将研发出一套完整软件工具,支持面向虚拟场景的深度全景视频获取、压缩和网络传输的完整流程,将深度全景视频绘制技术应用于互联网,在自由视点视频、三维立体电视等应用领域获得应用。
摘要:高度复杂的三维场景通常包含几千万甚至上亿个三角形和丰富的纹理,大大超过了目前图形硬件的处理能力。传统基于几何的绘制系统通过牺牲画面质量来实现场景的快速绘制。与此不同,基于图像的绘制技术利用逼真的图像序列来生成高质量的目标画面。研究面向虚拟场景的IBR(Image-Based Rendering)技术来克服现有方法的不足,提出以深度全景视频DPV作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。
关键词:虚拟场景,基于图像的绘制,深度全景视频
参考文献
[1] Moller T A,Haines E,Hoffman N.Real-Time Rendering[M].3rd ed.AK Peters,2008.
[2]Shum H Y,Chan S C,Kang S B.Image-Based Rendering[R].Spring-er,1 edition,September 28,2006.
[3] McMillan L,Bishop G.Plenoptic modeling: An image-based rendering system[C]//Computer Graphics (SIGGRAPH95),1995:39-46.
[4]Aliaga D,Carlbom I.Plenoptic stitching:a scalable method for recon-structing 3D interactive walkthroughs[C]//SIGGRAPH 2001:443450.
[5]Shum H Y,He L W.Rendering with concentric mosaics[C]//SIG-GRAPH 1999:299-306.
[6] http://www.microsoft.com/games/en-US/aboutGFW/pages/directx.aspx.
[7]http://usa.autodesk.com/adsk/servlet/pc/indexid=14898170&siteID=123112.
[8]Jiang Z,Wong T T,Bao H.Three-Dimensional Image Warping on Pro-grammable Graphics Hardware[R].Technical Report,CAD&CG Lab,Zhejiang University,TR-03-01,2003.
[9] Isaksen A,McMillan L,Gortler S.Dynamically reparameterized light fields[C]//SIGGRAPH 2000:297-306.
[10]Buehler C,Bosse M,McMillan L,et al.Unstructured lumigraph render-ing[C]//SIGGRAPH 2001:425-432.
全景监控视频并行化处理 篇2
目前,图像处理已成为国内外学者研究的热点课题。 国外最具有代表性的研究人员有微软研究院的Richard Szeliski教授和匹兹堡大学的Sevket Gumustekin博士等。 Sevket Gumustekin博士主要对消除在固定点旋转摄像机拍摄自然景物时形成的透视变形,以及如何将捕获的图像拼接成全景图进行研究,主要研究成果是通过标定摄像机建立成像模型,再利用成像模型将捕获到的图像投影到统一的高斯球面上,从而获得拼接图像。这种方法具有效果好、可靠性高的优点,可以对摄像机透镜由于自身畸变参数引起的图像变形忽略不计,但是对摄像机的精确标定有过高要求。在国内,浙江大学CAD&CG国家重点实验室和中国科学院自动化所模式识别国家重点实验室在图像匹配和拼接方面做了较多研究工作。研究成果主要是利用模板匹配的方法进行搜索来确定重叠区边界或最佳匹配位置,从而获得拼接图像。该方法的优点是原理比较直观,相对来说容易实现,缺点是计算量大,容易发生误匹配;浙江大学的许雷、张恒义等利用基于傅立叶变换的相位相关法对眼底图像的拼接进行了研究;香港大学的Paul Bao和西北工业大学的张素等则对基于小波变换的图像拼接方法进行了研究[1-3]。
在全景视频监控中,鱼眼镜头是构建全景视觉最简单,且行之有效的方法,但鱼眼镜头会引起图像的经向变形和切向变形。随着全景技术的发展和拼接算法的完善,以及物联网应用的快速发展[4],全景监控提出了更高画质的图像效果需求。然而目前的全景合成技术在处理上都存在缺陷,其根源在于难以满足实时性要求。原因在于视频正常播放帧率为25~30fps,意味着至少必须在0.04秒内合成一幅全景帧。如果需要满足这些要求,可以采取硬件升级的方式,也可以设计优越的处理算法。然而提升硬件成本较高且效果不理想,原因在于处理算法的复杂度过高。在结合算法进行视频处理时,速度达到最快的采用Microsoft Visual Studio 2012编译环境、C + + 和OpenCV2.0库函数编写。实验视频的分辨率为800×600像素,处理速度达到14帧/秒。相对于实时视频播放速度25帧/秒,现有处理速度是不够的。
本文利用C++结合OpenCV和MPI在Linux系统集群下测试图像并行化处理算法,以提高图像实时处理速度,满足视频实时监控的目的,并得到最佳的处理进程数。
1并行化图像处理算法
针对现行图像处理速度缓慢的问题,提出图片处理的并行化算法,且借助MPI和OpenCV在Linux系统实现并行算法,以实现图像并行化处理,达到全景监控的目的, 处理步骤如下:1问题分析。分析图像处理初始问题,建立算法的串行模型;2并行算法。提取算法串行模型中计算量较大、独立性强的局部进行并行化处理,设计图像并行化处理算法,进而建立算法的并行模型;3环境配置。 搭建算法测试集群环境,进而实现并行算法,并运行调试;4结果分析。对实验结果进行分析,得出结论。
考虑到处理的是圆形图片,需要对圆形图片半径上的像素点进行逐个处理。因在对半径进行微分处理时,全部的点不是都在半径上,则根据其特性选择了双线性插值对一个全景图像图面张开,以确定待处理图片的圆心和内外圆半径[5-7]。这两个参数直接影响柱面的展开效果和质量。采用霍夫圆变换得到全景图片的中心,采用Canny、 Soble等算法进行边缘检测,将边缘图像中每个非零点在三维累加器中累计,以此选择全景图像的中心点O(x0, y0),同时确定全景环状图内圆半径R。
其中,Wkeep是处理后保存下来的,Wcut是处理后丢弃的。全景图像中的某一点Q(xq,yq)对应在矩形图中O(x0,y0)的映射如下:
其中,θ为为全景环状图的中心点。这为快速柱面展开算法,同时利用双线性插值解决因为内环区域像素压缩程度大导致图像失真的问题。并行处理分解如图1所示。
2并行算法设计实现
本文采用C++与OpenCV、MPI结合设计并行化处理算法,并在Linux集群中实现运行。首先读取待处理图片,其次MPI进行初始化处理,进而实现多进程并行处理图片数据,如采取图片像素点、计算填充新图片像素点、完善图片区域等。随后划分图片,组合各个进程处理图片部分像素,对比先后图片并保存。并行化处理算法设计流程如下:
(1)程序初始化。
(2)处理程序的核心代码。
(3)并行程序结束。
MPI_Finalize();//MPI程序的最后一个调用,最后一条可执行语句
3实验结果分析
运行环境为曙光T3600集群,内含10个CB65-G双路刀片服务器计算节点,内存2*8GB DDR3 1333MHz, 存储为2TSATA硬盘。实验测试运行外界所得的640× 480的图像视频,并进行并行处理,表1列出了不同进程数的播放速度。
实验数据显示,随着进程的增加,播放速度先增加后减少,当达到32个进程数时,即总进程为33个时,播放速度可以满足实时监控的要求。从整体运程进程来看,如果进程数不断增加,则用于进程的通信耗时也会随之增加。 可见,进程间的通信耗时成为提高并行处理效率的瓶颈。 得出的结论是,在提高算法并行处理效率时,需要整体权衡各方因素选择处理进程数,从而达到算法设计优化的目的。
4结语
本文利用并行处理实现了全景监控的实时监控,并在Linux系统环境下利用C++与OpenCV结合设计实现视频图像的并行化处理算法。实验结果表明,32个进程数为最佳进程数,此时处理播放速度可以达到实时监控的目的。同时,随着进程数增加,并不一定可以减少运行时间。在借助并行设计思路处理类似问题时,应该结合整体情况选择合适的进程数,以达到最优的处理速度。
摘要:针对传统串行处理算法无法满足实时处理视频播放的问题,提出利用图像拼接并行化处理的设计思路,利用霍夫圆变换与Canny、Soble算法结合进行边缘检测,以边缘图像中每个非零点在三维累加器中累计以确定处理图片的中心。同时利用双线性插值解决了图像高度压缩导致失真的问题。实验结果表明,并非处理进程数越多越好,实验得出32个进程数为最佳。
深度全景视频 篇3
近年来, 铁通公司在经营过程中得出结论:仅靠传统基础业务赢得用户的青睐是不够的, 必须大力发展电信增值业务。于是, 铁通公司提出了“面向社会、政府、企业信息化建设及家庭、个人信息化消费两个市场, 重点以电信增值业务满足用户的延伸需求、提高向用户提供综合业务和全面解决方案的能力、实现基础电信业务与增值电信业务的协调发展”的电信增值业务发展为指导思想。
在这样营销背景下, 营口铁通分公司依托自身优势, 在原有影视娱乐信息平台的基础上, 继续向娱乐方向拓展业务规模, 建设城市娱乐信息平台, 与影视娱乐信息平台一起构成以娱乐为主的增值业务体系。
根据上述需求, 我们开发了铁通城市娱乐信息平台, 信息平台取名“玩在营口”。聚集了营口地区160多家在餐饮、娱乐、旅游类等方面极具特点的场所信息。网站具备了360°全景视频展示, 如全景图片展示、场所介绍、商铺管理、网友互动、电子地图等功能模块, 吸引更多客户浏览, 提升网站的访问量, 增强铁通公司的影响力, 拉动电信业务量增长。
1 平台特点
(1) 360°全景、实景展示区。网站采用Flash360°全景视频技术, 可在店景展示栏目, 全方位地展示场景的环境, 用户使用鼠标调整环视方向, 可近可远, 使观看者有身临其境的体验。
(2) 电子地图功能。引入Google地图插件, 进行地图标注, 用户可以清晰地查看店铺的具体方位、公交车班次等。
(3) 网友互动功能。网友注册后可以对具体的店铺进行留言、点评, 以此获取积分, 待积分累计满100时, 便可兑换精美礼品。
(4) 感观度排名功能。网站内收集的商户, 谁家上传图片多、内容质量高, 即可排在首页, 这一功能极大地调动了店铺管理者的积极性, 提升了网站信息的更新速度。
(5) 点击率排名、热门推荐功能。被访问点击次数多的店铺可自动排在同种店铺的前面, 被推荐给网友, 从而提高网友对网站的满意度。
2 平台运营策略
(1) 基础信息建设。网站建设初期, 主动到有影响力的娱乐实体店走访, 拍摄和收集一定数量的娱乐商铺信息, 360°全景视频或全景照片展示这些店铺环境、娱乐项目以及产品等。
(2) 扩大网站信息量。采用各种媒体对网站进行扩大宣传, 使更多的娱乐商家知道网站, 开放网站的店铺注册功能, 让商家可以自主注册网上店铺、上传店面产品照片, 完成店铺相关信息添加。
(3) 完善店铺认领功能。对前期由网站管理员后台录入过的商铺, 商家可以通过上传经营许可证方式, 认领店铺, 让商家自己继续完成店铺信息更新维护, 减少网站维护成本。
(4) 将平台作为增值业务推向市场。平台商铺达到一定数量以后, 可以将平台作为固网增值业务一同推销给用户, 铁通固网用户可以免费查询查看店铺环境、产品、特色服务、店铺所在地等信息, 可以足不出户逛市场、酒店, 并注册成为会员, 对店铺点评、留言。
(5) 鼓励机制。普通会员的访问量和对店铺的点评量是商家注册的原动力。所以采用普通注册会员点评获取积分, 待积分累计满100时, 便可兑换精美的礼品的鼓励机制, 增加访问和点评量, 进而使更多商家注册, 网站规模扩大了, 便有更多人关注, 形成网站运作的良性循环。
3 平台业务逻辑与功能实现
3.1 业务逻辑
平台的两大用户群普通用户和商家, 都需要通过注册才能在平台中添加信息, 注册信息需要后台管理员审核。
审核通过后, 普通用户可以对未认领店铺进行补充、修改信息和上传店铺图片, 还可以对店铺进行点评。
商家可以通过搜索找到自己店铺, 然后认领店铺, 也可以免费登记店铺, 然后对自己的店铺进行管理。
商家已经认领的和免费登记后的店铺, 普通用户不允许进行补充、修改信息和上传店铺图片。业务流程如图1所示。
3.2 功能模块实现
(1) 店铺信息搜索功能模块。在网站的上部为信息搜索栏, 可以进行分类查询、模糊查询, 如图2所示。
如:输入“天天”, 即可查出店铺名称带有天天的所有店铺。在搜索结果中排名靠前的店铺是推荐店铺, 达到店铺快速推广的目的。
(2) 用户注册模块。注册采用管理员后台审核机制, 防止恶意注册行为。注册采用双重验证防止注册软件恶意攻击网站。在验证问题中特别加上了营口本地的一些公共信息, 并且在该问题后面会给出答案提示本地人很容易就可以答出。
(3) 店铺模块。店铺模块内有认领店铺、上传优惠卷、补充/修改店铺信息、商户管理、上传店铺图片5项功能菜单, 其中认领店铺、上传优惠卷、商户管理为商家操作项目, 补充/修改店铺信息、上传店铺图片为普通用户操作项目, 如图3所示。
点击商户管理, 商户可以进行全部图片管理和行车路线管理。360°全景视频展示栏目由后台管理员进行添加。
(4) 点评模块。普通用户可以对任意店铺进行点评, 可以对服务、价格等进行评分。
(5) 感官度推荐模块。为了鼓励商家上传店铺图片, 平台开发了感官度推荐模块, 感官度指数即为图片个数, 图片上传的越多, 排名越靠前, 即可在首页显示店铺缩略图。
(6) 人气排行榜模块。为了使普通用户非常清楚地看到大家所关注的店铺, 在首页下侧设计有人气排行榜模块。1个IP地址的用户点击1次店铺, 店铺的关注度就增加1个。
(7) 区域名店与公交搜索模块。按营口的自然区进行划分, 每个区都推荐一个地区名店给用户作为参考, 普通用户还可以在公交搜索模块搜索详细公交路线。
4 360°全景视频关键技术
(1) 3D建模算法。
(2) 全景视频效果关键脚本代码。
(3) 360°全景视频查询、存储过程, 可以用于在数据库中检索视频。
5 结语
铁通城市娱乐信息平台现已试运行, 运行效果良好, 已有160多家商铺注册, 上传图片2000多张, 日访问量过万。铁通公司正在通过发宣传单、网站宣传、宽带广播等宣传方式, 推广该平台。
相信在不久的将来, 铁通城市娱乐信息平台“玩在营口”网站, 将带您足不出户逛酒店, 感受休闲场所的优雅, 体验美容院的服务。
摘要:以360°全景视频、电子地图、网友互动、感观度排名、点击率排名为特色的铁通城市娱乐信息平台即“玩在营口”网站, 采用Asp运行环境, SqlServer数据库, Flash全景技术, 为提高铁通公司的影响力, 带动其电信业务量的增长而搭建。运行初期, 该平台已聚集了营口地区160多家各娱乐行业商铺信息。
关键词:娱乐信息平台,全景视频,电子地图
参考文献
[1]高峰.中国铁通以电信增值业务实现企业特色发展[J].通信世界, 2005 (42) :32.
[2]蔡剑楠.基于普通相机拍摄的360°校园虚拟实境漫游实践[J].计算机光盘软件与应用, 2012 (19) :16.
深度全景视频 篇4
在视频序列中,任意时刻获得的图像信息都是对现实场景的局部描述,只有将所有局部信息有机地结合起来,方可形成对场景的整体认识,动态全景图就是由多帧视频序列拼接形成的一个完整全景图像[1]。
最简单的图像拼接就是把一系列图像放在一起,如果图像间有互相重叠的部分,只在一幅图像中保留这部分,其他图像的则被“剪掉”,然后将这些图像按序拼在一起,最初的卫星图像大致就是这种情况[2]。近年来,人们提出了很多图像拼接的方法[4,5,6,7],各方法适用于不同的情况,但这些方法基本都是针对静态图像提出的,使用这些方法拼接含动态场景的视频序列图像主要存在两个问题:1)累积误差比较大。现有的方法基本都会事先选定参考帧图像,其他图像同参考帧配准,然后利用某种参数变换实现图像的拼接。由于图像投影会产生累积误差,这些方法会造成拼接图像扭曲和失真,图像越多,这种积累误差就越大。视频序列包含的图像帧往往很多,因此采用参考帧的方法对图像序列拼接,全景图的变形会比较严重;2)不能很好地处理视频中的动态信息。现有的方法主要针对静态场景图像的拼接,当视频序列中存在动态信息时,用现有的方法拼接的全景图像会产生“鬼影”的现象,使全景图像的某些地方比较模糊[8]。为克服这些方法的限制和影响,本文描述了一种新的方法-流形方法,实现了视频图像序列的拼接。实验证明利用这种方法拼接的全景图可最大限度的保证原图像中的细节,获得较好的分辨率,同其他方法相比,因为没有全局变量的存在,拼接后的图像与原图像相比,变形小得多。
2 流形的概念及流形拼接的原理
流形(Manifold)是现代数学中描述复杂对象的基本概念。粗略地讲,流形就是将局部简单的面片粘合起来形成整体复杂的形状[9]。在现实生活中,世界地图册是流形最直观的例子,即地球体是通过一系列相互重叠的矩形图片来进行描述的。下面针对本文中的应用,简单地描述有关二维流形的基本概念[9]:
一个二维图卡(Chart)为一个二元组(Ui,φi),其中Ui是一个开集,φi是Ui到φi(Ui)上的双射,φi(Ui)是R2中的开集,Ui称为开邻域,φi称为坐标映射,φi(Ui)称为坐标。
一个二维图册(Atlas)是一组图卡的集合{(Ui,φi)}。当Ui∩Uj≠φ时,如果φiφj-1、φjφi1-是Cr的,则称相应图卡是与Cr相容的。φiφj-1、φjφi1-是坐标φi(Ui)、φj(Uj)间的坐标变换。
一个二维流形就是一个图册,其中图卡相互间满足Cr的相容条件,图1是流形构造示意图。
一个低维流形可借助拓扑变换映射到高维空间,称为嵌入。一个空间曲面可以看成是一个二维流形在3D空间的嵌入。结合所面临的问题,覆盖住整个图像的椭圆集合就构成了图像平面的一个二维流形结构,需要重构的形状是这个二维流形在空间的嵌入。
基于流形的图像拼接方法借助于条式相机的原理。条式相机拍摄的图像为细窄条状图,当它沿着景物一侧横扫拍摄时,将所得一组条形图合成一幅大的图像。由于条式相机应用范围小,很难得到,因此一般采用普通相机代替,从采集的图像序列中每帧切割一条图像,然后对齐融合成全景图像。拼接过程如图2所示:第一帧条形图被放置在全景图中后,第二帧条形图经恰当的变形(Warp)与第一帧条形图边界相吻合,其右边界不变,左边界与第一条形图S1的右边界相匹配,第三帧条形图做与第二帧条形图不同的变形与已经变形的第二帧条形图的边界相匹配,同样S3的右边界不变而左边界与S2的右界相匹配,依次下去……,直到全景图拼接完成。由于全景图中条形图的变形只取决于相邻帧而与先前帧所做过的变形无关,保证了拼接后的全景图分辨率同原图像一样,物体的大小、形状均没有改变,而且投影后的光流方向与全景图的重构方向平行,避免了变形积累产生新图像扭曲、失真的现象。
基于同样的思路,视频图像序列可采用流形方法拼接为比单幅图像的视场大得多的全景图。将图像序列中的条形图按某种测度组成流形中的图卡,沿一定的路径将这些图卡粘合起来构成图册,即完成了视频全景图的绘制。假定Ω是一个视频序列,即一系列有序图像的集合{ψf}1N。每幅图像依序包含有图卡集ϕf1...ϕfK等,图卡是一个或几个条形图的集合,条形图必须满足以下两个条件:
1)条形图应当与光流的方向垂直;
2)将条形图进行适当的变形后拼入全景图像,变形的光流方向与图像拼接的方向平行。
这样视频序列可看作图卡的集合{ϕfi}(i是空间坐标轴X的坐标,f是时间坐标轴T的坐标)。视频场景的流形可用一系列图卡集表示。
3 视频图像序列的流形拼接过程
为将动态信息和静态信息统一对待,将视频序列看作一个时空体,以体中的时空坐标(x,y,t)表示视频帧t中的像素(x,y)。我们只需建立这样一个流形:这个流形能够穿过整个时空体,从视频的第一帧到最后一帧,视觉上不会让人感觉有任何人工的痕迹,看起来像一幅真实而完整的图像。假设流形能够切分整个时空体从而组成一个有序的平面,这个假定具有一般性,是比较容易实现的,比如相机沿某一方向平移摇摄的情况。在这个假设下,流形被2D剖面上的路径唯一定义,路径上的每一点代表了流形的一个图卡,同时路径也决定了流形的次序。流形上的每一点有两个领域,一个在它之前,一个之后,这样流形的质量仅仅依赖于局部。
3.1 图卡构建
将视频序列Ω看作图卡{ϕfi}的集合,图卡由条形图组成,条形图的宽度设置为一个像素,较宽的条形图可根据需要形成,按照流形拼接的原理,如果将视频中相对应的图卡并排按序放置就构成了一个流形,即一幅完整的全景图。以ϕ=(v,e)表示一个图卡,其中,节点v是k×n的条形图,边缘e⊆v×v为代价函数,表示两图卡间可能的变换,每个边缘有一个与之联系的变换:P:e→ℜ。假设某视频序列中两相邻帧的图卡如图3所示,第一帧中的ϕ13,第二帧中的ϕ23(在图3中以圆圈表示),如果图卡对{ϕ13,ϕ23}为两幅图像中的同一场景,拼接时可把ϕ23的下一图卡ϕ24直接放置在1ϕ3的右边。可定义某一相似测度以确定{ϕ13,ϕ23}是否是两幅图像中的同一场景。
3.2 图卡间相似测度
图卡构建后,需要定义一种测度,以确定ϕfi是否可以放在ϕlk之后构成正确的流形。图卡间的相似测度D可用下式衡量:
式(1)说明当把两图卡并排放在一起,它们与视频图像中的一部分相似,那么这对图卡就是一个有效的邻域。通过公式可得到D(.,.)的上界:
这两个位置已知,而代价接近全局最小量,因此这是一个紧致边界。根据式(2)确定的图卡的每个边缘对时空体构成切面。
3.3 全局优化
当计算边缘代价时,需要两个特别节点标志流形的开始和结束。流形拼接的目标是找到一条从第一帧到最后一帧的路径,以便得到整个视频序列的全景图像。开始节点estart以零代价将第一帧图像中的所有节点联系在一起,eend以零代价将最后一帧图像中的所有节点联系在一起,二者之间的最短路径包含了最小变形的流形。
这样,每条从estart到eend的路径与一个流形相对应,边缘权重嵌入到代价函数中,最小变形的路径可利用Dijkstra算法[11]得到。通过与{ϕfjKj}Lj=1相对应的图卡依最小代价路径按序放在一起就得到了一幅完整的全景图像,以上构建过程保证了流形拼接具有最小的视觉累积误差。
3.4 图像交叠处的颜色融合
对原图像进行高斯滤波分解得到高斯低通滤波图像系列,通过计算两层高斯滤波图像之间的差所得到的带通滤波图像层构成拉普拉斯金字塔,为此需要把低分辨率图像扩充至与高分辨率图像一样的尺寸。对被拼接图像分别进行拉普拉斯金字塔分解得LA、LB,则可以对LA、LB相应层按某种原则进行合成(比如进行样条过渡),得到融合图像金字塔LC,然后对LC再次扩展、叠加得到最终的融合(拼接)图像[12]。
4 实验结果和分析
采用普通数码摄相机Canon A610,拍摄了户外一段320×240视频图像序列,在PC机上采用Matlab编程,进行实验。图4(a)为这一视频图像序列中的三个样本。图4(b)是采用参考文献[13]的方法对此序列的前24帧拼接的结果,而图4(c)则是采用本文所描述的流形的方法对全部186帧拼接而成的全景图。当摄像机存在运动或者场景中存在移动物体的时候,使用文献[13]的方法拼接而成的全景图存在“鬼影”和场景变形的现象,而使用流形的方法得到的全景图,没有大的变形,视觉效果要好的多。
5 结论
本文针对含有动态场景的视频序列,描述了一种全景图的绘制方法-动态视频场景的流形拼接,该方法通过提取视频序列中的条形图构成图卡,选择优化路径,将相对应的图卡构成流形组成全景图。该方法可以克服景物结构和运动方式的限制以及累积误差过大的影响,较好的实现了含动态场景的视频序列的全景图绘制。
摘要:针对含动态场景的视频序列,本文提出了一种基于流形的全景图的绘制方法。该方法首先从视频序列中提取条形图,根据需要由一个或几个条形图组成图卡,利用相似测度确定图卡在流形种的次序;然后将相对应的图卡依最小代价路径按序排列在一起构成流形,完成全景图的拼接;最后利用拼接区域的相似性信息,使用基于局部金字塔的方法融合图像交叠处的颜色。实验结果表明,使用该方法得到的全景图可最大限度的保证原图像中的细节,没有严重的扭曲和变形,视觉效果比较好。