本发明涉及计算机视觉,特别涉及一种将空中三维重建数据和地面三维重建数据进行对齐的方法、系统及计算机可读存储介质。
背景技术:
1、在现有技术的视觉地图建设过程中,对目标场景进行拍摄及重建涉及空中拍摄图像与地面拍摄图像,以及空中拍摄图像与地面拍摄图像所重建数据的对齐处理。通常而言,空中三维重建数据和地面三维重建数据的对齐是一个复杂但关键的过程,它确保了从不同视角和尺度上获取的数据能够在空间上准确匹配。
2、利用无人机或者卫星从空中对目标场景进行拍摄,并根据空中拍摄图片进行三维重建是一项相对成熟的技术,其可以得到很高的全局精度,因为空中gps信号干扰少,而且单张照片的覆盖范围很广。而从地面由人工或者无人车使用相机或者手机拍摄照片从而进行三维重建虽然经过了几十年的发展,其全局精度相比空中数据做三维重建的精度仍然差很多。
3、地面gps信号由于遮挡更差甚至完全没有,而且单张照片的覆盖范围狭小,需要通过空中三维重建数据的补强。将地面三维重建的结果与空中三维重建的结果进行融合可以获得更加完整的重建结果、更加高的全局和局部精度,因此将两者进行结合有着越来越重要的现实意义。
4、但是,将空中三维重建数据与地面三维重建数据进行融合的前提是两者的坐标系统一,即将两者进行三维对齐。但是由于两者的视角差异巨大,而且重建的对象重叠较少,重建的点云质量差异巨大,使得两者很难进行对齐,阻碍了后续的融合算法的开发。
5、总的来说,现有技术所提供的空中图像和地面图像存在着视角变化大、覆盖范围差异大的问题,并未解决视觉地图所需的空中图像和地面图像相互匹配的问题。
技术实现思路
1、本发明技术方案所解决的技术问题为:如何实现视觉地图所需的空中图像和地面图像相互匹配。
2、为了解决上述技术问题,本发明技术方案提供了一种将空中三维重建数据和地面三维重建数据进行对齐的方法,包括:
3、从空中获取目标场景图片pis,i可取1,2,3,…,n,n为大于1的自然数;
4、获取地面图片pjg,j可取1,2,3,…,m,m为大于1的自然数;
5、对所述目标场景图片pis及地面图片pjg进行三维重建,以获得空中三维点云数据cs及地面三维点云数据cg;
6、基于所述空中三维点云数据cs及地面三维点云数据cg向水平面投影,分别统计所投影空中三维点云数据及所投影地面三维点云数据落在第一预设水平网格中的数量,以获得所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg;
7、基于所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg计算所述轮廓图像ics及轮廓图像icg之间的水平偏移量并依据所述水平偏移量对所述地面三维点云数据cg进行调整,以获得水平偏移后的地面三维点云数据cg1;
8、基于所述空中三维点云数据cs及水平偏移后的地面三维点云数据cg1向水平方向投影,分别统计所投影空中三维点云数据及水平偏移后的地面三维点云数据cg1落在第二预设水平网格中的数量,以获得所述所投影空中三维点云数据的高度图像ihs及水平偏移后的地面三维点云数据cg1的高度图像ihg1;
9、基于所述空中三维点云数据cs的高度图像ihs及偏移后的地面三维点云数据cg1的高度图像ihg1计算所述高度图像ihs及高度图像ihg1之间的高度偏移量,依据所述高度偏移量对所述水平偏移后的地面三维点云数据cg1进行调整,以获得高度偏移后的地面三维点云数据cg2;所述高度偏移后的地面三维点云数据cg2与所述空中三维点云数据cs对齐。
10、可选的,所述目标场景图片pis及地面图片pjg分别具有第一gps信息及第二gps信息,所述基于所述空中三维点云数据cs及地面三维点云数据cg向水平面投影包括:
11、根据所述第一gps信息及第二gps信息,将所述空中三维点云数据cs及地面三维点云数据cg分别向gps对齐,以使所述空中三维点云数据cs及地面三维点云数据cg在相同地点具有相同的gps信息;
12、输出与gps对齐后的空中三维点云数据cs0及地面三维点云数据cg0;
13、将所述空中三维点云数据cs0及地面三维点云数据cg0向水平面投影;
14、所述所投影空中三维点云数据及所投影地面三维点云数据分别基于所述空中三维点云数据cs0及地面三维点云数据cg0投影得到。
15、可选的,所述分别统计所投影空中三维点云数据及所投影地面三维点云数据落在第一预设水平网格中的数量包括:
16、设所投影空中三维点云数据的点云坐标范围为其中,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
17、设所投影地面三维点云数据的点云坐标范围为其中,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
18、设所投影空中三维点云数据及所投影地面三维点云数据经投影所覆盖水平面范围为其中
19、以预设步长α将投影所覆盖水平面范围进行划分以生成所述第一预设水平网格;
20、令当前所投影空中三维点云数据或所投影地面三维点云数据的点云坐标为(xa,ya,za),所述第一预设水平网格的网格坐标为(ua,va),则通过如下算式统计点云坐标是否落入网格(ua,va):
21、若则该点云坐标(xa,ya,za)是否落入该网格,floor()为对其中的浮点数做向下取整之函数;
22、将所投影空中三维点云数据落入所述第一预设水平网格的点云数量作为轮廓图像ics对应坐标的像素值;
23、将所投影地面三维点云数据落入所述第一预设水平网格的点云数量作为轮廓图像icg对应坐标的像素值;
24、设地面三维点云数据cg1坐标范围为其中,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
25、所述分别统计所投影空中三维点云数据及水平偏移后的地面三维点云数据cg1落在第二预设水平网格中的数量包括:
26、重新计算所投影空中三维点云数据及水平偏移后的地面三维点云数据cg1经投影所覆盖水平面范围其中,
27、以预设步长b将投影所覆盖水平面范围进行划分以生成所述第二预设水平网格;
28、令当前所投影空中三维点云数据或地面三维点云数据cg1的点云坐标为(xb,yb,zb),所述第二预设水平网格的网格坐标为(ub,vb),则通过如下算式统计落入网格(ub,vb)的点云数量:
29、若则该点云坐标(xb,yb,zb)落入该网格(ub,vb);
30、将所投影空中三维点云数据中落入网格(ub,vb)点云的z坐标之平均值作为该网格(ub,vb)的高度,并以该高度输出所投影空中三维点云数据的高度图像ihs对应坐标的像素值;
31、将地面三维点云数据cg1中落入网格(ub,vb)的点云z坐标之平均值作为该网格(ub,vb)的高度,并以该高度输出地面三维点云数据cg1的高度图像ihg1对应坐标的像素值。
32、可选的,所述基于所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg计算所述轮廓图像ics及轮廓图像icg之间的水平偏移量并依据所述水平偏移量对所述地面三维点云数据cg进行调整包括:
33、对所述轮廓图像ics及轮廓图像icg进行模版匹配,以定位所述轮廓图像ics及轮廓图像icg之间的位移像素(du,dv),设所述第一预设水平网格的步长为α,则所述轮廓图像ics及轮廓图像icg之间的水平偏移量为(du×a,dv×a);
34、依据水平偏移量(du×a,dv×a)对所述地面三维点云数据cg进行调整,并重新计算地面点云的坐标范围,输出水平偏移后的地面三维点云数据cg1。
35、可选的,所述基于所述空中三维点云数据cs的高度图像ihs及偏移后的地面三维点云数据cg1的高度图像ihg1计算所述高度图像ihs及高度图像ihg1之间的高度偏移量包括:
36、设高度图像ihg1的图像水平坐标为对应网格坐标为取该网格坐标(ui,vi)的像素值
37、同理,取高度图像ihs在对应网格坐标(ui,vi)的像素值
38、获取高度图像ihg1及高度图像ihs在对应网格坐标的所有像素值偏移量;
39、取所有像素值偏移量的平均值作为所述高度图像ihs及高度图像ihg1之间的高度偏移量。
40、可选的,所述依据所述高度偏移量对所述水平偏移后的地面三维点云数据cg1进行调整包括:
41、将所述地面三维点云数据cg1在z坐标上以所述高度偏移量进行偏移,以得到所述高度偏移后的地面三维点云数据cg2。
42、为了解决上述技术问题,本发明技术方案还提供了一种将空中三维重建数据和地面三维重建数据进行对齐的系统,包括:
43、第一获取单元,适于从空中获取目标场景图片pis,i可取1,2,3,…,n,n为大于1的自然数;
44、第二获取单元,适于获取地面图片pjg,j可取1,2,3,…,m,m为大于1的自然数;
45、三维重建单元,适于对所述目标场景图片pis及地面图片pjg进行三维重建,以获得空中三维点云数据cs及地面三维点云数据cg;
46、第一投影统计单元,适于基于所述空中三维点云数据cs及地面三维点云数据cg向水平面投影,分别统计所投影空中三维点云数据及所投影地面三维点云数据落在第一预设水平网格中的数量,以获得所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg;
47、第一偏移调整单元,适于基于所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg计算所述轮廓图像ics及轮廓图像icg之间的水平偏移量并依据所述水平偏移量对所述地面三维点云数据cg进行调整,以获得水平偏移后的地面三维点云数据cg1;
48、第二投影统计单元,适于基于所述空中三维点云数据cs及水平偏移后的地面三维点云数据cg1向水平方向投影,分别统计所投影空中三维点云数据及水平偏移后的地面三维点云数据cg1落在第二预设水平网格中的数量,以获得所述所投影空中三维点云数据的高度图像ihs及水平偏移后的地面三维点云数据cg1的高度图像ihg1;
49、第二偏移调整单元,适于基于所述空中三维点云数据cs的高度图像ihs及偏移后的地面三维点云数据cg1的高度图像ihg1计算所述高度图像ihs及高度图像ihg1之间的高度偏移量,依据所述高度偏移量对所述水平偏移后的地面三维点云数据cg1进行调整,以获得高度偏移后的地面三维点云数据cg2;所述高度偏移后的地面三维点云数据cg2与所述空中三维点云数据cs对齐。
50、可选的,所述目标场景图片pis及地面图片pjg分别具有第一gps信息及第二gps信息,所述系统还包括:
51、gps对齐单元,适于根据所述第一gps信息及第二gps信息将所述空中三维点云数据cs及地面三维点云数据cg分别向gps对齐,以使所述空中三维点云数据cs及地面三维点云数据cg在相同地点具有相同的gps信息;
52、输出单元,适于输出与gps对齐后的空中三维点云数据cs0及地面三维点云数据cg0;
53、所述基于所述空中三维点云数据cs及地面三维点云数据cg向水平面投影包括:将所述空中三维点云数据cs0及地面三维点云数据cg0向水平面投影;
54、所述基于所述空中三维点云数据cs及水平偏移后的地面三维点云数据cg1向水平方向投影包括:将所述空中三维点云数据cs0及水平偏移后的地面三维点云数据cg1向水平方向投影;
55、所述所投影空中三维点云数据及所投影地面三维点云数据分别基于所述空中三维点云数据cs0及地面三维点云数据cg0投影得到。
56、可选的,设所投影空中三维点云数据的点云坐标范围为其中,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
57、设所投影地面三维点云数据的点云坐标范围为其中,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
58、所述第一投影统计单元包括:
59、第一水平面设定单元,适于设所投影空中三维点云数据及所投影地面三维点云数据经投影所覆盖水平面范围为其中
60、第一网格划分子单元,适于以预设步长α将投影所覆盖水平面范围进行划分以生成所述第一预设水平网格;
61、第一统计子单元,适于令当前所投影空中三维点云数据或所投影地面三维点云数据的点云坐标为(xa,ya,za),所述第一预设水平网格的网格坐标为(ua,va),则通过如下算式统计点云坐标是否落入网格(ua,va):
62、若则该点云坐标(xa,ya,za)是否落入该网格,floor()为对其中的浮点数做向下取整之函数;
63、第一轮廓图像生成子单元,适于将所投影空中三维点云数据落入所述第一预设水平网格的点云数量作为轮廓图像ics对应坐标的像素值;
64、第二轮廓图像生成子单元,适于将所投影地面三维点云数据落入所述第一预设水平网格的点云数量作为轮廓图像icg对应坐标的像素值;
65、设地面三维点云数据cg1坐标范围为其中,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该地面三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
66、所述第二投影统计单元包括:
67、第二水平面设定子单元,适于重新计算所投影空中三维点云数据及水平偏移后的地面三维点云数据cg1经投影所覆盖水平面范围其中,
68、第二网格划分子单元,适于以预设步长b将投影所覆盖水平面范围进行划分以生成所述第二预设水平网格;
69、第二统计子单元,适于令当前所投影空中三维点云数据或地面三维点云数据cg1的点云坐标为(xb,yb,zb),所述第二预设水平网格的网格坐标为(ub,vb),则通过如下算式统计落入网格(ub,vb)的点云数量:
70、若则该点云坐标(xb,yb,zb)落入该网格(ub,vb);
71、第一高度图像生成子单元,适于将所投影空中三维点云数据中落入网格(ub,vb)点云的z坐标之平均值作为该网格(ub,vb)的高度,并以该高度输出所投影空中三维点云数据的高度图像ihs对应坐标的像素值;
72、第二高度图像生成子单元,适于将地面三维点云数据cg1中落入网格(ub,vb)的点云z坐标之平均值作为该网格(ub,vb)的高度,并以该高度输出地面三维点云数据cg1的高度图像ihg1对应坐标的像素值。
73、为了解决上述技术问题,本发明技术方案还提供了一种将空中三维重建数据和地面三维重建数据进行对齐的系统,包括:处理器和存储器;所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如上所述将空中三维重建数据和地面三维重建数据进行对齐的方法步骤。
74、为了解决上述技术问题,本发明技术方案还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述将空中三维重建数据和地面三维重建数据进行对齐的方法步骤。
75、本发明技术方案的有益效果至少包括:
76、本发明技术方案能够将空中三维重建数据及地面三维重建数据根据六个自由度进行分解、对齐,并对该两组数据采用了其水平投影轮廓图和水平投影高度图,用来计算该两组数据在水平方向上的偏差和高度上的偏差,这能够解决现有技术中点云精度不符合视觉地图重建要求的缺点。
77、本发明技术方案基于空中三维重建数据及地面三维重建数据,将两组数据进行gps对齐,通过采用了两组数据的水平投影轮廓图和水平投影高度图,可以计算空中三维重建数据及地面三维重建数据之间的水平偏差及高度差;根据空中三维数据和地面三维数据的转角偏差,水平偏差以及高度偏差,解决了空中图像和地面图像视角变化大、覆盖范围差异大的问题,从而实现空中图像和地面图像的对齐匹配。
78、本发明技术方案进一步通过空中三维重建数据及地面三维重建数据设定了两组数据的水平投影的覆盖面范围,并基于不同的步长,获取到更能体现空中三维重建数据及地面三维重建数据水平及高度偏差的第一预设网格及第二预设网格,以分别计算水平方向上的偏差和高度上的偏差,通过统计特征提高了本发明技术方案系统的稳健性。
1.一种将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,包括:
2.如权利要求1所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,所述目标场景图片pis及地面图片pjg分别具有第一gps信息及第二gps信息,所述基于所述空中三维点云数据cs及地面三维点云数据cg向水平面投影包括:
3.如权利要求1或2所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,所述分别统计所投影空中三维点云数据及所投影地面三维点云数据落在第一预设水平网格中的数量包括:
4.如权利要求1所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,所述基于所投影空中三维点云数据的轮廓图像ics及所投影地面三维点云数据的轮廓图像icg计算所述轮廓图像ics及轮廓图像icg之间的水平偏移量并依据所述水平偏移量对所述地面三维点云数据cg进行调整包括:
5.如权利要求1所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,所述基于所述空中三维点云数据cs的高度图像ihs及偏移后的地面三维点云数据cg1的高度图像ihg1计算所述高度图像ihs及高度图像ihg1之间的高度偏移量包括:
6.如权利要求1所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,所述依据所述高度偏移量对所述水平偏移后的地面三维点云数据cg1进行调整包括:
7.一种将空中三维重建数据和地面三维重建数据进行对齐的系统,其特征在于,包括:
8.如权利要求7所述的将空中三维重建数据和地面三维重建数据进行对齐的系统,其特征在于,所述目标场景图片pis及地面图片pjg分别具有第一gps信息及第二gps信息,所述系统还包括:
9.如权利要求7或8所述的将空中三维重建数据和地面三维重建数据进行对齐的方法,其特征在于,设所投影空中三维点云数据的点云坐标范围为其中,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最小值,分别表示该空中三维点云数据中各个点云在x坐标、y坐标、z坐标的最大值;
10.一种将空中三维重建数据和地面三维重建数据进行对齐的系统,其特征在于,包括:处理器和存储器;所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时执行如权利要求1至6任一项所述将空中三维重建数据和地面三维重建数据进行对齐的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述将空中三维重建数据和地面三维重建数据进行对齐的方法步骤。