生成电子三维漫游环境的装置和方法与流程

文档序号:18219315发布日期:2019-07-19 22:52阅读:191来源:国知局
生成电子三维漫游环境的装置和方法与流程

本发明涉及使用二维全景图像产生电子3d漫游环境。



背景技术:

电子3d漫游环境的其中一种形式是使用一组连接的全景图像来创建的,其中可以在观看者之前呈现一个接一个的全景图,从而观看者可导航和体验模拟的电子3d环境。全景意味着从一个视点看是一个连续完整的场景。全景图可以是一系列照片或平移的视频素材。术语“全景旅行”和“虚拟漫游”主要与使用静态相机创建的虚拟旅行相关联。这样的虚拟旅行是由从一个有利地点拍摄的多张照片组成。

与虚拟旅行不同,在制作视频游览时,是以步行速度拍摄目标环境的,在整个目标环境中使用摄像机从一个位置点连续移动到另一个位置点。视频游览的好处是在整个移动拍摄中视点不断变化。但是,拍摄高质量视频比拍摄数字静态图片需要更高的技巧和更昂贵的设备。视频还带走了观众对游览的控制和互动;因此,对所有观众来说,游览都是相同的,主题只能是摄影师选择的。

电子3d漫游有许多应用,例如为观看者提供一种远程目的地的沉浸和交互式视觉体验,而无需出现在现场。电子3d漫游正用于多种增强现实或电子3d现实(ar/vr)应用中,用于虚拟旅游和环境导航。传统的无缝漫游体验需要高成本的深度相机,强大的计算能力和非常大的存储容量来重建多个位置点和视点处的三维场景。为了降低成本,更经济的360相机越来越频繁地用于代替深度相机。但是,在这种情况下,需要手动将全景图拼接在一起。因此,直到今天,电子3d漫游在移动和时间关键应用程序中还是非常有限。

因此,对生成具有无缝场景转换的基于二维(2d)全景图的电子3d漫游的技术,还存在未满足的需求,不需要手动拼接全景图,以及计算能力较小,存储容量小且设备便宜。



技术实现要素:

本发明提供了一种生成电子3d漫游环境的装置和方法。本发明的一个目的是提供这样的装置和方法:不需要对拍摄的目标环境图像进行任何冗长或手动的后处理。本发明的目的还在于提供这样的装置和方法:需要比传统方法更少的计算能力、更紧凑的存储容量和相对便宜的设备,但是仍然可以得到相当质量的电子3d漫游环境。

根据本发明的一个实施例,一种基于全景图的电子3d漫游制作方法包括:拍摄者在目标环境中行走,停在多个位置点使用相机拍摄实时图像;使用位置跟踪子系统跟踪相机所在位置点(x,y和z绝对坐标或相对于一个固定空间点的相对坐标)和相机的方位(绝对和相对),包括其有利位置(相机的机位,从该机位观看所述位置点周围)和观看方向,并将这些信息与拍摄的实时图像一起传送到计算设备;当拍摄者走过目标环境时,由计算设备确定在相机所处当前位置点处是否需要相机当前方位的新全景图;发送通知数据消息以通知拍摄者在需要时拍摄新的全景图;并且由计算设备自动创建无缝场景的环境。

在整个文档中,位置点的x,y和z绝对坐标或相对坐标是指由横向(x)方向、深度(y)方向和高度(z)方向的值表示的三维空间中的绝对坐标或相对坐标。

根据一个实施例,用于生成基于全景图的电子3d漫游的装置包括:被配置以拍摄全景图的一个或多个光学传感器(如360相机);位置跟踪子系统,被配置以跟踪光学传感器所在位置点和光学传感器的方位。在一个实施例中,其中在远程计算设备中远程完成全景图的处理,该装置还包括数据通信电路,该数据通信电路被配置以将拍摄的全景图与光学传感器所在位置点和光学传感器的方位信息一起发送到远程计算设备,以及从远程计算设备接收通知或命令数据。在本地完成全景图处理的另一实施例中,该装置还包括:数据存储器,被配置以存储拍摄的全景图和结果运行时(runtime)电子3d漫游场景数据;以及处理器,被配置以确定在制作过程中哪里需要新的全景图并生成运行时电子3d漫游环境。

【附图说明】

下面参考附图更详细地描述本发明的实施例,其中:

图1显示本发明一个实施例的生成电子3d漫游环境的方法的基本原理;

图2显示本发明一个实施例的生成电子3d漫游环境的方法的过程流程图;

图3显示本发明一个实施例的估计目标环境中一个位置点周围的实况视图的场景深度的过程;

图4显示本发明一个实施例的确定先前拍摄全景图中子图像关于目标环境中一个位置点周围的实况视图的变焦因子的过程;

