全方位三维视频拼接方法、装置、设备以及存储介质与流程

文档序号:16927630发布日期:2019-02-22 19:59阅读:183来源:国知局
全方位三维视频拼接方法、装置、设备以及存储介质与流程

本发明实施例涉及图像处理技术,尤其涉及一种全方位三维视频拼接方法、装置、设备以及存储介质。



背景技术:

随着科技的发展,人们对于媒体的质量以及观看方式要求越来越高。

传统的媒体形式大多是二维(two-dimensional,2d)画面,而且视角和视点(眼睛所在的位置)是固定的。为了实现调整视角和视点观看视频,目前大多采用双目三维(three-dimensional,3d)技术和全景摄像技术。

虽然双目3d技术使用户观看的视频具有立体效果,由于只对景物的一侧进行拍摄,没有得到景物全方位的3d图像,因此视角和视点只能在小范围内选择。而全景摄像技术是利用多个照相机拍摄不同角度的图像,然后将多个图像拼接,得到360°的全景照片,虽然采用全景摄像技术视角可以任意选择,但是视点仍然是固定的,而且图像是2d的,所以观众的实际体验效果没有明显改善。



技术实现要素:

本发明实施例提供了一种全方位三维视频拼接方法、装置、设备以及存储介质,可以减少场景拍摄组件之间的干扰,以及拼接形成可以任意的调整观看的视角和视点的全方位三维视频。

第一方面,本发明实施例提供了一种全方位三维视频拼接方法,包括:

获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;

其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息;

根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型。

第二方面,本发明实施例提供了一种全方位三维视频拼接装置,包括:

场景图像获取模块,用于获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息;

全方位三维图像模型建立模块,用于根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,其中,所述全方位三维图像模型用于形成全方位三维视频。

第三方面,本发明实施例提供了一种设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的全方位三维视频拼接方法。

第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明实施例所述的全方位三维视频拼接方法。

本发明实施例通过根据全方位覆盖拍摄对象的多张带有深度信息的场景图像,建立全方位三维图像模型,生成连续全方位三维图像,从而生成全方位三维视频,解决了现有技术中无法实现全方位三维拍摄和无法选择任意视点的问题,可以灵活调整全方位三维图像和全方位三维视频观看的视角和视点,提高了用户体验,同时,通过分时获取和/或分波长获取方式对拍摄场景进行拍摄,可以消除场景拍摄组件之间的干扰,提高场景图像的质量,从而提高全方位三维图像模型的质量,进而实现提高全方位三维视频的质量。

附图说明

图1a是本发明实施例一所适用的一种拍摄系统的结构示意图;

图1b是本发明实施例一提供的一种全方位三维视频拼接方法的流程图;

图1c是本发明实施例一提供的一种场景拍摄组件的标定示意图;

图1d是本发明实施例一提供的一种场景拍摄组件的标定示意图;

图2a是本发明实施例二提供的一种全方位三维视频拼接方法的流程图;

图2b是本发明实施例二提供的一种阵列控制器的结构示意图;

图2c是本发明实施例二提供的一种标识物面板的结构示意图;

图2d是本发明实施例二提供的一种标识物面板的结构示意图;

图2e是本发明实施例二提供的一种标识物面板的结构示意图;

图2f是本发明实施例二提供的一种场景拍摄组件正面的结构示意图;

图2g是本发明实施例二提供的一种场景拍摄组件侧面的结构示意图;

图2h是本发明实施例二提供的一种场景拍摄组件俯视面的结构示意图;

图2i是本发明实施例二提供的一种双目立体视觉系统应用场景的示意图;

图2j是本发明实施例二提供的一种双目立体视觉系统应用场景的示意图;

图3是本发明实施例三提供的一种全方位三维视频拼接装置的结构图;

图4是本发明实施例四提供的一种设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1a是本发明实施例一所适用的一种拍摄系统的结构示意图,该拍摄系统具体包括:至少两个拍摄组件和至少一个阵列控制器。如图1a所示,拍摄系统包括一个阵列控制器101和三个拍摄组件102,其中,阵列控制器101用于控制三个拍摄组件102拍摄,以及接收拍摄组件102拍摄的场景图像,拍摄组件102用于对拍摄场景103进行拍摄,且环绕分布在拍摄场景周围,形成阵列。

阵列控制器101可以直接对场景图像进行拼接,并将拼接生成的全方位三维图像模型发送至外部设备或服务器端,或者还可以将场景图像发送至外部设备或服务器端,由外部设备或服务器端执行拼接操作,生成全方位三维图像模型。用户可以通过计算机、移动终端或者其他终端设备获取外部设备或服务器端中的全方位三维图像模型,选择任意的视角和视点观看全景全方位三维视频。更详细的,可以将全方位三维视频实时传输到外部设备或服务器端进行实时播放,或者还可以生成完整的全方位三维视频,根据用户需求控制在外部设备播放,或者通过服务器端下载播放或在线播放。

