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

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

2022-02-20 13:26:25 来源:中国专利 TAG:


1.本技术实施例涉及三维重建技术领域,尤其涉及三维重建优化方法、装置、设备及存储介质。


背景技术:

2.随着无人设备以及三维重建技术的发展,对无人设备拍摄的图像信息进行三维重建并对重建数据进行应用已经越来越普遍。三维重建过程中,通常采用三维重建算法从时间系列的二维图像中推算得到对应的三维信息。
3.在使用三维重建算法对无人设备拍摄的图像信息进行三维重建时,重建数据的精度会受到各个参与运算的参数的影响,如常见的相机内参。一旦参与运算的参数出错则会导致三维重建最终的建图失败。然而,现有技术中缺乏一种合理且高效的对三维重建参数的优化机制,导致三维重建效率低,需要改进。


技术实现要素:

4.本技术实施例提供三维重建优化方法、装置、设备及存储介质,解决了现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。
5.在第一方面,本技术实施例提供了一种三维重建优化方法,包括:
6.获取待处理的图片;
7.如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值;
8.确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
9.在第二方面,本技术实施例提供了一种三维重建优化装置,包括图片获取模块、第一重建模块和偏离处理模块,其中:
10.所述图片获取模块,用于获取待处理的图片;
11.所述第一重建模块,用于在所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值;
12.所述偏离处理模块,用于确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
13.在第三方面,本技术实施例提供了一种三维重建优化设备,包括:存储器以及一个或多个处理器;
14.所述存储器,用于存储一个或多个程序;
15.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的三维重建优化方法。
16.在第四方面,本技术实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的三维重建优化方法。
17.本技术实施例通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。
附图说明
18.图1是本技术实施例提供的一种三维重建优化方法的流程图;
19.图2是本技术实施例提供的另一种三维重建优化方法的流程图;
20.图3是本技术实施例提供的另一种三维重建优化方法的流程图;
21.图4是本技术实施例提供的另一种三维重建优化方法的流程图;
22.图5是本技术实施例提供的另一种三维重建优化方法的流程图;
23.图6是本技术实施例提供的另一种三维重建优化方法的流程图;
24.图7是本技术实施例提供的一种位姿解算装置的结构示意图;
25.图8是本技术实施例提供的一种三维重建优化设备的结构示意图。
具体实施方式
26.为了使本技术的目的、技术方案和优点更加清楚,下面结合附图对本技术具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
27.图1给出了本技术实施例提供的一种三维重建优化方法的流程图,本技术实施例提供的三维重建优化方法可以由位姿解算装置来执行,该位姿解算装置可以通过硬件和/或软件的方式实现,并集成在三维重建优化设备中。
28.下述以位姿解算装置执行三维重建优化方法为例进行描述。参考图1,该三维重建优化方法包括:
29.s101:获取待处理的图片。
30.示例性的,获取待处理的图片,待处理的图片用于后续进行重建处理。本实施例提供的待处理的图片为经过特征匹配的图片,例如,接收无人设备在移动过程中拍摄的原始图片,并对接收到的原始图片进行特征匹配,得到原始图片之间的特征匹配结果。
31.在一个可能的实施例中,在获取待处理的图片之前,本实施例提供的三维重建优化方法还包括s1001-s1003:
32.s1001:对获取的原始图片进行特征提取,得到特征提取结果。
33.示例性的,依次获取无人设备(例如无人机)在移动过程中拍摄的原始图片,并对原始图片进行特征提取,得到原始图片的特征提取结果。例如,基于sift(scale-invariant feature transform,尺度不变特征变换)算法提取出原始照片中的特征描述子,得到包括特征描述子的特征提取结果。
34.s1002:根据所述特征提取结果,对所述原始图片和先前获取的原始图片进行特征匹配,得到特征匹配结果。
35.示例性的,根据当前获取的原始图片的特征提取结果,和先前获取的原始图片的特征提取结果,对当前获取的原始图片和先前获取的原始图片进行特征匹配,得到当前获得的原始图片的特征匹配结果。例如,确定当前获取的原始图片的特征描述子和先前获取的原始图片的特征描述子之间的距离(例如欧氏距离等),并根据特征描述子之间的距离,在先前获取的原始图片中确定与当前获取的原始图片相匹配的原始图片,得到特征匹配结果。
36.在一个可能的实施例中,用于与当前获取的原始图片进行特征匹配的先前获取的原始图片,可以是与当前获取的原始图片在地理空间或时间上相近的原始图片。例如,根据原始图片中记载的gps信息或时间戳确定拍摄原始图片时的地理空间或时间,并确定先前在设定位置范围或时间范围内拍摄的原始图片作为特征匹配的原始图片。
37.s1003:根据所述特征匹配结果,确定待处理的图片。
38.示例性的,在得到当前获得的原始图片的特征匹配结果后,将进行特征匹配之后的原始图片作为待处理的图片(包括当前特征匹配之后的原始图片和先前特征匹配之后的原始图片)。
39.s102:如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值。
40.示例性的,在获取待处理的图片后,确定获取的待处理图片中的关键帧图片的数量。其中,关键正图片为待处理的图片中,经过重建处理(包括本技术提供的第一至第四重建处理)的图片,可以理解的是,新获取的待处理图片在经过重建处理后,在下一个周期的三维重建优化流程中,成为关键帧图片。
41.进一步的,判断待处理的图片中关键帧图片的数量是否大于第一预设数量且小于第二预设数量。若是,则对待处理的图片进行第一重建处理得到第一重建信息。其中,第一重建处理包括对相机内参的优化处理,并且第一重建信息包括第一相机内参值。
42.在一个可能的实施例中,第一重建处理基于sfm(structure from motion,运动恢复结构)方法进行,在基于sfm方法进行重建处理时,可设定需要优化的参数。例如设定为优化相机内参,在利用待处理的图片进行重建处理,得到三维点云数据的同时,对相机内参进行优化。进一步的,第一重建处理可以是视觉ba优化,或者是加入定位参数融合处理(例如gps约束)的视觉ba(bundle adjustment)优化,本实施例以加入定位参数融合处理的视觉ba优化为例进行描述。可以理解的是,在完成对待处理图片的第一重建处理后,相机内参值被优化更新为第一相机内参值,若后续未对相机内参值进行初始化,下一次重建处理将基于优化更新后的第一相机内参值进行。
43.s103:确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
44.示例性的,在对待处理的图片进行第一重建处理后,确定优化更新后的第一相机内参值相对于初始相机内参值的第一偏离值,并将第一偏离值与第一预设阈值进行比较。在第一偏离值小于第一预设阈值时,则继续获取输入的待处理图片,进行下一周期的三维重建优化流程。
45.若第一偏离值不小于第一预设阈值,认为优化得到第一相机内参值相对于初始相机内参值偏离程度过大,若保持该第一次相机内参值,会存在出现局部最优的情况,影响三维重建效果,则对相机内参进行初始化,即将相机内参值初始化为初始相机内参值。在完成对重建处理线程的初始化处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。本实施例在相机内参值偏离正常值时,初始化相机内参,保证后续三维重建及优化的正常进行。
46.上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。
47.在上述实施例的基础上,图2给出了本技术实施例提供的另一种三维重建优化方法的流程图,该三维重建优化方法是对上述三维重建优化方法的具体化。参考图2,该三维重建优化方法包括:
48.s201:获取待处理的图片。
49.s202:确定所述图片的数量是否大于第三预设数量,如果是,则初始化重建处理线程,所述重建处理线程用于执行重建处理。
50.本实施例通过重建处理线程(例如sfm线程)对待处理的图片进行重建处理,该重建处理线程可根据需求对空间点、相机位姿和相机内参中的一种或多种进行优化处理。可以理解的是,在启用重建处理线程前,需要对重建处理线程进行初始化处理,并且初始化后的重建处理线程中,相机内参值被设置为预先设定的初始相机内参值。
51.具体的,确定待处理的图片的数量是否大于第三设定数量,并且在确定图片的数量大于第三设定数量时,初始化重建处理线程。在成功初始化重建处理线程后,后续再接收到新的待处理图片时,若重建处理线程先前已完成初始化,则继续进行下一步,根据关键帧图片的数量确定进行的重建处理类型(第一至第一重建处理)。
52.本实施例提供的第三设定数量可根据需要进行设定,例如将第三设定数量设定为10,并通过特征提取线程和对接收到的原始图片进行特征提取,并将特征提取结果传递给特征匹配线程,由特征匹配线程对接收到的带特征的原始图片进行特征匹配,并将当前原始图片及其特征匹配结果传递给重建处理线程,重建处理线程根据接收到的匹配结果确定待处理的图片,并在待处理的图片的数量大于10张时,初始化重建处理线程,利用初始化后的重建处理线程进行三维重建以及参数优化。
53.s203:确定所述图片中的关键帧图片的数量是否大于第一预设数量且小于第二预设数量,如果是,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包
括对相机内参的优化处理,所述第一重建信息包括第一相机内参值,所述第三预设数量小于所述第一预设数量。
54.具体的,在重建处理线程接收到新的待处理的图片时,确定重建处理线程中接收到的待处理的图片的数量,并确定待处理的图片中关键帧图片的数量。判断图片中关键帧图片的数量是否大于第一预设数量且小于第二预设数量,在关键帧图片的数量大于第一预设数量且小于第二预设数量时,则对所有待处理的图片进行包括对相机内参的优化处理的第一重建处理,并得到包括优化后的第一相机内参值的第一重建信息。
55.本实施例提供的第三预设数量小于第一预设数量,即第三预设数量、第一预设数量和第二预设数量依次增大。例如,将第三预设数量、第一预设数量和第二预设数量分别设置为10、30和50,那么重建处理线程在接收到的待处理的图片的数量不大于10张时,则保留待处理的图片,直至待处理的图片的数量大于10张,则对重建处理线程进行初始化处理。进一步的,判断待处理的图片中关键帧图片的关键帧图片的数量是否大于30张并且小于50张,若是,则对所有接收到的待处理的图片进行包括对相机内参的优化处理的第一重建处理,并得到包括第一相机内参值的第一重建信息。
56.s204:确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片,如果所述第一偏离值不小于第一预设阈值,则重新初始化所述重建处理线程。
57.具体的,在完成对待处理的图片的第一重建处理后,确定优化后的第一相机内参值和初始相机内参值之间的第一偏离值,并将第一偏离值与设定的第一预设阈值进行比较。
58.如果第一偏离值小于第一预设阈值,则继续获取(特征匹配线程)输入的待处理的图片,进行下一周期的三维重建优化流程。如果第一偏离值不小于第一预设值,此时优化后的第一相机内参值相对于初始相机内参值偏离过大,会存在出现局部最优影响三维重建优化效果的情况,则重新对重建处理线程进行初始化处理,将相机内参值重设为初始相机内参值,保证三维重建优化效果。在完成对重建处理线程的初始化处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。
59.在一个可能的实施例中,本实施例提供的第一偏离值基于以下公式确定:
[0060][0061]
其中,k'为第一相机内参值,f'为第一相机焦距,cx'为第一相机内轴横坐标,cy'为第一相机内轴纵坐标,k为初始相机内参值,f为初始相机焦距,cx为初始相机内轴横坐标,cy为初始相机内轴纵坐标。
[0062]
进一步的,本实施例提供的第一预设阈值基于以下公式确定:
[0063][0064]
其中,ke1为第一预设阈值,δf1为设定的第一焦距偏离阈值,δcx1为设定的第一内轴横坐标偏离阈值,δcy1为设定的第一内轴纵坐标偏离阈值。
[0065]
在|k'-k|《|ke1|时,确定第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片,否则认为第一相机内参值相对于初始相机内参值偏离过大,需要重新对重建处理线程进行初始化处理。
[0066]
上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。并且在第一偏离值不小于第一预设阈值时,重新初始化重建处理线程,在检测到重建处理线程的相机内参偏离正常数值时,及时初始化重建处理线程,减少后续重建优化失败的情况,保证三维重建优化的效果。
[0067]
在上述实施例的基础上,图3给出了本技术实施例提供的另一种三维重建优化方法的流程图,该三维重建优化方法是对上述三维重建优化方法的具体化。参考图3,该三维重建优化方法包括:
[0068]
s301:获取待处理的图片。
[0069]
s302:确定所述图片的数量是否大于第三预设数量,如果是,则初始化重建处理线程,所述重建处理线程用于执行重建处理,所述第三预设数量小于所述第一预设数量。
[0070]
s303:确定所述图片中的关键帧图片的数量是否大于第一预设数量且小于第二预设数量。
[0071]
如果图片中的关键帧图片的数量不大于第一预设数量,则跳转至步骤s304,对图片进行第二重建处理。如果关键帧图片的数量大于第一预设数量且小于第二预设数量,则跳转至步骤s305,对图片进行第一重建处理。
[0072]
s304:如果所述关键帧图片的数量不大于所述第一预设数量,则对所述图片进行第二重建处理,所述第二重建处理包括对相机位姿的优化处理。
[0073]
可选的,本实施例提供的第二重建处理包括对相机位姿和/或空间点的优化处理,但不包括对相机内参的优化处理。示例性的,本实施例提供的第二重建处理基于sfm方法进行,在进行第二重建处理时,可设定需要优化的参数。例如设定需要优化的参数为相机位姿,在利用待处理的图片进行重建处理,得到三维点云数据的同时,对相机位姿进行优化。可以理解的是,由于未选择对相机内参进行优化处理,则在利用待处理的图片进行重建处理后,将保持当前的相机内参值。进一步的,第一重建处理可以是视觉ba优化,或者是加入定位参数融合处理(例如gps约束)的视觉ba优化,本实施例以加入定位参数融合处理的视觉ba优化为例进行描述。可以理解的是,在完成对待处理图片的第二重建处理后,未对当前的相机内参值进行优化更新,下一次重建处理将基于当前的相机内参值进行。
[0074]
具体的,在关键帧图片的数量不大于第一预设数量时,对所有的待处理的图片进行第二重建处理,该第二重建处理包括对相机位姿的优化处理,但不包括对相机内参的优化处理。在完成对图片的第二重建处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。
[0075]
s305:如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值。
[0076]
s306:确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
[0077]
上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。并且在关键帧图像不大于第一预设数量时,由于当前关键帧图像较少,不需要对相机内参进行优化,则对图像进行不包括对相机内参进行优化处理的第二重建处理,保证三维重建优化的效果和效率。
[0078]
在上述实施例的基础上,图4给出了本技术实施例提供的另一种三维重建优化方法的流程图,该三维重建优化方法是对上述三维重建优化方法的具体化。参考图4,该三维重建优化方法包括:
[0079]
s401:获取待处理的图片。
[0080]
s402:确定所述图片的数量是否大于第三预设数量,如果是,则初始化重建处理线程,所述重建处理线程用于执行重建处理,所述第三预设数量小于所述第一预设数量。
[0081]
s403:确定所述图片中的关键帧图片的数量是否大于第一预设数量且小于第二预设数量。
[0082]
如果图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则跳转至步骤s404,对图片进行第一重建处理。如果关键帧图片的数量不小于第二预设数量,则跳转至步骤s406,对图片进行第三重建处理。
[0083]
s404:如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值。
[0084]
s405:确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
[0085]
s406:如果所述关键帧图片的数量不小于所述第二预设数量,则对所述图片进行第三重建处理得到第三重建信息,所述第三重建处理包括对相机内参的优化处理,所述第三重建信息包括第三相机内参值。
[0086]
本实施例提供的第三重建处理包括对相机内参的优化处理,第三重建处理的到的第三重建信息包括第三相机内参值。可选的,本实施例提供的第三重建处理包括对相机位姿和/或空间点的优化处理,并包括对相机内参的优化处理。示例性的,本实施例提供的第三重建处理基于sfm方法进行,在进行第三重建处理时,可设定需要优化的参数。例如设定需要优化的参数为相机位姿以及相机内参,在利用待处理的图片进行重建处理,得到三维点云数据的同时,对相机位姿以及相机内参进行优化,得到优化后的第三重建信息,该第三重建信息包括优化后的相机位姿和第三相机内参值,在下一周期的重建处理中,将基于第三相机内参值进行。进一步的,第三重建处理可以是视觉ba优化,或者是加入定位参数融合处理(例如gps约束)的视觉ba优化,本实施例以加入定位参数融合处理的视觉ba优化为例进行描述。可以理解的是,在完成对待处理图片的第三重建处理后,相机内参值被优化更新为第三相机内参值,若后续未对相机内参值进行初始化,下一次重建处理将基于优化更新
后的第三相机内参值进行。
[0087]
具体的,在关键帧图片的数量不小于第二预设数量时,对所有待处理的图片进行包括对相机内参的优化处理的第三重建处理,得到包括第三相机内参值的第三重建信息。在完成对图片的第三重建处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。
[0088]
上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。同时,在关键帧图像不小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第三重建处理,继续优化重建处理线程的相机内参,提高三维重建优化的质量。
[0089]
在上述实施例的基础上,图5给出了本技术实施例提供的另一种三维重建优化方法的流程图,该三维重建优化方法是对上述三维重建优化方法的具体化。参考图5,该三维重建优化方法包括:
[0090]
s501:获取待处理的图片。
[0091]
s502:确定所述图片的数量是否大于第三预设数量,如果是,则初始化重建处理线程,所述重建处理线程用于执行重建处理,所述第三预设数量小于所述第一预设数量。
[0092]
s503:确定所述图片中的关键帧图片的数量是否大于第一预设数量且小于第二预设数量。
[0093]
如果图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则跳转至步骤s504,对图片进行第一重建处理。如果关键帧图片的数量不小于第二预设数量,则跳转至步骤s506,对图片进行第三重建处理。
[0094]
s504:如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值。
[0095]
s505:确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
[0096]
s506:获取预设标识。
[0097]
本实施例通过预先设置的预设标识记录相机内参的收敛情况,即预设标识用于指示相机内参的收敛情况。具体的,在预设标识为第一标识(例如预设标识为“1”或“真”)时,确定相机内参值趋于稳定,即相机内参收敛,而在预设标识为第二标识(例如预设标识为“0”或“假”)时,确定相机内参值未趋于稳定,即相机内参未收敛。并且预设标识默认的初始结果为第二标识。
[0098]
具体的,在关键帧图片的数量不小于第二预设数量时,获取预设标识并判断预设标识的结果。如果预设标识为第一标识,则跳转至步骤s507,对图片进行第四重建处理,如果预设标识为第二标识,则跳转至步骤s508,对图片进行第三重建处理。
[0099]
s507:如果所述关键帧图片的数量不小于所述第二预设数量,并且所述预设标识为第一标识,则对所述图片进行第四重建处理,所述第四重建处理包括对相机位姿的优化
处理,以及定位参数融合处理。
[0100]
本实施例提供的第四重建处理不包括对相机内参的优化处理。可选的,本实施例提供的第四重建处理包括对相机位姿和/或空间点的优化处理,以及定位参数融合处理,并且不包括对相机内参的优化处理。示例性的,本实施例提供的第四重建处理基于sfm方法进行,在进行第四重建处理时,可设定需要优化的参数。例如设定需要优化的参数为相机位姿和空间点,在利用待处理的图片进行重建处理,得到三维点云数据的同时,对相机位姿和空间点进行优化。进一步的,第四重建处理可以是加入定位参数融合处理(例如gps约束)的视觉ba优化,本实施例以加入定位参数融合处理的视觉ba优化为例进行描述。可以理解的是,此时预设标识为第一标识,可认为当前相机内参处于收敛状态,不需要再对相机内参进行优化处理,在下次获取新的待处理的图片时,可基于收敛状态下的相机内参值进行重建处理。
[0101]
具体的,在关键帧图片的数量不小于第二预设数量,并且预设标识为第一标识时,对所有待处理的图片进行包括对相机位姿的优化处理,以及对定位参数融合处理的第四重建处理。在完成对图片的第四重建处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。
[0102]
s508:如果所述关键帧图片的数量不小于所述第二预设数量,并且所述预设标识为第二标识,则对所述图片进行第三重建处理得到第三重建信息,所述第三重建处理包括对相机内参的优化处理,所述第三重建信息包括第三相机内参值。
[0103]
具体的,在关键帧图片的数量不小于第二预设数量,并且预设标识为第二标识时,此时相机内参并未处于收敛状态,则对所有待处理的图片进行包括对相机内参的优化处理的第三重建处理,得到包括第三相机内参值的第三重建信息。在完成对图片的第三重建处理后,继续获取待处理的图片,进行下一周期的三维重建优化流程。
[0104]
可选的,本实施例提供的第一至第四重建处理可以是同样的重建处理方式,也可以是不同的重建处理方式,例如重建处理可以是纯视觉的ba优化或加入定位参数融合处理的视觉ba优化,并且重建处理需要优化的参数可以是相同,也可以是不同的,其中可优化的参数包括相机位姿、空间点、相机内参、相机外参。在本实施例中,第一重建处理和第三重建处理为相同的重建处理方式,均为加入定位参数融合处理的视觉ba优化,并且优化的参数均包括相机位姿和相机内参,第二重建处理为纯视觉的ba优化,并且不对相机内参进行优化处理,第四重建处理为加入定位参数融合处理的视觉ba优化,并且不对相机内参进行优化处理。
[0105]
s509:确定所述第三相机内参值与所述初始相机内参值的第二偏离值,如果所述第二偏离值小于第二预设阈值,则将预设标识设置为第一标识,其中,所述预设标识的初始结果为第二标识,所述第二预设阈值小于所述第一预设阈值。
[0106]
具体的,在对图片进行第三重建得到第三相机内参值之后,计算第三相机内参值相对于初始相机内参值的第二偏离值。将第二偏离值与预先设定的第二预设阈值进行比较,如果第二偏离值小于第二预设阈值,则认为经过多次的优化处理后,相机内参值已趋于稳定,相机内参收敛,并将预设标识设置为第一标识,在下一次接收到新的待处理的图片时,将对图片进行不包括对相机内参的优化处理的第四重建处理。而在第二偏离值不小于第二预设阈值时,认为相机内参并未收敛,则将预设标识保持为第二标识,在下一次接收到
新的待处理的图片时,将对图片进行包括对相机内参的优化处理的第三重建处理。
[0107]
其中预设标识的初始结果为第二标识,并且第二预设阈值小于第一预设阈值。在一个可能的实施例中,本实施例提供的第二偏离值基于以下公式确定:
[0108][0109]
其中,k'为第三相机内参值,f'为第三相机焦距,cx'为第三相机内轴横坐标,cy'为第三相机内轴纵坐标,k为初始相机内参值,f为初始相机焦距,cx为初始相机内轴横坐标,cy为初始相机内轴纵坐标。
[0110]
进一步的,本实施例提供的第二预设阈值基于以下公式确定:
[0111][0112]
其中,ke2为第二预设阈值,δf2为设定的第二焦距偏离阈值,δcx2为设定的第二内轴横坐标偏离阈值,δcy2为设定的第二内轴纵坐标偏离阈值。
[0113]
在|k'-k|《|ke2|时,确定第二偏离值小于第二预设阈值,则将预设标识设置为第一标识。
[0114]
上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。并通过预设标识记录相机内参的收敛状态,在相机内参收敛时,后续在进行重建处理时,不需要再对相机内参进行优化,提高三维重建优化效率,而在相机内参未收敛时,后续在进行重建处理时,继续对相机内参进行优化,提高三维重建优化质量。
[0115]
在上述实施例的基础上,图6给出了本技术实施例提供的另一种三维重建优化方法的流程图,该三维重建优化方法是对上述三维重建优化方法的具体化。参考图6,该三维重建优化方法包括:
[0116]
s601:对获取的原始图片进行特征提取,得到特征提取结果。
[0117]
s602:根据所述特征提取结果,对所述原始图片和先前获取的原始图片进行特征匹配,得到特征匹配结果,根据所述特征匹配结果,确定待处理的图片。
[0118]
特征提取线程获取无人设备拍摄的原始图片,并对原始图片进行特征提取,特征匹配线程根据特征提取结果对原始图片进行匹配,并根据特征匹配结果,确定待处理的图片,并向重建处理线程发送待处理的图片。
[0119]
s603:获取待处理的图片。
[0120]
重建处理线程获取特征匹配线程提供的待处理的图片,基于待处理的图片进行后续的三维重建优化。
[0121]
s604:确定所述图片的数量是否大于第三预设数量。
[0122]
重建处理线程检查输入队列中的图片数量是否大于第三预设数量(例如10张),若
图片数量大于第三预设数量,则跳转至步骤s605,否则返回步骤s603,继续获取特征匹配线程提供的待处理的图片。
[0123]
s605:确定是否已经初始化重建处理线程。
[0124]
判断重建处理线程是否已经完成初始化,若已完成初始化,则跳转至步骤s607,否则,跳转至步骤s606。
[0125]
s606:初始化所述重建处理线程。
[0126]
对重建处理线程进行初始化,以将重建处理线程中的相机内参值设置为初始相机内参值。
[0127]
s607:确定所述图片中的关键帧图片的数量是否大于第一预设数量。
[0128]
确定待处理的图片中关键帧的数量是否大于第一预设数量(例如30张),若关键帧图片的数量大于第三预设数量,则跳转至步骤s609,否则跳转至步骤s608。
[0129]
s608:对所述图片进行第二重建处理,所述第二重建处理包括对相机位姿的优化处理。在完成对所有待处理的图片的第二重建处理后,返回步骤s603。
[0130]
s609:确定所述图片中的关键帧图片的数量是否大于第二预设数量。
[0131]
确定待处理的图片中关键帧的数量是否大于第二预设数量(例如50张),若关键帧图片的数量大于第二预设数量,则跳转至步骤s613,否则跳转至步骤s610。
[0132]
s610:对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值。
[0133]
s611:确定所述第一相机内参值与初始相机内参值的第一偏离值,确定所述第一偏离值是否小于第一预设阈值。
[0134]
在完成对所有待处理的图片的第一重建处理后,计算第一相机内参值与初始相机内参值的第一偏离值,并判断第一偏离值是否小于第一预设阈值。若第一偏离值小于第一预设阈值,返回步骤s603,否则跳转至步骤s612。
[0135]
s612:重新初始化所述重建处理线程。
[0136]
在第一偏离值不小于第一预设阈值时,需要重新对重建处理线程进行初始化,并在完成对重建线程的初始化后,返回步骤s603。
[0137]
s613:确定预设标识是否为第一标识。
[0138]
判断预设标识是否为第一标识,若是,则跳转至步骤s617,否则跳转至步骤s614。
[0139]
s614:对所述图片进行第三重建处理得到第三重建信息,所述第三重建处理包括对相机内参的优化处理,所述第三重建信息包括第三相机内参值。
[0140]
s615:确定所述第三相机内参值与初始相机内参值的第二偏离值,确定所述第二偏离值是否小于第二预设阈值。
[0141]
在完成对所有待处理的图片的第三重建处理后,计算第三相机内参值与初始相机内参值的第第二偏离值,并判断第二偏离值是否小于第二预设阈值。若第二偏离值小于第一预设阈值,则跳转至步骤s616,否则返回步骤s603。
[0142]
s616:将预设标识设置为第一标识。
[0143]
将预设标识从第二标识更改为第一标识。
[0144]
s617:对所述图片进行第四重建处理,所述第四重建处理包括对相机位姿的优化处理,以及定位参数融合处理。在完成对所有待处理的图片的第四重建处理后,返回步骤
s603,直至所有原始图片均已参与三维重建优化。
[0145]
上述,在待处理的图片的数量达到第三预设数量时,初始化重建处理线程,若图片中的关键帧图片小于等于第一预设数量,则对所有图片进行不优化相机内参的第二重建处理,若图片中的关键帧图片大于第一预设数量且小于等于第二预设数量,则对所有图片进行优化相机内参的第一重建处理,并根据优化后的第一相机内参判断相机内参是否跑飞(此时第一偏离值大于等于第一预设阈值),若相机内参跑飞则重新初始化重建处理线程,若图片中的关键帧图片大于第二预设数量,并且预设标识为第二标识,则对所有图片进行优化相机内参的第三重建处理,并根据优化后的第三相机内参值判断相机内参是否收敛(此时第二偏离值小于第二预设阈值),若相机内参收敛,则将预设标识设置为第一标识,若图片中的关键帧图片大于第二预设数量,并且预设标识为第一标识,则对所有图片进行补优化相机内参的第三重建处理,解决了现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。
[0146]
图7给出了本技术实施例提供的一种位姿解算装置的结构示意图。参考图7,该位姿解算装置包括图片获取模块31、第一重建模块32和偏离处理模块33。
[0147]
其中,所述图片获取模块31,用于获取待处理的图片;所述第一重建模块32,用于在所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值;所述偏离处理模块33,用于确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
[0148]
上述,通过在待处理的图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量时,对图片进行包括对相机内参进行优化处理的第一重建处理,得到包括第一相机内参值的第一重建信息,并且在第一相机内参值与初始相机内参值的第一偏离值小于第一预设阈值时,继续获取待处理的图片进行重建处理,解决现有技术中三维重建效率低的问题,优化了三维重建过程,提升了三维重建的成功率。
[0149]
在一个可能的实施例中,所述装置还包括初始化管理模块,用于在所述图片获取模块31获取待处理的图片之后,确定所述图片的数量是否大于第三预设数量,如果是,则初始化重建处理线程,所述重建处理线程用于执行重建处理,所述第三预设数量小于所述第一预设数量。
[0150]
在一个可能的实施例中,初始化管理模块还用于在所述第一偏离值不小于第一预设阈值时,重新初始化所述重建处理线程。
[0151]
在一个可能的实施例中,所述装置还包括第二重建模块,用于在所述关键帧图片的数量不大于所述第一预设数量时,对所述图片进行第二重建处理,所述第二重建处理包括对相机位姿的优化处理。
[0152]
在一个可能的实施例中,所述装置还包括第三重建模块,用于在所述关键帧图片的数量不小于所述第二预设数量时,对所述图片进行第三重建处理得到第三重建信息,所述第三重建处理包括对相机内参的优化处理,所述第三重建信息包括第三相机内参值。
[0153]
在一个可能的实施例中,所述装置还包括标识获取模块,用于获取预设标识,所述装置还包括第四重建模块,用于在所述预设标识为第一标识时,对所述图片进行第四重建
处理,所述第四重建处理包括对相机位姿的优化处理,以及定位参数融合处理,所述预设标识用于指示相机内参的收敛情况;所述装置还包括标识更新模块,用于确定所述第三相机内参值与所述初始相机内参值的第二偏离值,如果所述第二偏离值小于第二预设阈值,则将预设标识设置为第一标识,其中,所述预设标识的初始结果为第二标识,所述第二预设阈值小于所述第一预设阈值。
[0154]
在一个可能的实施例中,所述第二偏离值基于以下公式确定:
[0155][0156]
其中,k'为第三相机内参值,f'为第三相机焦距,cx'为第三相机内轴横坐标,cy'为第三相机内轴纵坐标,k为初始相机内参值,f为初始相机焦距,cx为初始相机内轴横坐标,cy为初始相机内轴纵坐标;
[0157]
所述第二预设阈值基于以下公式确定:
[0158][0159]
其中,ke2为第二预设阈值,δf2为设定的第二焦距偏离阈值,δcx2为设定的第二内轴横坐标偏离阈值,δcy2为设定的第二内轴纵坐标偏离阈值。
[0160]
在一个可能的实施例中,所述第一偏离值基于以下公式确定:
[0161][0162]
其中,k'为第一相机内参值,f'为第一相机焦距,cx'为第一相机内轴横坐标,cy'为第一相机内轴纵坐标,k为初始相机内参值,f为初始相机焦距,cx为初始相机内轴横坐标,cy为初始相机内轴纵坐标;
[0163]
所述第一预设阈值基于以下公式确定:
[0164][0165]
其中,ke1为第一预设阈值,δf1为设定的第一焦距偏离阈值,δcx1为设定的第一内轴横坐标偏离阈值,δcy1为设定的第一内轴纵坐标偏离阈值。
[0166]
本技术实施例还提供了一种三维重建优化设备,该三维重建优化设备可集成本技术实施例提供的位姿解算装置。图8是本技术实施例提供的一种三维重建优化设备的结构示意图。参考图8,该三维重建优化设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;所述存储器42,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如上述实施例提供的三维重建优化方法。其中输入装置43、输出装置44、存储器42和处理器41可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0167]
存储器42作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术任意实施例所述的三维重建优化方法对应的程序指令/模块(例如,位姿解算装置中的图片获取模块31、第一重建模块32和偏离处理模块33)。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0168]
输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
[0169]
处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的三维重建优化方法。
[0170]
上述提供的位姿解算装置、设备和计算机可用于执行上述任意实施例提供的三维重建优化方法,具备相应的功能和有益效果。
[0171]
本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的三维重建优化方法,该三维重建优化方法包括:获取待处理的图片;如果所述图片中的关键帧图片的数量大于第一预设数量且小于第二预设数量,则对所述图片进行第一重建处理得到第一重建信息,所述第一重建处理包括对相机内参的优化处理,所述第一重建信息包括第一相机内参值;确定所述第一相机内参值与初始相机内参值的第一偏离值,如果所述第一偏离值小于第一预设阈值,则继续获取输入的待处理的图片。
[0172]
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
[0173]
当然,本技术实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的三维重建优化方法,还可以执行本技术任意实施例所提供的三维重建优化方法中的相关操作。
[0174]
上述实施例中提供的位姿解算装置、设备及存储介质可执行本技术任意实施例所提供的三维重建优化方法,未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的三维重建优化方法。
[0175]
上述仅为本技术的较佳实施例及所运用的技术原理。本技术不限于这里所述的特
定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由权利要求的范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献