全景视频生成方法、装置、计算机设备以及存储介质与流程
未命名
09-29
阅读:113
评论:0
1.本技术涉及图像处理技术领域,具体涉及一种全景视频生成方法、装置、计算机设备以及计算机可读存储介质(简称存储介质)。
背景技术:
2.虚拟现实(virtual reality,vr)技术,是利用计算机技术将视觉、听觉、触觉等多种信息融合重建,从而生成人机交互式的虚拟场景。用户能够通过虚拟现实设备所展示的实时动态的三维立体图像,获得身临其境的沉浸式体验。
3.vr场景往往是通过多个摄像设备指向拍摄场景中的不同部分,然后将同一时刻的各个摄像设备所采集的图像拼接成这一时刻的全景图像,最终将不同时刻的全景图像合在一起形成全景视频,但该全景视频仅局限于3dof,全景视频的视频画面只能跟随用户头部的转动带来的视野角度变化,无法跟随用户的位置变化(如四处行走),与人眼所观察的真实世界存在一定的差距,真实性差。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种全景视频生成方法、装置、计算机设备以及存储介质,用以获取跟随用户头部的转动带来的视野角度变化、又跟随用户的位置变化的全景视频画面。
5.第一方面,本技术提供一种全景视频生成方法,该方法包括:
6.获取待处理的目标鱼眼图像;
7.根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;
8.根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;
9.获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。
10.在本技术一些实施例中,根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据,包括:
11.获取目标鱼眼图像中各像素点在球坐标系中的三维球面坐标;
12.基于目标鱼眼图像的鱼眼深度图以及各像素点在单位球坐标系中的三维球面坐标,生成相机坐标系下的三维点云数据。
13.在本技术一些实施例中,目标鱼眼图像包括通过多目鱼眼摄像装置获取的多个鱼眼图像;
14.根据三维点云数据构建全景点云数据,包括:
15.从多目鱼眼摄像装置中确定基准鱼眼相机;
16.将目标鱼眼图像在相机坐标系下的三维点云数据,映射至基准鱼眼相机对应的相机坐标系中,得到全景点云数据。
17.在本技术一些实施例中,获取对象视野的标的坐标系,包括:
18.获取对象视野的旋转角信息以及在世界坐标系下的位置信息;
19.根据旋转角信息以及位置信息,生成标的坐标系。
20.在本技术一些实施例中,根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据之前,还包括:
21.获取目标鱼眼图像对应的参考鱼眼图像;
22.分别获取目标鱼眼图像以及参考鱼眼图像的柱面展开图,得到目标带状图以及参考带状图;
23.根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图;
24.基于带状深度图构建目标鱼眼图像对应的鱼眼深度图。
25.在本技术一些实施例中,根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图,包括:
26.分别从目标带状图以及参考带状图中,提取目标带状特征图以及参考带状特征图;
27.根据目标带状特征图以及参考带状特征图计算像素相似信息;
28.根据像素相似信息以及目标带状特征图更新视差信息,基于更新后的视差信息获取带状深度图。
29.在本技术一些实施例中,基于带状深度图构建目标鱼眼图像对应的鱼眼深度图,包括:
30.基于带状深度图构建初始鱼眼深度图;
31.基于初始鱼眼深度图和目标鱼眼图像,计算目标鱼眼图像中各个像素点的目标像素偏移量;
32.根据目标鱼眼图像中各像素点的坐标位置以及目标像素偏移量,构建目标鱼眼图像对应的鱼眼深度图。
33.在本技术一些实施例中,基于初始鱼眼深度图和目标鱼眼图像,计算目标鱼眼图像中各个像素点的目标像素偏移量,包括:
34.将所述目标鱼眼图像投影至所述参考鱼眼图像对应的相机坐标系中,得到投影图像;
35.基于所述初始鱼眼深度图,计算所述投影图像与所述目标鱼眼图像中像素点间的初始像素偏移量;
36.获取所述投影图像与所述目标鱼眼图像的光流值,基于所述光流值更新所述投影图像中各个像素点的初始像素偏移量,得到目标像素偏移量。
37.第二方面,本技术提供一种全景视频生成装置,装置包括:
38.鱼眼图像获取模块,用于获取待处理的目标鱼眼图像;
39.点云数据获取模块,用于根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;
40.曲面图像获取模块,用于根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;
41.全景视频获取模块,用于获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。
42.第三方面,本技术还提供一种计算机设备,计算机设备包括:
43.一个或多个处理器;
44.存储器;以及
45.一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并配置为由处理器执行以实现的全景视频生成方法。
46.第四方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器进行加载,以执行的全景视频生成方法中的步骤。
47.第五方面,本技术实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面提供的方法。
48.上述全景视频生成方法、装置、计算机设备以及存储介质,通过获取待处理的目标鱼眼图像;根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。通过将鱼眼图像转换为拍摄场景下的全景点云数据,并根据全景点云数据生成三维曲面图像,在获取对象视野的标的坐标系后,将三维曲面图像渲染至标的坐标系,得到用户视野跟踪的全景视频帧,实现生成既跟随用户头部的转动带来的视野角度变化、又跟随用户的位置变化的全景视频画面。
附图说明
49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
50.图1是本技术实施例中全景视频生成方法的场景示意图;
51.图2是本技术实施例中多目鱼眼摄像装置的结构示意图
52.图3是本技术实施例中全景视频生成方法的流程示意图;
53.图4是本技术实施例中全景点云数据获取步骤的流程示意图;
54.图5是本技术实施例中鱼眼深度图获取步骤的流程示意图;
55.图6是本技术实施例中另一个鱼眼深度图获取步骤的流程示意图;
56.图7是本技术实施例中全景视频生成装置的结构示意图;
57.图8是本技术实施例中计算机设备的结构示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.在本技术的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗
示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
60.在本技术的描述中,“例如”一词用来表示“用作例子、例证或说明”。本技术中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
61.在本技术实施例中,还需说明的是,本技术实施例提供的全景视频生成方法可以应用于如图1所示的终端100中,终端100具体可以是全景视频生成装置,或者集成全景视频生成装置的计算机设备,也可以是诸如智能手机、平板电脑或个人数字助理等之类的设置有成像模组(例如,摄像头等)的智能终端上。
62.在实际应用中,全景视频生成方法也可以应用于服务器上,例如,服务器接收终端设备发送的待处理的目标鱼眼图像,并根据所述目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;进而,根据所述三维点云数据构建全景点云数据,以及所述全景点云数据对应的三维曲面图像;在接收到对象视野的标的坐标系后,基于所述三维曲面图像在标的坐标系中生成全景视频帧。
63.以终端100为多目鱼眼摄像装置为例,多目鱼眼摄像装置包括有指向拍摄场景不同部分的多个鱼眼相机,例如鱼眼相机的数量可以为3个、6个、8个等,且多目鱼眼摄像装置中的鱼眼相机可以设置于同一平面,也可以设置于不同平面;这些鱼眼相机同时独立曝光拍摄,得到多个处于同一时刻的多个鱼眼图像。如图2所示,图2示出了一个多目鱼眼摄像装置的结构示意图,该多目鱼眼摄像装置包括6个鱼眼相机、且6个鱼眼相机间隔设置于同一平面的。具体地,多目鱼眼摄像装置中的多个鱼眼镜头同时独立曝光采集鱼眼图像,并将处于同一时刻的鱼眼图像确定为待处理的目标鱼眼图像,并依据目标鱼眼图像生成在该时刻下用户所观察的全景视频帧。多目鱼眼摄像装置获取连续的鱼眼图像,并实时生成全景视频帧,连续时序的全景视频帧形成全景视频数据。后续,终端100还可以将全景视频数据发送至计算机设备(如vr眼镜等显示设备)中进行显示。
64.还需说明的是,图1所示全景视频生成系统的场景示意图仅仅是一个示例,本发明实施例描述的全景视频生成系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着全景视频生成系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
65.参阅图3,本技术实施例提供了一种全景视频生成方法,主要以该方法应用于上述图1中的终端100来举例说明,该方法包括步骤s310至s340,具体如下:
66.s310,获取待处理的目标鱼眼图像。
67.其中,鱼眼图像是指鱼眼相机对拍摄场景进行图像采集所到的图像。
68.可以理解的是,在一个实施例中,目标鱼眼图像包括指向拍摄场景不同部分的多
个鱼眼相机在同一时刻采集得到的鱼眼图像。
69.以如图2所示的多目鱼眼摄像装置为例,多目鱼眼摄像装置包括有六个鱼眼相机,通过该多目鱼眼摄像装置中的六个鱼眼相机同时独立拍摄得到的六幅鱼眼图像作为目标鱼眼图像。
70.s320,根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据。
71.其中,鱼眼深度图包括鱼眼图像中各个像素点对应的深度信息。具体地,鱼眼深度图可以是通过可用于获取深度信息的摄像装置获取的,例如tof摄像设备、雷达设备等;也可以是对目标鱼眼图像进行深度信息估算得到的,在此不进行限定。
72.其中,相机坐标系可以是以采集目标鱼眼图像的鱼眼相机的聚焦中心为原点,以光轴为z轴建立的三维直角坐标系。三维点云数据至少包括目标鱼眼图像中各个像素点在相机坐标系下的坐标信息以及颜色信息中的一项。
73.具体地,在获取到目标鱼眼图像后,从目标鱼眼图像对应的鱼眼深度图中确定各个像素点的深度信息,进而根据各个像素点的深度信息,生成在相机坐标系下与各个像素点对应的三维点云数据。进一步地,还将各个像素点的像素值赋值为三维点云数据的颜色信息。
74.由于鱼眼镜头的真正成像面不是常规的平面,而是近似于球状的曲面,因此,在一个实施例中,步骤s220包括:获取目标鱼眼图像中各像素点在球坐标系中的三维球面坐标;基于目标鱼眼图像的鱼眼深度图以及各像素点在单位球坐标系中的三维球面坐标,生成相机坐标系下的三维点云数据。
75.其中,球坐标系是以鱼眼相机为球心、基于鱼眼相机的相机内参和相机外参构建得到。可选地,球坐标系具体可以是单位球坐标系,在单位球坐标系中,球面上的点到球心(即鱼眼相机的位置)的距离(即球的半径长度)为1,有助于提高计算效率。
76.具体地,将目标鱼眼图像中各像素点投影到球坐标系中,获取各个像素点在球坐标系中的三维球面坐标,然后,从目标鱼眼图像对应的鱼眼深度图中确定各个像素点的深度信息,进而根据各个像素点的深度信息以及三维球面坐标,计算各个像素点在相机坐标下的三维点云数据。
77.s330,根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像。
78.其中,全景点云数据是指目标鱼眼图像中各个像素点在拍摄场景下的统一坐标系下的点云数据。
79.其中,三维曲面图像是根据三维点云数据生成的图形;具体可以将各个三维点云数据作为三角网格的顶点构建三角网格,构建得到三角网格组成形成三维曲面图像;更具体地,构建三角网格的过程可以采用三角剖分(triangulation)算法。
80.在获取目标鱼眼图像在其对应相机坐标系下的三维点云数据后,可先根据鱼眼相机的相机内参以及相机外参,获取相机坐标系到拍摄场景下同一坐标系的转换关系,进而基于该转换关系,将在相机坐标系下的三维点云数据统一映射至在拍摄场景下统一坐标系中,得到拍摄场景统一坐标系下的全景点云数据,并根据全景点云数据构建三维曲面图像。
81.进一步地,如上,目标鱼眼图像可以包括指向拍摄场景不同部分的多个鱼眼相机在同一时刻采集得到的鱼眼图像,可从该多个鱼眼相机中选择一个鱼眼相机作为基准鱼眼
相机,该基准鱼眼相机对应的相机坐标系作为拍摄场景下的统一坐标系。在一个实施例中,如图4所示,目标鱼眼图像包括通过多目鱼眼摄像装置获取的多个鱼眼图像;根据三维点云数据构建全景点云数据,包括:
82.s410,从多目鱼眼摄像装置中确定基准鱼眼相机;
83.s420,将目标鱼眼图像在相机坐标系下的三维点云数据,映射至基准鱼眼相机对应的相机坐标系中,得到全景点云数据。
84.具体地,在获取目标鱼眼图像在其对应相机坐标系下的三维点云数据后,可先根据目标鱼眼图像对应鱼眼相机以及基准鱼眼相机的相机内参以及相机外参,获取目标鱼眼图像对应鱼眼相机的相机坐标系到基准鱼眼相机对应的相机坐标系的转换关系,进而基于该转换关系,将在相机坐标系下的三维点云数据统一映射至基准鱼眼相机的相机坐标系中,得到全景点云数据。
85.s340,获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。
86.其中,对象视野是指观看或接收全景视频帧的对象(如vr眼镜等vr设备)的视野,对象视野的标的坐标系是指基于观看或接收全景视频帧的对象位置和姿态确定的坐标系。例如,用户在使用vr设备观看全景设备时,对象视野是指用户所观看得到的视野范围或vr设备所显示的视野范围;可以理解的是,用户在不同时刻下,由于头部的转动会带来的视野角度变化、或身体移动带来的位移变化,都会造成用户所跟踪的视野发生变化,即对象视野的标的坐标系发生变化。
87.其中,基于三维曲面图像在标的坐标系中生成全景视频帧,具体可以先获取三维曲面图像所在的拍摄场景统一坐标系与标的坐标系的转换关系,并根据该转换关系,获取三维曲面图像在标的坐标系中的坐标位置,进而在相应的坐标位置上渲染所示三维曲面图像,得到全景视频帧。
88.在一个实施例中,可以通过opengl将三维曲面图像渲染到标的坐标系上,实现实时渲染的效果,提高全景视频帧的渲染速度。
89.进一步地,由于头部的转动会带来的视野角度变化、或身体移动带来的位移变化,都会造成用户所跟踪的视野发生变化,在一个实施例中,获取对象视野的标的坐标系,包括:获取对象视野的旋转角信息以及在世界坐标系下的位置信息;根据旋转角信息以及位置信息,生成标的坐标系。
90.具体地,标的坐标系与用户头部或身体的转动或位移相关,其中,用户头部或身体的转动导致旋转角信息发生变化,用户头部或身体的位移导致其位置信息发生变化;因此,获取用户的旋转角信息以及在世界坐标系下的位置信息,通过旋转角信息以及在世界坐标系下的位置信息实时更新标的坐标系,实现还原现实世界6dof的全景视频。
91.上述全景视频生成方法中,通过获取待处理的目标鱼眼图像;根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。通过将鱼眼图像转换为拍摄场景下的全景点云数据,并根据全景点云数据生成三维曲面图像,在获取对象视野的标的坐标系后,将三维曲面图像渲染至标的坐标系,得到用户视野跟踪的全景视频帧,实现生成既跟随用户头部的转动带
来的视野角度变化、又跟随用户的位置变化的全景视频画面。
92.在一个实施例中,如图5所示,根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据之前,还包括:
93.s510,获取目标鱼眼图像对应的参考鱼眼图像。
94.其中,参考鱼眼图像是指与目标鱼眼图像具有一定重叠区域的鱼眼图像。
95.以如图2所示的多目鱼眼摄像装置为例,针对鱼眼相机1所获得的鱼眼图像作为当前处理的目标鱼眼图像,其参考鱼眼图像可以是鱼眼相机2所获得的鱼眼图像或鱼眼相机6所获得的鱼眼图像中的至少一个。
96.s520,分别获取目标鱼眼图像以及参考鱼眼图像的柱面展开图,得到目标带状图以及参考带状图。
97.其中,柱面展开图是指以鱼眼相机的投影中心为视点,对鱼眼图像进行柱面投影变换,投影到柱面上并展开所形成的图像。
98.具体地,为了保持目标鱼眼图像与参考鱼眼图像间的空间约束的一致性,可对目标鱼眼图像进行柱面展开得到目标带状图,对参考鱼眼图像进柱面展开得到参考带状图,该目标带状图以及参考带状图作为后续计算目标鱼眼图像中深度信息的数据对象。进一步地,为了提高鱼眼图像深度信息的准确性,可以在柱面上确定统一的中心线,基于该中心线对目标鱼眼图像投影到柱面上的图像进行展开目标带状图,并基于该中心线对参考鱼眼图像投影到柱面上的图像进行展开参考带状图像。
99.进一步地,为了保持图像中的视觉色彩的一致性,在获取到目标鱼眼图像以及参考鱼眼图像后,可对标鱼眼图像以及参考鱼眼图像进行色差矫正。对标鱼眼图像以及参考鱼眼图像进行色差矫正,具体可以包括:先根据目标鱼眼图像对应的鱼眼相机的相机内参以及相机外参,将目标鱼眼图像投影为目标全景图;然后,计算该目标全景图像对应的目标梯度图,可以理解的是,梯度图可以包括水平和竖直两个方向前向后向梯度,共4张图;同样的,对于参考鱼眼图像,先根据参考鱼眼图像对应的鱼眼相机的相机内参以及相机外参,将参考鱼眼图像投影为参考全景图;然后,计算该参考全景图像对应的参考梯度图。接着,对目标全景图以及参考全景图进行融合,对应的,对目标梯度图以及参考梯度图进行融合;进而,根据融合后得到的全景图以及融合后得到的梯度图重构用于消除色差的增益图;最后根据增益图对目标鱼眼图像以及参考鱼眼图像进行色差消除。
100.s530,根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图。
101.在获取到目标带状图以及参考带状图后,可以基于目标带状图和参考带状图,计算目标带状图与参考带状图间对应像素点间的视差信息,进而根据视差信息构建带状深度图。
102.具体地,可以将目标带状图和参考带状图输入至双目深度估计网络中,通过双目深度估计网络获取带状深度图。其中,这里的双目深度估计网络可以是经过训练的神经网络模型,用于计算所输入图像的视差信息。其中,双目深度估计网络包括特征提取网络、匹配代价网络以及视差更新网络。特征提取网络可以包括一层卷积层以及四层残差卷积层,特征提取网络用于对输入的带状图进行特征提取,以获取带状特征图;匹配代价网络用于任意相邻两个鱼眼镜头对应的带状特征图间的像素相似信息;视差更新网络具体可采用raft(recurrent all-pairs field transforms for optical flow)中的gru模块,用于迭
代估计向前、向后光流以获取目标带状图和参考带状图间的匹配点,并基于匹配点计算深度信息,得到带状深度图。
103.在一个实施例中,根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图,包括:分别从目标带状图以及参考带状图中,提取目标带状特征图以及参考带状特征图;根据目标带状特征图以及参考带状特征图计算像素相似信息;根据像素相似信息以及目标带状特征图更新视差信息,基于更新后的视差信息获取带状深度图。
104.其中,在获取到目标带状图和参考带状图后,可将目标带状图和参考带状图输入至双目深度估计网络中,通过双目深度估计网络中的特征提取网络分别从目标带状图以及参考带状图中,提取目标带状特征图以及参考带状特征图;然后,将目标带状特征图以及参考带状特征图输入至匹配代价网络,通过匹配代价网络计算目标带状特征图以及参考带状特征图间的像素相似信息;最后,将像素相似信息以及目标带状特征图输入至视差更新网络,通过视差更新网络获取更新视差信息,获取带状深度图。
105.s540,基于带状深度图构建目标鱼眼图像对应的鱼眼深度图。
106.其中,在获取到带状深度图后,可将带状深度图投影至目标鱼眼图像对应的鱼眼相机的相机坐标系中,实现将带状深度图转换为鱼眼深度图。
107.进一步地,如图2所示的,对于任意一鱼眼相机,均存有两个相邻的鱼眼相机,如图2中的鱼眼相机1,其相邻的鱼眼相机包括鱼眼相机2和鱼眼相机6。因此,以任意一个鱼眼相机采集得到的鱼眼图像为目标鱼眼图像,均可以获取到两个参考鱼眼图像,包括第一参考鱼眼图像以及第二参考鱼眼图像。此时,分别获取目标鱼眼图像以及参考鱼眼图像的柱面展开图,得到目标带状图以及参考带状图,具体包括:分别获取目标鱼眼图像、第一参考鱼眼图像以及第二参考鱼眼图像的柱面展开图,得到目标带状图、第一参考带状图以及第二参考带状图。根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图,具体包括:根据目标带状图和第一参考带状图生成目标鱼眼图像的第一带状深度图,根据目标带状图和第二参考带状图生成目标鱼眼图像的第二带状深度图。基于带状深度图构建目标鱼眼图像对应的鱼眼深度图,具体包括:基于第一带状深度图构建第一鱼眼深度图;基于第二带状深度图构建第二鱼眼深度图;将第一鱼眼深度图以及第二鱼眼深度图进行融合,得到目标鱼眼图像对应的鱼眼深度图。
108.在获取到各个目标鱼眼图像对应的鱼眼深度图后,可对鱼眼深度图在全分辨率上进一步迭代,以获取更高精度的鱼眼深度图。具体地,如图6所示,在一个实施例中,基于带状深度图构建目标鱼眼图像对应的鱼眼深度图,包括:
109.s610,基于带状深度图构建初始鱼眼深度图。
110.其中,在获取到目标鱼眼图像对应的带状深度图后,将带状深度图投影至目标鱼眼图像对应的鱼眼相机的相机坐标系中,获取初始鱼眼深度图。
111.s620,基于初始鱼眼深度图和目标鱼眼图像,计算目标鱼眼图像中各个像素点的目标像素偏移量。
112.其中,目标像素偏移量可以是指目标鱼眼图像中各个像素点投影至参考鱼眼图像对应的相机坐标系后,目标鱼眼图像中各个像素点的像素偏移量。
113.在获取到初始鱼眼深度图后,可基于初始鱼眼深度图,获取目标鱼眼图像中各个像素点的像素偏移量,并利用目标鱼眼图像和投影至参考鱼眼图像对应相机坐标系中的投
影图像间的光流值,对像素偏移量进行更新,以获得更准确度的目标像素偏移量。
114.具体地,在一个实施例中,步骤s620包括:将目标鱼眼图像投影至参考鱼眼图像对应的相机坐标系中,得到投影图像;基于初始鱼眼深度图,计算投影图像与目标鱼眼图像中像素点间的初始像素偏移量;获取投影图像与参考鱼眼图像的光流值,基于光流值更新投影图像中各个像素点的初始像素偏移量,得到目标像素偏移量。
115.其中,如上,对于任意一鱼眼相机,均存有两个相邻的鱼眼相机,如图2中的鱼眼相机1,其相邻的鱼眼相机包括鱼眼相机2和鱼眼相机6,因此,初始像素偏移量可以是指在目标鱼眼图像与目标鱼眼图像在参考鱼眼图像对应相机坐标系中的投影位置的像素的差异值最小时,该投影位置与目标鱼眼图像的坐标位置间的像素偏移量。例如,鱼眼相机1对应的鱼眼图像作为当前处理的目标鱼眼图像,获取该目标鱼眼图像投影至鱼眼相机2对应相机坐标系中的投影位置a、以及投影至鱼眼相机6对应相机坐标系中的投影位置b;然后,获取目标鱼眼图像的像素点与鱼眼相机2对应的鱼眼图像在该投影位置a的像素点之间的像素差异a,同样的,获取目标鱼眼图像的像素点与鱼眼相机6对应的鱼眼图像在该投影位置b的像素点之间的像素差异b;若像素差异a小于像素差异b,则根据投影位置a与目标鱼眼图像的坐标位置间的差值,确定为初始像素偏移量。
116.具体地,可基于相机内参以及相机外参,将目标鱼眼图像的初始鱼眼深度图中的深度值转换计算得到投影图像与目标鱼眼图像中像素点间的初始像素偏移量,进而基于投影图像与目标鱼眼图像中各像素点的像素值计算像素点上的光流值,最后基于光流值更新初始像素偏移量,重复上述步骤一定次数后,得到目标像素偏移量。
117.s630,根据目标鱼眼图像中各像素点的坐标位置以及目标像素偏移量,构建目标鱼眼图像对应的鱼眼深度图。
118.在获取到目标像素偏移量后,基于目标偏移量计算目标鱼眼图像中各个像素点的深度信息,构建鱼眼深度图。
119.为了进一步提高鱼眼深度图的精度,可对鱼眼深度图进一步迭代优化。例如,在获得鱼眼深度图后,根据鱼眼深度图计算像素差异作为数据集,然后基于鱼眼深度图的梯度值作为平滑项,进一步能量最小化得到最终的鱼眼深度图。
120.上述获取鱼眼深度图的过程中,根据多个鱼眼图像之间存在重叠区域的像素值,估计每个鱼眼图像的深度信息,获取深度图,便于后续根据鱼眼图像以及鱼眼图像的深度信息构建全景视频帧。
121.下面结合一应用场景对上述全景视频生成方法进一步说明。以基于发散式的多目鱼眼摄像装置获取鱼眼图像并构建全景视频为例,其中多目鱼眼摄像装置包括多个鱼眼镜头,例如,鱼眼镜头的数量可以为3个、6个、8个等,此处不对鱼眼镜头的数量进行限定。具体地,此处以如图2所示的多目鱼眼摄像装置为例,图2中的多目鱼眼摄像装置包括6个鱼眼镜头,这6个鱼眼镜头环绕式的排成一圈,各个鱼眼镜头间隔相同且处于同一平面。
122.步骤1,标定多目鱼眼摄像装置中的各个鱼眼镜头的相机内参以及相机外参进。
123.具体地,可将多块标定板围设为正方体,且将多目鱼眼摄像装置放置于正方体中心中,进而通过多目鱼眼摄像装置对标定板进行拍摄,得到用于标定相机内参以及相机外参的多张标定图像;从每张标定图像中提取角点特征,从而基于角点特征构建对应的三维坐标以及图像上对应的二维坐标。可以理解的是,标定板上图案为黑白块或其他的标定图
样。
124.进一步地,根据如下公式(1)构建从相机坐标系到三维坐标系的映射关系:
[0125][0126]
其中,xw表示世界坐标系下一坐标点的坐标值,表示xw在鱼眼相机i对应的相机坐标系下的坐标值。ri、ti分别为鱼眼相机i对应的相机坐标系相对于世界坐标系下的旋转矩阵和平移向量。
[0127]
然后,将相机坐标系下的单位向量根据下述映射公式(2)转成鱼眼上的两个角度值,得到两个角度值θ以及
[0128][0129]
从而,根据等距投影的原理计算鱼眼相机上的坐标,具体如公式(3)所示:
[0130][0131]
其中,f、c
x
、cy分别表示相机内参(即等效焦距)以及主点坐标。
[0132]
进一步考虑图像径向畸变的问题,畸变后的实际提取到的三维点在图像上的二维特征点坐标的计算公式如公式(4)如示:
[0133][0134]
其中,k1、k2、k3、k4、k5、k6分别表示径向畸变系数;r=fθ,r表示径向距离。
[0135]
通过前面提取到的二维坐标点与三维坐标点的对应关系,可假设畸变系数都为0,先计算每个相机的相机内参(等效焦距,主点坐标);然后,根据相机内参以及多个鱼眼镜头共同提取到的二维坐标点对关系计算相机之间的外参,以0号相机(即基准鱼眼相机)为世界坐标系得到最终的相机外参;最后,通过最小化反投影误差迭代优化相机外参和畸变系数,得到最终的标定结果。
[0136]
步骤2,对不同鱼眼镜头采集得到的鱼眼图像进行色差矫正;
[0137]
为了提高图像处理速度,先将各个鱼眼图像缩小到一个特定分辨率,比如分辨率(200x200)。
[0138]
然后,根据上述步骤1中得到相机内参以及相机外参,将各个鱼眼图像转成全景图,并计算各个全景图对应的梯度图;其中,各个全景图对应的梯度图包括水平和竖直两个方向对应的前向梯度图以及后向梯度。
[0139]
接下来,根据鱼眼图像转全景图的mask,将各个全景图加权融合为一张目标全景图图像;相应的,针对各个全景图的梯度图,也通过相同的办法进行图像融合,得到目标梯度图。
[0140]
将融合后的目标全景图以及目标梯度图,重构用于消除色差的结果图,并通过该结果图和融合后的目标全景图,计算全景增益图。
[0141]
将全景增益转换为鱼眼增益图,将鱼眼增益图放大至与原始鱼眼图像一致的图像
大小,最后,根据放大后的鱼眼增益图调整每张鱼眼图像的像素值,得到消除色差后的鱼眼图像。
[0142]
步骤3,估计鱼眼图像的深度信息。
[0143]
多个鱼眼图像之间存在重叠区域,根据鱼眼图像间重叠区域的像素值,估计每个鱼眼图像的深度信息。具体地,以鱼眼相机1所获取的鱼眼图像为例,对估计鱼眼图像的深度信息进行说明:
[0144]
步骤3.1,将两个相邻镜头的鱼眼图像展开为同一坐标系下的带状图;
[0145]
由于鱼眼镜头是环绕式的排成一圈,任意相邻两个鱼眼镜头对应的鱼眼图像,可以以鱼眼镜头间的中线为中心进行柱面展开,以得到对应的带状图。
[0146]
以多个鱼眼相机对应的虚拟中心为原点,比如六个鱼眼相机如图2所示,虚拟中心就是圆心,然后从虚拟中心到相邻两个鱼眼镜头中心构建以虚拟中心为角点的角,对应的角平分线就是相邻两个鱼眼镜头的中线。
[0147]
以鱼眼相机1对应鱼眼图像为目标鱼眼图像、鱼眼相机2对应的鱼眼图像为参考鱼眼图像为例,以鱼眼相机1与鱼眼相机2的中线为中心,可对目标鱼眼图像以及参考鱼眼图像进行柱面展开,得到柱面展开图,得到目标带状图以及参考带状图。
[0148]
步骤3.2,估计带状深度图;
[0149]
任意相邻两个鱼眼镜头对应的带状图,均可看作双目图像,从而通过预先构建的双目深度估计网络计算得到带状深度图。仍然以鱼眼相机1对应鱼眼图像为目标鱼眼图像、鱼眼相机2对应的鱼眼图像为参考鱼眼图像为例,将鱼眼相机1对应的目标带状图以及鱼眼相机2对应的参考带状图输入至双目深度估计网络,通过双目深度估计网络获取鱼眼相机1对应的目标带状图的带状深度图。
[0150]
其中,双目深度估计网络包括特征提取网络、匹配代价网络以及视差更新网络。特征提取网络可以包括一层卷积层以及四层残差卷积层,特征提取网络对输入的带状图进行编码获取带状特征图;匹配代价网络用于任意相邻两个鱼眼镜头对应的带状特征图间的像素相似信息;视差更新网络具体采用raft(recurrent all-pairs field transforms for optical flow)中的gru模块进行迭代更新得到带状深度图。
[0151]
进一步地,双目深度估计网络可通过现有的公开数据集sceneflow作为训练数据,并通过以下公式(5)作为训练过程的损失函数:
[0152][0153]
其中,fi、f
gt
分别为第i次迭代的深度结果以及真值;γ=0.9,为调节系数。分别表示最后的预测结果水平方向梯度值以及对应参考带状图水平方向梯度值。γ与λ均为调节系数,可根据具体情况进行设置;在一个实施例中,γ=0.9,λ=0.1。
[0154]
步骤3.2,根据带状深度图计算鱼眼深度图。
[0155]
由于任意一鱼眼相机都有两个相邻的鱼眼相机,针对同一鱼眼相机对应可获取到两个带状深度图;以鱼眼相机1为例,鱼眼相机1相邻的鱼眼相机包括鱼眼相机2和鱼眼相机6,根据鱼眼相机1与鱼眼相机2的鱼眼图像可获取一个带状深度图,同样的,根据鱼眼相机1和鱼眼相机6的鱼眼图像可获取一个带状深度图。
[0156]
因而,对于任意一个鱼眼相机,可通过步骤3.1以及步骤3.2就算获得两个带状深
度图,先将带状深度图转换至鱼眼深度图后,通过多分辨率融合得到统一的鱼眼深度图;然后,可根据鱼眼深度图在全分辨率上进一步迭代得到更高精度的鱼眼深度图,具体的迭代方法如下:
[0157]
步骤a,以通过多分辨率融合得到的鱼眼深度图中各个像素点上的深度值作为初值,通过相邻鱼眼相机对应的相机内参以及相机内参,确定转换关系;进而基于转换关系获取当前鱼眼相机对应的鱼眼图像在相邻鱼眼相机对应的相机坐标系中投影图像以及该投影图像的投影位置,并确定图像像素差异最小的投影位置。
[0158]
例如,对于鱼眼相机1采集到鱼眼图像1,鱼眼相机2采集到鱼眼图像2,鱼眼相机6采集到鱼眼图像6;获取鱼眼图像1投影至鱼眼相机2对应相机坐标系获取投影位置a、以及投影至鱼眼相机6对应相机坐标系获取投影位置b;然后,获取鱼眼图像1的像素点和鱼眼图像2在该投影位置a的像素点间的像素差异a,同样的,获取鱼眼图像1的像素点和鱼眼图像6在该投影位置b的像素点间的像素差异b;若像素差异a小于像素差异b,则将投影位置a确定为于图像像素差异最小的投影位置。
[0159]
步骤b,基于图像像素差异最小的投影位置,通过图像像素一致性公式对该投影位置进行迭代,以获取更精确的投影位置,图像像素一致性公式具体如公式(6)如示:
[0160][0161]
其中,i0表示当前相机对应鱼眼图像,i1表示图像像素差异最小的投影位置的鱼眼图像(即当前鱼眼相机对应的鱼眼图像投影到相邻鱼眼相机对应的相机坐标系中所得的投影图像),x、y表示当前相机对应鱼眼图像的像素坐标,u、v表示投影图像在x轴方向、在y轴方向的光流值,则表示每次迭代的光流值。
[0162]
例如,接上所述,鱼眼图像1投影至鱼眼相机2对应相机坐标系得到的投影位置a确定为于图像像素差异最小的投影位置,获取投影位置a和鱼眼图像1在鱼眼相机1对应相机坐标系中的坐标位置间的像素偏移量,该像素偏移量作为初始像素偏移量;然后,获取鱼眼图像1投影至鱼眼相机2对应相机坐标系得到的投影图像和鱼眼图像1间的光流值,更新该初始像素偏移量,得到目标像素偏移量;根据目标像素偏移量和投影位置a确定差异更小的像素坐标位置。
[0163]
步骤c,根据差异更小的像素坐标位置和当前鱼眼相机对应的鱼眼图像中各个像素点的坐标位置,确定各个像素点的像素偏移量,进而基于该像素偏移量构建当前鱼眼相机对应的鱼眼图像中各个像素点的深度值,得到优化后的鱼眼深度图。
[0164]
进一步地,在获得鱼眼深度图后,还可以根据鱼眼深度图计算像素差异作为数据集,然后基于鱼眼深度图的梯度值作为平滑项,基于能量最小化计算得到最终的鱼眼深度图,实现对鱼眼深度图进一步迭代优化。
[0165]
步骤4,渲染成统一的全景视频帧。
[0166]
通过步骤3得到每个鱼眼相机对应鱼眼图像的鱼眼深度图后,将各个鱼眼相机对应的鱼眼图像投影到单位球坐标系上,然后根据相应的鱼眼深度图,计算得到各个鱼眼相机对应的鱼眼图像在其相应的相机坐标系下的三维点云数据。
[0167]
根据步骤1中得到的每个鱼眼相机内参以及相机外参,将各个相机坐标系下的三维点云数据转换到0号相机坐标系(基准相机的相机坐标系)下,得到整个场景统一坐标系下的全景点云数据。
[0168]
通过delaunay三角剖分算法,基于全景点云数据构建三维曲面图像。
[0169]
根据输入的6dof对应的6维信息(三个旋转信息和世界坐标系下的空间平移量),确定用户对应的标的坐标系。通过opengl将三维曲面图像渲染到标的坐标系下,最终通过投影的方式得到全景视频帧。
[0170]
可以理解的是,每一时刻对应的鱼眼图像都可以通过上述步骤获得该时刻下的全景点云数据、以及三维曲面图像,然后根据用户在该时刻下的动态6dof信息,基于三维曲面图像渲染对应的全景视频帧,得到6dof视频。
[0171]
为了更好实施本技术实施例提供的全景视频生成方法,在本技术实施例所提全景视频生成方法的基础之上,本技术实施例中还提供一种全景视频生成装置,如图7所示,全景视频生成装置700包括:
[0172]
鱼眼图像获取模块710,用于获取待处理的目标鱼眼图像;
[0173]
点云数据获取模块720,用于根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;
[0174]
曲面图像获取模块730,用于根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;
[0175]
全景视频获取模块740,用于获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。
[0176]
在本技术一些实施例中,点云数据获取模块720,具体还用于获取目标鱼眼图像中各像素点在球坐标系中的三维球面坐标;基于目标鱼眼图像的鱼眼深度图以及各像素点在单位球坐标系中的三维球面坐标,生成相机坐标系下的三维点云数据。
[0177]
在本技术一些实施例中,目标鱼眼图像包括通过多目鱼眼摄像装置获取的多个鱼眼图像;曲面图像获取模块730,具体还用于从多目鱼眼摄像装置中确定基准鱼眼相机;将目标鱼眼图像在相机坐标系下的三维点云数据,映射至基准鱼眼相机对应的相机坐标系中,得到全景点云数据。
[0178]
在本技术一些实施例中,全景视频获取模块740,具体还用于获取对象视野的旋转角信息以及在世界坐标系下的位置信息;根据旋转角信息以及位置信息,生成标的坐标系。
[0179]
在本技术一些实施例中,点云数据获取模块720,具体还用于获取目标鱼眼图像对应的参考鱼眼图像;分别获取目标鱼眼图像以及参考鱼眼图像的柱面展开图,得到目标带状图以及参考带状图;根据目标带状图和参考带状图,生成目标鱼眼图像的带状深度图;基于带状深度图构建目标鱼眼图像对应的鱼眼深度图。
[0180]
在本技术一些实施例中,点云数据获取模块720,具体还用于分别从目标带状图以及参考带状图中,提取目标带状特征图以及参考带状特征图;根据目标带状特征图以及参考带状特征图计算像素相似信息;根据像素相似信息以及目标带状特征图更新视差信息,基于更新后的视差信息获取带状深度图。
[0181]
在本技术一些实施例中,点云数据获取模块720,具体还用于基于带状深度图构建初始鱼眼深度图;基于初始鱼眼深度图和目标鱼眼图像,计算目标鱼眼图像中各个像素点的目标像素偏移量;根据目标鱼眼图像中各像素点的坐标位置以及目标像素偏移量,构建目标鱼眼图像对应的鱼眼深度图。
[0182]
在本技术一些实施例中,点云数据获取模块720,具体还用于将所述目标鱼眼图像
投影至所述参考鱼眼图像对应的相机坐标系中,得到投影图像;基于所述初始鱼眼深度图,计算所述投影图像与所述目标鱼眼图像中像素点间的初始像素偏移量;获取所述投影图像与所述目标鱼眼图像的光流值,基于所述光流值更新所述投影图像中各个像素点的初始像素偏移量,得到目标像素偏移量。
[0183]
在本技术一些实施例中,全景视频生成装置700可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该全景视频生成装置700的各个程序模块,比如,图7所示的鱼眼图像获取模块710、点云数据获取模块720、曲面图像获取模块730以及全景视频获取模块740。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本技术各个实施例的全景视频生成方法中的步骤。
[0184]
例如,图8所示的计算机设备可以通过如图7所示的全景视频生成装置700中的鱼眼图像获取模块710执行步骤s310。计算机设备可通过点云数据获取模块720执行步骤s320。计算机设备可通过曲面图像获取模块730执行步骤s330。计算机设备可通过全景视频获取模块740执行步骤s340。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种全景视频生成方法。
[0185]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0186]
在本技术一些实施例中,提供了一种计算机设备,包括一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述全景视频生成方法的步骤。此处全景视频生成方法的步骤可以是上述各个实施例的全景视频生成方法中的步骤。
[0187]
在本技术一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器进行加载,使得处理器执行上述全景视频生成方法的步骤。此处全景视频生成方法的步骤可以是上述各个实施例的全景视频生成方法中的步骤。
[0188]
本邻域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0189]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例
中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0190]
以上对本技术实施例所提供的一种全景视频生成方法、装置、计算机设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种全景视频生成方法,其特征在于,包括:获取待处理的目标鱼眼图像;根据所述目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;根据所述三维点云数据构建全景点云数据,以及所述全景点云数据对应的三维曲面图像;获取对象视野的标的坐标系,基于所述三维曲面图像在所述标的坐标系中生成全景视频帧。2.根据权利要求1所述的方法,其特征在于,所述根据所述目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据,包括:获取所述目标鱼眼图像中各像素点在球坐标系中的三维球面坐标;基于所述目标鱼眼图像的鱼眼深度图以及各像素点在单位球坐标系中的三维球面坐标,生成相机坐标系下的三维点云数据。3.根据权利要求1所述的方法,其特征在于,所述目标鱼眼图像包括通过多目鱼眼摄像装置获取的多个鱼眼图像;所述根据所述三维点云数据构建全景点云数据,包括:从所述多目鱼眼摄像装置中确定基准鱼眼相机;将所述目标鱼眼图像在相机坐标系下的三维点云数据,映射至所述基准鱼眼相机对应的相机坐标系中,得到全景点云数据。4.根据权利要求1所述的方法,其特征在于,所述获取对象视野的标的坐标系,包括:获取对象视野的旋转角信息以及在世界坐标系下的位置信息;根据所述旋转角信息以及所述位置信息,生成标的坐标系。5.根据权利要求1所述的方法,其特征在于,所述根据所述目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据之前,还包括:获取所述目标鱼眼图像对应的参考鱼眼图像;分别获取所述目标鱼眼图像以及所述参考鱼眼图像的柱面展开图,得到目标带状图以及参考带状图;根据所述目标带状图和所述参考带状图,生成所述目标鱼眼图像的带状深度图;基于所述带状深度图构建所述目标鱼眼图像对应的鱼眼深度图。6.根据权利要求5所述的方法,其特征在于,所述根据所述目标带状图和所述参考带状图,生成所述目标鱼眼图像的带状深度图,包括:分别从所述目标带状图以及所述参考带状图中,提取目标带状特征图以及参考带状特征图;根据所述目标带状特征图以及所述参考带状特征图计算像素相似信息;根据所述像素相似信息以及所述目标带状特征图更新视差信息,基于更新后的视差信息获取带状深度图。7.根据权利要求6所述的方法,其特征在于,所述基于所述带状深度图构建所述目标鱼眼图像对应的鱼眼深度图,包括:基于所述带状深度图构建初始鱼眼深度图;基于所述初始鱼眼深度图和所述目标鱼眼图像,计算所述目标鱼眼图像中各个像素点
的目标像素偏移量;根据所述目标鱼眼图像中各像素点的坐标位置以及所述目标像素偏移量,构建所述目标鱼眼图像对应的鱼眼深度图。8.根据权利要求7所述的方法,其特征在于,所述基于所述初始鱼眼深度图和所述目标鱼眼图像,计算所述目标鱼眼图像中各个像素点的目标像素偏移量,包括:将所述目标鱼眼图像投影至所述参考鱼眼图像对应的相机坐标系中,得到投影图像;基于所述初始鱼眼深度图,计算所述投影图像与所述目标鱼眼图像中像素点间的初始像素偏移量;获取所述投影图像与所述目标鱼眼图像的光流值,基于所述光流值更新所述投影图像中各个像素点的初始像素偏移量,得到目标像素偏移量。9.一种全景视频生成装置,其特征在于,包括:鱼眼图像获取模块,用于获取待处理的目标鱼眼图像;点云数据获取模块,用于根据所述目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;曲面图像获取模块,用于根据所述三维点云数据构建全景点云数据,以及所述全景点云数据对应的三维曲面图像;全景视频获取模块,用于获取对象视野的标的坐标系,基于所述三维曲面图像在所述标的坐标系中生成全景视频帧。10.一种计算机设备,其特征在于,所述计算机设备包括:一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至8中任一项所述的全景视频生成方法。11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至8任一项所述的全景视频生成方法中的步骤。
技术总结
本申请提供一种全景视频生成方法、装置、计算机设备以及存储介质,该方法通过获取待处理的目标鱼眼图像;根据目标鱼眼图像的鱼眼深度图,生成相机坐标系下的三维点云数据;根据三维点云数据构建全景点云数据,以及全景点云数据对应的三维曲面图像;获取对象视野的标的坐标系,基于三维曲面图像在标的坐标系中生成全景视频帧。通过将鱼眼图像转换为拍摄场景下的全景点云数据,并根据全景点云数据生成三维曲面图像,在获取对象视野的标的坐标系后,将三维曲面图像渲染至标的坐标系,得到用户视野跟踪的全景视频帧,实现生成既跟随用户头部的转动带来的视野角度变化、又跟随用户的位置变化的全景视频画面。化的全景视频画面。化的全景视频画面。
技术研发人员:谢朝毅
受保护的技术使用者:影石创新科技股份有限公司
技术研发日:2022.03.18
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/