需要说明的是,全方位三维图像是指,以设定范围内的物体或场景为目标拍摄对象,环绕拍摄该目标拍摄对象所获取的图像。其中,全景三维图像是拍摄器件以自身为中心旋转拍摄周围的且带有深度信息的图像,而实际全方位三维图像是指拍摄器件以目标拍摄对象为中心,全方位的环绕拍摄目标拍摄对象的且带有深度信息的图像。

图1b为本发明实施例一提供的一种全方位三维视频拼接方法的流程图,本实施例可适用于获取全方位三维视频的情形,该方法基于能够对景物进行全方位3d建模的拍摄系统,该方法可以由该系统中的拍摄设备、控制设备(如阵列控制器)或者由与该系统通信连接的外部设备或服务器端执行,具体可以由本发明实施例提供的全方位三维视频拼接装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在终端设备中。如图1b所示,本实施例的方法具体包括:

s110,获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息。

在本实施例中,场景拍摄组件可以是用于获取拍摄场景的图像的多个设备的设备组合,其中,场景拍摄组件可以通过深度传感器获取拍摄场景的带有深度信息的场景图像,即深度场景图像。分时获取方式可以是指,不同的场景拍摄组件在不同时间段采集拍摄场景的图像;分波长获取方式可以是指,不同的场景拍摄组件通过发射并接收不同波长的光,获取场景图像的深度信息。

