CN114283243A - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114283243A CN114283243A CN202111640797.8A CN202111640797A CN114283243A CN 114283243 A CN114283243 A CN 114283243A CN 202111640797 A CN202111640797 A CN 202111640797A CN 114283243 A CN114283243 A CN 114283243A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- vertex
- frame
- pixel point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种数据处理方法、装置、计算机设备及存储介质,其中,该方法包括:获取目标空间的影像数据;基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
Description
技术领域
本公开涉及增强现实(Augmented Reality,AR)技术领域,具体而言,涉及一种数据处理方法、装置、计算机设备及存储介质。
背景技术
随着AR技术的快速发展,通过全景视图对某些场所进行线上全景漫游已成为一种较为常用的游览手段,如AR看房、AR景区游览等;当前的全景漫游技术通常是基于摄像头拍摄目标空间中的某一位置点在多个视角下的不同二维图像,然后将多个视角分别对应的二维图像拼接成一张全景图像,得到该位置点对应的全景漫游数据;通过生成多个位置点分别对应的全景漫游数据,得到目标空间的全景漫游数据;这种生成全景漫游数据的方式,存在图像畸变较大,不能反映目标空间的真实场景的问题。
发明内容
本公开实施例至少提供一种数据处理方法、装置、计算机设备及存储介质。
第一方面,本公开实施例提供了一种数据处理方法,包括:获取目标空间的影像数据;基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
这样,通过生成目标空间的带有像素信息的目标三维模型,并利用目标三维模型,生成目标空间的全景漫游数据,使得全景漫游数据可以是基于目标三维模型中各顶点的像素信息直接进行像素映射生成的,从而能够降低目标空间中的物体在生成的全景漫游数据中的畸变,能够更加真实的还原目标空间。
一种可选的实施方式中,所述基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型,包括:基于所述影像数据、以及所述图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,对所述目标空间进行三维重建,得到所述目标空间的三维模型;所述三维模型包括:位于所述目标空间内的目标对象表面的多个顶点、以及各个顶点分别在所述目标空间内的位置信息;基于所述影像数据中各个像素点分别对应的像素值,对于各个像素点对应的顶点进行像素映射,得到所述三维模型中各个顶点分别对应的像素信息;基于所述三维模型中各个顶点分别对应的像素信息,得到所述目标三维模型。
这样,基于影像数据、以及图像采集设备在采集影像数据时在目标空间中的第一位姿,对目标空间进行三维重建,生成能够反映目标空间的真实空间结构、以及目标空间中包含的各设备的真实空间结构以及各设备在目标空间中的真实位置的三维模型,并基于影像数据中各像素点对应的像素信息,对各像素点对应的顶点进行像素映射,得到目标空间的携带有像素信息的目标三维模型,为后续生成全景漫游数据提供较为精确的数据来源。
一种可选的实施方式中,所述目标对象包括下述至少一种:目标空间内的建筑、以及部署在所述目标空间中的设备。
一种可选的实施方式中,所述响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据,包括:响应于全景漫游被触发,基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定所述虚拟相机在所述第二位姿下对应的视角范围;基于所述目标三维模型,生成所述视角范围下的投影图像;基于所述视角范围下的投影图像,生成所述虚拟相机在所述第二位姿下对应的全景漫游数据。
这样,基于目标三维模型、以及虚拟相机在目标空间对应的虚拟场景中的第二位姿,生成第二位姿下对应的投影图像,以基于该投影图像实现目标空间的三维视角全景漫游,使得全景漫游数据可以是目标空间中任一位置点对应的漫游数据,因此,具有更大的灵活性。
一种可选的实施方式中,基于所述目标三维模型,生成该视角范围下的投影图像,包括:确定所述虚拟相机在所述第二位姿下对应的投影平面;基于所述投影平面在所述目标三维模型中的位姿,从所述目标三维模型中,确定目标顶点;将所述目标顶点分别对应的像素信息,投影至所述投影平面,生成该视角范围下的投影图像。
一种可选的实施方式中,所述生成全景漫游数据之后,所述方法还包括:响应于对所述全景漫游数据中第一像素点和第二像素点的测距操作,基于所述第一像素点对应的第一目标顶点的第一深度值、和所述第二像素点对应的第二目标顶点的第二深度值,确定所述第一目标顶点和所述第二目标顶点之间的距离。
这样,在生成全景漫游数据后,可以通过响应于对全景漫游数据中的第一像素点和第二像素点的测距操作,确定第一像素点对应的第一目标顶点的第一深度值和第二像素点对应的第二目标顶点的第二深度值,并利用该第一深度值和第二深度值进行测距,从而能够精准的测量目标三维模型中不同顶点之间的距离,同时测距过程也无需复杂的运算过程,具有更高的测量效率,达到兼顾测量精度、以及测量效率的效果。
一种可选的实施方式中,所述第一像素点和所述第二像素点属于同一帧全景漫游数据,所述方法还包括:基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述全景漫游数据中所述第一像素点和所述第二像素点的测距操作,从所述预设缓存中读取所述第一目标顶点对应的第一深度值、以及所述第二目标顶点对应的第二深度值。
这样,在第一像素点和第二像素点属于同一帧全景漫游数据的情况下,可以将确定的目标三维模型中各目标顶点的深度信息存储到预设缓存中,响应于对全景漫游数据中第一像素点和第二像素点的测距操作,可以方便的从预设缓存中读取第一目标顶点对应的第一深度值、以及第二目标顶点对应的第二深度值,并利用该第一深度值和第二深度值进行测距,从而能够精准的测量目标三维模型中不同顶点之间的距离,同时测距过程也无需复杂的运算过程,具有更高的测量效率,达到兼顾测量精度、以及测量效率的效果。
一种可选的实施方式中,所述第一像素点属于第一帧全景漫游数据,所述第二像素点属于第二帧全景漫游数据,且所述第一帧全景漫游数据和所述第二帧全景漫游数据为不同全景漫游数据,所述方法还包括:响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值。
这样,通过记录第一像素点对应的第一目标顶点的第一深度值、以及第一虚拟相机位姿、以及第二像素点对应的第二目标顶点的第二深度值、以及第二虚拟相机位姿,便于精确高效地确定第一目标顶点和第二目标顶点之间的距离。
一种可选的实施方式中,所述响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值,包括:基于在生成所述第一帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,从所述预设缓存中读取与所述第一像素点对应的第一目标顶点的第一深度值,并记录所述第一虚拟相机位姿、以及所述第一目标顶点的第一深度值。
这样,将确定的目标三维模型中各目标顶点的深度信息存储到预设缓存中,响应于对第一帧全景漫游数据中第一像素点的选择操作,可以方便的从预设缓存中读取第一目标顶点对应的第一深度值,从而为后续能够精准的测量目标三维模型中第一目标顶点和第二目标顶点之间的距离提供了数据基础,同时使得测距过程无需复杂的运算,提高了测量效率,进一步达到兼顾测量精度、以及测量效率的效果。
一种可选的实施方式中,所述响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值,包括:基于在生成所述第二帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第二虚拟相机位姿,确定第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,从所述预设缓存中读取与所述第二像素点对应的第二目标顶点的第二深度值,并记录所述第二虚拟相机位姿、以及所述第二目标顶点的第二深度值。
这样,将确定的目标三维模型中各目标顶点的深度信息存储到预设缓存中,响应于对第二帧全景漫游数据中第二像素点的选择操作,可以方便的从预设缓存中读取第二目标顶点对应的第二深度值,从而为后续能够精准的测量目标三维模型中第一目标顶点和第二目标顶点之间的距离提供了数据基础,同时使得测距过程无需复杂的运算,提高了测量效率,进一步达到兼顾测量精度、以及测量效率的效果。
第二方面,本公开实施例还提供一种数据处理装置,包括:获取模块,用于获取目标空间的影像数据;第一生成模块,用于基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;第二生成模块,用于响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
一种可选的实施方式中,所述第一生成模块在执行所述基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型时,具体用于:基于所述影像数据、以及所述图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,对所述目标空间进行三维重建,得到所述目标空间的三维模型;所述三维模型包括:位于所述目标空间内的目标对象表面的多个顶点、以及各个顶点分别在所述目标空间内的位置信息;基于所述影像数据中各个像素点分别对应的像素值,对于各个像素点对应的顶点进行像素映射,得到所述三维模型中各个顶点分别对应的像素信息;基于所述三维模型中各个顶点分别对应的像素信息,得到所述目标三维模型。
一种可选的实施方式中,所述目标对象包括下述至少一种:目标空间内的建筑、以及部署在所述目标空间中的设备。
一种可选的实施方式中,所述第二生成模块在执行所述响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据时,具体用于:响应于全景漫游被触发,基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定所述虚拟相机在所述第二位姿下对应的视角范围;基于所述目标三维模型,生成所述视角范围下的投影图像;基于所述视角范围下的投影图像,生成所述虚拟相机在所述第二位姿下对应的全景漫游数据。
一种可选的实施方式中,所述第二生成模块在执行基于所述目标三维模型,生成该视角范围下的投影图像时,具体用于:确定所述虚拟相机在所述第二位姿下对应的投影平面;基于所述投影平面在所述目标三维模型中的位姿,从所述目标三维模型中,确定目标顶点;将所述目标顶点分别对应的像素信息,投影至所述投影平面,生成该视角范围下的投影图像。
一种可选的实施方式中,所述第二生成模块在执行所述生成全景漫游数据之后,还用于:响应于对所述全景漫游数据中第一像素点和第二像素点的测距操作,基于所述第一像素点对应的第一目标顶点的第一深度值、和所述第二像素点对应的第二目标顶点的第二深度值,确定所述第一目标顶点和所述第二目标顶点之间的距离。
一种可选的实施方式中,所述第一像素点和所述第二像素点属于同一帧全景漫游数据,所述第二生成模块还用于:基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述全景漫游数据中所述第一像素点和所述第二像素点的测距操作,从所述预设缓存中读取所述第一目标顶点对应的第一深度值、以及所述第二目标顶点对应的第二深度值。
一种可选的实施方式中,所述第一像素点属于第一帧全景漫游数据,所述第二像素点属于第二帧全景漫游数据,且所述第一帧全景漫游数据和所述第二帧全景漫游数据为不同全景漫游数据,所述第二生成模块还用于:响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值。
一种可选的实施方式中,所述第二生成模块在执行所述响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应的第一目标顶点的第一深度值时,具体用于:基于在生成所述第一帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,从所述预设缓存中读取与所述第一像素点对应的第一目标顶点的第一深度值。
一种可选的实施方式中,所述第二生成模块在执行所述响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值时,具体用于:基于在生成所述第二帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第二虚拟相机位姿,确定第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,从所述预设缓存中读取与所述第二像素点对应的第二目标顶点的第二深度值,并记录所述第二虚拟相机位姿、以及所述第二目标顶点的第二深度值。
第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述数据处理装置、计算机设备、及计算机可读存储介质的效果描述参见上述数据处理方法的说明,这里不再赘述。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据处理方法的流程图;
图2示出了本公开实施例所提供的数据处理方法中,一种生成三维稠密模型的具体方式的流程图;
图3示出了本公开实施例所提供的一种数据处理装置的示意图;
图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,目前可以通过至少两个摄像头的全景摄像装置拍摄空间,其中所有摄像头的镜头的视角之和形成大于或等于360度的球面视角,然后将拍摄到的图像传输至图像处理终端后利用图像处理软件对不同摄像头拍摄的画面结合处进行修饰,使不同摄像头拍摄画面实现平滑结合,以生成360度全景画面,并基于该360度全景画面实现全景漫游,但是由于使用摄像头拍摄的图像为二维图像,因此在形成全景画面时,物体会发生一定的畸变,导致全景画面不能反映空间的真实场景。
基于上述研究,本公开提供了一种数据处理方法、装置、计算机设备及存储介质,通过生成目标空间的带有像素信息的目标三维模型,并利用目标三维模型,生成目标空间的全景漫游数据,使得全景漫游数据可以是基于目标三维模型中各顶点的像素信息直接进行像素映射生成的,从而能够降低目标空间中的物体在生成的全景漫游数据中的畸变,能够更加真实的还原目标空间。
针对现有方案所存在的缺陷以及本公开所提出的解决方案,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍,本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种数据处理方法的流程图,所述方法包括步骤S101~S103,其中:
S101、获取目标空间的影像数据。
其中,目标空间例如可以包括但不限于机房(或者站点)、厂房、展馆等室内实体空间,以目标空间包括机房为例,其中例如可以存放有计算机设备、数据存储设备、以及信号接收设备等;以目标空间包括厂房为例,其中例如可以存在有生产设备、装卸设备、运输设备等;此外,目标空间还可以为室外实体空间,例如,为例对用于通信或者用于传输电力的杆塔的周边环境进行检测,以防止杆塔周边的植被在生长过程中影响杆塔的正常应用,因此,可以将杆塔及周边环境所处的空间作为目标空间;影像数据包括但不限于利用图像采集设备,对目标空间进行图像采集得到的图像或者视频;其中,视频例如可以包括全景视频,图像采集设备例如可以包括但不限于手机、摄像头、摄像机、相机、全景相机、无人驾驶飞行器等中的至少一种。
示例性的,在影像数据包括视频的情况下,可以通过控制搭载有图像采集设备的机器人在目标空间中行走,以获取目标空间对应的视频;或者,也可以通过查勘人员等工作人员持图像采集设备的方式,对目标空间进行图像采集,以获取目标空间对应的视频;或者,也可以通过控制搭载有图像采集设备的无人机在目标空间中飞行,以采集目标空间的视频。
此处,在对目标空间进行图像采集时,为了保证目标空间的建模质量,可以控制图像采集设备在不同的位姿下对目标空间进行图像采集,以构成目标空间对应的视频。
其中,由于图像采集设备对目标空间进行图像采集得到的视频帧图像在进行数据处理时,例如会用于三维模型重建,因此需要确定图像采集设备在采集影像数据时在目标空间中的第一位姿。在该种情况下,例如可以在利用图像采集设备对目标空间进行图像采集前,对图像采集设备的陀螺仪进行校准,以确定图像采集设备在目标空间中的第一位姿;示例性的,例如可以调整图像采集设备的光轴与目标空间的地面平行。
在对图像采集设备的陀螺仪进行校准后,可以通过选择图像采集设备的视频模式进行图像采集,并得到目标空间对应的视频。
承接上述S101,本公开实施例提供的数据处理方法还包括:
S102、基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型。
在具体实施中,可以采用下述方式生成目标空间的带有像素信息的目标三维模型:基于影像数据、以及图像采集设备在采集影像数据时在目标空间中的第一位姿,对目标空间进行三维重建,得到目标空间的三维模型;基于影像数据中各个像素点分别对应的像素值,对于各个像素点对应的顶点进行像素映射,得到三维模型中各个顶点分别对应的像素信息;基于三维模型中各个顶点分别对应的像素信息,得到目标三维模型。
其中,三维模型包括:位于目标空间内的目标对象表面的多个顶点、以及各个顶点分别在目标空间内的位置信息;此处,目标空间内的目标对象可以包括但不限于下述至少一种:目标空间内的建筑、以及部署在目标空间中的设备;以目标空间包括机房为例,则目标空间内的建筑例如可以包括但不限于机房墙体、机房天花板、机房地面、机房柱子等中的至少一种;部署在目标空间中的设备例如可以包括但不限于:机房天面上安装的杆塔和户外机柜、以及与杆塔连接的走线架、以及在机房地面上摆放的室内机柜等中的至少一种。
示例性的,在基于影视数据、以及图像采集设备在采集影视数据时在目标空间中的第一位姿,对目标空间进行三维重建,得到目标空间的三维模型时,可以采用但不限于下述A1~A2中的至少一种方式:
A1、图像采集设备仅承担图像采集的任务,并依赖于网络连接将采集得到的影像数据、以及在采集影像数据时在目标空间中的第一位姿传输至数据处理设备,以使数据处理设备建立目标空间的三维模型。
其中,可以依赖的网络连接例如可以包括但不限于光纤以太网适配器FiberEthernet Adapter、移动通信技术(例如第四代移动通信技术(4G)、或者第五代移动通信技术(5G))、以及无线保真通信(Wireless Fidelity,Wi-Fi);数据处理设备例如可以包括但不限于上述说明的计算机设备。
数据处理设备对影像数据进行处理时,例如可以根据影像数据、以及图像采集设备在采集影像数据时的第一位姿(即图像采集设备在目标空间中的位姿),对目标空间进行三维稠密重建,得到目标空间的三维稠密模型。此处,三维稠密模型包括多个面片、以及多个面片分别对应的顶点;任一面片与其他至少一个面片具有至少一个相同顶点;本公开实施例中提供的面片例如可以包括但不限于三角形面片、四边形面片等中的至少一种,具体不做具体限定。
此处,在获取图像采集设备在采集影像数据时在目标空间中的第一位姿时,例如可以获取图像采集设备在采集影像数据时惯性测量单元(Inertial Measurement Unit,IMU)的相关数据。示例性的,在图像采集设备的惯性测量单元IMU中,例如可以包含有三个单轴的加速度计和三个单轴的陀螺仪,加速度计可以检测图像采集设备在采集影像数据时的加速度,陀螺仪可以检测图像采集设备在采集影像数据时的角速度。这样,通过对图像采集设备中惯性测量单元IMU的相关数据进行采集,可以准确地确定图像采集设备采集影像数据时的第一位姿。
示例性的,在图像采集设备采集影像数据时,可以在图像采集设备逐渐移动采集到影像数据时,逐渐生成覆盖目标对象的三维稠密模型;又或者,在图像采集设备结束对影像数据的采集后,利用得到的完整的影像数据生成目标对象对应的三维稠密模型。
在本公开另一实施例中,还可以基于全景相机对目标空间进行图像采集得到的全景视频,生成目标空间的三维模型。其中,全景相机选取扫描仪上前后位置设置的两个鱼眼相机;鱼眼相机在扫描仪上以预设位姿安置,以获取完整的目标空间对应的全景视频。
参见图2所示,为本公开实施例提供的一种数据处理设备利用全景相机对目标对象进行图像采集得到的全景视频,生成三维稠密模型的具体方式的流程图,其中:
S201、数据处理设备获取扫描仪前后两个鱼眼相机实时采集时间同步的两个全景视频。
其中,两个全景视频中分别包括多帧视频帧图像。由于两个鱼眼相机实时采集时间同步的两个全景视频,因此两个全景视频中分别包括的多帧视频帧图像的时间戳分别对应。
另外,还可以根据两个鱼眼相机的具体器械参数确定时间戳的精度、以及在采集全景视频中的视频帧图像时采集频率。例如,设置采集视频帧图像时的时间戳精确到纳秒;采集全景视频中的视频帧图像时采集频率不低于30赫兹(Hz)。
S202、数据处理设备确定两个鱼眼相机在分别获取全景视频时的惯性测量单元IMU的相关数据。
以两个鱼眼相机中的任一个为例,在其采集全景视频中的视频帧图像时,可以相应的观测获取相邻两帧视频帧之间的惯性测量单元IMU的相关数据、以及获取该相关数据时的时间戳。具体地,还可以为鱼眼相机确定对应的扫描仪坐标系(该扫描仪坐标系例如可以由X轴、Y轴、以及Z轴构成),以确定惯性测量单元IMU在扫描仪坐标系上的相关数据,例如在扫描仪坐标系的X轴、Y轴、以及Z轴下的加速度以及角速度。
另外,还可以根据两个鱼眼相机的具体器械参数,确定获取惯性测量单元IMU的相关数据时的时间戳。示例性的,可以确定获取惯性测量单元IMU的相关数据的观测频率不低于400Hz。
S203、数据处理设备基于惯性测量单元IMU的相关数据,确定在世界坐标系下两个鱼眼相机的位姿。
具体地,由于可以确定扫描仪坐标系以及世界坐标系之间的坐标系转换关系,因此在获取到惯性测量单元IMU的相关数据后,可以根据该坐标系转换关系,确定在世界坐标系下两个鱼眼相机的位姿,例如可以表示为6自由度(6-Degree Of Freedom,6DOF)位姿,具体的根据扫描仪坐标系以及世界坐标系之间的坐标系转换关系,确定在世界坐标系下的两个鱼眼相机的位姿采用的是现有的坐标系转换方法,在此不再赘述。
针对上述S201~S203,由于全景视频中的视频帧图像均为全景图像,因此利用图像处理、提取关键点、追踪关键点、建立关键点之间的关联关系的处理步骤,可以精确地求解出图像采集设备的6DOF位姿,也即实现了实时对图像采集设备的6DOF位姿采集计算;并且,也可以得到目标空间中稠密点云点的坐标。
其中,在对全景视频中的视频帧图像进行处理时,还可以在全景视频中的对应的多帧视频帧图像中确定关键帧图像,以在保证三维稠密重建的过程中具有足够数量的处理数据的同时,减少计算量,提高效率。
具体的,从全景视频中确定关键帧图像的方式例如可以采用但不限于下述B1~B4中的至少一种方式:
B1、利用隔帧抽样法,从全景视频中抽取至少一帧视频帧图像作为关键帧图像。
B2、采用预设时间抽取预设数量的视频帧图像的频率,从全景视频中抽取至少一帧视频帧图像作为关键帧图像。
其中,预设时间抽取预设数量的视频帧图像例如可以包括但不限于:每秒两帧。
B3、采用图像处理算法、图像分析算法、自然语言处理(Natural LanguageProcessing,NLP)等技术,对全景视频中各帧视频帧图像的内容进行识别,确定各帧视频帧图像对应的语义信息,基于各帧视频帧图像对应的语义信息,提取包含目标对象的视频帧图像,作为关键帧图像。
B4、响应于对全景视频中视频帧图像的选择,确定全景视频中的关键帧图像。
在具体实施中,可以将目标空间的全景视频展示给用户,并在展示全景视频时,响应于用户对其中的部分视频帧的选定操作,将选定的该部分视频帧作为全景视频中的关键帧图像。
示例性的,在向用户展示全景视频时,例如可以向用户显示选定关键帧图像的提示信息。具体地,例如可以响应于用户的长按、双击等具体操作对全景视频中的视频帧图像进行选定,并将选定的视频帧图像作为关键帧图像。另外,还可以展示提示信息,例如展示包含文字“请长按以选定该帧视频帧图像”,并在接收到用户对全景视频中的任一帧视频帧图像进行长按操作的情况下,将该帧视频帧图像作为关键帧图像。
在确定全景视频中的关键帧图像后,可以在后台存储关键帧图像地图,以便在控制图像采集设备重新返回已采集位置后,可以将该位置下的两帧视频帧图像进行对比,以对图像采集设备进行回环检测,从而修正图像采集设备在长时间、长距离作业下的定位累计误差。
S204、数据处理设备将鱼眼相机分别获取得到的全景视频中的关键帧图像、以及鱼眼相机的位姿作为实时稠密重建算法的输入数据进行处理。
示例性的,对于任一鱼眼相机获取的全景视频,在利用上述S201~S203确定全景视频中的新的关键帧图像后,将当前得到的所有关键帧图像、以及新的关键帧图像对应的鱼眼相机的位姿作为实时稠密重建算法的输入数据。
其中,由于在得到新的关键帧图像之前,针对已传输过的关键帧图像,已在将其作为实时稠密重建算法的输入数据时,将其对应的鱼眼相机的位姿作为输入数据输入至实时稠密重建算法,因此在输入新的关键帧图像时,可以不再重复输入。
S205、数据处理设备利用实时稠密重建算法对输入数据进行处理,得到目标空间对应的三维稠密模型。
示例性的,得到的三维稠密模型例如可以包括但不限于:位于目标对象表面的多个面片、以及各面片分别对应的顶点、以及各顶点分别在目标空间内的位置信息。
针对上述S204~S205,在采用实时稠密重建算法时,可以利用稠密立体匹配技术,估计关键帧图像对应的稠密深度图,并利用对应的鱼眼相机的位姿将该稠密深度图融合成三维稠密模型,从而在对目标空间采集完毕后生成三维模型。
其中,稠密深度图也称为距离图像,与灰度图像中的像素点存储亮度值不同,其像素点存储的是该点到图像采集设备之间的距离,即深度值;由于深度值的大小只与距离有关,而与环境、光线、方向等因素无关,因此,稠密深度图能够真实准确的体现目标空间的几何深度信息,这样可以基于稠密深度图生成能够体现真实的目标空间的三维稠密模型;此外,考虑到设备分辨率的限制,可以对稠密深度图进行去噪或修复等图像增强处理,以为三维重建提供高质量的稠密深度图像。
在一种可能的情况下,对于已经过处理的关键帧图像,利用该关键帧图像对应的图像采集设备的位姿、以及与其相邻的新的关键帧图像对应的图像采集设备的位姿,可以确定图像采集设备在对目标空间进行采集时的位姿是否由有调整。若位姿并未出现调整,则继续对目标空间进行实时三维稠密重建,以得到三维稠密模型;若位姿出现调整,则根据位姿的调整对稠密深度图进行相应的调整,以基于调整后的稠密深度图,对目标空间进行实时三维稠密重建,从而得到准确的三维稠密模型。
A2、图像采集设备具有可以对影像数据进行数据处理的算力,并在采集得到影像数据后,即利用自身算力对影像数据进行数据处理,以得到目标空间对应的三维模型。
此处,图像采集设备基于影像数据,生成目标空间的三维模型的具体方式,可以参照上述A1的描述,重复之处不再赘述。
在基于上述A1~A2中的至少一种,对目标空间进行三维重建,得到目标空间的三维模型后,可以确定影视数据中各个像素点在三维模型中对应的顶点,基于影视数据中各个像素点分别对应的像素值,对各个像素点对应的顶点进行像素映射,得到三维模型中各个顶点分别对应的像素信息;基于三维模型中各个顶点分别对应的像素信息,得到目标空间的带有像素信息的目标三维模型。
承接上述S102,本公开实施例提供的数据处理方法还包括:
S103、响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
在本公开实施例中,为了解决现有技术中使用图像采集设备采集的目标空间的二维图像,生成的全景画面,物体可能存在变形,导致基于全景画面无法实现目标空间对应的真实场景的漫游的问题,可以采用能够反映真实目标空间的带有像素信息的目标三维模型,生成目标空间的全景漫游数据。
在具体实施中,响应于全景漫游被触发,基于虚拟相机在目标空间对应的虚拟场景中的第二位姿,确定虚拟相机在第二位姿下对应的视角范围;基于目标三维模型,生成视角范围下的投影图像;基于视角范围下的投影图像,生成虚拟相机在第二位姿下对应的全景漫游数据。
其中,虚拟相机在目标空间对应的虚拟场景中的第二位姿可以包括位置和姿态,该第二位姿例如可以为但不限于:图像采集设备采集目标空间的影像数据时的第一位姿;虚拟相机在第二位姿下对应的视角范围可以包括但不限于:将虚拟相机的拍摄原点置于第二位姿对应的位置处,基于虚拟相机在第二位姿下的姿态,确定的虚拟相机的拍摄范围。
具体的,基于虚拟相机在目标空间对应的虚拟场景中的第二位姿,确定虚拟相机在第二位姿下对应的投影平面;基于投影平面在目标三维模型中的位姿,从目标三维模型中,确定目标顶点;将目标顶点对应的像素信息,投影至投影平面,生成该视角范围下的投影图像。
示例性的,可以将第二位姿中的位置作为虚拟相机的拍摄原点,基于该拍摄原点的位置信息、以及虚拟相机的焦距,确定虚拟相机在第二位姿中的姿态下的拍摄范围(即视角范围);基于第二位姿、以及虚拟相机在第二位姿下的拍摄范围,确定虚拟相机在第二位姿下对应的投影平面;在目标三维模型中,确定与投影平面的位姿匹配的目标顶点,作为能够投影到该投影平面上的顶点;将确定的各顶点携带的像素信息,投影至投影平面上,从而生成该视角范围下的投影图像;控制虚拟相机在目标空间对应的虚拟场景中移动,不断改变虚拟相机在目标空间对应的虚拟场景中的第二位姿,从而得到不同视角范围下的投影图像,得到全景漫游数据。
在具体实施中,在生成全景漫游数据之后,由于生成全景漫游数据时所用的目标三维模型中各顶点均携带有深度信息,因此可以确定全景漫游数据中任意两个像素点分别对应的顶点之间的距离,具体地:响应于对全景漫游数据中第一像素点和第二像素点的测距操作,基于第一像素点对应的第一目标顶点的第一深度值、和第二像素点对应的第二目标顶点的第二深度值,确定第一目标顶点和第二目标顶点之间的距离。
在相关技术中,在很多场景下,需要通过对真实实体空间构建的三维模型确定与三维模型对应的真实物体之间的距离。当前的测距方式有以下两种:其一:为各个真实物体分别对应的三维模型生成包围盒;真实物体对应的三维模型位于包围盒内;通过确定包围盒之间的距离,以确定真实物体和真实物体之间的距离;这种方式虽然测量较为简单,但实际上,包围盒与真实物体对应的三维模型之间可能存在较大的空隙;这造成了基于包围盒确定的距离存在较大的误差。其二:三维模型通过点云点或者网格构成,以通过网格构成为例,需要遍历三维模型中的各个网格,确定各个网格分别对应的距离,并基于各个网格分别对应的距离,确定物体之间的距离;这种方式确定的距离虽然精度较高,但是构成三维模型的网格数量较多,依次遍历三维模型的各个网格,会造成需要较久的时间,导致该种方式确定距离需要大量的运算、以及处理时间,测量效率低,且需要耗费较多的计算资源。可见,当前的测距方式存在测量精度、以及测量效率无法兼顾的问题。
本公开实施例中,是利用了第一像素点的第一深度值和第二像素点的第二深度值,得到第一像素点对应的第一目标顶点和第二像素点对应的第二目标顶点之间的距离,较之相关技术中的测距方式,具有更高的测量精度、以及更高的测量效率,从而能够达到兼顾测量精度、以及测量效率的效果。
示例性的,本公开实施例可以采用但不限于下述C1~C2中的至少一种,确定全景漫游数据中任意两个像素点分别对应的顶点之间的距离:
C1、在第一像素点和第二像素点属于同一帧全景漫游数据的情况下,可以基于虚拟相机在目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;将各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对全景漫游数据中第一像素点和第二像素点的测距操作,从预设缓存中读取第一目标顶点对应的第一深度值、以及第二目标顶点对应的第二深度值;基于第一深度值、和第二深度值,确定第一目标顶点和第二目标顶点之间的距离。
其中,预设缓存例如位于显卡对应的缓存中,包括:用于存储各像素点的像素值、和深度值的缓存空间,其包括Gbuffer;Gbuffer是显卡中存放像素的深度值的地方。对于几何渲染处理阶段,我们首先需要初始化一个帧缓冲对象,也即gBuffer,它包含了多个颜色缓冲和一个单独的深度渲染缓冲对象(Depth Renderbuffer Object)。
示例性的,可以通过响应于对全景漫游数据的展示触发操作,基于虚拟相机在目标空间对应的虚拟场景中的第二位姿、以及目标三维模型,生成虚拟相机在第二位姿下的全景漫游数据时,可以基于虚拟相机在目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;基于在目标空间对应的虚拟场景中的第二位姿、以及目标三维模型的位姿,确定虚拟相机和目标三维模型之间的投影关系信息;基于投影关系信息,确定各个目标顶点在投影图像中的投影位置;基于投影位置,确定各个目标顶点在预设缓存中的缓存位置;基于各个目标顶点在预设缓存中的缓存位置,将目标顶点对应的深度信息渲染至预设缓存中。
其中,虚拟相机和目标三维模型之间的投影关系信息是指将目标三维模型中的各顶点,投影至虚拟相机对应的投影平面时的映射关系。
在将目标顶点对应的深度信息渲染至预设缓存中后,响应于对投影图像(即虚拟相机在第二位姿下的全景漫游数据)中的第一像素点和第二像素点的测距操作,基于第一像素点在投影图像中的第一位置,从预设缓存中确定第一像素点对应的第一目标顶点的第一深度值的第一存储位置;基于第一存储位置,从预设缓存中读取第一深度值;以及,基于第二像素点在投影图像中的第二位置,从预设缓存中确定第二像素点对应的第二目标顶点的第二深度值的第二存储位置;基于第二存储位置,从预设缓存中读取第二深度值。
在从预设缓存中读取第一深度值和第二深度值之后,可以基于第一深度值、以及第二深度值,确定第一目标顶点和第二目标顶点在深度下的第一距离;以及确定第一像素点和第二像素点在投影图像所在的投影平面上的距离和相机投影原理,确定将第一目标顶点和第二目标顶点被投影至投影平面后的第二距离;基于第一距离和第二距离,确定第一目标顶点和第二目标顶点在模型坐标系下的第三距离;基于模型坐标系和现实空间之间的比例关系、以及第三距离,确定第一目标顶点和第二目标顶点之间的距离。
具体的,计算得到第一距离和第二距离后,基于勾股定理、以及第一距离和第二距离,确定三维模型中第一目标顶点、以及第二目标顶点之间的第三距离。示例性的,具体用于计算第一目标顶点、以及第二目标顶点在模型坐标系下的第三距离的公式可以如公式一所示:
其中,l1表示第一目标顶点、以及第二目标顶点在模型坐标系下的第三距离;h1表示第一目标顶点的第一深度值;h2表示第二目标顶点的第二深度值;|h1-h2|表示第一目标顶点和第二目标顶点在深度下的第一距离;c表示第一目标顶点和第二目标顶点在投影图像所在的投影平面上的第二距离。
在确定第一目标顶点和第二目标顶点在模型坐标系下的第三距离后,可以基于模型坐标系和现实空间之间的比例关系、以及第三距离,确定第一目标顶点和第二目标顶点之间的距离。其中,模型坐标系和现实空间之间的比例关系可以根据实际需求设定,此处不做具体限制;距离包括第一目标顶点和第二目标顶点在目标空间中的距离。
示例性的,若模型坐标系和现实空间之间的比例关系包括1:10,则在确定第一目标顶点和第二目标顶点在模型坐标系下的第三距离l1后,可以根据l2=10l1,计算得到第一目标顶点和第二目标顶点之间的距离l2。
C2、在第一像素点属于第一帧全景漫游数据,第二像素点属于第二帧全景漫游数据,且第一帧全景漫游数据和第二帧全景漫游数据为不同全景漫游数据的情况下,可以响应于对第一帧全景漫游数据进行第一像素点的选择操作,记录第一帧全景漫游数据对应的第一虚拟相机位姿、以及第一像素点对应第一目标顶点的第一深度值;响应于对第二帧全景漫游数据进行第二像素点的选择操作,记录第二帧全景漫游数据对应的第二虚拟相机位姿、以及第二像素点对应第二目标顶点的第二深度值;基于第一深度值和第二深度值,确定第一目标顶点和第二目标顶点之间的距离。
在具体实施中,可以通过下述方式记录第一帧全景漫游数据对应的第一虚拟相机位姿、以及第一像素点对应第一目标顶点的第一深度值:基于在生成第一帧全景漫游数据时,虚拟相机在目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对第一帧全景漫游数据进行第一像素点的选择操作,从预设缓存中读取与第一像素点对应的第一目标顶点的第一深度值,并记录第一虚拟相机位姿、以及第一目标顶点的第一深度值。
示例性的,可以通过响应于对第一帧全景漫游数据的展示触发操作,基于生成第一帧全景漫游数据时,虚拟相机在目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;基于第一虚拟相机位姿、以及目标三维模型的位姿,确定虚拟相机和目标三维模型之间的投影关系信息;基于投影关系信息,确定各个目标顶点在第一帧全景漫游数据中的投影位置;基于投影位置,确定各个目标顶点在预设缓存中的缓存位置;基于各个目标顶点在预设缓存中的缓存位置,将目标顶点对应的深度信息渲染至预设缓存中。
在将第一帧全景漫游数据对应的各个目标顶点对应的深度信息渲染至预设缓存中后,响应于对第一帧全景漫游数据进行第一像素点的选择操作,基于第一像素点在第一帧全景漫游数据中的第一位置,从预设缓存中确定第一像素点对应的第一目标顶点的第一深度值的第一存储位置;基于第一存储位置,从预设缓存中读取第一深度值;并记录第一虚拟相机位姿、以及第一深度值。
在记录第一虚拟相机位姿和第一深度值后,可以调整虚拟相机的位姿,以生成第二帧全景漫游数据,并在第二帧全景漫游数据中选择第二像素点,以测量第一像素点对应的第一目标顶点、以及第二像素点对应的第二目标顶点之间的距离。
在具体实施中,可以通过下述方式记录第二帧全景漫游数据对应的第二虚拟相机位姿、以及第二像素点对应的第二目标顶点的第二深度值:基于在生成第二帧全景漫游数据时,虚拟相机在目标空间对应的虚拟场景中的第二虚拟相机位姿,确定第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对第二帧全景漫游数据进行第二像素点的选择操作,从预设缓存中读取与第二像素点对应的第二目标顶点的第二深度值,并记录第二虚拟相机位姿、以及第二目标顶点的第二深度值。
这里,将第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息存储到预设缓存中、以及从预设缓存中读取第二目标顶点的第二深度值的具体实施方式,与本公开实施例中将第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息存储到预设缓存中、以及从预设缓存中读取第一目标顶点的第一深度值的具体实施方式类似,重复之处不再赘述。
在记录第一帧全景漫游数据中的第一像素点对应的第一目标顶点的第一深度值、以及第一虚拟相机位姿、以及第二帧全景漫游数据中的第二像素点对应的第二目标顶点的第二深度值、以及第二虚拟相机位姿后,可以基于第一虚拟相机位姿、以及第二虚拟相机位姿,确定位姿转换关系;基于确定的位姿转换关系,将第一深度值转换至第二虚拟相机位姿下对应的目标第一深度值,或者,将第二深度值转换至第一虚拟相机位姿下对应的目标第二深度值;在得到目标第一深度值或目标第二深度值后,可以基于目标第一深度值和第二深度值,确定第一目标顶点和第二目标顶点在深度下的第一距离;或者,基于第一深度值和目标第二深度值,确定一目标顶点和第二目标顶点在深度下的第一距离;确定将第一目标顶点和第二目标顶点投影至同一预设平面上时,第一目标顶点对应的像素点和第二目标顶点对应的像素点之间的距离,基于该距离和相机投影原理,确定将第一目标顶点和第二目标顶点投影至同一预设平面后的第二距离;基于第一距离和第二距离,利用勾股定理,确定第一目标顶点和第二目标顶点在模型坐标系下的第三距离;基于模型坐标系和现实空间之间的比例关系、以及第三距离,确定第一目标顶点和第二目标顶点之间的距离。具体的利用勾股定理,确定第一目标顶点和第二目标顶点在模型坐标系下的第三距离的计算方法可以参见上述C1所示的具体实施方式中公式一,重复之处不再赘述。
在具体实施中,在计算得到第一目标顶点和第二目标顶点之间的距离之后,可以基于下述但不限于D1~D2中的至少一种,对第一目标顶点和第二目标顶点之间的距离进行应用:
D1、在第一目标顶点属于目标空间中的第一对象、第二目标顶点属于目标空间中的第二对象的情况下;可以基于第一目标顶点、以及第二目标顶点之间的距离,确定第一对象、与所述第二对象之间的距离。
其中,第一对象例如可以包括目标空间中任一目标对象;第二对象例如可以包括目标空间中除第一对象外的任一目标对象。
示例性的,可以将第一目标顶点和第二目标顶点之间的距离l2,确定为第一对象和第二对象之间的距离。
D2、在第一目标顶点和第二目标顶点属于目标空间中的第一对象的情况下;可以基于第一目标顶点、以及第二目标顶点之间的距离,确定第一对象的尺寸信息。
示例性的,可以将第一目标顶点和第二目标顶点之间的目标距离l2,确定为第一对象的尺寸信息。
同理,在第一目标顶点和第二目标顶点属于目标空间中的第二对象的情况下;可以基于第一目标顶点、以及第二目标顶点之间的距离,确定第二对象的尺寸信息。示例性的,可以将第一目标顶点和第二目标顶点之间的距离l2,确定为第二对象的尺寸信息。
本公开实施例中,通过生成目标空间的带有像素信息的目标三维模型,并利用目标三维模型,生成目标空间的全景漫游数据,使得全景漫游数据可以是基于目标三维模型中各顶点的像素信息直接进行像素映射生成的,从而能够降低目标空间中的物体在生成的全景漫游数据中的畸变,能够更加真实的还原目标空间。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种数据处理装置的示意图,所述装置包括:获取模块301、第一生成模块302和第二生成模块303;其中:
获取模块301,用于获取目标空间的影像数据;第一生成模块302,用于基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;第二生成模块303,用于响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
一种可选的实施方式中,第一生成模块302在执行所述基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型时,具体用于:基于所述影像数据、以及所述图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,对所述目标空间进行三维重建,得到所述目标空间的三维模型;所述三维模型包括:位于所述目标空间内的目标对象表面的多个顶点、以及各个顶点分别在所述目标空间内的位置信息;基于所述影像数据中各个像素点分别对应的像素值,对于各个像素点对应的顶点进行像素映射,得到所述三维模型中各个顶点分别对应的像素信息;基于所述三维模型中各个顶点分别对应的像素信息,得到所述目标三维模型。
一种可选的实施方式中,所述目标对象包括下述至少一种:目标空间内的建筑、以及部署在所述目标空间中的设备。
一种可选的实施方式中,第二生成模块303在执行所述响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据时,具体用于:响应于全景漫游被触发,基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定所述虚拟相机在所述第二位姿下对应的视角范围;基于所述目标三维模型,生成所述视角范围下的投影图像;基于所述视角范围下的投影图像,生成所述虚拟相机在所述第二位姿下对应的全景漫游数据。
一种可选的实施方式中,第二生成模块303在执行基于所述目标三维模型,生成该视角范围下的投影图像时,具体用于:确定所述虚拟相机在所述第二位姿下对应的投影平面;基于所述投影平面在所述目标三维模型中的位姿,从所述目标三维模型中,确定目标顶点;将所述目标顶点分别对应的像素信息,投影至所述投影平面,生成该视角范围下的投影图像。
一种可选的实施方式中,第二生成模块303在执行所述生成全景漫游数据之后,还用于:响应于对所述全景漫游数据中第一像素点和第二像素点的测距操作,基于所述第一像素点对应的第一目标顶点的第一深度值、和所述第二像素点对应的第二目标顶点的第二深度值,确定所述第一目标顶点和所述第二目标顶点之间的距离。
一种可选的实施方式中,所述第一像素点和所述第二像素点属于同一帧全景漫游数据,第二生成模块303还用于:基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述全景漫游数据中所述第一像素点和所述第二像素点的测距操作,从所述预设缓存中读取所述第一目标顶点对应的第一深度值、以及所述第二目标顶点对应的第二深度值。
一种可选的实施方式中,所述第一像素点属于第一帧全景漫游数据,所述第二像素点属于第二帧全景漫游数据,且所述第一帧全景漫游数据和所述第二帧全景漫游数据为不同全景漫游数据,第二生成模块303还用于:响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值。
一种可选的实施方式中,第二生成模块303在执行所述响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应的第一目标顶点的第一深度值时,具体用于:基于在生成所述第一帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,从所述预设缓存中读取与所述第一像素点对应的第一目标顶点的第一深度值。
一种可选的实施方式中,第二生成模块303在执行所述响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值时,具体用于:基于在生成所述第二帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第二虚拟相机位姿,确定第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,从所述预设缓存中读取与所述第二像素点对应的第二目标顶点的第二深度值,并记录所述第二虚拟相机位姿、以及所述第二目标顶点的第二深度值。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本申请实施例还提供了一种计算机设备。参照图4所示,为本申请实施例提供的计算机设备400的结构示意图,包括处理器401、存储器402、和总线403。其中,存储器402用于存储执行指令,包括内存4021和外部存储器4022;这里的内存4021也称内存储器,用于暂时存放处理器401中的运算数据,以及与硬盘等外部存储器4022交换的数据,处理器401通过内存4021与外部存储器4022进行数据交换,当计算机设备400运行时,处理器401与存储器402之间通过总线403通信,使得处理器401执行以下指令:
获取目标空间的影像数据;基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
其中,处理器401的具体处理流程可以参照上述方法实施例的记载,这里不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
获取目标空间的影像数据;
基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;
响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型,包括:
基于所述影像数据、以及所述图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,对所述目标空间进行三维重建,得到所述目标空间的三维模型;所述三维模型包括:位于所述目标空间内的目标对象表面的多个顶点、以及各个顶点分别在所述目标空间内的位置信息;
基于所述影像数据中各个像素点分别对应的像素值,对于各个像素点对应的顶点进行像素映射,得到所述三维模型中各个顶点分别对应的像素信息;
基于所述三维模型中各个顶点分别对应的像素信息,得到所述目标三维模型。
3.根据权利要求2所述的方法,其特征在于,所述目标对象包括下述至少一种:目标空间内的建筑、以及部署在所述目标空间中的设备。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据,包括:
响应于全景漫游被触发,基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定所述虚拟相机在所述第二位姿下对应的视角范围;
基于所述目标三维模型,生成所述视角范围下的投影图像;
基于所述视角范围下的投影图像,生成所述虚拟相机在所述第二位姿下对应的全景漫游数据。
5.根据权利要求4所述的方法,其特征在于,基于所述目标三维模型,生成该视角范围下的投影图像,包括:
确定所述虚拟相机在所述第二位姿下对应的投影平面;
基于所述投影平面在所述目标三维模型中的位姿,从所述目标三维模型中,确定目标顶点;
将所述目标顶点对应的像素信息,投影至所述投影平面,生成该视角范围下的投影图像。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述生成全景漫游数据之后,所述方法还包括:
响应于对所述全景漫游数据中第一像素点和第二像素点的测距操作,基于所述第一像素点对应的第一目标顶点的第一深度值、和所述第二像素点对应的第二目标顶点的第二深度值,确定所述第一目标顶点和所述第二目标顶点之间的距离。
7.根据权利要求6所述的方法,其特征在于,所述第一像素点和所述第二像素点属于同一帧全景漫游数据,所述方法还包括:
基于所述虚拟相机在所述目标空间对应的虚拟场景中的第二位姿,确定各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;
响应于对所述全景漫游数据中所述第一像素点和所述第二像素点的测距操作,从所述预设缓存中读取所述第一目标顶点对应的第一深度值、以及所述第二目标顶点对应的第二深度值。
8.根据权利要求6所述的方法,其特征在于,所述第一像素点属于第一帧全景漫游数据,所述第二像素点属于第二帧全景漫游数据,且所述第一帧全景漫游数据和所述第二帧全景漫游数据为不同全景漫游数据,所述方法还包括:
响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值;
响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值。
9.根据权利要求8所述的方法,其特征在于,所述响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,记录所述第一帧全景漫游数据对应的第一虚拟相机位姿、以及所述第一像素点对应第一目标顶点的第一深度值,包括:
基于在生成所述第一帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第一虚拟相机位姿,确定第一帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;
响应于对所述第一帧全景漫游数据进行第一像素点的选择操作,从所述预设缓存中读取与所述第一像素点对应的第一目标顶点的第一深度值,并记录所述第一虚拟相机位姿、以及所述第一目标顶点的第一深度值。
10.根据权利要求8或9所述的方法,其特征在于,所述响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,记录所述第二帧全景漫游数据对应的第二虚拟相机位姿、以及所述第二像素点对应第二目标顶点的第二深度值,包括:
基于在生成所述第二帧全景漫游数据时,所述虚拟相机在所述目标空间对应的虚拟场景中的第二虚拟相机位姿,确定第二帧全景漫游数据对应的各个目标顶点分别对应的深度信息;将所述各个目标顶点分别对应的深度信息渲染至预设缓存中;
响应于对所述第二帧全景漫游数据进行第二像素点的选择操作,从所述预设缓存中读取与所述第二像素点对应的第二目标顶点的第二深度值,并记录所述第二虚拟相机位姿、以及所述第二目标顶点的第二深度值。
11.一种数据处理装置,其特征在于,包括:
获取模块,用于获取目标空间的影像数据;
第一生成模块,用于基于所述影像数据、以及图像采集设备在采集所述影像数据时在所述目标空间中的第一位姿,生成所述目标空间的带有像素信息的目标三维模型;
第二生成模块,用于响应于全景漫游被触发,基于虚拟相机在所述目标空间对应的虚拟场景中的第二位姿、以及所述目标三维模型,生成全景漫游数据。
12.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至10任一项所述的数据处理方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至10任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640797.8A CN114283243A (zh) | 2021-12-29 | 2021-12-29 | 数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111640797.8A CN114283243A (zh) | 2021-12-29 | 2021-12-29 | 数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114283243A true CN114283243A (zh) | 2022-04-05 |
Family
ID=80877969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111640797.8A Pending CN114283243A (zh) | 2021-12-29 | 2021-12-29 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114283243A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114945090A (zh) * | 2022-04-12 | 2022-08-26 | 阿里巴巴达摩院(杭州)科技有限公司 | 视频生成方法、装置、计算机可读存储介质及计算机设备 |
CN115619986A (zh) * | 2022-09-30 | 2023-01-17 | 北京百度网讯科技有限公司 | 场景漫游方法、装置、设备和介质 |
-
2021
- 2021-12-29 CN CN202111640797.8A patent/CN114283243A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114945090A (zh) * | 2022-04-12 | 2022-08-26 | 阿里巴巴达摩院(杭州)科技有限公司 | 视频生成方法、装置、计算机可读存储介质及计算机设备 |
CN115619986A (zh) * | 2022-09-30 | 2023-01-17 | 北京百度网讯科技有限公司 | 场景漫游方法、装置、设备和介质 |
CN115619986B (zh) * | 2022-09-30 | 2024-02-06 | 北京百度网讯科技有限公司 | 场景漫游方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102580961B1 (ko) | 촬영을 기반으로 하는 3d 모델링 시스템 및 방법, 자동 3d 모델링 장치 및 방법 | |
JP6088094B1 (ja) | 複合現実環境を作成するためのシステム等 | |
JP6687204B2 (ja) | 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法 | |
US11557083B2 (en) | Photography-based 3D modeling system and method, and automatic 3D modeling apparatus and method | |
US10825249B2 (en) | Method and device for blurring a virtual object in a video | |
CN114140528A (zh) | 数据标注方法、装置、计算机设备及存储介质 | |
WO2023280038A1 (zh) | 一种三维实景模型的构建方法及相关装置 | |
US20120105581A1 (en) | 2d to 3d image and video conversion using gps and dsm | |
WO2021190649A1 (en) | Method and device for collecting images of a scene for generating virtual reality data | |
CN114283243A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112270702A (zh) | 体积测量方法及装置、计算机可读介质和电子设备 | |
CN114092646A (zh) | 模型生成方法、装置、计算机设备及存储介质 | |
JP2017212510A (ja) | 画像管理装置、プログラム、画像管理システム及び情報端末 | |
Koeva | 3D modelling and interactive web-based visualization of cultural heritage objects | |
US8451346B2 (en) | Optically projected mosaic rendering | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN113838193A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114332207A (zh) | 距离确定的方法、装置、计算机设备及存储介质 | |
CN113822936A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
EP3882846B1 (en) | Method and device for collecting images of a scene for generating virtual reality data | |
JP6134874B1 (ja) | 複合現実環境を作成するためのシステム等 | |
WO2021149509A1 (ja) | 撮像装置、撮像方法、及び、プログラム | |
CN114241127A (zh) | 全景图像生成方法、装置、电子设备和介质 | |
KR102146839B1 (ko) | 실시간 가상현실 구축을 위한 시스템 및 방법 | |
CN108986183B (zh) | 一种全景地图的制作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |