一种三维重建方法、装置、电子设备及存储介质与流程

文档序号:29936361发布日期:2022-05-07 13:39阅读:55来源:国知局
一种三维重建方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机视觉技术领域,具体而言,涉及一种三维重建方法、装置、电子设备及存储介质。


背景技术:

2.随着倾斜摄影技术的发展,三维重建在智慧城市、地质防治以及城市管理等领域得到了广泛的应用。其中,三维重建的主要目的是恢复目标场景的三维模型,基于图像的三维重建是获取三维模型的主要技术手段。
3.目前,主要通过多视图立体匹配法(multi-view stereo,mvs)中的基于面片的三维重建算法(patched-based multi-view stereo,pmvs)获取稠密的点云,进而再根据稠密的点云恢复目标场景的三维模型。其中,由种子面片构建邻域面片,最后组成稠密的点云(面片)过程中,具体是根据初始邻域面片投影在参考影像中的区域与投影在各个搜索影像中的区域之间的相关系数来调节该初始邻域面片的3个自由度,最后构建出满足相关系数条件的邻域面片。
4.然而,为了满足相关系数条件,该初始邻域面片的3个自由度会不受约束的变化,从而使构建出的邻域面片与种子面片的一致性变差,进而导致根据点云(面片)恢复的目标场景的三维模型准确度降低。


技术实现要素:

5.本技术的目的在于,针对上述现有技术中的不足,提供一种三维重建方法、装置、电子设备及存储介质,使根据点云(面片)恢复的目标场景的三维模型准确度得到提高。
6.为实现上述目的,本技术实施例采用的技术方案如下:
7.第一方面,本技术实施例提供了一种三维重建方法,所述方法包括:
8.从目标对象的面片栈中取出一个种子面片,其中,所述面片栈包括:多个种子面片;
9.若取出的种子面片未构建邻域面片,则根据所述取出的种子面片构建所述取出的种子面片的邻域面片;
10.根据所述取出的种子面片与所述邻域面片的连续判断结果,确定所述连续判断结果对应的一致性约束系数;
11.根据所述邻域面片的法向量自由度、所述一致性约束系数,采用预设的主约束函数对所述邻域面片进行调整,使得主约束函数值最小;其中,所述主约束函数包含:第一相关系数、一致性约束函数,所述第一相关系数为调整后的领域面片投影到多个影像投影窗口的相关系数,所述一致性约束函数用于结合所述一致性约束系数,对所述法向量自由度进行约束;
12.将最小的主约束函数值对应的所述调整后的邻域面片,作为新的种子面片加入所述面片栈,重复执行,直至所述面片栈中的种子面片均被取出,且取出的种子面片均构建有
对应的邻域面片;
13.根据所有调整后的邻域面片,对所述目标对象进行三维重建。
14.可选地,所述根据所述取出的种子面片与所述邻域面片的连续判断结果,确定所述连续判断结果对应的一致性约束系数,包括:
15.若所述连续判断结果为:所述取出的种子面片与所述邻域面片连续,则确定1为所述一致性约束系数;
16.若所述连续判断结果为:所述取出的种子面片与所述邻域面片不连续,则确定0为所述一致性约束系数。
17.可选地,所述根据所述取出的种子面片与所述邻域面片的连续判断结果,确定所述连续判断结果对应的一致性约束系数之前,所述方法还包括:
18.计算第一投影窗口与第二投影窗口的第二相关系数,其中,所述第一投影窗口为所述取出的种子面片在对应参考影像上的投影窗口,所述第二投影窗口为所述邻域面片在对应参考影像上的投影窗口;
19.若所述第二相关系数大于或等于第二预设阈值,则确定所述连续判断结果为:所述取出的种子面片与所述邻域面片连续;
20.若所述第二相关系数小于所述第二预设阈值,则确定所述连续判断结果为:所述取出的种子面片与所述邻域面片不连续。
21.可选地,所述根据所述邻域面片的法向量自由度,所述一致性约束系数,采用预设的主约束函数对所述邻域面片进行调整,使得所述主约束函数值最小,包括:
22.根据所述邻域面片的法向量自由度、所述一致性约束系数,采用所述主约束函数,计算所述邻域面片的主约束函数值;
23.对所述邻域面片的位置自由度和法向量自由度进行调整,直至调整后的邻域面片的主约束函数值最小;所述主约束函数值最小时,调整后的邻域面片投影到所述多个影像上投影窗口的第一相关系数最优。
24.可选地,所述从目标对象的面片栈中取出一个种子面片之前,所述方法还包括:
25.对所述目标对象的多个影像进行特征匹配,得到多个初始种子面片;
26.创建包含所述多个初始种子面片的所述面片栈。
27.可选地,所述面片栈中所述多个种子面片采用置信度的高低进行排序;所述从目标对象的面片栈中取出一个种子面片,包括:
28.从所述面片栈中选取置信度最高的种子面片作为所述取出的种子面片。
29.可选地,所述将最小的主约束函数值对应的所述调整后的邻域面片,作为新的种子面片加入所述面片栈,所述方法包括:
30.判断使所述主约束函数值达到最小时对应的第一相关系数是否大于或等于第一预设阈值;
31.若所述第一相关系数大于或等于所述第一预设阈值,则将所述第一相关系数对应的所述调整后的邻域面片,作为新的种子面片加入所述面片栈。
32.第二方面,本技术实施例还提供了一种三维重建装置,所述装置包括:
33.获取模块,用于从目标对象的面片栈中取出一个种子面片,其中,所述面片栈包括:多个种子面片;
34.构建模块,用于若取出的种子面片未构建邻域面片,则根据所述取出的种子面片构建所述取出的种子面片的邻域面片;
35.确定模块,用于根据所述取出的种子面片与所述邻域面片的连续判断结果,确定所述连续判断结果对应的一致性约束系数;
36.调整模块,用于根据所述邻域面片的法向量自由度、所述一致性约束系数,采用预设的主约束函数对所述邻域面片进行调整,使得主约束函数值最小;其中,所述主约束函数包含:第一相关系数、一致性约束函数,所述第一相关系数为调整后的领域面片投影到多个影像投影窗口的相关系数,所述一致性约束函数用于结合所述一致性约束系数,对所述法向量自由度进行约束;
37.加入模块,将最小的主约束函数值对应的所述调整后的邻域面片,作为新的种子面片加入所述面片栈,重复执行,直至所述面片栈中的种子面片均被取出,且取出的种子面片均构建有对应的邻域面片;
38.重建模块,用于根据所有调整后的邻域面片,对所述目标对象进行三维重建。
39.可选地,所述确定模块,具体用于若所述连续判断结果为:所述取出的种子面片与所述邻域面片连续,则确定1为所述一致性约束系数;若所述连续判断结果为:所述取出的种子面片与所述邻域面片不连续,则确定0为所述一致性约束系数。
40.可选地,所述确定模块,还具体用于计算第一投影窗口与第二投影窗口的第二相关系数,其中,所述第一投影窗口为所述取出的种子面片在对应参考影像上的投影窗口,所述第二投影窗口为所述邻域面片在对应参考影像上的投影窗口;若所述第二相关系数大于或等于第二预设阈值,则确定所述连续判断结果为:所述取出的种子面片与所述邻域面片连续;若所述第二相关系数小于所述第二预设阈值,则确定所述连续判断结果为:所述取出的种子面片与所述邻域面片不连续。
41.可选地,所述调整模块,具体用于根据所述邻域面片的法向量自由度、所述一致性约束系数,采用所述主约束函数,计算所述邻域面片的主约束函数值;对所述邻域面片的位置自由度和法向量自由度进行调整,直至调整后的邻域面片的主约束函数值最小;所述主约束函数值最小时,调整后的邻域面片投影到所述多个影像上投影窗口的第一相关系数最优。
42.可选地,所述装置还包括:
43.匹配模块,用于对所述目标对象的多个影像进行特征匹配,得到多个初始种子面片;
44.创建模块,用于创建包含所述多个初始种子面片的所述面片栈。
45.可选地,所述面片栈中所述多个种子面片采用置信度的高低进行排序;所述获取模块,具体用于从所述面片栈中选取置信度最高的种子面片作为所述取出的种子面片。
46.可选地,所述加入模块,具体用于判断使所述主约束函数值达到最小时对应的第一相关系数是否大于或等于第一预设阈值;若所述第一相关系数大于或等于所述第一预设阈值,则将所述第一相关系数对应的所述调整后的邻域面片,作为新的种子面片加入所述面片栈。
47.第三方面,本技术实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述电子设备运行时,所述处理
器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行上述第一方面的三维重建方法的步骤。
48.第四方面,本技术实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面的三维重建方法的步骤。
49.本技术的有益效果是:
50.本技术实施例提供一种三维重建方法、装置、电子设备及存储介质,该方法包括:从目标对象的面片栈中取出一个种子面片,其中,该面片栈包括:多个种子面片;若取出的种子面片未构建邻域面片,则根据取出的种子面片构建该取出的种子面片的邻域面片;根据该取出的种子面片与该邻域面片的连续判断结果,确定该连续判断结果对应的一致性约束系数;根据该邻域面片的法向量自由度、该一致性约束系数,采用预设的主约束函数对该邻域面片进行调整,使得主约束函数值最小;其中,该主约束函数包含:第一相关系数、一致性约束函数,该第一相关系数为调整后的领域面片投影到多个影像投影窗口的相关系数。该一致性约束函数用于结合该一致性约束系数,对该法向量自由度进行约束;将最小的主约束函数值对应的该调整后的邻域面片,作为新的种子面片加入该面片栈,重复执行,直至该面片栈中的种子面片均被取出,且取出的种子面片均构建有对应的邻域面片;根据所有调整后的邻域面片,对该目标对象进行三维重建。
51.采用本技术实施例提供三维重建方法,通过判断种子面片和邻域面片的连续结果,确定一致性约束函数中的一致性约束系数的取值,采用包含该一致性约束函数的主约束函数对该邻域面片的参数(位置自由度、法向量自由度)进行调整,使得该主约束函数值最小,此时对应的邻域面片为最优的邻域面片。也就是说,由于该主约束函数中的一致性约束函数是对该邻域面片的法向量自由度进行约束,所以该邻域面片参数的初始取值不仅和种子面片相关,而且在对该邻域面片参数进行调整过程中,也会受到该种子面片的影响,进而可以提高该邻域面片与该种子面片的一致性。并且,在根据采用上述构建出来的邻域面片去恢复的目标场景(目标对象)的三维模型准确度也会得到提高。
附图说明
52.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
53.图1为本技术实施例提供的一种三维重建方法的流程示意图;
54.图2为本技术实施例提供的另一种三维重建方法的流程示意图;
55.图3为本技术实施例提供的又一种三维重建方法的流程示意图;
56.图4为本技术实施例提供的再一种三维重建方法的流程示意图;
57.图5为本技术实施例提供的又一种三维重建方法的流程示意图;
58.图6为本技术实施例提供的一种三维重建装置的结构示意图;
59.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
60.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。
61.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
62.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
63.图1为本技术实施例提供的一种三维重建方法的流程示意图。如图1所示,该方法可以包括:
64.s101、从目标对象的面片栈中取出一个种子面片,其中,该面片栈包括:多个种子面片。
65.可以采用影像采集器(如相机)对目标对象(如建筑物)进行多角度拍摄,采集到该目标对象的多个影像,并根据多个影像中的特征点可以获取到多个种子面片,同时将各个种子面片按照一定的规则放置在面片栈中,该面片栈相当于一个容器,可以按照一定的规则存储各个种子面片。通过种子面片构建其邻域上的邻域面上时,需要从该面片栈中取出一个种子面片,并同时将该种子面片的信息删除。
66.这里对面片的概念进行解释,面片本质上相当于一个近似正切与目标对象表面的平面,是一个三维空间中的小矩形,可以用三维坐标信息和法向量信息描述一个面片。需要说明的是,本技术不对该面片栈中的种子面片的个数进行限定。
67.s102、若取出的种子面片未构建邻域面片,则根据取出的种子面片构建取出的种子面片的邻域面片。
68.如果该面片栈中已有该种子面片各个邻域上对应的邻域面片时,可直接从该面片栈中删除该种子面片,不需要根据该种子面片构建邻域面片;如果该面片栈中没有该种子面片各个邻域上对应的邻域面片或者没有某个邻域对应的邻域面片时,可根据该种子面片构建其邻域的邻域面片,并从该面片栈中删除该种子面片,同时将构建得到的领域面片放置在该面片栈中。
69.s103、根据取出的种子面片与该邻域面片的连续判断结果,确定该连续判断结果对应的一致性约束系数。
70.根据该种子面片的三维坐标信息、法向量信息以及各邻域与该种子面片在三维空间中的位置关系,同时构建各邻域对应的邻域面片,由于邻域面片和种子面片在三维空间中是相邻的关系,所以邻域面片和种子面片具有三维坐标信息以及法向量信息相似的特性,即邻域面片的初始三维坐标信息是通过将种子面片的三维坐标信息进行预设偏移量得到,邻域面片的初始法向量信息与种子面片的法向量信息一致。
71.也就是说,邻域面片的初始三维坐标信息以及初始法向量信息是一个已知的信息。可以根据该种子面片的法向量信息得到对应的参考影像,同理,也可以根据该邻域面片的初始法向量信息得到对应的初始参考影像,由于该种子面片的法向量信息和该邻域面片
的初始法向量信息是一致的,所以该邻域面片和该种子面片的参考影像是同一个,根据该邻域面片和该种子面片分别在该参考影像中的投影信息,可以判断该邻域面片和该种子面片是否连续,根据判断结果确定一致性约束系数(λ)。
72.s104、根据该邻域面片的法向量自由度、该一致性约束系数,采用预设的主约束函数对该邻域面片进行调整,使得主约束函数值最小。
73.其中,该主约束函数包含:第一相关系数、一致性约束函数,该第一相关系数为调整后的领域面片投影到多个影像投影窗口的相关系数,该一致性约束函数用于结合该一致性约束系数,对该法向量自由度进行约束。
74.为了简化运算,可将该邻域面片的三维坐标系信息固定在一条光线上。这样可将该邻域面片的6个自由度(包括三维坐标信息(x,y,z)以及法向量信息(a,b,c))简化为3个自由度(包括沿光线移动的距离(z)以及法向量方位角(α,β)),其中,法向量方位角(α,β)与法向量信息(a,b,c)之间如下的对应关系:
[0075][0076]
可以根据上述初始三维信息以及初始法向量信息得到该邻域面片的3个自由度信息(z,α,β),并且可以根据该邻域面片的法向量信息(法向量自由度)从拍摄得到的多个影像中选取一个参考图像和多个搜索影像,其中该参考图像定义为多个影像中与该邻域面片法向量夹角最小的光轴对应的影像,该搜索影像定义为多个影像中与该邻域面片法向量夹角小于预设值(如60
°
)的影像。在参考影像和搜索影像确定的前提下,可以得到该邻域面片分别在一个参考影像以及各个搜索影像中的投影区域(投影窗口),并且可以计算出该邻域面片投影到该参考影像与各个搜索影像所得的投影区域的相关系数,将各个相关系数进行相加,得到第一相关系数。同时,可以根据法向量方位角(α,β)可以分别计算出关于α、β的一致性约束函数值。
[0077]
该主约束函数中包括第一相关系数以及结合一致性约束系数(λ)对该邻域面片的法向量自由度(法向量方位角(α,β))进行约束的一致性约束函数。对该邻域面片进行调整,实质是通过该主约束函数的变化情况来判断该邻域面片是否达到最优。第一相关系数以及一致性约束函数值共同决定主约束函数值,也就是说,当主约束函数值达到最小时,对应的第一相关系数以及一致性约束函数值就是最优的,即此时调整后的邻域面片是最优的。
[0078]
可以看出,此处不仅利用邻域面片投影到多个影像上投影窗口的第一相关系数来优化该邻域面片,而且还利用对该邻域面片的法向量自由度进行约束来优化该邻域面片,也就是说,可以约束该邻域面片自由度的变化,这样可以避免当该目标对象上的区域纹理比较相似时,得到的领域面片是个飞点的现象。
[0079]
s105、将最小的主约束函数值对应的调整后的邻域面片,作为新的种子面片加入该面片栈,重复执行,直至该面片栈中的种子面片均被取出,且取出的种子面片均构建有对应的邻域面片。
[0080]
当上述主约束函数值达到最小时,此时该第一相关系数达到了最优以及该一致性
约束函数也达到了最优,即调整后的邻域面片达到最优,此时可以将该邻域面片作为新的种子面片加入该面片栈中,然后重复s101至s105的步骤,由于每次从该面片栈中取出一个种子面片,都相当于从该面片栈中删除了该种子面片,那么当所有的种子面片和所有的邻域面片都完成一次构建(扩散)时,该面片栈中的种子面片个数为0,相当于在该面片栈中的所有种子面片都被取出来,在执行预设次数扩散后,每个种子面片在对应的邻域中均可构建有对应的邻域面片。
[0081]
s106、根据所有调整后的邻域面片,对该目标对象进行三维重建。
[0082]
当该面片栈中的种子面片个数为0时,可以对所有的调整后的领域面片以及其对应的种子面片进行过滤,将不满足预设规则的面片剔除,得到剔除操作后对应的多个面片,将多个面片作为种子面片重新放置在上述面片栈中,重复s101至s105步骤,一般情况下,可进行3次迭代,这样可以保证面片的准确性以及完整性,进而使根据所有的面片恢复的目标场景的三维模型准确度得到提高。
[0083]
综上所述,本技术提供的三维重建方法中,通过判断种子面片和邻域面片的连续结果,确定一致性约束函数中的一致性约束系数的取值,采用包含该一致性约束函数的主约束函数对该邻域面片的参数(位置自由度、法向量自由度)进行调整,使得该主约束函数值最小,此时对应的邻域面片为最优的邻域面片。也就是说,由于该主约束函数中的一致性约束函数是对该邻域面片的法向量自由度进行约束,所以该邻域面片参数的初始取值不仅和种子面片相关,而且在对该邻域面片参数进行调整过程中,也会受到该种子面片的影响,进而可以提高该邻域面片与该种子面片的一致性。并且,在根据采用上述构建出来的邻域面片去恢复的目标场景(目标对象)的三维模型准确度也会得到提高。
[0084]
图2为本技术实施例提供的另一种三维重建方法的流程示意图。如图2所示,可选地,上述根据取出的种子面片与该邻域面片的连续判断结果,确定该连续判断结果对应的一致性约束系数之前,该方法还包括:
[0085]
s201、计算第一投影窗口与第二投影窗口的第二相关系数,其中,该第一投影窗口为取出的种子面片在对应参考影像上的投影窗口,该第二投影窗口为该邻域面片在对应参考影像上的投影窗口。
[0086]
由于该种子面片的三维坐标信息和法向量信息是已知的,并且该邻域面片是该种子面片在三维空间上邻域中的邻域面片,所以该邻域面片的初始三维坐标信息和初始法向量信息也是已知的。可以从拍摄到的多个影像中找到与该种子面片法向量夹角最小的光轴对应的一个影像,将该影像作为该种子面片对应的参考影像,同理,也可以找到该邻域面片对应的参考影像,由于该邻域面片的初始法向量信息和该种子面片的法向量信息是一致的,所以该种子面片和该邻域面片对应的参考影像是一个。该种子面片和该邻域面片分别在该参考影像中的投影区域可以称为第一投影窗口与第二投影窗口,根据第一投影窗口与第二投影窗口的像素信息可以通过归一化相关系数算法计算得到该种子面片和该邻域面片的第二相关系数。
[0087]
s202、若该第二相关系数大于或等于第二预设阈值,则确定该连续判断结果为:取出的种子面片与该邻域面片连续。
[0088]
s203、若该第二相关系数小于所述第二预设阈值,则确定该连续判断结果为:取出的种子面片与该邻域面片不连续。
[0089]
可根据实际需求设置第二预设阈值,如该第二预设阈值可以为0.7,本技术不对其进行限定。可根据该第二相关系数与该第二预设阈值之间的关系,得到确定该种子面片与该邻域面片之间是否连续,并且根据这两者是否连续确定一致性约束系数的具体取值。当该第二相关系数大于或等于该第二预设阈值(如0.7)时,代表着该种子面片和该邻域面片连续,进而可确定1为一致性约束系数;当该第二相关系数小于该第二预设阈值(如0.7)时,代表着该种子面片和该邻域面片不连续,进而可确定0为该一致性约束系数。
[0090]
图3为本技术实施例提供的又一种三维重建方法的流程示意图。如图3所示,可选地,上述根据该邻域面片的法向量自由度、该一致性约束系数,采用预设的主约束函数对该邻域面片进行调整,使得该主约束函数值最小,包括:
[0091]
s301、根据该邻域面片的法向量自由度、该一致性约束系数,采用该主约束函数,计算该邻域面片的主约束函数值。
[0092]
可以根据该邻域面片的法向量自由度得到该邻域面片的法向量方位角(α,β),该主约束函数为:该一致性约束函数为:
[0093]
其中,α、β分别表示领域面片的法向量方向角;fi表示邻域面片投影到第i个影像(搜索影像)上投影窗口的相关系数;n表示影像的个数(搜索影像);λ表示一致性约束系数;x表示领域面片的法向量方向角变量;δ为常数。
[0094]
可以通过一致性约束函数s(x)分别计算出α、β的一致性约束函数值s(α)、s(β),即该一致性约束函数是对该邻域面片的法向量自由度进行约束。通过该邻域面片的法向量方位角(α,β)可以计算出该邻域面片投影到第i个影像上投影窗口的相关系数fi,以及一致性约束函数值(s(α)、s(β)),进而可以计算出该邻域面片的主约束函数值。
[0095]
s302、对该邻域面片的位置自由度和法向量自由度进行调整,直至调整后的邻域面片的主约束函数值最小;主约束函数值最小时,调整后的邻域面片投影到多个影像上投影窗口的第一相关系数最优。
[0096]
其中,对该邻域面片的位置自由度(z)和法向量自由度(α,β)进行调整实质是在改变该第一相关系数的取值,以及一致性约束函数s(x)的取值,当该主约束函数对应的值达到最小时,该第一相关系数的取值达到最优以及该一致性约束函数取值达到最优。也就是说,此时的参数(z,α,β)对应的邻域面片是最优的面片,当该主约束函数对应的值没有达到最小时,需要继续对该邻域面片的参数(z,α,β)进行调整,重述上述内容,即对当前的领域面片和该种子面片的连续性进行判断,确定该一致性约束系数,其他内容参考上述描述,直到邻域面片达到最优即可。需要说明的是,当调整该邻域面片时,可以重新根据调整后的法向量信息确定对应的参考影像以及搜索影像,也可以直接利用调整之前的法向量信息确定对应的参考影像以及搜索影像,本技术不对其进行限定。直到邻域面片达到最优即可。
[0097]
可以看出,通过上述方式对种子面片的各个邻域上构建邻域面片时,避免了由于邻域纹理相似时,邻域上产生空洞的现象,即构建出的邻域面片会被过滤掉,也就是说,这样可以提高该种子面片和邻域面片的匹配度。
[0098]
图4为本技术实施例提供的再一种三维重建方法的流程示意图。如图4所示,可选
地,上述从目标对象的面片栈中取出一个种子面片之前,该方法还包括:
[0099]
s401、对该目标对象的多个影像进行特征匹配,得到多个初始种子面片。
[0100]
s402、创建包含多个初始种子面片的面片栈。
[0101]
其中,可通过影像采集器(如相机)对该目标对象进行多个角度的拍摄,采集到该目标对象对应的多个影像,利用特征提取算法提取各个影像中的特征点,其中,该特征提取算法可以包括:harris算法、dog(高斯差分)算法以及sift算法。根据特征点匹配算法对各个特征点进行匹配,得到至少在预设个数个影像上具有相同特征的特征点,其中,预设个数至少为2,在得到多组匹配的特征点后,可以根据前方交会算法得到多个地面种子点,进而获取到对应的初始种子面片,该初始种子面片至少包括三种信息:三维坐标信息、法向量信息以及面积信息。可根据每个初始种子面片具有的特征(如置信度)构建该面片栈,该面片栈相当于一个容器,可以按照一定的规则存储各个种子面片对应的信息(维坐标信息、法向量信息以及面积信息)。
[0102]
可选地,该面片栈中多个种子面片采用置信度的高低进行排序,上述从目标对象的面片栈中取出一个种子面片,包括:从该面片栈中选取置信度最高的种子面片作为取出的种子面片。
[0103]
具体的,可根据置信度算法,计算得到各个种子面片对应的置信度,可将置信度最大的种子面片放置在该面片栈的最上层,将置信度最小的种子面片放置在该面片栈的最下层。从该面片栈中的最上层取出对应的种子面片,也就相当于删除了该层上的种子面片。当邻域面片作为新的种子面片加入该面片栈时,需要对该新的种子面片以及该面片栈中剩余的种子面片根据置信度的进行重新排序,下次还是将该面片栈中的最上层取出种子面片构建邻域面片,以此类推,直到该面片栈中的各层上没有种子面片为止。
[0104]
图5为本技术实施例提供的又一种三维重建方法的流程示意图。如图5所示,可选地,上述将最小的主约束函数值对应的调整后的邻域面片,作为新的种子面片加入该面片栈,该方法包括:
[0105]
s501、判断使该主约束函数值达到最小时对应的第一相关系数是否大于或等于第一预设阈值。
[0106]
s502、若该第一相关系数大于或等于该第一预设阈值,则最大的第一相关系数对应的调整后的邻域面片,作为新的种子面片加入该面片栈。
[0107]
具体的,每调整一次邻域面片,即调整邻域面片自由度(z,α,β),同时可以得到该邻域面片对应的参考影像和搜索影像,根据归一化互相关系数算法可以计算出该邻域面片在该参考影像上的投影区域与各个搜索影像上的投影区域的相关系数。可以预先设置该邻域面片投影在每个搜索影像上的投影区域的相关系数的阈值,也可以设置各个相关系数之和(第一相关系数)对应的第一预设阈值,当该邻域面片满足主约束函数条件(主约束函数值最小)时,还需要确定该邻域面片的第一相关系数是否大于或者等于第一预设阈值,如果该邻域面片同时满足这两个条件,那么可以将该邻域面片加入该面片栈中,如果该邻域面片满足主约束函数条件,而不满足第一相关系数大于或者等于第一预设阈值的条件,那么就需要放弃该邻域面片,即不将该邻域面片加入该面片栈中。这样可以进一步的提高恢复目标场景(目标对象)的三维模型准确度。
[0108]
图6为本技术实施例提供的一种三维重建装置的结构示意图,如图6所示,该装置
可以包括:
[0109]
获取模块601,用于从目标对象的面片栈中取出一个种子面片,其中,该面片栈包括:多个种子面片;
[0110]
构建模块602,用于若取出的种子面片未构建邻域面片,则根据取出的种子面片构建取出的种子面片的邻域面片;
[0111]
确定模块603,用于根据取出的种子面片与该邻域面片的连续判断结果,确定该连续判断结果对应的一致性约束系数;
[0112]
调整模块604,用于根据该邻域面片的法向量自由度、该一致性约束系数,采用预设的主约束函数对该邻域面片进行调整,使得主约束函数值最小;
[0113]
加入模块605,用于将最小的主约束函数值对应的调整后的邻域面片,作为新的种子面片加入该面片栈,重复执行,直至该面片栈中的种子面片均被取出,且取出的种子面片均构建有对应的邻域面片。
[0114]
重建模块606,用于根据所有调整后的邻域面片,对该目标对象进行三维重建。
[0115]
可选地,确定模块603,具体用于若该连续判断结果为:取出的种子面片与该邻域面片连续,则确定1为该一致性约束系数;若该连续判断结果为:取出的种子面片与该邻域面片不连续,则确定0为该一致性约束系数。
[0116]
可选地,确定模块603,还具体用于计算第一投影窗口与第二投影窗口的第二相关系数,其中,该第一投影窗口为取出的种子面片在对应参考影像上的投影窗口,该第二投影窗口为该邻域面片在对应参考影像上的投影窗口;若该第二相关系数大于或等于第二预设阈值,则确定该连续判断结果为:取出的种子面片与该邻域面片连续;若该第二相关系数小于所述第二预设阈值,则确定该连续判断结果为:取出的种子面片与该邻域面片不连续。
[0117]
可选地,调整模块604,具体用于根据该邻域面片的法向量自由度、该一致性约束系数,采用该主约束函数,计算该邻域面片的主约束函数值;对该邻域面片的位置自由度和法向量自由度进行调整,直至调整后的邻域面片的主约束函数值最小;主约束函数值最小时,调整后的邻域面片投影到该多张影像上投影窗口的第一相关系数最优。
[0118]
可选地,该装置还包括:
[0119]
匹配模块,用于对该目标对象的多个影像进行特征匹配,得到多个初始种子面片;
[0120]
创建模块,用于创建包含多个初始种子面片的面片栈。
[0121]
可选地,该面片栈中多个种子面片采用置信度的高低进行排序,获取模块601,具体用于从该面片栈中选取置信度最高的种子面片作为取出的种子面片。
[0122]
可选地,加入模块605,具体用于判断判断使该主约束函数值达到最小时对应的第一相关系数是否大于或等于第一预设阈值;若该第一相关系数大于或等于该第一预设阈值,则最大的第一相关系数对应的调整后的邻域面片,作为新的种子面片加入该面片栈。
[0123]
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
[0124]
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital signal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元
件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0125]
图7为本技术实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备可以包括:处理器701、存储介质702和总线703,存储介质702存储有处理器701可执行的机器可读指令,当该电子设备运行时,处理器701与存储介质702之间通过总线703通信,处理器701执行机器可读指令,以执行上述三维重建方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
[0126]
可选地,本技术还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述三维重建方法的步骤。
[0127]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0128]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0129]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0130]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0131]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1