可选的,场景拍摄组件可以包括深度传感器(深度传感器可以有多种形式的,比如基于主动式双目3d系统的深度传感器,基于结构光照明的深度传感器,基于飞行时间(timeofflight,tof)的深度传感器,或其他形式的深度传感器。在一个具体的例子中,如图1c所示,采用一个基于结构光照明的深度传感器,其具体结构可以包括红外(infrared,ir)摄像头104、ir激光器105和衍射光器件106。其中ir摄像头104由ir光学镜头,ir带通滤光片和ir图像传感器构成。衍射光器件106对光有衍射作用,ir激光器105发出的激光透过衍射光器件106后会生成空间分布的结构,其具体结构可以根据衍射光器件的功能确定,例如可以生成二维随机光斑阵列。该深度传感器的具体获取图像的深度信息的原理是:通过投影一个预先设计好的图案作为参考图像(编码光源),将结构光投射至物体表面,再使用摄像机接收该物体表面反射的结构光图案,这样,同样获得了两幅图像,一幅是预先设计的参考图像,另外一幅是相机获取的物体表面反射的结构光图案,由于接收图案必会因物体的立体形状而发生变形,故可以通过该图案在摄像机上的位置和形变程度来计算物体表面的深度信息。

需要说明的是,场景拍摄组件可以是任意可以获取带有深度信息的图像的拍摄组件,不仅仅局限于本实施例列举的深度传感器,例如还可以通过基于主动式双目3d系统的深度传感器或者基于飞行时间(timeofflight,tof)的深度传感器获取图像的深度信息。

可以理解的是,在使用ir摄像头进行拍摄之前,需要对ir摄像头进行标定,标定的方法包括但不限于:如图1c所示,可以预先测量衍射光器件106的中心距离ir摄像头104中心距离l(也可以称为基线长度),而ir摄像头104的焦距f未知。

选择一块白色的平面屏107作为标定板,将标定板放置在距离深度传感器的距离z0处,同时垂直于ir摄像头104的光轴放置。ir激光器105发出的激光经过衍射光器件106后的二维随机光斑阵列照射到标定板上,ir摄像头104拍摄下ir图像,经过滤波处理后存储到处理器芯片的内存中,作为深度定标图像i0(x,y)。将标定板移动到距离深度传感器的距离z1处,滤波处理后作为深度定标图像i1(x,y)。

当实际对物体进行拍摄时,光斑阵列照射到物体表面,ir摄像头104拍摄到的图像上经过滤波处理后得到图像i(x,y)。i(x,y)上光斑的位置会相对于深度定标图像i0(x,y)上对应的光斑位置发生横向的偏移(视差)。利用图像匹配算法,得出i(x,y)相对于i0(x,y)的视差分布δx(x,y)。根据三角关系,物体表面的深度为:

z(x,y)=z0+f*l/δx(x,y)

物体表面相对于ir摄像头实际横向坐标为:

x(x,y)=-x*z(x,y)/f

y(x,y)=-y*z(x,y)/f

ir摄像头104的焦距参数可由两幅标定图像i1(x,y)和i0(x,y)的视差δx1-0标定出:

f=(z1-z0)δx1-0/l

在另一个例子中,深度传感器结构也可如图1d所示,包括ir摄像头104、ir激光器105、衍射光器件106和ir摄像头108。

相比于前一种深度传感器,图1d所示的深度传感器有两个相同的ir摄像头,光轴相互平行,水平分布在整个传感器上。此时基线长度l为两个ir摄像头中心的距离。

具体标定方法为:用标定板106垂直于ir摄像头的光轴放置,并放置在距离深度传感器已知距离z0处。ir激光经过衍射光器件106后的二维随机光斑阵列照射到屏上,ir摄像头104拍摄下ir图像,经过滤波处理后存储到芯片的内存里面,作为深度定标图像il0(x,y);ir摄像头108拍摄下ir图像滤波处理后作为深度定标图像ir0(x,y)。两个ir摄像头的焦距f可由il0(x,y)和ir0(x,y)的视差δxrl0标定出:

当对实际物体进行深度传感时,ir摄像头104和ir摄像头108得到图像经过滤波后分别得到il0(x,y)和ir0(x,y)。运用标准的图像匹配算法,得到两个图像的视差δxrl(x,y)。实际物体表面的深度:

物体表面相对于ir摄像头104的横向坐标分别为:

可以理解的是,在获取场景图像的深度信息时,由于任意一个深度传感器所发出的ir结构光有可能不经过景物的反射,而直射进在该深度传感器对面的深度传感器的ir摄像头而造成干扰,这会对对面的深度传感器采集的场景图像数据造成干扰。

为了减少这种干扰情况,提高拍摄系统的抗干扰性,可选的,所述获取至少两个场景拍摄组件通过分时获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像,包括:为各所述场景拍摄组件分配拍摄时间段,其中,各所述场景拍摄组件在分配的拍摄时间段内处于拍摄状态,每个场景拍摄组件在分配的拍摄时间段内对应的发射光的照射范围内不包括任意一个处于拍摄状态的场景拍摄组件;各所述场景拍摄组件在被分配的拍摄时间段内对所述拍摄场景进行拍摄,获取各所述场景拍摄组件拍摄的场景图像。

具体的,在各场景拍摄组件的拍摄过程中,为了防止一个深度传感器所发出的ir结构光直射进在该深度传感器对面的深度传感器的ir摄像头而造成干扰,需要避免上述两个深度传感器在同一个拍摄时间段处于拍摄状态,对拍摄对象进行拍摄。也就是说,在同一个拍摄时间段内,每个处于拍摄状态的场景拍摄组件所对应的发射光的照射范围内不存在其他任何一个处于拍摄状态的场景拍摄组件,从而实现在一个处于拍摄状态的场景拍摄组件不会接收到来自其他场景拍摄组件发出的发射光。

在一个具体的例子中,全方位三维视频的成像周期为t,拍摄系统中共有n个场景拍摄组件。可以将成像周期t分为n个时间段,每个时间段为t=t/n,每个场景拍摄组件可依次选取在一个时间段t内发射ir激光和执行摄像头的曝光操作,而在该成像周期t中的其他时间段内均停止该场景拍摄组件的ir激光器发射激光以及摄像头的曝光操作。当下一个成像周期开始后,循环上述过程。

在本发明另一个可选的实施例中,所述获取至少两个场景拍摄组件通过分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像,可以包括:各所述场景拍摄组件根据接收到预设波长的反射光,获取各所述场景拍摄组件拍摄的场景图像;其中,所述反射光是所述预设波长的发射光对应的场景拍摄组件发射的经过拍摄对象反射回来的光,每个场景拍摄组件对应的发射光的照射范围内不包括与所述场景拍摄组件对应的发射光的波长相同的目标场景拍摄组件。

具体的,所有的场景拍摄组件使用不同波长的ir光来获取深度图像;每个场景拍摄组件发射一种波长的ir光,并且一个场景拍摄组件上的ir摄像头上的ir带通滤光片只允许该波长的ir光被探测到,也就是说,预设波长与对应发射光的波长相同;这样就能避免发射其他波长的场景拍摄组件上发出的ir光被该场景拍摄组件所探测到。在一个具体的例子中,拍摄系统中共有m个场景拍摄组件,可以对应m个波长的场景拍摄组件,m个深度传感器使用的波长均不同。

在本发明另一个可选的实施例中,所述获取至少两个场景拍摄组件通过分时波长获取方式和分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像,可以包括:各所述场景拍摄组件在被分配的拍摄时间段内对所述拍摄场景进行拍摄,其中,各所述场景拍摄组件在分配的拍摄时间段内处于拍摄状态,每个场景拍摄组件在被分配的拍摄时间段内对应的发射光的照射范围内不包括与所述场景拍摄组件对应的发射光的波长相同且处于拍摄状态的目标场景拍摄组件;根据各所述场景拍摄组件根据接收到预设波长的反射光,获取各所述场景拍摄组件拍摄的场景图像。

在一个具体的例子中,全方位三维视频的成像周期为t,拍摄系统中共有m×n个场景拍摄组件。可以将各场景拍摄组件分为m组,其中,不同组的深度传感器对应发射的激光的波长不同,而同一组的深度传感器在同一个成像周期t中各自选取在一个时间段t=t/n内发射ir激光和执行摄像头的曝光操作,并在该成像周期t中的其余时间停止发射ir激光和摄像头的曝光操作。在同一个时间段t=t/n内,让不同组的具有不同波长的m个场景拍摄组件进行拍摄,而其他场景拍摄组件关闭ir激光的发射和摄像头的曝光。下一个时间段t=t/n内,让另外的不同组的具有不同波长的m个场景拍摄组件进行拍摄,并关闭其他场景拍摄组件的拍摄,依此类推,一整个拍摄周期t内,将完成所有场景拍摄组件的拍摄,并获取到场景的一个全方位的3d图像所需的所有场景图象。

通过分时获取方式,和/或分波长获取方式配合拍摄到的拍摄场景的图像,可以减少其他场景拍摄组件的干扰,提高场景图像的质量。

需要说明的是,针对现有的基于结构光照明的深度传感器和基于飞行时间(timeofflight,tof)的深度传感器,除了可能出现任意一个深度传感器所发出的结构光有可能直射进在该深度传感器对面的深度传感器的摄像头而造成干扰的情况之外,还会出现下述情况:两个深度传感器投射到景物表面的结构光存在一部分相互重叠,重叠的结构光反射回来会同时被两个深度传感器所成像,同样对上述两个深度传感器造成干扰。

为了避免上述干扰,可选的,在同一个拍摄时间段内,每个场景拍摄组件对应的探测范围内与任意一个处于拍摄状态的场景拍摄组件对应的探测范围均不重叠;或者,每个场景拍摄组件对应的探测范围内与所述场景拍摄组件对应的发射光的波长相同的目标场景拍摄组件所对应的探测范围均不重叠;或者,在同一个拍摄时间段内,每个场景拍摄组件对应的探测范围内与所述场景拍摄组件对应的发射光的波长相同且处于拍摄状态的目标场景拍摄组件所对应的探测范围均不重叠。

具体的,探测范围实际和发射光的照射范围稍有不同,由于有些发射光没有经过拍摄场景反射回来,或者有些反射光没有被场景拍摄组件接收到,从而,探测范围实际与发射光的照射范围稍有不同。探测范围不重叠可以是指两个探测范围在空间中不存在任何一个重合的点。

s120,根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,其中,所述全方位三维图像模型用于形成全方位三维视频。

在本实施例中,全方位三维图像模型可以是全方位可以显示拍摄场景的图像模型,同时可以任意选择角度和视点观看拍摄场景的图像,视角可以是指观看的角度,视点可以是指观看时用户眼睛的所在位置,具体可以用于表示观看距离的远近以及观看视线的方向。其中,场景拼接的具体方式可以是:将至少两张场景图像进行比对,查找有重合部分的两张图像,并按照重合部分对这两张图像进行拼接,直至形成的全方位三维图像模型。

由于视频是由连续图像形成的,从而可以通过连续实时获取的全方位三维图像模型,生成全方位三维视频。用户可以通过客户端确定视角和视点,获取与视角和视点对应的连续实时的图像形成的视频。

本发明实施例通过根据全方位覆盖拍摄对象的多张带有深度信息的场景图像,建立全方位三维图像模型,生成连续全方位三维图像,从而生成全方位三维视频,解决了现有技术中无法进行全方位三维拍摄和无法选择任意视点的问题,可以灵活调整全方位三维图像观看的视角和视点,提高了用户体验,同时,通过分时获取和/或分波长获取方式对拍摄场景进行拍摄,可以减少场景拍摄组件之间的干扰,提高场景图像的质量,从而提高全方位三维图像模型的质量,进而实现提高全方位三维视频的质量。

在上述实施例基础上,所述场景图像中还包括颜色信息,相应的,如前例中,图1c所示的深度传感器以及图1d所示的深度传感器还可以包括彩色摄像头,或者场景拍摄组件可以包括彩色摄像头和深度传感器。彩色摄像头可以由光学镜头,滤光片和彩色图像传感器构成。其中,彩色图像传感器可以是cmos图像传感器或者电荷耦合器件图像传感器(chargecoupleddevice,ccd)。

可选的,获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像,包括:分别获取各所述场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的深度图像以及彩色图像;其中,所述深度图像通过所述场景拍摄组件中的深度摄像头拍摄,所述彩色图像通过所述场景拍摄组件中的彩色摄像头拍摄;针对同一场景拍摄组件,根据所述同一场景拍摄组件获取的彩色图像,将对应的深度图像进行着色处理,得到与各所述场景拍摄组件分别对应的场景图像。

需要说明的是,彩色摄像头可以设置在场景拍摄组件中的ir摄像头所在的平面内,彩色摄像头与ir摄像头的具体位置关系可以根据需要进行设定,本发明实施例不作具体限制。

通过设置场景拍摄组件中包括彩色摄像头,在深度传感器获取场景图像的深度信息的同时,彩色摄像头获取场景图像的颜色信息和亮度信息,使得场景图像更加符合拍摄场景,提高拍摄图像的质量,从而提高用户体验。

可以理解的是,彩色摄像头在对拍摄场景进行拍摄前,同样需要进行标定。同样彩色摄像头的标定方法包括但不限于:可以预先获取彩色摄像头中心与ir摄像头中心之间的距离l′。若深度传感器的结构如1d所示,距离l′表示为彩色摄像头中心与ir摄像头中心104之间的距离。

选择一块黑白棋盘板作为标定板,将标定板垂直于彩色摄像头的光轴放置,并放置在距离深度传感器已知距离z0处。彩色摄像头拍摄下图像,经过滤波去噪处理后存储到芯片的内存里面,作为深度定标图像i0(x′,y′)。

棋盘上同一行的两个格子的间距是已知δx,对应格子的像在图像上的间距为δx′,则彩色摄像头焦距f′为:

当对实际物体做深度传感时,物体表面的实际坐标由ir摄像头记录的图的视差用前面的x,y,z的表达式计算出。实际物体的彩色图像记录为i(x′,y′),而彩色图像上的坐标和实际物体表面的对应关系由三角关系确定:

因此,物体表面(x,y,z)坐标点实际的亮度和颜色信息可以由i(x′,y′)像中(x′,y′)点的彩色信息确定。这样,深度传感器不但获取了物体表面的深度信息,还能对物体的表面着色。

需要说明的是,场景拍摄组件中获取的ir图像和彩色图像可以直接由深度传感器内置的处理器芯片进行处理;也可以是发送到阵列控制器,由阵列控制器内部的处理器芯片进行处理;或者可以是经过阵列控制器发送至外部计算机设备,由外部计算机设备进行处理;还可以是经过阵列控制器发送至网络中的服务器端,由服务器端进行处理。

另外,本实施例中提供的标定方法均是一种具体实施方式,还可以通过其他具体实施方式实现对摄像头(包括ir摄像头和彩色摄像头),本发明实施例不作具体限制。

实施例二

图2a为本发明实施例二提供的一种全方位三维视频拼接方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,将根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,具体为:根据各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系,将至少两张所述深度场景图像转换成在所述标准坐标系下的待拼接场景图像;将所述待拼接场景图像进行拼接处理,得到与所述拍摄场景匹配的全方位三维图像模型。

相应的,本实施例的方法可以包括:

s210,获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息。

s220,根据各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系,将至少两张所述深度场景图像转换成在所述标准坐标系下的待拼接场景图像。

在本实施例中,可以将各所述场景拍摄组件拍摄的场景图像中的各个像素点的空间坐标统一到一个标准坐标系中,再根据更新后的空间坐标系,将各待拼接场景图像进行拼接,避免通过逐一盲目搜索比对各场景图像,只需要根据待拼接场景图像的空间坐标,在小范围进行精细搜索,大大减少了拼接处理的运算量,相应的,处理时间减小了若干个数量级。

具体的,相机坐标系可以是针对每个场景拍摄组件,其所拍摄的深度场景图像对于该场景拍摄组件的相对空间坐标系;标准空间坐标系可以是任意一个相机坐标系,也可以与各相机坐标系均不同,是一个独立的空间坐标系。因为不同的场景拍摄组件对应的相对空间坐标系不同,可以设置一个标准空间坐标系,并获取各场景拍摄组件对应的相对空间坐标系分别与标准空间坐标系的对应关系,将深度场景图像转换成在标准坐标系下的待拼接场景图像。

其中,各场景拍摄组件的相机坐标系与标准坐标系之间的对应关系可以根据各场景拍摄组件在自己的相机坐标系中的空间坐标与各场景拍摄组件在标准坐标系中的空间坐标确定。而各场景拍摄组件在标准坐标系中的空间坐标,可以通过位于标准坐标系中的另一独立拍摄设备检测确定。

可选的,所述至少两个场景拍摄组件位于一个定位视觉系统的探测范围内,所述标准坐标系为所述定位视觉系统的相机坐标系,其中,所述定位视觉系统是一个双目立体视觉系统或者一个多目立体视觉系统;一个场景拍摄组件包含至少三个标识物,且所述至少三个标识物不处于同一直线上。

具体的,可以通过定位视觉系统检测各场景拍摄组件在标准坐标系中的空间坐标,由于各场景拍摄组件是具有一定体积的设备集合,从而可以在各场景拍摄组件上设置易于检测到的标识物,用于代表各场景拍摄组件的空间位置。其中,定位视觉系统为包括至少两个摄像机的用于定位各场景拍摄组件的空间位置的视觉系统,例如可以是双目立体视觉系统,也可以是多目立体视觉系统(如三目立体视觉系统、四目立体视觉系统等),,标识物可以是主动发出均匀可见光的发光物体(如荧光片或者覆盖散射片的灯泡),也可是被动对光进行均匀漫反射的散射片。通过至少设置不在同一条直线的三个标识物,至少确定场景拍摄组件的一个表面,可以准确确定各场景拍摄组件的空间位置。

可以理解的是,为了节省成本,可以采用双目立体视觉系统对各场景拍摄组件进行定位,同时将双目立体视觉系统设置在阵列控制器上。在一个具体的例子中,如图2b所示,阵列控制器201包括两个摄像头202。更具体的,各场景拍摄组件上的多个标识物可以设置在一个面板上,如图2c-图2e所示,标识物面板203可以分别包括4、5、6个标识物204,此外,标识物的数目还可以是3个或其他数目个标识物,本发明实施例不作具体限制。如图2f-图2h所示,标识物面板203可以设置在场景拍摄组件102的不同方向的表面上。

可选的,在根据各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系,将至少两张所述深度场景图像转换成在所述标准坐标系下的待拼接场景图像之前,还包括:获取所述定位视觉系统拍摄的与各所述场景拍摄组件分别对应的探测图像;根据所述探测图像,计算由各所述场景拍摄组件中包含的标识物确定的各参考点在所述定位视觉系统的相机坐标系中的坐标;

根据各参考点在所述定位视觉系统的相机坐标系中的坐标,以及预先标定的所述各参考点在对应场景拍摄组件的相机坐标系中的坐标,确定各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系。

具体的,探测图像可以包括各场景拍摄组件以及其上设置的标识物,可以将标识物的中心点作为参考点,其中,若标识物是圆形的,中心点即圆心;若标识物是矩形,中心点即举行对角线的交点,中心点可以根据具体情况进行设定,本发明实施例不作具体限制。根据各参考点在定位视觉系统的相机坐标系中的坐标,以及预先标定的各参考点在对应场景拍摄组件的相机坐标系中的坐标,确定空间转换矩阵,并作为各场景拍摄组件的相机坐标系与标准坐标系之间的对应关系。

在一个具体的例子中,采用双目立体视觉系统对各场景拍摄组件进行定位,同时将双目立体视觉系统设置在阵列控制器上,如图2i所示,一个双目立体视觉系统206可以检测到各场景拍摄组件205,其中,每个场景拍摄组件均设置有标识物面板。

可以采用齐次坐标,则第i个标识物的中心在阵列控制器的相机坐标系的坐标用列向量表示为:

将阵列控制器的相机坐标系变换到场景拍摄组件的相机坐标系,可以通过一个旋转变换以及一个平移变换实现:

其中,平移矩阵旋转矩阵

在平移矩阵中包含3个独立参数,而在旋转矩阵中仅有3个参数是独立参数,相应的,复合空间变换矩阵mtmr总共包含6个独立参数。

每个坐标点的空间变换可以得到3组方程。当选择3个不在一条直线上的标识物的中心点从阵列控制器的相机坐标系变换到场景拍摄组件的相机坐标系时,总共可以得到9个方程,但由于这3个标识物的中心点之间的相互距离(3个线段的长度)可以预先测量的,因此实际只有6组方程需要求解,而且这6组方程彼此独立。因此,仅需要这三个点的坐标变换方程就能求解出空间变换矩阵的所有6个独立的参数。从而,需要至少选择不在一条直线上的三个标识物代表场景拍摄组件。

需要说明的是,如果是从场景拍摄组件的相机坐标系变换到阵列控制器的相机坐标系,其对应的空间变换矩阵为上述空间变换矩阵mtmr的逆矩阵。

由此,当移动场景拍摄组件的位置和角度时,其上每个标识物的中心位置可由双目立体视觉系统探测出来,因此可以对场景拍摄组件的空间位置进行6自由度的精确定位,即获取每个场景拍摄组件的精确的位置和角度,确定每个场景拍摄组件的相机坐标系到双目立体视觉系统的相机坐标系的空间变换矩阵,因此可以将每个场景拍摄组件获取的深度图像变换到双目立体视觉系统的相机坐标系内的待拼接场景图像,而且每个待拼接场景图像的空间坐标已知。

可以理解的是,一个定位视觉系统可能由于场景拍摄组件彼此之间的遮挡,或者由于拍摄场景中景物的遮挡,导致无法准确探测到各场景拍摄组件,为了避免场景拍摄组件的位置关系造成的干扰,可选的,所述至少两个场景拍摄组件位于至少两个定位视觉系统共同构成的探测范围内;所述标准坐标系为在所述至少两个定位视觉系统中选择的目标定位视觉系统的相机坐标系;除去所述目标定位视觉系统之外的至少一个参考定位视觉系统位于所述目标定位视觉系统的探测范围内;每个场景拍摄组件上包含至少三个标识物,且所述至少三个标识物不处于同一直线上;每个参考定位视觉系统上包含至少三个标识物,且所述至少三个标识物不处于同一直线上。

通过设置多个定位视觉系统,避免由于一个定位视觉系统探测多个场景拍摄组件存在死角问题,提高确定场景拍摄组件空间位置的准确性,从而提高场景图像的准确性。

在一个具体的例子中,如图2j所示,采用两个双目立体视觉系统206配合探测三个场景拍摄组件205和场景拍摄组件207,其中,每个场景拍摄组件均设置有标识物面板。

进一步的,在根据各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系,将至少两张所述深度场景图像转换成在所述标准坐标系下的待拼接场景图像之前,还包括:获取所述至少两个定位视觉系统共同拍摄的与各所述场景拍摄组件分别对应的第一探测图像,并获取所述目标定位视觉系统拍摄的与参考定位视觉系统对应的第二探测图像;根据所述第一探测图像,计算由各所述场景拍摄组件中包含的标识物确定的各参考点在所述目标定位视觉系统或者对应的参考定位视觉系统的相机坐标系中的坐标;根据所述第二探测图像,计算由所述参考定位视觉系统中包含的标识物确定的参考点在所述目标定位视觉系统中的坐标;根据各所述场景拍摄组件中的各参考点在所述目标定位视觉系统或者对应的参考定位视觉系统的相机坐标系中的坐标、预先标定的各所述场景拍摄组件中的各参考点在对应的场景拍摄组件的相机坐标系中的坐标,预先标定的参考定位视觉系统中的各参考点在对应的参考定位视觉系统的相机坐标系中的坐标,以及所述至少一个参考定位视觉系统中的参考点在所述定位视觉系统的相机坐标系中的坐标,确定各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系。

具体的,可以根据预先确定各定位视觉系统对应的场景拍摄组件的相机坐标系与定位视觉系统的相机坐标系的对应关系,以及目标定位视觉系统的相机坐标系与参考定位视觉系统的相机坐标系的对应关系,确定目标定位视觉系统与各场景拍摄组件的相机坐标系的对应关系。从而实现间接建立目标定位视觉系统探测不到的场景拍摄组件的相机坐标系与目标定位视觉系统的相机坐标系的对应关系。其中,可以从各定位视觉系统中,选择一个探测到场景拍摄组件的数目最多的定位视觉系统作为目标定位视觉系统。

如前例,设置有阵列控制器a和阵列控制器b,且阵列控制器b上设置有标识物,其中,场景拍摄组件207不能被阵列控制器a探测到。由此,可以通过前述方法可以计算得到阵列控制器b的相机坐标系到阵列控制器a的相机坐标系的空间变换矩阵,再根据采用前述方法得到的场景拍摄组件207的相机坐标系到阵列控制器b的相机坐标系的空间变换矩阵,将两个空间变换矩阵相乘得到的空间变换矩阵,即为场景拍摄组件207的相机坐标系到阵列控制器a的相机坐标系的空间变换矩阵。此时,所有的场景拍摄组件获取的深度图像都可以变换到阵列控制器a的相机坐标系中。

通过设置多个定位视觉系统,选择其中一个作为目标定位视觉系统,并使得其他参考定位视觉系统能够被目标定位视觉系统探测到,实现目标定位视觉系统能够间接探测到被遮挡的场景拍摄组件,避免场景拍摄组件被遮挡而无法被一个定位视觉系统探测到,提高确定场景拍摄组件空间位置的准确性,从而提高场景图像的准确性。

s230,将所述待拼接场景图像进行拼接处理,得到与所述拍摄场景匹配的全方位三维图像模型。

在本实施例中,各待拼接场景图像的空间坐标均位于同一个标准空间坐标系中,可以根据各待拼接场景图像的空间坐标将各待拼接场景图像拼接起来。

本发明实施例通过将各场景拍摄组件的拍摄的深度场景图像均转换成在标准坐标系下待拼接场景图像,按照待拼接场景图像中各像素的空间坐标进行拼接,无需针对各张待拼接场景图像在很大的搜索空间内盲目搜索重合部分,仅仅需要在很小的范围做精细的搜索即可完成拼接操作,大大减少了搜索的运算量,提高了图像拼接效率。

实施例三

图3为本发明实施例三提供的一种全方位三维视频拼接装置的结构示意图。如图3所示,所述装置包括:

场景图像获取模块310,用于获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息;

全方位三维图像模型建立模块320,用于根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,其中,所述全方位三维图像模型用于形成全方位三维视频。

本发明实施例通过根据全方位覆盖拍摄对象的多张带有深度信息的场景图像,建立全方位三维图像模型,生成连续全方位三维图像,从而生成全方位三维视频,解决了现有技术中无法进行全方位三维拍摄和无法选择任意视点的问题,可以灵活调整全方位三维图像观看的视角和视点,提高了用户体验,同时,通过分时获取和/或分波长获取方式对拍摄场景进行拍摄,可以减少场景拍摄组件之间的干扰,提高场景图像的质量,从而提高全方位三维图像模型的质量,进而实现提高全方位三维视频的质量。

进一步的,所述全方位三维图像模型建立模块320还用于:根据各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系,将至少两张所述深度场景图像转换成在所述标准坐标系下的待拼接场景图像;

将所述待拼接场景图像进行拼接处理,得到与所述拍摄场景匹配的全方位三维图像模型。

进一步的,所述装置还包括:所述至少两个场景拍摄组件位于一个定位视觉系统的探测范围内,所述标准坐标系为所述定位视觉系统的相机坐标系,其中,所述定位视觉系统为双目立体视觉系统或多目立体视觉系统;;一个场景拍摄组件包含至少三个标识物,且所述至少三个标识物不处于同一直线上。

进一步的,所述装置还用于:获取所述定位视觉系统拍摄的与各场景拍摄组件分别对应的探测图像;根据所述探测图像,计算由各场景拍摄组件中包含的标识物确定的各参考点在所述定位视觉系统的相机坐标系中的坐标;根据各参考点在所述定位视觉系统的相机坐标系中的坐标,以及预先标定的所述各参考点在对应场景拍摄组件的相机坐标系中的坐标,确定各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系。

进一步的,所述装置还包括:所述至少两个场景拍摄组件位于至少两个定位视觉系统公共构成的探测范围内;所述标准坐标系为在所述至少两个定位视觉系统中选择的目标定位视觉系统的相机坐标系;除去所述目标定位视觉系统之外的至少一个参考定位视觉系统位于所述目标定位视觉系统的探测范围内;每个场景拍摄组件上包含至少三个标识物,且所述至少三个标识物不处于同一直线上;每个参考定位视觉系统上包含至少三个标识物,且所述至少三个标识物不处于同一直线上。

进一步的,所述装置还用于:获取所述至少两个定位视觉系统共同拍摄的与各场景拍摄组件分别对应的第一探测图像,并获取所述目标定位视觉系统拍摄的与参考定位视觉系统对应的第二探测图像;根据所述第一探测图像,计算由各场景拍摄组件中包含的标识物确定的各参考点在对应的目标定位视觉系统或者参考定位视觉系统的相机坐标系中的坐标;根据所述第二探测图像,计算由所述参考定位视觉系统中包含的标识物确定的参考点在所述目标定位视觉系统中的坐标;根据各所述场景拍摄组件中的各参考点在所述定位视觉系统或者所述参考定位视觉系统的相机坐标系中的坐标、预先标定的各场景拍摄组件中的各参考点在对应场景拍摄组件的相机坐标系中的坐标,预先标定的参考定位视觉系统中的各参考点在对应参考定位视觉系统的相机坐标系中的坐标,以及至少一个所述参考定位视觉系统中的参考点在所述目标定位视觉系统的相机坐标系中的坐标,确定各所述场景拍摄组件的相机坐标系与标准坐标系之间的对应关系。

进一步的,所述场景图像获取模块310,还用于:为所述各拍摄组件分配拍摄时间段,其中,各所述场景拍摄组件在分配的拍摄时间段内处于拍摄状态,每个场景拍摄组件在分配的拍摄时间段内对应的发射光的照射范围内不包括任意一个处于拍摄状态的场景拍摄组件;所述各拍摄组件在被分配的拍摄时间段内对所述拍摄场景进行拍摄,获取所述各拍摄组件拍摄的场景图像。

进一步的,所述场景图像获取模块310,还用于:各所述场景拍摄组件根据接收到预设波长的反射光,获取各所述场景拍摄组件拍摄的场景图像;其中,所述反射光是所述预设波长的发射光对应的场景拍摄组件发射的经过拍摄对象反射回来的光,每个场景拍摄组件对应的发射光的照射范围内不包括与所述场景拍摄组件对应的发射光的波长相同的目标场景拍摄组件。

进一步的,所述场景图像获取模块310,还用于:各所述场景拍摄组件在被分配的拍摄时间段内对所述拍摄场景进行拍摄,其中,各所述场景拍摄组件在分配的拍摄时间段内处于拍摄状态,每个场景拍摄组件在被分配的拍摄时间段内对应的发射光的照射范围内不包括与所述场景拍摄组件对应的发射光的波长相同且处于拍摄状态的目标场景拍摄组件;根据各所述场景拍摄组件根据接收到预设波长的反射光,获取各所述场景拍摄组件拍摄的场景图像。

进一步的,所述装置还包括:所述场景图像中还包括颜色信息。

进一步的,所述场景图像获取模块310,还用于:分别获取各拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的深度图像以及彩色图像;其中,所述深度图像通过所述拍摄组件中的深度摄像头拍摄,所述彩色图像通过所述拍摄组件中的彩色摄像头拍摄;将与同一拍摄组件分别对应的深度图像以及彩色图像进行着色处理,得到与各所述拍摄组件分别对应的场景图像。

上述全方位三维视频拼接装置可执行本发明任意实施例所提供的全方位三维视频拼接方法,具备执行的全方位三维视频拼接方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性设备412的框图。图4显示的设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图4所示,设备412以通用计算设备的形式表现。设备412的组件可以包括但不限于:一个或者多个处理器或者处理单元416,系统存储器428,连接不同系统组件(包括系统存储器428和处理单元416)的总线418。

总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mca)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnect,pci)总线。

设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)430和/或高速缓存存储器432。设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom),数字视盘(digitalvideodisc-readonlymemory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。

设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该设备412交互的设备通信,和/或与使得该设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(input/output,i/o)接口422进行。并且,设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(localareanetwork,lan),广域网(wideareanetwork,wan)通信。如图所示,网络适配器420通过总线418与设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、(redundantarraysofinexpensivedisks,raid)系统、磁带驱动器以及数据备份存储系统等。

处理单元416通过运行存储在系统存储器428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种全方位三维视频拼接方法。

也即,所述处理单元执行所述程序时实现:获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息;根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,其中,所述全方位三维图像模型用于形成全方位三维视频。

实施例五

本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的全方位三维视频拼接方法:

也即,该程序被处理器执行时实现:获取至少两个场景拍摄组件通过分时获取方式,和/或分波长获取方式配合拍摄的,与拍摄场景对应的至少两张场景图像;其中,所述至少两个场景拍摄组件的拍摄角度覆盖全方位,所述场景图像包括深度信息;根据所述至少两张场景图像进行场景拼接,得到与所述拍摄场景匹配的全方位三维图像模型,其中,所述全方位三维图像模型用于形成全方位三维视频。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、ram、只读存储器(readonlymemory,rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式cd-rom、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、无线电频率(radiofrequency,rf)等等,或者上述的任意合适的组合。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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