图5显示本发明一个实施例的在先前拍摄的全景图内识别出与目标环境中一个位置点周围的实况视图匹配的子图像的过程;

图6显示本发明一个实施例的硬件实施的逻辑框图。

【具体实施方式】

在以下描述中,作为优选示例阐述了生成电子3d漫游环境等的装置和方法。在不脱离本发明的范围和精神的情况下,可以进行修改,包括添加和/或替换,这些对本领域技术人员而言是显而易见的。省略了一些具体细节,以免模糊了本发明;但是,本公开使本领域技术人员能够在不进行过度实验的情况下实践本文教导。

基于全景的电子3d漫游制作主要有两种传统方法:手动和自动。在手动方法下,摄影师将走过目标环境,停在各个位置点以拍摄全景图,可选地在不同的有利位置点(vantagepoint,机位)和/或观看方向拍摄全景图。然后将全景图上载到计算设备,进行手动拼接以创建无缝场景。经验丰富的摄影师能够确定位置点、有利位置和/或观看方向上需要拍摄的最少数量全景图,用于无缝场景转换,而无需过多照片包含重复信息;因此,对数据存储的要求可以相对较低。另一方面,在自动方法下,每个位置点、每个有利位置和每个观看方向的全景图都被无差别地拍摄。然后通过图像处理算法处理全景图,自动创建无缝场景环境。这需要大量的计算能力用于图像处理算法和大量数据存储容量用于巨量的拍摄的全景图。

参考图1。根据本发明的一个实施例,一种基于全景的电子3d漫游制作的方法包括:拍摄者在目标环境中行走,停在多个位置点,使用相机拍摄实况图像;使用位置跟踪子系统跟踪拍摄者(或者更确切地说是相机)所在的位置点(x,y和z绝对坐标或相对于一个固定空间点的相对坐标)和相机方向(绝对和相对),并将该信息与拍摄的实况图像一起传送到计算设备;记录所述目标环境中每个位置点的绝对或相对坐标;计算设备确定在相机当前位置点和相机当前方向上是否需要新的全景图;如果确定在当前位置点需要,则发送通知数据消息,通知拍摄者拍摄新的全景图,并记录相机相对于拍摄最后一张全景图时相机方向的相对方向;从所拍摄的全景图和由计算设备记录的位置点的绝对或相对坐标自动地创建无缝场景环境。

在其他实施例,制作时步行的拍摄者可以由航空的、陆地的、水面的或水下无人机代替,这取决于目标环境的性质。在这些情况下,选择性全景图拍摄是自主的,跟踪相机所在位置点和相机方向跟踪,确定需要新拍摄全景图的位置可以与无人机的自导系统集成。

参考图2。根据本发明的一个实施例,电子3d漫游制作过程包括以下步骤:

(201):拍摄者开始在目标环境中行走,停在多个选定的位置点,用相机拍摄全景图,跟踪并记录拍摄者(或更确切地说是相机)在每个位置点的位置(x,y和z绝对坐标或相对于一个固定空间点的相对坐标);

(202):拍摄者停在第一个位置点或确定需要的位置点,在位置点i(第一个位置点i=0)拍摄场景的全景图pi,其中全景图的水平视图≤360°,全景图的垂直视图≤180°;测量和记录相机的初始方向θ,如果它不在第一个位置点,则测量相对方向θ,相对于在最后一幅全景拍摄位置上记录的相机初始方向;

(203):拍摄者继续漫游目标环境,同时跟踪和记录相机连续所在位置点的x-y-z坐标(绝对或相对),并且测量相机连续的相对方向,以确定相机位移矢量(从拍摄全景图的最后位置点开始,从记录的x-y-z坐标计算得出)和相机的相对方向θ,即相机直接观看视线相对于相机初始方向的角度;相机连续拍摄每个位置点i∈{0,1,2,...,n}周围的实况图像li。

(204):处理器确定在位置点i是否需要新的全景图,包括:

(205):从实况图像li估计场景深度d;

(206):根据相机位移矢量相机的相对方向θ和场景深度d确定变焦因子(zoomfactor)z;

(207):从上次拍摄的全景图pi=t(在位置点t处拍摄的上次全景图)中识别子图像si,使用变焦因子z和一个或多个可配置的设置参数(如电子3d漫游图像渲染分辨率)来匹配实况图像li;

(208):如果找不到子图像si,则确定需要新的全景图并从步骤202开始重复;否则,

(209):确定所识别的子图像si是否满足匹配实况图像li的质量阈值;如果不满足,则确定需要新的全景图并从步骤202开始重复;否则,从步骤203开始重复。

根据一个实施例,从实况图像li估计场景深度d包括:确定实况图像li的一个兴趣点(poi),其可以是实况图像li的中心;识别实况图像li中的一个或多个特征点;对于每个特征点j,使用位置跟踪子系统确定特征点深度dj,以及特征点j和poi中心之间的距离pj;并通过以下等式估算场景深度d:

其中pj由以下等式确定

其中:

uj是距离实况图像li最近侧边的水平距离;

vj是距离实况图像li最近顶边或底边的垂直距离;

w是实况图像li的宽度;

h是实况图像li的高度;

r是poi的中心和边界之间的最大距离,r<w,h。

在一个实施例中,poi被定义为在实况图像li中心处的特定尺寸的圆形区域,因为通常观看者的焦点会落在出现在图像中心的对象上。在其他实施例中,可以基于本领域技术人员已知且可合理预见的标准来不同定义poi。

图3显示利用实况图像(301)、定义的poi(302)和视觉特征(303)估算上述场景深度d。

根据一个实施例,变焦因子z的确定包括:从位置点t(其中在此拍摄最后的全景图pi=t)和当前位置点i(在此拍摄实况图像li)确定相机行进的路径的位移矢量使用从实时图像li和相机的相对方向θ估计的场景深度d确定深度矢量并使用深度矢量和位移矢量确定变焦因子z。

图4显示上述变焦因子z的确定。位置点t(401)是拍摄最后全景图pi=t的地方,相机的行进路径(402)已经到达当前位置点i(403),位移矢量为远程对象(404)实况图像li的poi(403),实况图像li是在位置点i(403)处拍摄的。相机在位置点i(403)处的相对方向θ是相机直接观看poi的视线(405)相对于相机初始方向的角度。实况图像li的深度矢量通过以下等式确定:

其中:

是x方向的单位向量;和

是y方向上的单位矢量。

在最后全景图pi=t(在位置点t处上次拍摄的全景图)中观看poi的视角α和在当前位置点i观看poi的视角之间的角度差(即视线(406)和视线(405)之间的角度差),可以通过以下等式确定:

最后,变焦因子z可以由下式确定:

图5显示上述从上次拍摄的全景图pi=t中识别出子图像si。通常,当在当前位置点i处拍摄的实况图像li不能从上次拍摄的全景图pi=t中呈现时,那么在当前位置点i处需要新的全景图。换句话说,如果通过对应于实况图像li宽度w的水平角视场(fovh)、对应于实时图像li高度h的垂直角视场(fovv)、最后全景图pi=t中poi的视角α、以及变焦因子z,还不能从最后拍摄的全景图pi=t中提取出未失真子图像si的话,那么在当前位置点i需要新的全景图。

根据一个实施例,如果最后全景图pi=t中poi的水平视角α的垂直中心线和当前位置点上的poi的相机直接视线之间的绝对角度差大于水平角视场(fovh)的一半,则认为不可从上次拍摄的全景图pi=t中识别出子图像si,即:

如果那么si=空。(6)

根据另一实施例,如果变焦因子z小于一个变焦因子阈值zthreshold,则认为子图像si不可从上次拍摄的全景图pi=t中识别出;也就是说,如果z<zthreshold,则si=空。变焦因子阈值zthreshold是一个可配置的设置,其可以由一个或多个参数定义和/或影响,包括相机的一个或多个固有特征、拍摄的全景图的图像大小、运行时电子3d漫游图像显示窗口大小、以及期望的运行时电子3d漫游最大放大分辨率。在一个实施例中,变焦因子阈值zthreshold与以下成比例关系:

其中:

wr是运行时电子3d漫游图像渲染宽度;

wsi是子图像si的宽度;

hr是运行时电子3d漫游图像渲染高度;

hsi是子图像si的高度;

其中:

其中最后的全景图是在位置点t拍摄的。

根据一个实施例,确定所识别的子图像si在匹配实况图像li时是否满足一个匹配质量阈值,包括:首先确定拍摄的全景图像pi=t中识别的子图像si=t和在位置点t处拍摄的相应实况图像li=t之间的图像匹配质量的初始分数σinit。在这种情况下,位移矢量相机的相对方向θ是0°,如果使用相同的相机拍摄全景图和实况图像,则变焦因子z应该是1,又或者接近1。所述确定还包括:按照以下等式确定所识别的子图像si和在位置点i拍摄的相应的实时图像li之间的图像匹配质量的分数σi:

其中:

其中:

x和y表示图像坐标;

si(x,y)是识别的子图像si的x-y坐标处的图像强度,识别的子图像si对应于在位置点i拍摄的实况图像li;

li(x,y)是在位置点i拍摄的实况图像li的x-y坐标处的图像强度;

是识别的子图像si的图像强度均值,识别的子图像si对应于在位置点i拍摄的实况图像li;

