一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

三维场景重建方法、装置、设备及存储介质与流程

2022-11-23 13:48:27 来源:中国专利 TAG:

1.本发明实施例涉及计算机视觉技术领域,具体涉及一种三维场景重建方法、装置、设备及存储介质。


背景技术:

2.随着数字孪生和元宇宙的兴起,对真实的场景数字化是一个迫在眉睫的问题。其中,对场景数字化需求最大的主要来自政府部门和游戏领域。对于政府部门来说,数字城市可以实时反应城市的动态状态,对于交通,应急抢险等方向具有重要作用。在游戏方面,内容生产制约着整个生态的发展,因为其内容城从原本的2d进展到3d。而3d的内容生产有着较高的门槛,尤其是3d场景的制作,有着难度大和时间长的特点,限制着创作者的生产数量和质量。
3.因此,有必要提供一种三维场景重建方法、装置、设备及存储介质,以克服上述问题。


技术实现要素:

4.鉴于上述问题,本发明实施例提供了一种三维场景重建方法、装置、设备及存储介质,用于解决现有技术中存在的问题。
5.根据本发明实施例的第一方面,提供了一种三维场景重建方法,所述方法包括:获取针对室外场景的j个目标图像,j为大于1的正整数;获取每一所述目标图像的相机参数,所述相机参数包括相机内参和相机外参;根据j个所述目标图像确定地形层,所述地形层具有k个地形点,k为大于1的正整数;对至少一所述目标图像进行语义识别和像素深度估计,得到语义对象;响应于所述语义对象符合第一预设条件,将符合第一预设条件的所述语义对象作为第一语义对象,根据所述相机参数确定所述第一语义对象在所述地形层的矢量轮廓;响应于所述语义对象符合第二预设条件,将符合第二预设条件的所述语义对象作为第二语义对象,根据所述相机参数确定所述第二语义对象在所述地形层的建模位置,所述第二语义对象的特征点少于所述第一语义对象的特征点;根据所述矢量轮廓、所述建模位置和所述地形层进行三维重建,得到所述室外场景的三维重建模型。
6.在一些实施例中,所述根据j个所述目标图像确定地形层,进一步包括:根据j个所述目标图像确定三维点云;根据所述三维点云进行布料滤波计算,确定所述地形层。
7.在一些实施例中,所述对至少一所述目标图像进行语义识别和像素深度估计,得到语义对象,进一步包括:对每一所述目标图像进行语义识别,得到每一所述目标图像的识别对象,确定每
一所述识别对象中每一像素的第一语义标签;对每一所述目标图像中每一所述识别对象的所有像素进行像素深度估计,得到估计对象和所述估计对象对应的深度位置,将所述估计对象作为所述语义对象。
8.在一些实施例中,所述对每一所述目标图像中每一所述识别对象的所有像素进行像素深度估计,得到估计对象和所述估计对象对应的深度位置,进一步包括:对每一所述目标图像中所述识别对象的每一所述像素进行像素深度估计,得到像素深度位置;根据所述像素深度位置计算每一所述目标图像中所述识别对象的所有第一像素的平均像素深度位置,将所述平均像素深度位置作为所述深度位置。
9.在一些实施例中,所述响应于所述语义对象符合第一预设条件,将符合第一预设条件的所述语义对象作为第一语义对象,根据所述相机参数确定所述第一语义对象在所述地形层的矢量轮廓,进一步包括:根据所述相机参数将所述地形点映射到同一所述目标图像中所述第一语义对象对应的第一像素,根据对应所述第一像素的所述第一语义标签确定所述地形点对应的第二语义标签;将所述地形点对应所述目标图像所得数量最多的相同所述第二语义标签作为目标语义标签;将具有同一所述目标语义标签的所有所述地形点进行聚类计算,得到目标地形点集合;对所述目标地形点集合进行轮廓识别计算,确定所述第一语义对象在所述地形层的矢量轮廓。
10.在一些实施例中,所述对至少一所述目标图像进行语义识别和像素深度估计,得到语义对象,进一步包括:将j个所述目标图像中同一所述估计对象进行融合计算,得到三维的融合对象和所述融合对象对应的融合位置,将所述融合对象作为所述语义对象,将所述第二语义对象对应的所述融合位置作为所述建模位置。
11.在一些实施例中,所述将j个所述目标图像中同一所述估计对象进行融合计算,得到三维的融合对象和所述融合对象对应的融合位置,进一步包括:对每一所述目标图像中所述识别对象的每一所述像素进行像素深度估计,得到像素深度位置;根据所述像素深度位置将j个所述目标图像同一所述识别对象中每一所述像素进行融合计算,得到所述融合对象,所述融合对象包括a个体素,每一所述体素由j个所述目标图像中同一所述识别对象的对应所述像素融合得到,a为大于0的正整数;根据所述像素深度位置计算每一所述体素的体素深度位置;根据所述体素深度位置计算所述融合对象的融合位置,其中,di表示所述融合对象中每一所述体素的所述体素深度位置。
12.根据本发明实施例的第二方面,提供了一种三维场景重建装置,包括:第一获取模块,用于获取针对室外场景的j个目标图像,j为大于1的正整数;
第二获取模块,用于获取每一所述目标图像的相机参数,所述相机参数包括相机内参和相机外参;第一确定模块,用于根据j个所述目标图像确定地形层,所述地形层具有k个地形点,k为大于1的正整数;第一计算模块,用于对至少一所述目标图像进行语义识别和像素深度估计,得到语义对象;第二确定模块,用于根据第一预设条件,将所述语义对象作为第一语义对象,根据所述相机参数确定所述第一语义对象在所述地形层的矢量轮廓;第三确定模块,用于根据第二预设条件,将所述语义对象作为第二语义对象,根据所述相机参数确定所述第二语义对象在所述地形层的建模位置,所述第二语义对象的特征点少于所述第一语义对象的特征点;第二计算模块,用于根据所述矢量轮廓、所述建模位置和所述地形层进行三维重建,得到所述室外场景的三维重建模型。
13.根据本发明实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述任一项所述的三维场景重建方法的操作。
14.根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在运行时执行如上述任一项所述的三维场景重建方法的操作。
15.本发明实施例中,由于地形部分的尺寸较大,在目标图像中对应的像素数量较多,若地形层采用与第一语义对象、第二语义对象的生成方式,则会增加处理器的运算量,影响处理器的工作效率。而地形层的生成方式与第一语义对象、第二语义对象的生成方式不同,可以将室外场景的地形部分与其他物体分离,以便后续将第一语义对象以及第二语义对象结合到地形层,提高三维场景重建的准确性以及全面性。其中,地形层、第一语义对象和第二语义对象均为处理器自动生成,以及第一语义对象在地形层的矢量轮廓和第二语义对象在地形层的建模位置也是处理器自动提取,无需人工额外对待重建对象的三维模型进行手动提取,提高室外场景三维重建的效率。并且,地形层、第一语义对象和第二语义对象均由j个目标图像生成,可以更好的定位对齐,从而使得第一语义对象在地形层的矢量轮廓和第二语义对象在地形层的建模位置可以计算更准确,有利于三维场景重建的准确性。
16.通过对目标图像的各个像素进行语义识别和像素深度估计得到对应的第一语义对象和第二语义对象,使得针对目标图像中室外场景的电线杆、垃圾桶等轮廓尺寸较小的待重建对象所得的第二语义对象,能够保留该待重建对象较多的特征信息,使得第二语义对象能够显示较为完整,并且使得第一语义对象和第二语义对象具有较为完整的建模细节,减少数据缺失,有利于室外场景的各个物体均可三维重建。
17.通过根据所述相机参数确定所述第一语义对象在所述地形层的矢量轮廓,使得轮廓尺寸较大的第一语义对象可以获得较为完整的矢量轮廓,以更准确定位第一语义对象在地形层的位置,从而得到更为准确的重建模型。
18.通过根据所述相机参数确定所述第二语义对象在所述地形层的建模位置,使得轮廓尺寸较小的第一语义对象可以获得较准确的位置,以准确定位第二语义对象在地形层的位置。
19.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
20.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例提供的三维场景重建方法的流程示意图;图2示出了本发明实施例提供的三维场景重建装置的结构示意图;图3示出了本发明一些实施例提供的计算设备的结构示意图。
具体实施方式
21.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
22.在进行三维场景重建过程中,处理器根据相机拍摄的多个图像进行建模。现有的三维场景重建过程中,需要耗费专业的人工,例如很多时候一个场景要需要专业的美术人员,人工去抠图或者拆分模型,将有用的信息提取出来,半天甚至一天才能将地形数据、植被数据、建筑数据等提取出来,提取过程繁琐,工作量较大且难度较大,影响重建效率,难以扩展至大规模建模工程。
23.发明人提供了一种三维场景重建方法,通过根据j个目标图像确定地形层,以及对目标图像进行语义识别和像素深度估计,得到第一语义对象和第二语义对象,而后根据相机参数确定第一语义对象在地形层的矢量轮廓,根据相机参数确定第二语义对象在地形层的建模位置,最后根据矢量轮廓、建模位置和地形层进行三维重建,得到室外场景的三维重建模型。其中,第一语义对象包括植被、建筑等轮廓尺寸较大的待重建对象,第二语义对象包括电线杆、垃圾桶等轮廓尺寸较小的待重建对象。通过将地形、第一语义对象、第二语义对象进行区分,以对应采用不同的方式提取待重建对象,以及将待重建对象结合进行三维重建,以提高三维场景重建的准确性以及全面性,并且能够自动提取各待重建对象的数据,无需人工额外对待重建对象进行手动提取,从而提高三维场景重建的效率。
24.图1示出了本发明实施例提供的三维场景重建方法的流程图,该方法由计算设备执行,该计算设备可以是包括一个或多个处理器的计算设备,该处理器可能是中央处理器cpu,或者是特定集成电路asic(applicatioj specific ijtegrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路,在此不做限定。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic,在此不做限定。
25.如图1所示,该方法包括以下步骤:
步骤110:获取针对室外场景的j个目标图像,j为大于1的正整数。
26.步骤120:确定每一目标图像的相机参数,相机参数包括相机内参和相机外参。
27.步骤130:根据j个目标图像确定地形层,地形层具有k个地形点,k为大于1的正整数。
28.步骤140:对至少一目标图像进行语义识别和像素深度估计,得到语义对象。
29.步骤150:响应于语义对象符合第一预设条件,将符合第一预设条件的语义对象作为第一语义对象,根据相机参数确定第一语义对象在地形层的矢量轮廓。
30.步骤160:响应于语义对象符合第二预设条件,将符合第二预设条件的语义对象作为第二语义对象,根据相机参数确定第二语义对象在地形层的建模位置,第二语义对象的特征点少于第一语义对象的特征点。
31.步骤170:根据矢量轮廓、建模位置和地形层进行三维重建,得到室外场景的三维重建模型。
32.步骤110中,处理器需要获取针对室外场景的j个目标图像以对室外场景进行三维重建。其中,目标图像为能够实现三维重建的图像,j以能够实现三维重建的图像数量相应设置,通常数量至少为2,优选为8以上。目标图像可以通过手持式三维扫描设备或者航拍式扫描设备拍摄,该扫描设备中相机针对不同视角的室外场景拍摄的图像作为目标图像。
33.步骤120中,相机内参是相机在出厂后即固定的,可以通过现有的相机标定的方式预先计算出来,而后处理器获取该相机内参,该相机内参的具体计算方式不做赘述。相机外参为相机的位姿,通过rt矩阵表示,处理器可以根据对应目标图像相应计算。
34.步骤130中,基于三维场景重建过程中,需要将室外场景的不同实物进行数据提取,其中地形的覆盖范围较大,且其他物体基本设于地面上,因此需要将地形部分与其他物体分离,以便后续将其他物体的三维模型布置于地形部分的模型上。
35.其中,根据j个目标图像确定地形层,将j个目标图像的像素点投影到世界坐标系中,并经过点云配准融合得到三维点云,而后通过形态学滤波算法、索引滤波算法或布料滤波算法等地形滤波算法对该三维点云进行滤波计算,得到对应的地形层,该地形层具有多个地形点,其中地形点的数量根据滤波结果确定,此时k即为该地形点的数量。在一些实施例中,也可以通过误差优化,进一步将通过地形滤波算法得到的地形点进一步优化,得到数量更少的多个地形点,此时对应将该优化后的地形点数量作为k值。
36.步骤140中,处理器通过对至少一目标图像进行语义识别和像素深度估计,可以得到室外场景中物体对应的语义对象。其中,每一目标图像根据语义识别可以分割出对应的识别对象,此时的识别对象为二维平面形态。该语义识别算法可以为normalized cut算法、grab cut算法、阈值法、基于像素聚类的分割方法或者是通过深度学习进行语义识别的算法或者其他语义识别算法。例如通过深度学习建立语义分割模型,根据该语义分割模型预测识别每一目标图像中不同类别的物体,并赋予对应像素该物体类别的标签,从而对目标图像进行语义识别的操作。
37.通过像素深度估计得到各识别对象中每一像素的像素位置,以将二维平面形态的识别对象赋予三维形态,得到对应的语义对象。其中,像素深度估计可以为 monodepth2,adabins,adelaidepth等算法。
38.在一些实施例中,可以选择其中一个目标图像进行语义识别以及像素深度估计,
得到对应的语义对象。
39.在一些实施例中,由于只根据一个目标图像推理同一目标物体位置会有误差,通过根据不同的拍摄角度得到的多个目标图像推理出同一目标物体的几个不完全重叠的位置,可以得到更好的定位结果。其中,可以通过平均值计算不同目标图像对应同一目标物体的位置,也可以通过加权方式计算不同目标图像对应同一目标物体的位置,或者通过其他方式计算不同目标图像对应同一目标物体的位置,在此不做限定,根据需要设置。
40.通过步骤140,直接对目标图像的各个像素进行语义识别和像素深度估计得到对应的语义对象,使得针对目标图像中室外场景的电线杆、垃圾桶等特征点较少的待重建对象所得的语义对象,能够保留该待重建对象较多的特征信息,使得第二语义对象能够显示较为完整,并且使得第一语义对象和第二语义对象具有较为完整的建模细节,减少数据缺失,有利于室外场景的各个物体均可三维重建。
41.步骤150中,处理器判断语义对象是否符合第一预设条件,若语义对象符合第一预设条件,则处理器相应于语义对象符合第一预设条件,将符合第一预设条件的语义对象作为第一语义对象。第一预设条件可以是根据语义对象的特征点确定,例如,若语义对象的特征点大于或等于预设值,则将语义对象作为第一语义对象。该第一语义对象包括目标图像中植被、建筑等特征点较多的待重建对象。在一些实施例中,第一预设条件也可以根据预先设定的第一语义对象类别确定,以将能够在地形层形成较为完整矢量轮廓的语义对象确定为第一语义对象。例如,第一语义对象类别包括建筑物、草地、灌木丛等,处理器将符合建筑物、草地、灌木丛等类别中至少一种类别的语义对象作为第一语义对象。在一些实施例中,也可以通过深度学习确定第一预设条件,以将能够在地形层形成较为完整的矢量轮廓的语义对象作为第一语义对象。
42.由于第一语义对象与地形层均是根据目标图像生成,其对应的相机参数相同,因此第一语义对象与地形层具有映射关系,因此可以根据相机参数确定第一语义对象在地形层的矢量轮廓。其中,由于第一语义对象的特征点较多,可以获得较为完整的矢量轮廓,通过矢量轮廓可以更准确定位第一语义对象在地形层的位置,从而得到更为准确的重建模型。
43.在一些实施例中,可以根据相机参数将第一语义对象的各点转换到地形层的同一坐标系下,而后经过点云配准将第一语义对象带有语义的点与地形点匹配,使得地形点具有语义标签,而后将具有语义的地形点聚类,通过轮廓识别算法计算聚类的地形点对应的矢量轮廓。
44.在一些实施例中,根据相机参数将地形的每个地形点映射到经过语义识别的目标图像上,从而将对应像素的语义标签赋予到对应像素的地形点,而后将对应第一语义对象的地形点做聚类,那么相近的地形点就会聚类,之后通过轮廓识别算法计算聚类的地形点对应的矢量轮廓。
45.其中,轮廓识别算法有多种,例如alphashape算法。
46.步骤160中,处理器判断语义对象是否符合第二预设条件,若语义对象符合第二预设条件,则处理器相应于语义对象符合第二预设条件,将符合第二预设条件的语义对象作为第二语义对象。第二预设条件可以是根据语义对象的特征点确定,例如,若语义对象的特征点小于预设值,则将语义对象作为第二语义对象。该第二语义对象包括目标图像中电线
杆、垃圾桶等特征点较少的待重建对象。在一些实施例中,也可以根据语义对象在地形层的占地面积确定,例如,若语义对象的占地面积小于预设值,则将语义对象作为第二语义对象。在一些实施例中,第二预设条件也可以根据预先设定的第二语义对象类别确定,以将不能够在地形层形成较为完整矢量轮廓的语义对象确定为第二语义对象。例如,第二语义对象类别包括电线杆、垃圾桶、长椅等,处理器将符合电线杆、垃圾桶、长椅等类别中至少一种类别的语义对象作为第一语义对象。在一些实施例中,也可以通过深度学习确定第二预设条件,以将不能够在地形层形成较为完整的矢量轮廓的语义对象作为第二语义对象。或者其他方式,在此不做限定,根据需要设置。
47.由于第二语义对象的特征点相对第一语义对象较少,可与地形点映射的特征点较少,不能形成映射在地形层上的完整轮廓,所得的第二语义对象的无法准确定位第二语义对象在地形层的位置,影响室外场景建模的准确度。在此情况下,通过确定第二语义对象其对应在地形层的建模位置,可以较准确定位第二语义对象在地形层的位置。
48.在一些实施例中,可以通过计算第二语义对象中各像素对应的位置而确定第二语义对象的建模位置。例如,通过深度估计计算第二语义对象中每一体素的位置,通过平均值计算第二语义对象中建模位置。或者在一些实施例中,也可以通过确定第二语义对象的重心,将该重心所在位置作为建模位置。
49.步骤170中,在得到第一语义对象的矢量轮廓以及第二语义对象的建模位置后,本发明实施例的处理器根据该矢量轮廓将第一语义对象结合于地形层上,以及处理器根据建模位置将第二语义对象结合于地形层上,得到室外场景的重建模型。
50.在一些实施例中,处理器也可以根据矢量轮廓将预设模型库中的预设三维模型结合到地形层。例如,针对草地的模型,处理器可以在地形层针对草地的矢量轮廓部位将预设模型库中的草地模型填充到该矢量轮廓对应的区域中,形成室外场景的三维重建模型中的草地模型。
51.在一些实施例中,也可以将模型结合的工作交给美术人员,在此情况下,美术人员根据矢量轮廓将第一语义对象或者对应的预设三维模型结合到地形层。此时美术人员只需防止对应的三维模型即可,无需提取三维模型对应的位置信息以及轮廓信息等数据,较大的减少美术人员的工作量,提高室外场景的三维重建模型的生产效率。
52.同理,处理器可以根据建模位置将第二语义对象或对应的预设三维模型结合于地形层;或者美术人员根据建模位置将第二语义对象或者对应的预设三维模型结合到地形层。
53.其中,可以根据需要设置为由处理器执行步骤170或者人工执行步骤170,在此不做限定,根据需要设置。
54.当然,在一些实施例中,也可以根据需要进行对室外场景的三维重建模型进行渲染加工等操作,以实现更好的重建效果。
55.步骤110至步骤170中,由于地形部分的尺寸较大,在目标图像中对应的像素数量较多,若地形层采用与第一语义对象、第二语义对象的生成方式,则会增加处理器的运算量,影响处理器的工作效率。而地形层的生成方式与第一语义对象、第二语义对象的生成方式不同,可以将室外场景的地形部分与其他物体分离,以便后续将第一语义对象以及第二语义对象结合到地形层,提高三维场景重建的准确性以及全面性。其中,地形层、第一语义
对象和第二语义对象均为处理器自动生成,以及第一语义对象在地形层的矢量轮廓和第二语义对象在地形层的建模位置也是处理器自动提取,无需人工额外对待重建对象的三维模型进行手动提取,提高室外场景三维重建的效率。并且,地形层、第一语义对象和第二语义对象均由j个目标图像生成,可以更好的定位对齐,从而使得第一语义对象在地形层的矢量轮廓和第二语义对象在地形层的建模位置可以计算更准确,有利于三维场景重建的准确性。
56.通过对目标图像的各个像素进行语义识别和像素深度估计得到对应的第一语义对象和第二语义对象,使得针对目标图像中室外场景的电线杆、垃圾桶等轮廓尺寸较小的待重建对象所得的第二语义对象,能够保留该待重建对象较多的特征信息,使得第二语义对象能够显示较为完整,并且使得第一语义对象和第二语义对象具有较为完整的建模细节,减少数据缺失,有利于室外场景的各个物体均可三维重建。
57.通过根据相机参数确定第一语义对象在地形层的矢量轮廓,使得轮廓尺寸较大的第一语义对象可以获得较为完整的矢量轮廓,以更准确定位第一语义对象在地形层的位置,从而得到更为准确的重建模型。
58.通过根据相机参数确定第二语义对象在地形层的建模位置,使得轮廓尺寸较小的第一语义对象可以获得较准确的位置,以准确定位第二语义对象在地形层的位置。
59.在一些实施例中,步骤130进一步包括:步骤a01:根据j个目标图像确定三维点云;步骤a02:根据三维点云进行布料滤波计算,确定地形层。
60.步骤a01和步骤a02中,根据相机内参和相机外参经过矩阵变换将j个目标图像的像素点投影到世界坐标系中,并经过点云配准融合得到三维点云,而后通过布料滤波算法对该三维点云进行滤波计算,得到对应的地形层,该地形层具有多个地形点,其中地形点的数量根据滤波结果确定,此时k即为该地形点的数量。其中,布料滤波算法可以通过csf算法实现,该布的分辨率可以选择,如果地面的长宽为m
×
n,而我们分辨率取1米,那么布就有m
×
n个点。
61.通过步骤a01和步骤a02,采用布料滤波算法计算地形层可以有效减少处理器的运算量,提高处理器的效率,并且在后续将地形层与第一语义对象和第二语义对象结合过程中,能够进一步减小处理器的运算量。
62.在一些实施例中,步骤140进一步包括:步骤b01:对每一目标图像进行语义识别,得到每一目标图像的识别对象,确定每一识别对象中每一像素的第一语义标签;步骤b02:对每一目标图像中每一识别对象的所有像素进行像素深度估计,得到估计对象和估计对象对应的深度位置,将估计对象作为语义对象。
63.步骤b01中,通过深度学习算法对每一目标图像进行语义识别分割,得到每一目标图像中的多个识别对象,该多个识别对象包括第一识别对象和第二识别对象。通过深度学习的语义分割模型可以预测预设类别,例如预先通过深度学习算法建立关于人、建筑、草地等类别的语义分割模型,而后在目标图像上根据对应的语义分割模型确定对应的识别对象,而后根据对应的识别对象赋予对应像素第一语义标签。例如,若第一识别对象包括草地对象,则对应给草地对象对应的像素赋予代表草地的第一语义标签;若第二识别对象包括
电线杆对象,则对应给电线杆对象对应的像素赋予代表电线杆的第一语义标签标签。第一语义标签可以用中文表示,也可以用数字表示,或者也可以用英文字母表示,在此不做限定,根据需要设置。例如,若识别到草地对象,则赋予对应草地对象的像素以数字1表示;若识别到电线杆对象,则赋予对应电线杆对象的像素以数字2表示。
64.步骤b02中,由于每一目标图像中显示的像素为二维平面形态,相应的,识别对象为二维平面形态,而通过深度估计得到每一目标图像中识别对象对应像素的深度位置,根据该深度位置,可以确定对应像素在空间上的三维坐标,相应的识别对象结合深度位置可以得到三维的估计对象。在此情况下,每一目标图像均可得到三维形态的估计对象,相应的,可以将估计对象作为语义对象进行建模。
65.通过步骤b01和步骤b02,可以在一个目标图像上得到特征点较为完整的语义对象,以减少三维场景重建过程中的信息损失,提高三维场景重建的准确性和完整性。
66.在一些实施例中,步骤b02进一步包括:步骤b021:对每一目标图像中识别对象的每一像素进行像素深度估计,得到像素深度位置;步骤b022:根据像素深度位置计算每一目标图像中识别对象的所有第一像素的平均像素深度位置,将平均像素深度位置作为深度位置。
67.在一些实施例中,步骤150进一步包括:步骤c01:根据相机参数将地形点映射到同一目标图像中第一语义对象对应的第一像素,根据对应第一像素的第一语义标签确定地形点对应的第二语义标签;步骤c02:将地形点对应目标图像所得数量最多的相同第二语义标签作为目标语义标签;步骤c03:将具有同一目标语义标签的所有地形点进行聚类计算,得到目标地形点集合;步骤c04:对目标地形点集合进行轮廓识别计算,确定第一语义对象在地形层的矢量轮廓。
68.步骤c01中,第一语义对象和地形层均根据目标图像生成,相应的,对应的相机参数相同,第一语义对象的像素点和地形层的地形点可形成对应的映射关系。在同一目标图像中,根据相机参数,将地形点通过投影矩阵投影至该目标图像中第一语义对象对应的第一像素上,而该第一像素对应的第一语义标签对应赋予至地形点形成地形点在该目标图像对应的第二语义标签。此外,在不同目标图像中,同一地形点对应不同目标图像的第一语义对象可能相同也可能不同,因此,同一地形点在不同目标图像所得的第二语义标签可能相同或不同。
69.步骤c02中,由于地形点在三维点云形成过程中,可能会将目标图像的多个像素点配准为同一个点,在此情况下,地形点投影至同一目标图像的像素点所得的第二语义标签的类型可能不同;此外,多个目标图像中,同一地形点可能得到对应不同目标图像的不同类型的第二语义标签。通过将地形点对应目标图像所得数量最多的相同第二语义标签作为目标语义标签,以获得对应地形点较为准确的语义结果。
70.在一些情况下,在同一目标图像中,若一个地形点获得两个以上类型的第二语义标签,例如获得表示草地对象和表示道路对象的第二语义标签,若表示草地对象的第二语
义标签数量较多,则将表示草地对象的第二语义标签作为同一地形点的目标语义标签。
71.在一些情况下,在多个目标图像中,若同一地形点在不同目标图像中获得不同类型的第二语义标签,例如,假设同一地点对应的目标图像有两个,在第一个目标图像中地形点获得表示草地对象和表示道路对象的第二语义标签,在第二个目标图像中地形点获得表示草地对象、表示建筑对象的第二语义标签,若表示草地对象的第二语义标签的数量最多,则将表示草地对象的第二语义标签作为同一地形点的目标语义标签。
72.步骤c03中,经过步骤c01和步骤c02后,地形层中对应于第一语义对象的地形点均被赋予目标语义标签,通过将具有同一目标语义标签的所有地形点进行聚类计算,得到目标地形点集合,此时,所得的目标地形点集合也可以认为是对应第一语义对象投影至地形层的投影点集合,以提供后续步骤c04中对应矢量轮廓的计算。
73.在一些实施例中,可以采用基于密度的聚类算法dbscan进行聚类计算,将邻居点距离《=1m的地形点进行聚类,至少100个聚类的地形点即可以构成一个聚类簇。
74.例如,以道路作为例子,将表示道路对象的目标语义标签的地形点通过聚类算法dbscan进行聚类,只取地形点的横坐标和纵坐标,相当于把道路拍平,而后对这些属于道路的地形点做聚类计算,那么相近的点就会聚类成一条路。若道路是断开的,相应的,断开的道路会聚类成两条。
75.步骤c04中,通过轮廓识别算法识别目标地形点集合的轮廓,从而确定第一语义对象对应在地形层的矢量轮廓。其中,在一些实施例中,可以通过alphashape算法,计算目标地形点集合对应的矢量轮廓。
76.同样的,以道路为例。通过alphashape算法对表示道路对象语义的目标地形点集合进行轮廓识别计算,得到表示道路对应两侧边缘轮廓的矢量轮廓。
77.步骤c01至步骤c04中,通过根据对应第一像素的第一语义标签确定地形点对应的第二语义标签,使得地形点与多个第一像素形成映射关系,所得的第二语义标签结果数量较多,相对更准确;通过将地形点对应目标图像所得数量最多的相同第二语义标签作为目标语义标签,以获得对应地形点更为准确的语义结果;通过将具有同一目标语义标签的所有地形点进行聚类计算,得到目标地形点集合,以及通过轮廓识别算法识别目标地形点集合的轮廓,从而确定第一语义对象对应在地形层的矢量轮廓,使得该矢量轮廓定位更准确。
78.在一些实施例中,步骤140进一步包括:步骤d01:根据深度位置将j个目标图像中同一估计对象进行融合计算,得到三维的融合对象和融合对象对应的融合位置,将融合对象作为语义对象,将第二语义对象对应的融合位置作为建模位置。
79.步骤d01中,由于只根据一个目标图像计算同一估计对象位置会有误差,通过根据不同的拍摄角度得到的多个目标图像推理出同一估计对象的几个不完全重叠的位置,可以得到更好的定位结果。其中,在融合过程中,需先确定估计对象中由像素三维化成体素的体素深度位置,而后估计对象中每一像素三维化成体素即形成三维的融合对象,此时,将融合对象作为语义对象,并且,若处理器判断语义对象符合第二预设的条件,则对应将第二语义对象对应的融合位置作为建模位置。
80.在一些实施例中,每一目标图像中对应估计对象的每一像素均具有像素深度位置,在进行融合计算过程中,可以通过最小误差计算将同一估计对象的对应像素的像素深
度位置融合形成的体素深度位置。该最小误差可以通过最小二乘法确定,或者也可设定预设的距离误差,选取适合的体素深度位置。
81.在一些实施例中,也可以通过平均值计算多个目标图像中同一估计对象对应像素的平均像素深度位置,将该平均像素深度位置作为体素深度位置。
82.在一些实施例中,也可以通过加权方式计算体素深度位置,根据目标图像中估计对象的显示情况确定对应的权重,例如若目标图像中对应估计对象显示完整的轮廓,且扭曲变形程度较小,则对应的权重则相对较大。为方便理解,假设目标图像设有8个,显示有估计对象的目标图像有4个,相应的,体素深度位置结合到4个目标图像中每一目标图像对应得到的位置进行加权计算,得到体素深度位置ds=w1*d
s1
w2*d
s2
w3*d
s3
w4*d
s4
,w1 w2 w3 w4=1,w1、w2、w3、w4表示分别4个目标图像的权重,d
s1
表示4个目标图像中的第一个目标图像中估计对象的其中一像素的像素深度位置,d
s2
表示4个目标图像中的第二个目标图像中同一估计对象的对应像素的像素深度位置,d
s3
表示4个目标图像中的第三个目标图像中同一估计对象的对应像素的像素深度位置,d
s4
表示4个目标图像中的第4个目标图像的中同一估计对象的对应像素的像素深度位置。
83.其中,在一些情况下,若w2、w3对应目标图像的扭曲变形程度较小且显示完整,而w1、w4对应目标图像的扭曲变形程度较大且显示有缺失,可以将w2、w3设置较大,例如w2、w3均设为0.4,w1、w4均设为0.1,或者w2、w3均设为0.3,w1、w4均设为0.2,根据需要设置,在此不做限定。在一些情况下,若判断w2 w3对应的目标图像未发生扭曲变形,可以将w2、w3设置较大,例如w2、w3均设为0.4,w1、w4均设为0.1,或者w2、w3均设为0.3,w1、w4均设为0.2,根据需要设置,在此不做限定。
84.在一些情况下,若w1、w2、w3对应目标图像的扭曲变形程度较小且显示完整,而w4对应目标图像的扭曲变形程度较大且显示有缺失,可以将w1、w2、w3设置较大,例如w1、w2、w3均设为0.3,w4设为0.1,或者其他数值设置方式,根据需要设置,在此不做限定。以此类推,根据目标图像中对应估计对象显示情况确定。
85.同理,可以通过最小误差计算将融合对象对应的融合位置;或者,也可以通过平均值计算融合对象对应的融合位置;将该平均像素深度位置作为体素深度位置;或者,也可以通过加权方式计算融合对象对应的融合位置;或者通过其他方式计算融合对象对应的融合位置,在此不做限定,根据需要设置。
86.在一些实施例中,步骤d01进一步包括:步骤d011:对每一目标图像中识别对象的每一像素进行像素深度估计,得到像素深度位置;步骤d012:根据像素深度位置将j个目标图像中同一识别对象中每一像素进行融合计算,得到融合对象,融合对象包括a个体素,每一体素由j个目标图像中同一识别对象的对应像素融合得到,a为大于0的正整数;步骤d013:根据像素深度位置计算每一体素的体素深度位置;步骤d014:根据体素深度位置计算融合对象的融合位置,其中,di表示融合对象中每一体素的体素深度位置。
87.步骤d011和步骤d012中,将j个目标图像中同一识别对象中所有像素根据像素深度位置进行融合计算转化为体素,从而得到对应的融合对象,以使得在三维场景重建过程中保留较多的特征信息,此外,在后续进行位置计算以及轮廓计算的过程中,由于特征信息较多可以得到更准确的定位效果。其中,融合对象中的每一体素由对应估计对象的对应像素融合而成。多个目标图像中识别对象可以通过匹配计算实现对应,在此情况下,多个目标图像中对应的识别对象可以理解为同一识别对象。其中,多个目标图像的识别对象可以通过匹配计算实现对应,在一些实施例中,可以通过像素距离匹配,若多个目标图像的识别对象相互之间的匹配值大于或等于预设阈值,则认为该识别对象是对应的。若匹配值设置为比值,相应的,预设阈值通常设置为0.6以上,优选为0.8以上;在一些实施例中,也可以通过识别对象周围的其他识别对象进行匹配,作为举例,假设其中一目标图像中识别对象周围具有多个其他识别对象,其他目标图像的识别对象周围均具有对应类型的多个其他识别对象,则可以认为多个目标图像的识别对象是对应匹配的;或者也可以通过其他方式进行匹配,在此不做限定,根据需要设置。
88.例如,假设目标图像设有8个,显示有估计对象的目标图像有4个,以估计对象为草地对象为例,相应的,将4个目标图像对应的草地对象进行融合。其中,通过将每一目标图像中草地对象的每一像素与其他目标图像中的对应草地对象的对应像素根据像素深度位置进行融合计算,得到对应的体素以及体素深度位置,在此情况下,多个目标图像中对应的草地对象可以理解为同一草地对象。其中,4个目标图像的草地对象通过像素距离匹配,若其中一目标图像中草地对象的像素与另一目标图像中草地对象的像素之间的距离符合预设距离,则认为符合预设距离的两个草地对象的认为草地对象的该像素是匹配的,将各目标图像中草地对象的每一像素与其他目标图像中草地对象的每一像素进行距离计算,将每一目标图像中草地对象匹配像素的数量与总像素数量的比值作为匹配值,若每一目标图像中草地对象的匹配值均大于0.8,则说明4个目标图像中草地对象是对应的。
89.步骤d013中,在进行融合计算过程中,通过将j个目标图像中同一识别对象的对应像素的像素深度位置进行融合计算,得到对应体素的体素深度位置,该通过像素深度位置计算体素深度位置的方式参照上述步骤d01,在此不做赘述。
90.步骤d014中,通过计算平均深度位置,使得计算比较简单,可以减少处理器的运算量,此外,也可以得到较为准确的融合位置,使得三维场景的重建效果较好。
91.步骤b011至步骤b014中,通过将j个目标图像中同一识别对象中所有像素根据像素深度位置进行融合计算转化为体素,从而得到对应的融合对象,以使得在三维场景重建过程中保留较多的特征信息,此外,在后续进行位置计算以及轮廓计算的过程中,由于特征信息较多可以得到更准确的定位效果。通过计算平均深度位置,使得计算比较简单,可以减少处理器的运算量,此外,也可以得到较为准确的融合位置,使得三维场景的重建效果较好。
92.图2示出了本发明实施例提供的三维场景重建装置的结构示意图,该装置200包
括:第一获取模块210,用于获取针对室外场景的j个目标图像,j为大于1的正整数;第二获取模块220,用于获取每一目标图像的相机参数,相机参数包括相机内参和相机外参;第一确定模块230,用于根据j个目标图像确定地形层,地形层具有k个地形点,k为大于1的正整数;第一计算模块240,用于对至少一目标图像进行语义识别和像素深度估计,得到语义对象;第二确定模块250,用于根据第一预设条件,将语义对象作为第一语义对象,根据相机参数确定第一语义对象在地形层的矢量轮廓;第三确定模块260,用于根据第二预设条件,将语义对象作为第二语义对象,根据相机参数确定第二语义对象在地形层的建模位置,第二语义对象的特征点少于第一语义对象的特征点;第二计算模块270,用于根据矢量轮廓、建模位置和地形层进行三维重建,得到室外场景的三维重建模型。
93.在一些实施例中,第一确定模块230进一步包括:第一判定单元,用于根据j个目标图像确定三维点云;第二判定单元,用于根据三维点云进行布料滤波计算,确定地形层。
94.在一些实施例中,第一计算模块240进一步包括:第一识别单元,用于对每一目标图像进行语义识别,得到每一目标图像的识别对象,确定每一识别对象中每一像素的第一语义标签;第一获得单元,用于对每一目标图像中每一识别对象的所有像素进行像素深度估计,得到估计对象和估计对象对应的深度位置,将估计对象作为语义对象。
95.在一些实施例中,第一获得单元进一步包括:第二识别单元,用于对每一目标图像中识别对象的每一像素进行像素深度估计,得到像素深度位置;第一运算单元,用于根据像素深度位置计算每一目标图像中识别对象的所有第一像素的平均像素深度位置,将平均像素深度位置作为深度位置。
96.在一些实施例中,第二确定模块250进一步包括:第一映射单元,用于根据相机参数将地形点映射到同一目标图像中第一语义对象对应的第一像素,根据对应第一像素的第一语义标签确定地形点对应的第二语义标签;第二运算单元,用于将地形点对应目标图像所得数量最多的相同第二语义标签作为目标语义标签;第一聚类单元,用于将具有同一目标语义标签的所有地形点进行聚类计算,得到目标地形点集合;第三识别单元,用于对目标地形点集合进行轮廓识别计算,确定第一语义对象在地形层的矢量轮廓。
97.在一些实施例中,第一计算模块240进一步包括:第一融合单元,用于将j个目标图像中同一估计对象进行融合计算,得到三维的融
合对象和融合对象对应的融合位置,将融合对象作为语义对象,将第二语义对象对应的融合位置作为建模位置。
98.在一些实施例中,第一融合单元进一步包括:第三运算单元,用于对每一目标图像中识别对象的每一像素进行像素深度估计,得到像素深度位置;第二融合单元,用于根据像素深度位置将j个目标图像同一识别对象中每一像素进行融合计算,得到融合对象,融合对象包括多个由对应像素融合得到的a个体素,a为大于0的正整数;第四运算单元,用于根据像素深度位置计算每一体素的体素深度位置;第五运算单元,用于根据所述体素深度位置计算所述融合对象的融合位置,其中,di表示所述融合对象中每一所述体素的所述体素深度位置。
99.图3示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
100.如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。
101.其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述用于三维场景重建方法方法实施例中的相关步骤。
102.具体地,程序310可以包括程序代码,该程序代码包括计算机可执行指令。
103.处理器302可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
104.存储器306,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
105.本发明实施例还提供一种种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在运行时执行上述任一项的三维场景重建方法方法的操作。
106.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
107.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
108.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要
求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
109.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
110.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献