是在位置点i拍摄的实况图像li的图像强度均值。如果识别的子图像si和在位置点i拍摄的相应的实时图像li之间的图像匹配质量的分数σi小于k*σinit,则在位置点i需要拍摄新的全景图,其中0<k<1,可以是1/2,即σi<σinit/2。

根据本发明的一个实施例,当制作时走过整个目标环境,在多个选择的位置点拍摄了多个全景图,位置点的坐标、相机移动轨迹的六自由度(6dof)(x,y,z,俯仰角,偏航角,翻滚角)的连续数据流记录、以及获得的变焦因子存储在非瞬态存储器中。通过从6dof相机轨迹数据记录中提取三自由度(3dof)(x,y和z)轨迹数据,构建运行时电子3d漫游环境的2d地图。然后使用拍摄的全景图通过6dof来渲染运行时电子3d漫游环境的热点,即拍摄全景图的选择位置点。然后使用获得的变焦因子来渲染连接的全景图之间的过渡效果。

参考图6。根据一个实施例,用于生成基于全景图的电子3d漫游的装置包括:一个或多个光学传感器(601),其被配置以拍摄全景图,其中一个或多个光学传感器可以是一个或多个广角相机、单个360相机、或任意组合的构成360相机的光学传感器;位置跟踪子系统(602),其被配置以跟踪位置(x,y和z绝对坐标或相对于光学传感器所在位置点的一个固定空间点的相对坐标)和方向光学传感器的方向,其中位置跟踪子系统(602)可以包括运动传感器(602b),其可以是陀螺仪、一个或多个惯性测量单元(imu)的组合、光检测和测距(lidar)系统或其他已知的运动传感装置;位置传感器(602c)和位置跟踪模块(602a),其可以是gps收发器、能够对无线信号进行三角测量的无线通信收发器、一个或多个视觉同时定位和映射(slam)、rgb-dslam、视觉惯性里程计或其他已知的位置跟踪设备的组合,用于处理方向和位置数据。在一个实施例中,其中在计算设备(诸如服务器计算机)中远程完成全景图的处理,该装置还包括数据通信电路,该数据通信电路被配置以将拍摄的全景图连同坐标信息和光学传感器的方向信息一起发送到远程计算设备,以及从远程计算设备接收通知或命令数据。在本地处理全景图的另一实施例中,该装置还包括处理器(603),其有图像拼接模块(603a),用于拼接拍摄的全景图以创建非时间电子3d漫游环境场景图像;io控制模块(603b),用于控制光学传感器(601);虚拟漫游生成模块(603c),用于确定在制作漫游过程中是否需要新的全景图,并用于生成运行时电子3d漫游环境;以及渲染模块(603d),用于渲染运行时电子3d漫游环境场景图像。位置跟踪模块(602a)也可以包含在处理器(603)中。在本地处理全景图的实施例中,该装置还包括数据存储存储器(604),其配置用于存储坐标信息和光学传感器的方向信息、拍摄的全景图、以及由此产生的运行时电子3d漫游场景数据。

本领域普通技术人员可以理解,无需过度实验或偏离本发明的精神,可以容易地实施包括不同数量的本地和/或远程处理器(用于执行和运行不同的上述功能)的其他实施例。

这里公开的电子实施例可以使用一个或多个计算设备、计算机处理器或电子电路来实施,包括但不限于专用集成电路(asic)、现场可编程门阵列(fpga)和根据本公开教导专门配置或者编程的其他可编程逻辑设备。基于本公开的教导,计算机和电子领域的技术人员可以容易地准备机器指令和/或电子电路配置在计算设备、计算机处理器或可编程逻辑设备中执行。

上述计算设备、计算机处理器或电子电路可以包含在一个或多个服务器计算机、个人计算机、膝上型计算机,移动计算设备如智能电话和平板计算机中。

电子实施例包括瞬态和非瞬态电子存储介质,其中存储有机器指令和/或电子电路配置数据,其可用于配置计算设备、计算机处理器或电子电路以执行本发明的任何过程。存储介质可以包括但不限于软盘、光盘、蓝光盘、dvd、cd-rom、磁光盘、rom、ram、闪存设备或适用于存储指令、代码和/或数据的任何类型的介质或设备。

本发明的各种实施例还可以在分布式计算环境和/或云计算环境中实施,其中整个或部分机器指令以分布式方式由一个或多个处理设备执行,一个或多个处理设备通过通信网络互连,例如内联网、广域网(wan)、局域网(lan)、互联网和其他形式的数据传输介质。

已经出于说明和描述的目的提供了本发明的前述描述。其并非旨在穷举或将本发明限制于所公开的精确形式。许多修改和变化对于本领域技术人员来说是显而易见的。

实施例的选择和描述是为了最好地解释本发明的原理及其实际应用,从而使得本领域其他技术人员能够理解本发明的各种实施例以及适合于预期的特定用途的各种修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1