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

一种更新三维图像的方法及相关装置与流程

2022-12-09 19:27:47 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,尤其涉及一种更新三维图像的方法及相关装置。


背景技术:

2.利用三维重建技术对真实物体或场景重建三维图像具有广泛的应用场景。例如,利用三维重建技术重建建筑物或地图等。在实际生活中,周围的环境中的真实物体或场景可能会发生变化,这就需要对已经创建的三维图像进行更新,从而才能使三维图像更准确的实现其功能(如导航)。
3.对于基础的三维图像进行更新可以采用众包更新的模式,众包更新模式中,三维图像的使用者同时也是更新数据的提供者。当前,众包更新的方法例如是,终端采集图像,并将图像发送给服务器,服务器获取该图像对应的地理位置,定位到该地理位置对应的目标区域,然后检测终端采集的图像和目标区域之间的变化区域,如果变化区域大于一定阈值,则执行更新。服务器确定变化区域的方法主要是:基于图像中物体和三维图像中目标区域的视觉特征的差异性。当差异性的分值大于阈值时,判定目标区域已经有显著的变化,则判定从终端接收的图像是有效数据,进而对三维图像进行更新。
4.当前方法中仅基于视觉特征的分析方法来判定是否对三维图像更新,检测准确率较低。例如,终端采集的图像相对于三维图像可能是弱纹理的物体或场景发生了变化,但是服务器基于图像的视觉特征判定接收到的图像为无效数据,从而导致三维图像无法更新。


技术实现要素:

5.本技术实施例提供了一种更新三维图像的方法及相关装置,该方法应用于一种通信系统,通信系统包括图像处理装置和终端,图像处理装置用于根据接收到的图像对基础三维图像进行更新,得到更新后的三维图像。图像处理装置可以是服务器,或者可以是服务器中的功能模块,或者,或者是平台(例如,云平台)上实例化的虚拟化功能模块。
6.第一方面,本技术实施例提供了一种更新三维图像的方法,应用于图像处理装置,例如,该图像处理装置为服务器,所述方法可以包括:获取来自终端的多幅第一图像及第一图像的多个第一描述信息;其中,多个第一描述信息包括第一图像的定位信息,第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;获取预先建立的基础三维图像及基础三维图像的多个第二描述信息,多个第二描述信息包括基础三维图像的位置信息,基础三维图像的第二类别信息,基础三维图像上关键点的第二特征描述子和基础三维图像的第一点云;匹配第一描述信息和第二描述信息,得到匹配结果;即匹配第一图像的定位信息和基础三维图像的位置信息;匹配第一图像中物体所属的第一类别信息和基础三维图像中物体所属的第二类别信息,本实施例中,将图像的语义信息作为第一图像是否能作为有效数据第二层级的判别信息,即可以通过概念层宏观的匹配第一图像和基础三维图像的语义,避免仅通过视觉特征匹配的错误;将语义信息作为第一
图像是否能作为有效数据第二层级的判别信息,提高对第一图像判别的准确度;匹配第一图像上第一关键点的第一特征描述子和基础三维图像对应的第二图像(二维图像)上第二关键点的第二特征描述子,图像描述子可以表示特征点的局部表观,可以避免图像和基础三维图像之间,由于图像块的局部表观不同,造成对第一图像的错误判断。通过特征描述子的匹配,可以避免第一图像和基础三维图像由于亮度变化,尺度变化等原因的造成服务器错误判断第一图像是否有有效数据的情况,如在传统方法中,仅通过视觉特征来判定接收的图像是否为有效数据,很容易由于图像中物体的尺度变化或亮度变化,对接收到图像的有效性进行误判;匹配第一点云和第二点云,本实施例中,通过第一点云和第二点云的匹配,能够更精准的确定第一图像是否有效数据,能够支持小景物的更新,如对商场海报等更新等,而传统方案中,仅通过图像中物体的视觉特征无法支持这种小景物的图像更新;若匹配结果指示第一描述信息和第二描述信息匹配成功,则根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像。本实施例中,通过匹配第一图像的多个第一描述信息和基础三维图像的多个第二描述信息,来判别第一图像是否为无效数据,多个第一描述信息和第二描述信息均匹配,可以确定第一图像为有效数据,从而可以提高对更新基础三维图像的准确率,即使第一图像中包括弱纹理的图像,通过逐层级匹配第一图像的第一描述信息和第二图像的第二描述信息,能够准确的判定第一图像是否为有效数据,进而对基础三维图像进行更新。
7.在一种可选的实现方式中,多个第一描述信息和多个第二描述信息均对应多个层级,匹配第一描述信息和第二描述信息,包括:当第n个层级的第一描述信息和第二描述信息相匹配时,匹配第(n 1)层级的第一描述信息和第二描述信息;其中,n为大于或者等于1的整数;当第n个层级的第一描述信息和第二描述信息不匹配时,则删除第二图像。本实施例中,通过多层级的检测策略,来判别第一图像是否为无效数据,当第n个层级的第一描述信息和第二描述信息不匹配时,表明第一图像为无效数据,不需要进行下一个层级的匹配,从而节省图像处理装置的资源。
8.在一种可选的实现方式中,第一图像的定位信息和基础三维图像的位置信息为第一层级的信息,第一类别信息和第二类别信息为第二层级的信息,第一特征描述子和第二特征描述子为第三层级的信息,第一点云和第二点云为第四层级的信息。本实施例中,首先通过定位信息和位置信息对第一图像是否能作为更新三维图像的有效数据的初步判定,如果在定位信息和位置信息不匹配,则省略后续的匹配的过程,节省计算资源,然后对第一图像和基础三维图像进行宏观语义匹配,再后,进行像素级别的第一特征描述子和第二特征描述子的匹配,最后,进行点云的匹配,层层递进,从而能够准确的判定第一图像是否为更新基础三维图像的有效数据。
9.在一种可选的实现方式中,获取第一图像的第一描述信息可以具体包括:图像处理装置内置有已经训练好的类别识别模型,例如,该类别识别模型为神经网络模型,利用类别识别模型对第一图像进行分类,得到第一图像的第一类别信息。第一类别信息包括但不限定于行人类别、道路类别、植被类别、汽车类别、建筑类别。
10.在一种可选的实现方式中,第二定位信息包括基于gps的定位信息、基于方位角的定位信息和基于wifi信号的定位信息中的至少两种,从而提高定位精度。
11.在一种可选的实现方式中,第二点云包括第一区域的点云和第二区域的点云,其
中,第一区域和第二区域为相邻区域,且第二区域位于第一区域的第一方向上;第一点云包括第三区域的点云;当第一区域的点云与第三区域的点云匹配,且在第三区域的第一方向上无点云时,所述根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像可以具体包括:将第二区域的点云与第三区域点云进行拼接,以得到更新后的三维图像。本实施例中,基础三维图像中缺少部分区域的点云,将第二点云中的部分点云拼接到第一点云,以完善该基础三维图像。
12.在一种可选的实现方式中,第二点云包括第四区域的点云和第五区域的点云,第四区域和第五区域为相邻区域,且第五区域在第四区域的第二方向上;第一点云包括第六区域的点云和第七区域的点云,第六区域和第七区域为相邻区域,且第七区域在第六区域的第二方向上;当第四区域的点云和第六区域的点云匹配,且第五区域的点云和第七区域的点云不匹配时,所述根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像可以具体包括:删除第七区域的点云,并将第五区域的点云拼接到第六区域的点云上,以得到更新后的三维图像。本实施例中,基础三维图像中某些区域的点云发生了改变,则删除基础三维图像中已经发生改变的点云,并对该区域的点云进行更新。
13.在一种可选的实现方式中,第二点云包括第八区域的点云,且在第九区域无点云,第八区域和第九区域为相邻区域,且第九区域在第八区域的第三方向上;第一点云包括第十区域的点云和第十一区域的点云,第十一区域和第十区域为相邻区域,第十一区域在第十区域的第三方向上;当第八区域的点云和第十区域的点云相匹配时,所述根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像可以具体包括:删除第十一区域的点云,以得到更新后的三维图像。本实施例中,基础三维图像中包含冗余的点云,删除冗余的点云,以得到更新后的三维图像。
14.在一种可选的实现方式中,所述获取基础三维图像的第一点云可以具体包括:获取图像采集装置采集的图像集,其中,图像采集装置包括固定架和多个相机,多个相机设置于固定架上,多个相机呈中心对称设置,相机也可以是具有相机功能的手机;多个相机中每两个相邻设置的相机采集的图像具有重叠区域;重叠区域用于建立相邻相机采集的图像的关联关系,并用于三角测量;检测图像集中图像的关键点,并对图像的关键点进行特征匹配,得到图像间的特征匹配点对;图像集包括第一子图像集,第一子图像信息集是多个相机中的第一相机采集的;确定第一子图像集中图像对应的第一相机的位姿,并根据第一相机的位姿及第一子图像集中图像间的特征匹配点对进行三角测量,得到第一子图像集对应的第三点云;根据第一相机的位姿及多个相机间的相对位置关系,确定多个相机中除了第一相机之外的其他相机的位姿;根据图像集中每幅图像对应的相机的位姿及图像集中各图像上的特征匹配点对进行三角化,得到图像集对应的第一点云。本实施例中,本实施例中,首先,图像采集装置上设置有多个相机,多个相机采集的图像集能够覆盖多视角。例如,当采集类似狭长走廊场景时,多个相机采集不同方向上的场景图像,那么,总会有一个相机的视角能够较好的采集到狭长走廊的图像,图像采集装置覆盖视角全,能够较好的生成三维图像的点云。然后,第一点云包括每个相机采集的子图像集对应的点云,第一点云比较稠密,避免基础三维图像出现平面颠簸及孔洞现象,天花板、地板、墙壁等基本都有点云覆盖。再后,在三维重建的过程中,先根据第一相机采集的第一子图像集确定第一相机的位姿,图像采集装置在移动过程中采集图像,其他相机与第一相机的相对位置关系不会改变,从而可
以根据第一相机的位姿确定出其他相机的位姿,进而能够根据图像集中图像对应的相机的位姿,及图像间的匹配点进行三角测量,生成图像集对应的第一点云。本实施例中,在对第一相机的采集的第一子图像集重建时,采用增量sfm方式,而针对其他相机采集的子图像集重建时,只需要根据已经确定的第一相机的位姿确定出其他相机的位姿即可,不需要采用增量sfm方式来确定其他相机的位姿,从而能够快速进行三维重建,得到图像集对应的第一点云。
15.第二方面,本技术实施例提供了一种更新三维图像的方法,应用于终端,所述方法可以包括:终端响应于用户的第一操作;根据第一操作调用摄像头;当摄像头采集拍摄视角内的拍摄目标景物时,启动同步定位与建图slam线程,通过slam线程输出每幅图像对应的相机的位姿;并利用深度估计模型估计每幅图像对应的深度图;进一步的,根据每幅图像对应的相机的位姿及深度图,在图像采集过程中生成指引信息,指引信息用于指引用户调整摄像头的拍摄视角,指引信息为实时mesh,通过终端显示的实时mesh,用户可以知道目标景物的哪些区域已经采集过,哪些区域还未采集到,从而引导用户完成对目标景物的图像的采集;然后,在调整后的拍摄视角下采集目标景物的多幅第一图像;发送多幅第一图像,第一图像携带定位信息;第一图像用于触发服务器获取第一图像的第一描述信息,第一描述信息包括第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;第一描述信息用于与基础三维图像的第二描述信息进行匹配,若第一描述信息与基础三维图像的第二描述信息相匹配,则多幅第一图像用于更新基础三维图像。本实施例中,终端显示指引信息,用户可以知道目标景物的哪些区域已经采集过,哪些区域还未采集到,从而指引用户调整摄像头的采集视角,终端采集完整的目标景物的图像,即多幅第一图像,多幅第一图像用于更新基础三维图像。
16.在一种可选的实现方式中,第一操作为确认操作;所述方法还包括:终端显示目标应用的第一界面,目标应用可以是旅游应用、导航类应用、或家装类应用,或者,目标应用为具有旅游应用、导航应用、家装应用的功能的应用;第一界面包括用于更新基础三维图像的选项;响应于用户对选项的确认操作;终端根据确认操作调用摄像头。
17.在一种可选的实现方式中,定位信息还用于服务器确定位于定位信息对应的地理位置的景物已建立基础三维图像;所述方法还包括:终端接收来自服务器的提示信息,提示信息用于指示终端获取用于更新基础三维图像的第一图像;然后,响应于用户对目标应用的第二操作,例如,第二操作为开启目标应用的操作;终端根据第二操作显示目标应用的第一界面。
18.第三方面,本技术实施例提供了一种图像处理装置,包括:
19.获取模块,用于获取来自终端的多幅第一图像及第一图像的多个第一描述信息;多个第一描述信息包括第一图像的定位信息,第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;
20.获取模块,还用于获取预先建立的基础三维图像及基础三维图像的多个第二描述信息,多个第二描述信息包括基础三维图像的位置信息,基础三维图像的第二类别信息,基础三维图像上关键点的第二特征描述子和基础三维图像的第一点云;
21.处理模块,用于匹配第一描述信息和第二描述信息,得到匹配结果;
22.处理模块,还用于若匹配结果指示第一描述信息和第二描述信息匹配成功,则根
据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像。
23.在一种可选的实现方式中,多个第一描述信息和多个第二描述信息均对应多个层级,处理模块,还具体用于:
24.当第n个层级的第一描述信息和第二描述信息相匹配时,匹配第(n 1)层级的第一描述信息和第二描述信息;其中,n为大于或者等于1的整数;
25.当第n个层级的第一描述信息和第二描述信息不匹配时,则删除第二图像。
26.在一种可选的实现方式中,第一图像的定位信息和基础三维图像的位置信息为第一层级的信息,第一类别信息和第二类别信息为第二层级的信息,第一特征描述子和第二特征描述子为第三层级的信息,第一点云和第二点云为第四层级的信息。
27.在一种可选的实现方式中,处理模块,还用于利用类别识别模型对第一图像进行分类,得到第一图像的第一类别信息。
28.在一种可选的实现方式中,第二定位信息包括基于gps的定位信息、基于方位角的定位信息和基于wifi信号的定位信息中的至少两种。
29.在一种可选的实现方式中,第二点云包括第一区域的点云和第二区域的点云,其中,第一区域和第二区域为相邻区域,且第二区域位于第一区域的第一方向上;第一点云包括第三区域的点云;
30.当第一区域的点云与第三区域的点云匹配,且在第三区域的第一方向上无点云时,处理模块还用于:
31.将第二区域的点云与第三区域点云进行拼接,以得到更新后的三维图像。
32.在一种可选的实现方式中,第二点云包括第四区域的点云和第五区域的点云,第四区域和第五区域为相邻区域,且第五区域在第四区域的第二方向上;第一点云包括第六区域的点云和第七区域的点云,第六区域和第七区域为相邻区域,且第七区域在第六区域的第二方向上;
33.当第四区域的点云和第六区域的点云匹配,且第五区域的点云和第七区域的点云不匹配时,处理模块还用于:
34.删除第七区域的点云,并将第五区域的点云拼接到第六区域的点云上,以得到更新后的三维图像。
35.在一种可选的实现方式中,第二点云包括第八区域的点云,且在第九区域无点云,第八区域和第九区域为相邻区域,且第九区域在第八区域的第三方向上;第一点云包括第十区域的点云和第十一区域的点云,第十一区域和第十区域为相邻区域,第十一区域在第十区域的第三方向上;
36.当第八区域的点云和第十区域的点云相匹配时,处理模块还用于:
37.删除第十一区域的点云,以得到更新后的三维图像。
38.在一种可选的实现方式中,处理模块还具体用于:
39.获取图像采集装置采集的图像集,图像采集装置包括固定架和多个相机,多个相机设置于固定架上,多个相机呈中心对称设置,多个相机中每两个相邻设置的相机采集的图像具有重叠区域;
40.检测图像集中图像的关键点,并对图像的关键点进行特征匹配,得到图像间的特征匹配点对;图像集包括第一子图像集,第一子图像信息集是多个相机中的第一相机采集
的;
41.确定第一子图像集中图像对应的第一相机的位姿,并根据第一相机的位姿及第一子图像集中图像间的特征匹配点对进行三角测量,得到第一子图像集对应的第三点云;
42.根据第一相机的位姿及多个相机间的相对位置关系,确定多个相机中除了第一相机之外的其他相机的位姿;
43.根据图像集中每幅图像对应的相机的位姿及图像集中各图像上的特征匹配点对进行三角化,得到图像集对应的第一点云。
44.第四方面,本技术实施例提供了一种终端,包括:
45.处理模块,用于响应于用户的第一操作;根据第一操作调用摄像头;当摄像头采集拍摄视角内的拍摄目标景物时,启动slam线程,通过slam线程输出每幅图像对应的相机的位姿;并利用深度估计模型估计每幅图像对应的深度图;根据每幅图像对应的相机的位姿及深度图,在图像采集过程中生成指引信息,指引信息用于指引用户调整摄像头的拍摄视角;
46.图像采集模块,用于在调整后的拍摄视角下采集目标景物的多幅第一图像;
47.收发模块,用于发送多幅第一图像,第一图像携带定位信息;第一图像用于触发服务器获取第一图像的第一描述信息,第一描述信息包括第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;第一描述信息用于与基础三维图像的第二描述信息进行匹配,若第一描述信息与基础三维图像的第二描述信息相匹配,则多幅第一图像用于更新基础三维图像。
48.在一种可选的实现方式中,第一操作为确认操作;终端还包括显示模块;
49.显示模块,用于显示目标应用的第一界面,第一界面包括用于更新基础三维图像的选项;
50.处理模块,还用于响应于用户对选项的确认操作;根据确认操作调用摄像头。
51.在一种可选的实现方式中,定位信息还用于服务器确定位于定位信息对应的地理位置的景物已建立基础三维图像;
52.收发模块,还用于接收来自服务器的提示信息,提示信息用于指示终端获取第一图像;
53.处理模块,还用于响应于用户对目标应用的第二操作;
54.根据第二操作显示目标应用的第一界面。
55.第五方面,本技术实施例提供了一种装置,包括处理器,处理器与至少一个存储器耦合,处理器用于读取至少一个存储器所存储的计算机程序,使得装置执行上述第一方面中任一项的方法;或者,使得装置执行上述第二方面中任一项的方法。
56.第六方面,本技术实施例提供了一种计算机可读存储介质,用于储存计算机程序或指令,计算机程序或指令被执行时使得计算机执行上述第一方面中任一项的方法;计算机程序或指令被执行时使得计算机执行上述第一方面中任一项的方法。
57.第七方面,本技术实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口例如是输入/输出接口、管脚或电路等。处理器用于读取指令以执行上述第一方面中任一项方法;或者,处理器用于读取指令以执行上述第二方面中任一项方法。
58.第八方面,本技术实施例提供了一种计算机程序产品,计算机程序产品中包括计
算机程序代码,当计算机程序代码被计算机执行时,使得计算机实现上述如上述第一方面中任一项方法;或者,当该计算机程序代码被计算机执行时,使得计算机实现上述如上述第二方面中任一项方法。
附图说明
59.图1为本技术实施例中世界坐标系、相机坐标系、图像坐标系和像素坐标系的示意图;
60.图2为本技术实施例中一种通信系统的一个实施例的场景示意图;
61.图3为本技术实施例中图像采集装置的结构示意图;
62.图4为本技术实施例中生成基础三维图像的方法的步骤流程示意图;
63.图5a为本技术实施例中图像采集装置进行图像采集的运动轨迹示意图;
64.图5b为本技术实施例中两幅图像关键点匹配的场景示意图;
65.图6为本技术实施例中三角化角度的示意图;
66.图7为本技术实施例中图像采集装置中相邻相机采集的图像有重叠区域的示意图;
67.图8为本技术实施例中两幅图像基于匹配的关键点三角化的示意图;
68.图9为本技术实施例中一种通信系统的另一个实施例的场景示意图;
69.图10为本技术实施例中一种更新三维图像的一个实施例的步骤流程示意图;
70.图11为本技术实施例中一种更新三维图像的另一个实施例的步骤流程示意图;
71.图12a-图12c为本技术实施例中终端采集第一图像的几种场景示意图;
72.图13为本技术实施例中终端显示mesh的场景示意图;
73.图14a为本技术实施例中对基础三维图像的第一点云进行更新的场景示意图;
74.图14b和图14c为本技术实施例中对基础三维图像的第一点云进行更新的几个效果示意图;
75.图15a和图15b本技术实施例中对基础三维图像的第一点云进行更新的两个场景示意图;
76.图16为本技术实施例中一种图像处理装置的一个实施例的结构示意图;
77.图17为本技术实施例中一种图像处理装置的另一个实施例的结构示意图;
78.图18为本技术实施例中一种终端的一个实施例的结构示意图;
79.图19为本技术实施例中一种装置的一个实施例的结构示意图。
具体实施方式
80.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
81.为了更好的理解本技术,首先对本技术中涉及的词语进行示例性说明。
82.请参阅下述式(1)和式(2)理解相机的位姿。
83.pc=t
cw
pw,式(1);其中,pw为某个点在世界坐标系中的坐标,pc为该点在相机坐标
系中的坐标,则t
cw
为该点从世界坐标系变换到相机坐标系的变换矩阵,变换矩阵包括旋转矩阵和平移矩阵。
84.pw=t
wc
pc=t
cw-1
pc,式(2)。pw为某个点在世界坐标系中的坐标,pc为该点在相机坐标系中的坐标,(*)-1
为求逆,t
wc
为该点从相机坐标系变换到世界坐标系的变换矩阵。
85.上述式(1)中的t
cw
和式(2)的t
wc
都可以用来表示相机的位姿。t
cw
表示相机的外参。示例性的,本技术实施例中可以用t
cw
来表示相机的位姿。
86.请参阅图1所示,结合图1理解世界坐标系(o
w-x
wywzw
),相机坐标系(o
c-xcyczc),图像坐标系(o-xy)和像素坐标系(uv)。其中,p点为世界坐标系中的一点,即为真实环境中的点。p点为点p的成像点,p点在图像坐标系中的坐标为(x,y),在像素坐标系中的坐标为(u,v)。图像坐标系的原点(o)位于相机坐标系的z轴上。下面对图1中示出的4个坐标系进行说明。
87.世界坐标系,也称为测量坐标系,世界坐标系可以使用三维正交坐标系(xw,yw,zw)。在世界坐标系中可以描述相机、真实物体的空间位置。
88.相机坐标系,可以是一个三维直角坐标系(xc,yc,zc)。相机坐标系的原点是镜头的光心,xc、yc轴分别与像面的两边平行,zc轴指向相机前方,与主光轴平行,与像平面垂直。
89.像素坐标系,横坐标u和纵坐标v分别是图像所在的行和列。
90.图像坐标系,由于像素点(u,v)只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出来,所以,建立以物理单位(如毫米)表示的图像坐标系。且图像坐标系中x轴与u轴平行,y轴与v轴平行,图像坐标系的原点为像素坐标系的中点。
91.点云,可以是在同一空间参考系下表达目标空间分布和目标表面特性的海量点集合,在获取物体表面每个采样点的空间坐标后,得到的是点的集合,称之为“点云”(point cloud)。
92.本技术实施例提供了一种三维图像更新的方法,本技术实施例主要包括两个部分,(一)、利用图像创建基础三维图像的过程。(二)、更新已创建的基础三维图像的过程。
93.首先,对第(一)部分,创建基础三维图像的过程进行说明。
94.请参阅图2所示,本实施例提供了一种通信系统,该通信系统包括图像采集装置201和图像处理装置202。图像采集装置201和图像处理装置202通信连接。图像采集装置201用于采集图像集,并将图像集发送至图像处理装置202。图像处理装置202用于根据图像集进行三维重建,得到基础三维图像。图像处理装置202可以是服务器,或者可以是服务器中的功能模块,或者,可以是平台(例如,云平台)上实例化的虚拟化功能模块,本技术实施例中,该图像处理装置202以服务器为例进行说明。
95.请参阅图3所示,图像采集装置201包括固定架301和多个相机302。其中,相机302可以是具有相机功能的电子设备,例如,相机302也可以是具有相机功能的手机。固定架包括n个呈中心对称的卡位,卡位用于固定相机302。固定架301上的n个相机302中每两个相邻的相机302采集的图像具有重叠区域。其中,n为大于或者等于2的整数。例如,多个相机设置于固定架上,多个相机呈中心对称设置,多个相机中每两个相邻设置的相机的视场角(field of view,fov)具有重叠区域。例如,相机的摄像头为广角摄像头,每个相机的fov为190度,相邻相机的fov具有重叠区域,n可以为2、3、4等。再如,不同的机型的相机的fov可能不同,相机的fov为90度-120度。n可以为5、6、7等。本技术中,请参阅图3所示,n以6为例进行
说明。6个相机的相对位置关系为:6个相机呈中心对称设置,6个相机在同一个平面内。6个相机的相对位姿的关系为:6个相机的相对的平移矩阵相同,相邻两个相机的旋转矩阵相差60度。6个相机的外参具有相对约束关系。可以理解的是,如果估计出6个相机中的一个相机的位姿,能够根据该相机的位姿估计出其他5个相机的位姿,从而进行三维重建,得到基础三维图像。
96.请参阅图4所示,一种生成基础三维图像的方法可以包括如下步骤。本实施例中,服务器获取多视角的图像集,如下述步骤s10。服务器可以首先针对6个相机中的第一相机(如1号相机)进行运动恢复结构(structure-from-motion,sfm)重建,得到第一相机的位姿,如下述步骤s11和步骤s12。由于n个相机的外参具有相对约束关系,服务器能够根据第一相机的位姿和n个相机的外参的相对约束关系确定其他相机的位姿,如下述步骤s13。服务器确定每幅图像的对应的相机的位姿后,可以根据图像集中每幅图像对应的相机的位姿得到图像集对应的点云,即重构的点云为服务器根据图像采集装置在不同视点拍摄的多幅图像集重构的三维结构,如下述步骤s14。
97.s10、服务器获取图像采集装置采集的图像集。
98.图像采集装置采集6个方向的rgb(red,green,blue)图像。例如,请参阅图5a所示,图像采集装置中的每个相机被开启摄像功能,图像采集装置采集一个场景的图像集,图像采集装置在运动过程中的每一个位置都能够采集6个方向的图像,图像采集装置所在的多个位置形成图像采集装置的运动轨迹。每个相机采集一个视频片段,每个视频片段为一个子图像集(即可以是图像序列)。6个相机共采集6个采集能够采集6个子图像集,每个相机与子图像集具有对应关系。例如,1号相机采集子图像集a,2号相机采集子图像集b,3号相机采集子图像集c等等。本实施例中,通过图像采集装置采集的图像集能够覆盖360度视角。服务器从图像采集装置接收图像集,图像集包括6个子图像集。
99.s11、服务器检测图像集中图像的关键点,并对图像的关键点进行特征匹配,得到图像间的特征匹配点对。
100.a)、服务器检测子图像集中的每个图像中的关键点。
101.例如,服务器通过尺度不变特征变换(scale-invariant feature transform,sift)算法提取每幅图像的图像特征。通过sift检测图像中的关键点,关键点可以是对旋转、尺度缩放、亮度变化保持不变性的关键点,且关键点可以对视角变化、仿射变换、噪声也保持一定程度的稳定性。服务器检测到关键点后,生成关键点的特征描述子,特征描述子用于描述关键点。示例性的,以关键点为中心,取16
×
16的邻域作为采样窗口,将采样点与关键点的相对方向通过高斯加权的方式,统计每个像素的梯度向量。在关键点有效邻域内划分4
×
4的窗口,将梯度方向按照8个方向进行划分,并对每个方向计算累计和,为4
×
4的每个小格生成一个种子点。最终获得4
×4×
8的128维的特征描述子,特征描述子为向量表示。
102.b)、服务器对两幅图像中的关键点进行匹配,得到多个特征匹配点对。
103.请参阅图5b进行理解,图5b为关键点匹配的示意图。当两幅图像的关键点的特征描述子生成后,采用特征描述子的欧式距离作为两幅图像中关键点的相似性判定度量。例如,可以采用暴力匹配的方式,计算图像a上所有关键点的特征描述子与图像b上待匹配的关键点的特征描述子的欧式距离,根据欧式距离与第一阈值判定两个关键点是否是匹配点对。例如,若根据图像a上的关键点a和图像b上的关键点b的欧式距离大于第一阈值,则判定
关键点a和关键点b不匹配;若关键点a和关键点b的欧式距离小于或者等于第一阈值,则关键点a和关键点b是一对匹配的关键点(或称为“匹配点对”)。当两幅图像之间存在“匹配点对”时,这两幅图像之间就建立起了关联。匹配点对能够表达图像之间的关联关系。本实施例中,关键点匹配的方法除了暴力匹配的方法,还可以采用快速近似最临近、kd(k-dimensional)树匹配等方法,具体的并不限定。应理解,本步骤中,所述的“两幅图像”并非特指图像a和图像b,而是可以对一个子图像集中的任意两幅图像。例如,两幅图像可以是图像序列中的图像a和图像b、图像a和图像c、图像c和图像d等等。或者,两幅图像可以是相邻相机采集的具有重叠区域的两幅图像,例如,1号相机采集的图像a1和2号相机采集的图像a2等。
104.本步骤b中是对整个图像集中的图像进行关键点匹配。为了方便理解,对整个图像集中的图像进行匹配的过程分为“纵向”匹配的过程和“横向”匹配的过程。其中,“纵向”匹配可以理解为:针对每个子图像集中的图像进行匹配。“横向”匹配可以理解为:相邻相机采集的子图像集中具有重叠区域的图像的匹配。例如,1号相机采集的子图像集a中的图像a1和2号相机采集的子图像集b中的图像a2,图像a1和图像a2具有重叠区域,对图像a1和图像a2的匹配。本步骤中,对n个子图像集的匹配的过程、相邻相机采集的子图像集的匹配过程均是同步进行的,从而提高匹配效率。
105.c)、服务器对两幅图像中多个匹配点对进行几何验证,去除多个匹配点对中匹配错误的匹配点对,从而得到正确的匹配点对。
106.在关键点匹配的过程中,可能会产生错误的匹配,可以利用关键点的映射变换这一几何约束,对匹配点对进行验证。根据两幅图像中的“匹配点对”能够恢复出在两幅图像之间的相机运动,即通过匹配点对的“对极几何”关系,运用随机抽样一致性(random sample consensus,ransac)算法估计出本质矩阵(essential_matrix,简称e矩阵)、基础矩阵(fundamental_matrix,简称f矩阵)、单应矩阵(homography_matrix,简称h矩阵),这些矩阵可以理解为是相机运动的一种表现形式。根据相机运动的结果,运用极线约束关系从而去除错误的匹配对。
107.s12、服务器确定第一子图像集中每一帧图像对应的第一相机的位姿,并根据第一相机的位姿及第一子图像集中图像间的匹配点对进行三角测量,得到第一子图像集对应的第三点云,第一子图像信息集是所述多个相机中的第一相机采集的。
108.服务器可以首先针对6个相机中的第一相机(如1号相机)拍摄的第一子图像集(图像序列)进行sfm重建。其中,第一相机可以是6个相机中的任意一个相机。sfm可以理解为将真实物体从其投影为不同视点拍摄的一系列图像中重构出来的过程。sfm算法以多视点多幅图像为输入,匹配不同图像中的相同特征点,并利用这些匹配约束确定空间三维点的坐标信息,从而实现三维重建。为了方便说明,将第一子图像集(如1号相机采集的子图像集)对应的点云称为“第三点云”。
109.d)、服务器确定初始点云和第一相机的初始位姿。
110.根据步骤c中得到的正确的匹配点对的情况,从第一子图像集中选择至少两幅图像,该至少两幅图像用于确定第一相机的初始位姿,至少两幅图像是用于确定初始点云的初始图像对。初始图像对可以理解为进行三维重建的一对种子图像,也是三维重建的基础,后续的步骤中需要将新的图像不断的加入到初始点云之中,重建结果的鲁棒性、准确性依
赖于对初始图像对的选择。本实施例中,为了保证选择的初始图像对对重建结果的鲁棒性、准确性的积极影响,作为初始图像对的两幅图像需要满足如下两个约束条件。
111.条件1、两幅图像中匹配的关键点(也称为“内点”)的数量大于第二阈值。从而使得筛选出的两幅图像中具有更多的可靠的匹配点,增强初始点云的准确性。
112.条件2、两幅图像上已匹配的关键点的三角化角度大于或者等于第四阈值。示例性的,能够请参阅图6所示,假设空间中存在一点p,第一相机在不同位置拍摄该点,图像a和图像b是第一相机拍摄的两幅图像,空间中点p在两幅影像均存在成像,且在图像a中的投影点为p1,在图像b中的投影点为p2,两幅影像的相机光心为o1、o2。连接相机光心o1、o2,得到的连线称为基线(baseline)。连接o
1 p1并延长,连接o
2 p2并延长,o
1 p1的延长线和o
2 p2的延长线相交于p点,线段o1p和线段o2p之间的夹角为α,该夹角α为三角化角度。例如,α越大,表明相机拍摄的p点距离相机的距离越近,α越小,表明相机拍摄的p点距离相机的距离越远,当p点距离相机较远时,通过三角化(或称为三角测量)恢复出p点的坐标可能会产生误差,将关键点的三角化角度作为选择种子图像的约束条件,从而降低三角测量的误差。
113.服务器从满足上述两个约束条件的图像(如记为“集合u”)中选择最佳的两帧图像,计算初始位姿。示例性的,按照上述2个约束条件对集合u中的图像间的关联关系进行综合排序。例如,如图像a和图像b满足上述两个条件,则图像a和图像b在综合排序中的序位为第1位,则图像a和图像b为从子图像集中选择的最佳两帧图像。
114.示例性的,请再次参阅图6所示。基线与空间点p之间构成极平面(epipolar plane),极平面与图像a的像平面的交线l1、极平面与图像b的像平面的交线l2、称为极线(epipolar line)。通过极平面和极线对两幅图像的几何关系进行约束。根据两幅影像的匹配点,利用对极几何关系建立相机运动估计方程(如本质矩阵、基础矩阵、单应矩阵等)。根据相机运动估计方程估计第一相机的初始位姿(即相机相对运动姿态)。初始位姿用旋转矩阵和平移矩阵来描述。确定了第一相机的初始位姿之后,根据第一相机的初始位姿对两幅图像上的匹配点对(p1和p2)进行三角化,得到p点在相机坐标系下的三维坐标。其中,点p1和点p2为图像坐标系下的坐标点。同理,对图像a和图像b上的其他匹配点进行三角化,得到大量的三维坐标点,将相机坐标系下的坐标点转换到世界坐标系下的坐标点,得到初始点云。
115.e)、选择与第三图像关联的第四图像,并计算第四图像对应的相机的位姿。
116.需要说明的是,本实施例中,采用增量sfm方式对第一子图像集进行三维重建。“第三图像”和“第四图像”均不特指某一幅图像,而是为了区分“种子图像”和“在种子图像基础上新添加的图像”,将初始选择的“种子图像”称为“第三图像”,将“在种子图像基础上新添加的图像”称为“第四图像”。
117.例如,第三图像是已经选择的种子图像,第三图像以图像b为例,在上述步骤d中已经对第一子图像集中所有的图像进行了关键点匹配,由此,具有匹配点对的两幅图像是具有关联关系的图像(如记为“集合u”)。“集合u”中的图像满足上述步骤b中的条件1和条件2。在集合u中,包括与图像b具有关联关系的图像c、图像d、图像e等。按照上述步骤d中的两个条件对与图像b的关联图像进行综合排序,根据排序结果每次选择至少一幅图像。例如,选择在序位中位于第1序位的图像(如图像c),或者,选择在序位中预置位置(如第10序位)之前的图像。可以理解的是,第四图像可以是一幅图像,或者,第四图像也可以是多幅图像。然后,可以通过3d-2d匹配关系进行pnp(perspective-n-points)配准,通常可以采用p3p
(perspective-3-points)方法计算第四图像对应的相机位姿。本步骤中,选择与第三图像关联的第四图像的过程,也可以称为“图像注册”的过程,重复这个过程直到把所有图像都注册完,从而获得第一子图像集(或称为“图像序列”)的每一帧图像对应的相机的位姿。
118.f)、根据第四图像对应的相机位姿,及第三图像和第四图像上的匹配点,进行三角测量,得到新的三维坐标。
119.可以理解的是,步骤e和步骤f是不断迭代的过程。例如,在步骤e中,选择图像c为下一帧添加(或注册)的图像,并确定图像c对应的相机的位姿。图像b对应的相机的位姿和图像c对应的相机的位姿已经确定,也就能够确定图像b和图像c的相对姿态运动关系。步骤f中,图像b和图像c上具有多个匹配点对。根据图像c对应的相机的位姿,及图像b和图像c上的匹配点对,三角化出相机坐标系下新的三维坐标点,然后,再将相机坐标系下的三维坐标点转换为世界坐标系下的三维坐标点。
120.示例性的,在下一次的迭代过程中,图像c为已经添加(或注册)的图像,选择图像d为下一帧添加(或注册)的图像,并确定图像d对应的相机的位姿。图像c对应的相机的位姿和图像d对应的相机位姿已经确定,也就能够确定图像c和图像d的相对姿态运动关系。在步骤f中,图像c和图像d上也具有多个已经匹配的关键点。根据图像b对应的相机的位姿和图像c对应的相机姿态,及图像b和图像c上的匹配点对,三角化出相机坐标系下新的三维坐标点,然后,再将该三维坐标点转换为世界坐标系下的三维坐标点。
121.g)、对第三图像和第四图像对应的相机的位姿及获取的三维坐标点进行捆绑调整,得到优化后的相机的位姿及三维坐标点。
122.通过图像中的二维信息获取三维坐标点的过程,依赖于匹配关键点的准确性,但何种匹配方法以及误差剔除方法,都可能存在误匹配的关键点。为了保证获取的三维坐标点的精度,对获取的三维坐标点及相机的位姿进行捆绑调整。即将获得的三维坐标点反投影至图像上,会存在一定的位置偏差,该误差成为反投影误差。为此利用最小二乘原理,使得反投影的像点与原始像点之间的距离残差累积平方和最小,即反投影误差平方和最小。空间中物方点、相机光心以及像点满足共线关系,通过该关系以减少误差累计,从而提高鲁棒性。在实际实现过程中,由于多相机具有相对位置关系,即得到任意两个相机的相对位姿,例如,2号相机的旋转矩阵相对于1号相机的旋转矩阵相差60度。在捆绑调整中,可以将该先验的相对位姿约束和重投影误差一起加入优化项,从而使得优化后的相机位姿的精度更加准确。
123.重复执行上述步骤e-步骤g,即每次三角化过程之后,进行一次捆绑调整,对相机的位姿和三维坐标点进行优化。
124.s13、服务器根据第一相机的位姿及多个相机间的相对位置关系,确定多个相机中除了第一相机之外的其他相机的位姿。
125.图像采集装置在移动过程中,第一相机与其他(n-1)个相机之间的相对位置关系不会发生改变。从而能够根据第一相机的位姿及第一相机与其他相机的相对位置关系确定出其他相机的位姿。例如,请再次参阅图3所示,第一相机以1号相机为例,在顺时针方向上,图像采集装置上的相机分别为1号相机、2号相机、3号相机、4号相机、5号相机和6号相机。相机的位姿用平移矩阵和旋转矩阵例来描述。6个相机在同一个空间位置点的平移矩阵相同,在同一个空间位置点的旋转矩阵各不同。例如,每两个相邻的相机的旋转矩阵相差60度。例
如,2号相机的旋转矩阵相对于1号相机的旋转矩阵相差60度,3号相机的旋转矩阵相对于1号相机的旋转矩阵相差120度,4号相机的旋转矩阵相对于1号相机的旋转矩阵相差180度,5号相机的旋转矩阵相对于1号相机的旋转矩阵相差240度,6号相机的旋转矩阵相对于1号相机的旋转矩阵相差300度。
126.s14、服务器根据图像集中每帧图像对应的相机的位姿,及图像集中各图像上的匹配点对进行三角化,得到图像集对应的第一点云。第一点云包括上述第三点云。
127.可以理解的是,得到图像集对应的点云包括两个方面得到的点云。
128.其一方面、“纵向”得到的点云,即根据2号相机至6号相机中每个相机采集的子图像集进行三角化,得到每个子图像集对应的点云。
129.其二方面、“横向”得到的点云,即根据相邻相机采集的图像进行三角化,得到相邻相机采集的图像对应的点云。例如,图像a1为1号相机采集的图像,图像a2为2号相机采集的图像,对图像a1和图像a2进行三角化,得到图像a1和图像a2对应的点云。
130.(1)、对“纵向”得到点云进行示例性说明。
131.请参阅图7进行理解。每两个相邻的相机采集的图像具有重叠区域,该重叠区域的作用之一为:建立相邻相机采集的图像的关联关系,根据该关联关系能够确定第一子图像集(如1号相机采集的图像集)中每帧图像与第二子图像集(如2号相机采的图像集)中图像的关联关系。从而能够根据第一子图像集中每帧图像对应的第一相机的位姿确定第二子图像集中每帧图像对应第二相机的位姿。
132.示例性的,1号相机采集的图像a1,2号相机采集图像a2,3号相机采集图像a3,4号相机采集图像a4,5号相机采集图像a5,6号相机采集图像a6。图像a1和图像a2具有重叠区域,即图像a1和图像a2具有关联关系;图像a2和图像a3具有重叠区域,即图像a2和图像a3具有关联关系;图像a3和图像a4具有重叠区域,即图像a3和图像a4具有关联关系;图像a4和图像a5具有重叠区域,即图像a4和图像a5具有关联关系;图像a5和图像a6具有重叠区域,即图像a5和图像a6具有关联关系;图像a6和图像a1具有重叠区域,即图像a6和图像a1具有关联关系。
133.示例性的,每个相机采集的子图像集中的图像的关联关系如下表1所示。
134.表1
[0135][0136]
需要说明的是,上表1中所示出的各相机采集的图像的关联关系仅是为了方便说明而举的例子,并不造成对本技术的限定。
[0137]
从上表1可以看出,在“纵向”上,2号相机采集的子图像集包括图像a2、图像b2和图像c2等。3号相机采集的子图像集包括图像a3、图像b3和图像c3等。示例性的,图像a1是1号相机采集的图像,图像a1对应的1号相机的位姿已经确定。则能够确定图像a2对应的2号相机的
位姿。同理,服务器根据图像b1对应的1号相机的位姿确定图像b2对应的2号相机的位姿;服务器根据图像c1对应的1号相机的位姿确定图像c2对应的2号相机的位姿。也就是说,服务器能够根据1号相机采集的图像对应的位姿确定图像集中每个图像对应的相机的位姿。且在上述步骤s11中的步骤a和步骤b中,服务器对每个相机采集的子图像集中的图像已经完成关键点匹配。服务器可以基于每个子图像集中的图像间已经匹配的匹配点对进行三角化,得到每个子图像集对应的点云。例如,2号相机采集的子图像集b对应的点云b,3号相机采集的子图像集c对应的点云c,4号相机采集的子图像集d对应的点云d,5号相机采集的子图像集e对应的点云e,6号相机采集的子图像集f对应的点云f。
[0138]
为了方便说明,点云b、点云c、点云d、点云e和点云f可以称为“第五点云”。
[0139]
(2)、对“横向”得到点云进行示例性说明。
[0140]
请参阅图7进行理解。每两个相邻的相机采集的图像具有重叠区域,重叠区域用于对相邻相机采集的图像进行三角化。例如,1号相机采集的图像包括图像a1,2号相机采集的图像包括图像a2、3号相机采集的图像包括图像a3等等。图像a1和图像a2具有重叠区域,图像a2和图像a3具有重叠区域等。
[0141]
示例性的,对图像a1和图像a2进行三角化,得到重叠区域内对应的点云进行示例性说明。
[0142]
图像a和和图像a2具有重叠区域,通过该重叠区域建立了6个相机采集的图像之间的关联关系,并且该重叠区域内包括有多个的匹配点对。例如,请参阅图8所示,世界坐标系下的一点在图像a1上的成像点为q1,在图像a2上的成像点为q2,成像点为q1和成像点为q2为一对匹配点。通过匹配点可以对两个相邻相机采集的两幅图像进行三角化,得到该点(q点)的三维坐标。
[0143]
服务器根据图像a1对应的相机的位姿、图像a2对应的相机的位姿、及成像点q1和成像点q2的对应关系,进行三角化,从而得到q点的三维坐标点。此处仅是以图像a1和图像a2上的一个匹配点为例进行的说明,基于重叠区域内的其他匹配点的三角化的过程不赘述。应理解,在对图像a1和图像a2进行三角化的同时,基于图像a2和图像a3的匹配点对、图像a2对应的相机的位姿、图像a3对应的相机的位姿,对图像a2和图像a3进行三角化;同理,基于图像a3和图像a4的匹配点对、图像a3对应的相机的位姿、图像a4对应的相机的位姿,对图像a3和图像a4进行三角化等,从而“横向”得到“重叠区域”对应的第四点云。示例性的,请参阅上表1各图像的对应关系理解,“重叠区域”对应的点云包括:图像a1和图像a2的重叠区域对应的点云;图像a2和图像a3的重叠区域对应的点云等;图像b1和图像b2的重叠区域对应的点云;图像b2和图像b3的重叠区域对应的点云等;图像c1和图像c2的重叠区域对应的点云;图像c2的和图像c3的重叠区域对应的点云等。
[0144]
最后,对第一点云进行捆绑调整,对第一点云进行优化后,得到优化后的第一点云。
[0145]
为了方便说明,将“重叠区域”对应的点云称为“第四点云”,整个图像集对应的第一点云包括第五点云、第四点云和第三点云。第一点云用于得到基础三维图像。例如,对第一点云进行纹理贴图后得到三维图像,基础三维图像也即待更新的三维图像。
[0146]
本实施例中,首先,图像采集装置上设置有多个相机,多个相机采集的图像集能够覆盖多视角。例如,当采集类似狭长走廊场景时,多个相机采集不同方向上的场景图像,那
么,总会有一个相机的视角能够较好的采集到狭长走廊的图像,图像采集装置覆盖视角全,能够较好的生成三维图像的点云。然后,第一点云包括每个相机采集的子图像集对应的点云,第一点云比较稠密,避免基础三维图像出现平面颠簸及孔洞现象,天花板、地板、墙壁等基本都有点云覆盖。再后,在三维重建的过程中,先根据第一相机采集的第一子图像集确定第一相机的位姿,图像采集装置在移动过程中采集图像,其他相机与第一相机的相对位置关系不会改变,从而可以根据第一相机的位姿确定出其他相机的位姿,进而能够根据图像集中图像对应的相机的位姿,及图像间的匹配点进行三角测量,生成图像集对应的第一点云。本实施例中,在对第一相机的采集的第一子图像集重建时,采用增量sfm方式,而针对其他相机采集的子图像集重建时,只需要根据已经确定的第一相机的位姿确定出其他相机的位姿即可,不需要采用增量sfm方式来确定其他相机的位姿,从而能够快速进行三维重建,得到图像集对应的第一点云。
[0147]
对本实施例中三维重建的应用场景进行示例性说明。
[0148]
场景1,通过本实施例中的图像采集装置采集建筑物室内的场景图像。例如,图像采集装置采集待开业的商场内部的图像集,商场内部店铺还处于空置状态,由此,服务器根据采集图像装置采集的图像集进行三维重建后,得到基础三维图像,基础三维图像可能主要包含商场内部主干道的三维图像。
[0149]
场景2,通过本实施例中的图像采集装置采集建筑物室外的场景图像。例如,图像采集装置采集景点a的图像集,服务器根据图像集进行三维重建,得到基础三维图像。
[0150]
例如,场景1,基础三维图像主要包含主干道的三维图像,基础三维图像并不能完全呈现商场内部的场景,这就涉及到对该基础三维图像进行更新。再如,场景2,基础三维图像主要包含景点a中已经修建的建筑物的三维图像,景点a中的建筑物可能进行扩建,或改建等,这就涉及到对基础三维图像进行更新。
[0151]
下面对本技术中涉及的第二部分,对基础的三维图像进行更新的过程进行说明。
[0152]
本实施例中提供了一种更新三维图像的方法,该方法应用于一种通信系统,请参阅图9所示,图9为通信系统的场景示意图。该通信系统包括图像处理装置902和终端901,图像处理装置902和终端901通信连接。图像处理装置902可以为图2中的图像处理装置202。终端901用于采集图像,并将图像发送至图像处理装置902。图像处理装置902用于根据接收到的图像对基础三维图像进行更新,得到更新后的三维图像。图像处理装置902可以是服务器,或者可以是服务器中的功能模块,或者,或者是平台(例如,云平台)上实例化的虚拟化功能模块,本实施例中,该图像处理装置902以服务器为例进行说明。终端包括但不限定于手机、pad等携带摄像头的电子设备。
[0153]
本实施例提供了一种更新三维图像的方法,该方法可以包括如下步骤。其中,请参阅图10所示,步骤s1001-步骤1005涉及终端采集图像的过程。请参阅图11所示,步骤1101-步骤1104为服务器获取终端采集的图像,根据获取的图像更新基础三维图像的过程。
[0154]
步骤1001、终端响应于用户的第一操作。
[0155]
实现方式一、第一操作为用户点击摄像头图标的操作。第一操作用于开启摄像头。
[0156]
实现方式二、第一操作为目标应用的显示界面中第一选项的确认操作。
[0157]
目标应用可以为增强现实(augmented reality,ar)旅游应用,或ar导航类应用,或家装类应用。或者目标应用为具有旅游应用、导航应用、家装应用的功能的应用。
[0158]
可选地,目标应用获取终端的位置,并将该位置发送至服务器。服务器确定对该位置的景物已经创建基础三维图像。终端接收来自服务器的提示信息,该提示信息用于指示终端获取第一图像。终端接收用户作用于目标应用的第二操作,终端响应于该第二操作显示所述应用的第一界面。第一界面包括用于更新基础三维图像的第一选项,终端响应于用户对所述第一选项的确认操作,终端能够根据所述确认操作调用所述摄像头。
[0159]
例如,旅游景点场景、请参阅图12a所示,服务器对全国的某些景点(如敦煌,上海外滩等)已经创建基础三维图像。当用户处于这些景点的位置时,终端向服务器发送用户所处的位置,服务器根据终端上报的位置确定用户处于已经创建基础三维地图的景点,此时,服务器向终端设备发送第一提示信息,例如该第一提示信息为“当前您位于xx景区,欢迎您预览xx景区”。用户可以根据该提示信息点击目标应用,终端响应于用户对目标应用的第二操作,该第二操作用于开启目标应用,终端根据该第二操作显示目标应用的第一界面,该第一界面包括多个选项。例如,第一选项为“更新3d图像”选项,第二选项为“3d看景区”等,终端响应于用户对第一选项的确认操作后,终端能够根据第一操作调用摄像头。
[0160]
又如,家庭场景、请参阅图12b所示,目标应用为家装类应用,服务器对家庭室内各个房间已经建立了基础三维图像。当室内房间中的家具陈设位置发生变化后,用户可以点击目标应用,目标应用显示第一界面,第一界面包括多个选项。例如,多个选项包括第一选项和第二选项,其中第一选项为“更新3d图像”选项。第二选项为“显示室内3d图像”等。用户点击该“更新3d图像”选项,终端响应于用户对第一选项的确认操作后,终端能够根据第一操作调用摄像头。
[0161]
再如,商场场景、请参阅图12c所示,目标应用可以为ar导航类应用。服务器已经对商场建立了基础三维图像。当用户需要目标应用的导航功能时,用户点击目标应用,终端显示目标应用的第一界面,第一界面包括多个选项,多个选项包括第一选项。例如,该第一选项为“导航”,用户输入目的地址,如该目的地址为“电影院”。终端显示导航界面,导航界面上展示第二提示信息(如拍摄店铺),该第二提示信息用于提示用户采集用于更新基础三维图像的第一图像。
[0162]
步骤1002、终端根据第一操作调用摄像头。
[0163]
实现方式一、终端根据第一操作开启摄像头。
[0164]
实现方式二、终端响应于用户对第一选项的确认操作,终端根据第一选项的确认操作调用摄像头。
[0165]
步骤1003、当摄像头采集拍摄视角内的拍摄目标景物时,生成指引信息,指引信息用于指引用户调整所述摄像头的拍摄视角。
[0166]
指引信息为用户界面(user interface,ui)指引信息,主要基于实时网格(mesh)的可视化效果来引导用户进行图像数据采集。示例性的,当用户打开终端目标应用时,目标应用调用摄像头,当摄像头采集拍摄视角内的拍摄目标景物时,终端启动同步定位与建图(simultaneous localization and mapping,slam)线程,通过slam线程输出每幅图像对应的相机的位姿。终端内置有深度估计模型,例如,该深度估计模型为卷积神经网络模型。终端将每幅rgb图像输入到深度估计模型,利用深度估计模型输出rgb图像对应的深度图。然后,终端根据每幅图像对应的相机的位姿及深度图,在图像采集过程中直接生成实时mesh,从而通过终端显示的实时mesh,用户可以知道目标景物的哪些区域已经采集过,哪些区域
还未采集到,从而引导用户完成对目标景物的图像的采集。
[0167]
步骤1004、终端在调整后的拍摄视角下采集多幅第一图像。
[0168]
示例性的,请参阅图13所示,在一个场景中,当终端采集客厅的图像时,在采集过程中,终端实时显示mesh,mesh可以可视化的指导哪些未覆盖的区域还未采集到,从而使得用户调整摄像头的拍摄视角,进而使得终端采集mesh未覆盖到的区域的图像,直到采集完成覆盖整个场景(如客厅)的多幅第一图像采集完成。
[0169]
步骤1005、终端发送多幅第一图像,多幅第一图像用于更新基础三维图像。
[0170]
终端在采集整个场景的多幅第一图像后,可以将多幅第一图像同步发送到服务器(或云),从而更新基础三维图像。
[0171]
本实施例中,终端可以响应于用户的第一操作,并能够根据第一操作调用摄像头;当摄像头采集拍摄视角内的拍摄目标景物时,终端生成指引信息,指引信息能够指引用户调整摄像头的拍摄视角。终端在调整后的拍摄视角下采集多幅第一图像,从而能够从不同的视角获取目标景物的图像,且该多幅第一图像能够完全覆盖该目标景物。
[0172]
下面对服务器获取多幅第一图像,根据获取的图像更新基础三维图像的过程进行示例性说明,参见下述步骤1101-步骤1104。
[0173]
步骤1101、服务器获取来自终端的多幅第一图像及第一图像的多个第一描述信息。
[0174]
例如,服务器从终端接收一个视频片段,视频片段包括多幅第一图像。多个第一描述信息可以对应m个层级,其中,m为大于或者等于3的整数。对m个层级的第一描述信息进行示例性说明。
[0175]
第一层级的第一描述信息为:第一图像的定位信息,定位信息用于描述第一图像中景物对应的地理位置。可选地,定位信息包括基于全球定位系统(global positioning system,gps)的定位信息、基于方位角的定位信息和基于无线保真(wireless fidelity,wifi)信号的定位信息中的至少两种。从而提高定位信息的精度。
[0176]
第二层级的第一描述信息为:第一图像所属的第一类别信息。例如,第一类别信息包括但不限定于行人类别、道路类别、植被类别、汽车类别、建筑类别等。可选地,第一类别信息被归类于第三类别信息,第三类别信息包括静态类别和动态类别。例如,道路类别、植被类别、建筑类别等被划分到静态类别,行人类别和汽车类别被划分为动态类别。
[0177]
示例性的,服务器获取第一图像所属的第一类别信息的方法可以包括如下两种实现方式。
[0178]
第一种实现方式中,服务器利用类别识别模型识别第一图像的类别。服务器将第一图像输入到预先训练好的类别识别模型,该类别识别模型可以为神经网络模型。服务器利用类别识别模型对第一图像的类别进行识别,类型识别模型输出第一图像对应的第一类别信息。例如,类别识别模型输出的类别为“建筑物”,服务器将“建筑物”划分到“静态类别”。在该种实现方式中,服务器利用类别识别模型识别第一图像的类别。服务器内预置有第一类别信息与第三类别信息的映射关系,服务器能够根据第一类别信息确定第一类别信息所属的第三类别信息。
[0179]
第二种实现方式中,终端利用类别识别模型识别第一图像的第一类别信息。终端中预置有已经训练好的类别识别模型,终端将第一图像输入至类别识别模型,类型识别模
型输出第一图像对应的第一类别信息。终端发送第一图像时,第一图像携带该第一类别信息。在该种实现方式中,服务器从终端接收该第一类别信息。可选地,第一图像还携带第三类别信息。
[0180]
第三层级的第一描述信息为:第一图像上关键点的第一特征描述子。示例性的,服务器可以利用sift算法检测图像中的关键点,并生成该关键点的特征描述子(也称为“第一特征描述子”)。
[0181]
第四层级的第一描述信息为:多幅第一图像对应的第二点云。示例性的,服务器对多幅第一图像上的匹配点对进行三角测量,得到多幅第一图像对应的第二点云。
[0182]
步骤1102、服务器获取预先建立的基础三维图像及基础三维图像的多个第二描述信息,多个第一描述信息和多个第二描述信息均对应多个层级。
[0183]
本步骤中,基础三维图像可以为上述实施例中步骤s10-步骤s14中得到的基础三维图像,基础三维图像可以用第一点云来表示。
[0184]
第一层级的第二描述信息为:基础三维图像的位置信息,位置信息用于描述基础三维图像中景物对应的地理位置。
[0185]
第二层级的第二描述信息为:基础三维图像所属的第二类别信息。
[0186]
需要说明的是,第一类别信息和第二类别信息所包括的类别均包括但不限定于行人类别、道路类别、植被类别、汽车类别、建筑类别等。只是为了方便说明,将第一图像所属的类别信息称为“第一类别信息”,将基础三维图像所属类别信息称为“第二类别信息”。
[0187]
可选地,第三类别信息包括静态类别和动态类别。例如,道路类别、植被类别、建筑类别等被划分到静态类别,行人类别和汽车类别被划分为动态类别。
[0188]
示例性的,服务器获取基础三维图像所属的第二类别信息的方法可以包括如下两种实现方式。服务器利用类别识别模型识别基础三维图像的类别。服务器将基础三维图像对应的二维图像(也称为“第二图像”)输入到预先训练好的类别识别模型,类型识别模型输出基础三维图像所属的第二类别信息。例如,类别识别模型输出的类别为“建筑物”。进一步的,服务器能够根据第二类别信息确定第二类别信息所属的第三类别信息。如,服务器将“建筑物”划分到“静态类别”。
[0189]
第三层级的第二描述信息为:基础三维图像上关键点的第二特征描述子。示例性的,服务器可以将基础三维图像转换为二维图像,然后利用sift算法检测图像中的关键点,并生成该关键点的特征描述子(也称为“第二特征描述子”)。
[0190]
第四层级的第二描述信息为:基础三维图像的第一点云。
[0191]
步骤1103、服务器匹配多个第一描述信息和第二描述信息,得到匹配结果。其中,多个第一描述信息和多个第二描述信息均对应多个层级。
[0192]
服务器逐层级匹配第一描述信息和第二描述信息,得到匹配结果。匹配结果包括匹配成功和匹配失败。其中,匹配成功是指匹配每一个层级的第一描述信息和第二描述信息均相匹配;匹配失败是指按层级的顺序进行匹配的过程中,任意一个层级的第一描述信息和第二描述信息不匹配。当匹配结果指示匹配成功时,则执行步骤1104;当匹配结果指示匹配失败时,则执行其他步骤。例如,删除第一图像。
[0193]
可以理解的是,当第n个层级的第一描述信息和第二描述信息相匹配时,才会匹配下一个层级(即第(n 1)层级)的第一描述信息和第二描述信息;其中,n为大于或者等于1,
且(n 1)小于或者等于m,n从1开始取值,直到取值至m。当第n个层级的第一描述信息和第二描述信息不匹配时,则可以直接删除第一图像。按照层级对第一描述信息和第二描述信息进行匹配进行示例性说明。如下步骤s20-步骤s24。
[0194]
s20、服务器匹配第一层级的第一描述信息和第二描述信息。即服务器匹配第一图像的定位信息和基础三维图像的位置信息。当定位信息和位置信息相匹配,则执行步骤s21;当定位信息和位置信息不匹配,则执行步骤s24;其中,第一图像的定位信息和基础三维图像的位置信息相匹配可以是指:第一当定位信息指示的位置和基础三维图像的位置信息指示的位置间的距离小于或者等于第五阈值。定位信息和位置信息不匹配是指:定位信息指示的位置和基础三维图像的位置信息指示的位置间的距离大于第五阈值。定位信息和位置信息不匹配,则表明第一图像为无效数据。
[0195]
本实施例中,首先通过定位信息和位置信息对第一图像是否能作为更新三维图像的有效数据的初步判定,如果在定位信息和位置信息不匹配,则省略后续的匹配的过程,节省计算资源。
[0196]
s21、服务器匹配第二层级的第一描述信息和第二描述信息。即服务器匹配第一图像中物体所属的第一类别信息和基础三维图像中物体所属的第二类别信息。第一类别信息和第二类别信息相匹配,则执行步骤s22;第一类别信息和第二类别信息不匹配,则执行步骤s24。其中,第一类别信息和第二类别信息相匹配是指:第一类别信息和第二类别信息一致。第一类别信息和第二类别信息不匹配是指:第一类别信息和第二类别信息不一致。
[0197]
例如,第一图像中物体所属的第一类别信息为“建筑物”,而基础三维图像中物体所属的第二类别信息也为“建筑物”,则确定第一类别信息和第二类别信息匹配。第一图像中物体所属的第一类别信息为“行人”,而基础三维图像中物体所属的第二类别信息也为“建筑物”,则确定第一类别信息和第二类别信息不匹配。
[0198]
可选地,当第一图像中包括多种物体的图像,也即第一类别信息可以包括第一类别(如“建筑物”)和第二类别(如“行人”)。“建筑物”属于“静态类别”,“行人”属于“动态类别”;同理,若基础三维图像中所属的第二类别信息包括“建筑物”和“汽车”,“建筑物”属于“静态类别”,“汽车”属于“动态类别”。由于动态的物体具有不确定性,而静态的物体具有可靠性,由此,服务器选择匹配“静态类别”对应的类别,即服务器匹配第一类别信息(如“建筑物”)和第二类别信息(如“建筑物”),若静态类别信息相匹配,则服务器也可以确定第一类别信息和第二类别信息相匹配,则执行步骤s23。
[0199]
本实施例中,将图像的语义信息作为第一图像是否能作为有效数据第二层级的判别信息,即可以通过概念层宏观的匹配第一图像和基础三维图像的语义,避免仅通过视觉特征匹配的错误。例如,相对于传统方法中,仅通过视觉特征(如物体的形状和纹理等)判定图像与基础三维图像的差异,一张图像中包括沙子和海水,如果仅通过视觉特征进行判别,会将图像进行会分块的区分,得到的是沙子和海水的图像特征。而如果通过语义信息判别,得到图像的语义特征是“海滩”。将语义信息作为第一图像是否能作为有效数据第二层级的判别信息,提高对第一图像判别的准确度。
[0200]
s22、服务器匹配第三层级的第一描述信息和第二描述信息。即服务器匹配第一图像上第一关键点的第一特征描述子和基础三维图像对应的第二图像(二维图像)上第二关键点的第二特征描述子。第一关键点和第二关键点为特征匹配点。第一特征描述子和第二
特征描述子相匹配,则执行s23;若第一特征描述子和第二特征描述子不匹配,则执行s24。
[0201]
第一特征描述子和第二特征描述子相匹配可以是指,第一特征描述子和第二特征描述子的欧式距离小于或者等于第六阈值;第一特征描述子和第二特征描述子不匹配可以是指,第一特征描述子和第二特征描述子的欧式距离大于第六阈值,表明第一图像为无效数据。
[0202]
本实施例中,为了提高对第一图像判别的准确率,进一步将特征描述子作为第三层级的判别信息,特征描述子用于描述图像的特征。图像描述子可以表示特征点的局部表观,可以避免图像和基础三维图像之间,由于图像块的局部表观不同,造成对第一图像的错误判断。通过特征描述子的匹配,可以避免第一图像和基础三维图像由于亮度变化,尺度变化等原因的造成服务器错误判断第一图像是否有有效数据的情况。在传统方法中,仅通过视觉特征来判定接收的图像是否为有效数据,很容易由于图像中物体的尺度变化或亮度变化,对接收到图像的有效性进行误判。
[0203]
s23、服务器匹配第四层级的第一描述信息和第二描述信息。即服务器匹配第一点云和第二点云。第一点云和第二点云相匹配,则执行步骤1104;第一点云和第二点云不匹配,则执行步骤s24。
[0204]
第一点云和第二点云相匹配是指,第一点云和第二点云的重叠度大于或者等于第六阈值。重叠度是指重叠点的数量与第二点云(第一图像对应的点云)中点数量的比值。示例性的,将第一点云上的点与第二点云上的点之间的距离小于或者等于门限,则该两个点视为重叠点。
[0205]
本实施例中,通过第一点云和第二点云的匹配,能够更精准的确定第一图像是否有效数据,能够支持小景物的更新,如对商场海报等更新等。而传统方案中,仅通过图像中物体的视觉特征无法支持这种小景物的图像更新。
[0206]
s24、删除多幅第一图像。
[0207]
步骤1104、当匹配结果指示多个第一描述信息和第二描述信息匹配,则服务器根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像。
[0208]
根据第二点云对第一点云进行更新可以至少包括如下三种实现方式。
[0209]
示例性的,第一种可能的实现方式、基础三维图像中缺少部分区域的点云,将第二点云中的部分点云拼接到第一点云,以完善该基础三维图像。具体的,请参阅图14a所示,第二点云包括第一区域的点云和第二区域的点云,其中,第一区域和第二区域为相邻区域,且第二区域位于第一区域的第一方向上。第一点云包括第三区域的点云。当第一区域的点云与第三区域的点云匹配,且在第三区域的第一方向上无点云,则服务器将第二区域的点云与第三区域的点云进行拼接,以得到更新后的三维图像。
[0210]
例如,在一个应用场景中,请参阅图14b所示,服务器已经创建了商场的基础三维图像,该商场的基础三维图像主要包括商场主干道的三维图像(第三区域的点云),基础三维图像中不包含房间a的点云。服务器从终端接收多幅第一图像,根据多幅第一图像中包含部分主干道的图像和房间a内部场景的图像。服务器根据多幅第一图像获取第二点云,第二点云包括第一区域的点云和第二区域的点云。其中,第一区域的点云为部分主干道的点云,而第二区域的点云为房间a内部场景的点云。当服务器确定第三区域的点云与第一区域的点云匹配时,服务器将房间a内部场景的点云拼接到第三区域的点云,从而使基础三维图像
上增加了房间a的三维图像。同理,请参阅图14c所示,服务器接收多个终端发送的图像,可以根据不同终端发送的图像对基础三维图像进行更新。
[0211]
示例性的,第二种可能的实现方式中,基础三维图像中某些区域的点云发生了改变,则删除基础三维图像中已经发生改变的点云,并对该区域的点云进行更新。具体的,请参阅图15a所示,第二点云包括第四区域的点云和第五区域的点云,第四区域和第五区域为相邻区域,且第五区域在第四区域的第二方向上。第一点云包括第六区域的点云和第七区域的点云,且第六区域和第七区域为相邻区域,且第七区域在第六区域的第二方向上。若第四区域点云和第六区域点云匹配,且第五区域的点云和第七区域的点云不匹配,则服务器删除第七区域的点云,并将第二点云上的第五区域的点云拼接到第一点云上的第六区域的点云上。
[0212]
例如,在另一个应用场景中,服务器已经创建了商场的基础三维图像,该商场的基础三维图像主要包括商场主干道的点云和房间a(店铺a)的点云,基础三维图像中包含的房间a的陈设是店铺a(如服装店铺)的陈设。服务器可以从终端接收根据多幅第一图像,根据多幅第一图像中包含部分主干道的图像和房间a内部场景的图像,此时房间a内的陈设已经发生了改变,房间a的陈设是店铺b(如珠宝店铺)的陈设。服务器根据多幅第一图像获取第二点云,第二点云包括第四区域的点云和第五区域的点云,其中,第四区域的点云为部分主干道的点云,而第五区域的点云为房间a内部场景(店铺b的陈设)的点云。第六区域的点云为基础三维图像上主干道的一个区域的点云,第七区域的点云为基础三维图像中店铺a陈设的点云。当服务器确定第四区域的点云和第六区域的点云匹配,且第五区域的点云和第七区域的点云不匹配,表明基础三维图像中的店铺a陈设的点云已经发生了改变,服务器删除第七区域的点云,并将第二点云上的第五区域的点云拼接到第一点云上的第六区域的点云上,即服务器删除原店铺a对应的点云,将房间a中的陈设更新为店铺b的陈设。
[0213]
示例性的,第三种可能的实现方式中,基础三维图像中包含冗余的点云,删除冗余的点云,以得到更新后的三维图像。具体的,请参阅图15b所示,第二点云包括第八区域的点云,且在第九区域无点云,第八区域和第九区域为相邻区域,且第九区域在第八区域的第三方向上。第一点云包括第十区域的点云和第十一区域的点云,第十一区域和第十区域为相邻区域,第十一区域在第十区域的第三方向上。当第八区域的点云和第十区域的点云相匹配,则删除第十一区域的点云。
[0214]
例如,在另一个应用场景中,在基础三维图像中,第十区域的点云为主干道上的点云,而第十一区域的点云可以为主干道一面墙壁上的海报的点云。服务器可以从终端接收多幅第一图像,根据多幅第一图像中包含部分主干道的图像(第八区域的点云),且在主干道的墙壁上没有海报对应的点云,则服务器删除第十一区域的点云,对基础三维图像进行更新。
[0215]
本实施例中,服务器可以获取来自终端的多幅第一图像,第一图像用于对基础三维图像进行更新,服务器逐层级匹配第一图像的第一描述信息和基础三维图像的第二描述信息,通过多层级的检测策略,来判别第一图像是否为无效数据,多层级的第一描述信息和第二描述信息均匹配,可以确定第一图像为有效数据,从而可以提高对更新基础三维图像的准确率,即使第一图像中包括弱纹理的图像,通过逐层级匹配第一图像的第一描述信息和第二图像的第二描述信息,能够准确的判定第一图像是否为有效数据,进而对基础三维
图像进行更新。
[0216]
本技术提供了一种图像处理装置,该图像处理装置用于执行上述方法实施例中图像处理装置所执行的方法,图像处理装置可以是服务器,或者可以是服务器中的功能模块,或者,或者是平台(例如,云平台)上实例化的虚拟化功能模块,本实施例中,图像处理装置以服务器为例进行说明。图像处理装置1600包括获取模块1601和处理模块1602。
[0217]
获取模块1601,用于获取来自终端的多幅第一图像及第一图像的多个第一描述信息;多个第一描述信息包括第一图像的定位信息,第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;
[0218]
获取模块1601,还用于获取预先建立的基础三维图像及基础三维图像的多个第二描述信息,多个第二描述信息包括基础三维图像的位置信息,基础三维图像的第二类别信息,基础三维图像上关键点的第二特征描述子和基础三维图像的第一点云;
[0219]
处理模块1602,用于匹配第一描述信息和第二描述信息,得到匹配结果;
[0220]
处理模块1602,还用于若匹配结果指示第一描述信息和第二描述信息匹配成功,则根据多幅第一图像对应的第二点云对第一点云进行更新,得到更新后的三维图像。
[0221]
可选地,处理模块1602为处理器,处理器是通用处理器或者专用处理器等。可选地,处理器包括用于实现接收和发送功能的收发单元。例如该收发单元是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路是分开的部署的,可选地,是集成在一起部署的。上述收发电路、接口或接口电路用于代码或数据的读写,或者,上述收发电路、接口或接口电路用于信号的传输或传递。
[0222]
在一种实现方式中,处理模块1602可以是一个处理装置,处理装置的功能可以部分或全部通过软件实现。
[0223]
可选地,处理装置的功能可以部分或全部通过软件实现。此时,处理装置可以包括存储器和处理器,其中,存储器用于存储计算机程序,处理器读取并执行存储器中存储的计算机程序,以执行任意一个方法实施例中的相应处理和/或步骤。
[0224]
可选地,处理装置可以仅包括处理器。用于存储计算机程序的存储器位于处理装置之外,处理器通过电路/电线与存储器连接,以读取并执行存储器中存储的计算机程序。
[0225]
在一种实现方式中,获取模块1601的功能可以由处理器来执行。
[0226]
在一种实现方式中,获取模块1601的功能可以由收发器来执行。收发器具有发送和/或接收的功能。可选地,收发器由接收器和/或发射器代替。获取模块1601的功能可以由通信接口来执行。通信接口是输入输出接口或者收发电路。输入输出接口包括输入接口和输出接口。收发电路包括输入接口电路和输出接口电路。
[0227]
进一步的,获取模块1601用于执行图11对应的实施例中的步骤1101和步骤1102,及图4对应的实施例中的步骤s10。处理模块1602用于执行图11对应的实施例中的1103和步骤1104,及图4对应的实施例中的步骤s11、步骤s12、步骤s13和步骤s13。
[0228]
具体的,在一个可选的实现方式中,处理模块1602还具体用于:当第n个层级的第一描述信息和第二描述信息相匹配时,匹配第(n 1)层级的第一描述信息和第二描述信息;其中,n为大于或者等于1的整数;当第n个层级的第一描述信息和第二描述信息不匹配时,则删除第二图像。
[0229]
在一个可选的实现方式中,第一图像的定位信息和基础三维图像的位置信息为第
一层级的信息,第一类别信息和第二类别信息为第二层级的信息,第一特征描述子和第二特征描述子为第三层级的信息,第一点云和第二点云为第四层级的信息。
[0230]
在一个可选的实现方式中,处理模块1602,还用于利用类别识别模型对第一图像进行分类,得到第一图像的第一类别信息。
[0231]
在一个可选的实现方式中,第二定位信息包括基于gps的定位信息、基于方位角的定位信息和基于wifi信号的定位信息中的至少两种。
[0232]
在一个可选的实现方式中,第二点云包括第一区域的点云和第二区域的点云,其中,第一区域和第二区域为相邻区域,且第二区域位于第一区域的第一方向上;第一点云包括第三区域的点云;当第一区域的点云与第三区域的点云匹配,且在第三区域的第一方向上无点云时,处理模块1602还用于:将第二区域的点云与第三区域点云进行拼接,以得到更新后的三维图像。
[0233]
在一个可选的实现方式中,第二点云包括第四区域的点云和第五区域的点云,第四区域和第五区域为相邻区域,且第五区域在第四区域的第二方向上;第一点云包括第六区域的点云和第七区域的点云,第六区域和第七区域为相邻区域,且第七区域在第六区域的第二方向上;当第四区域的点云和第六区域的点云匹配,且第五区域的点云和第七区域的点云不匹配时,处理模块1602还用于:删除第七区域的点云,并将第五区域的点云拼接到第六区域的点云上,以得到更新后的三维图像。
[0234]
在一个可选的实现方式中,第二点云包括第八区域的点云,且在第九区域无点云,第八区域和第九区域为相邻区域,且第九区域在第八区域的第三方向上;第一点云包括第十区域的点云和第十一区域的点云,第十一区域和第十区域为相邻区域,第十一区域在第十区域的第三方向上;当第八区域的点云和第十区域的点云相匹配时,处理模块1602还用于:删除第十一区域的点云,以得到更新后的三维图像。
[0235]
在一个可选的实现方式中,获取模块1601,还用于获取图像采集装置采集的图像集,图像采集装置包括固定架和多个相机,多个相机设置于固定架上,多个相机呈中心对称设置,多个相机中每两个相邻设置的相机采集的图像具有重叠区域;检测图像集中图像的关键点,并对图像的关键点进行特征匹配,得到图像间的特征匹配点对;图像集包括第一子图像集,第一子图像信息集是多个相机中的第一相机采集的;
[0236]
处理模块1602,还具体用于:确定第一子图像集中图像对应的第一相机的位姿,并根据第一相机的位姿及第一子图像集中图像间的特征匹配点对进行三角测量,得到第一子图像集对应的第三点云;根据第一相机的位姿及多个相机间的相对位置关系,确定多个相机中除了第一相机之外的其他相机的位姿;根据图像集中每幅图像对应的相机的位姿及图像集中各图像上的特征匹配点对进行三角化,得到图像集对应的第一点云。
[0237]
请参阅图17所示,本技术实施例提供了另一种图像处理装置,图像处理装置用于执行上述方法实施例中图像处理装置所执行的方法,具体请参阅上述方法实施例的说明。图像处理装置以服务器为例进行说明。
[0238]
图像处理装置1700包括一个或一个以上中央处理器(central processing units,cpu)1722(例如,一个或一个以上处理器)和存储器1732,一个或一个以上存储应用程序1742或数据1744的存储介质1730(例如一个或一个以上海量存储设备)。其中,存储器1732和存储介质1730是短暂存储或持久存储。存储在存储介质1730的程序包括一个或一个
以上模块(图示没标出),每个模块包括对图像处理装置中的一系列指令操作。更进一步地,中央处理器1722设置为与存储介质1730通信,在图像处理装置1700上执行存储介质1730中的一系列指令操作。
[0239]
可选地,图像处理装置1700还包括一个或一个以上电源1726,一个或一个以上有线或无线网络接口1750,一个或一个以上输入输出接口1758,和/或,一个或一个以上操作系统1741。
[0240]
请参阅图18所示,本技术实施例还提供了一种终端,终端用于执行上述方法实施例中终端所执行的方法。终端1800包括处理模块1801、图像采集模块1802和收发模块1803,可选地,终端还包括显示模块1804。
[0241]
处理模块1801,用于响应于用户的第一操作;根据第一操作调用摄像头;当摄像头采集拍摄视角内的拍摄目标景物时,启动同步定位与建图slam线程,通过slam线程输出每幅图像对应的相机的位姿;并利用深度估计模型估计每幅图像对应的深度图;根据每幅图像对应的相机的位姿及深度图,在图像采集过程中生成指引信息,指引信息用于指引用户调整摄像头的拍摄视角;
[0242]
图像采集模块1802,用于在调整后的拍摄视角下采集目标景物的多幅第一图像;
[0243]
收发模块1803,用于发送多幅第一图像,第一图像携带定位信息;第一图像用于触发服务器获取第一图像的第一描述信息,第一描述信息包括第一图像的第一类别信息、第一图像上关键点的第一特征描述子和多幅第一图像对应的第二点云;第一描述信息用于与基础三维图像的第二描述信息进行匹配,若第一描述信息与基础三维图像的第二描述信息相匹配,则多幅第一图像用于更新基础三维图像。
[0244]
可选地,处理模块1801为处理器,处理器是通用处理器或者专用处理器等。可选地,处理器包括用于实现接收和发送功能的收发单元。例如该收发单元是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路是分开的部署的,可选地,是集成在一起部署的。上述收发电路、接口或接口电路用于代码或数据的读写,或者,上述收发电路、接口或接口电路用于信号的传输或传递。
[0245]
在一种实现方式中,处理模块1801可以是一个处理装置,处理装置的功能可以部分或全部通过软件实现。
[0246]
可选地,处理装置的功能可以部分或全部通过软件实现。此时,处理装置可以包括存储器和处理器,其中,存储器用于存储计算机程序,处理器读取并执行存储器中存储的计算机程序,以执行任意一个方法实施例中的相应处理和/或步骤。
[0247]
可选地,处理装置可以仅包括处理器。用于存储计算机程序的存储器位于处理装置之外,处理器通过电路/电线与存储器连接,以读取并执行存储器中存储的计算机程序。
[0248]
可选地,图像采集模块1802为图像传感器。
[0249]
可选地,收发模块1803为收发器。其中,收发器具有发送和/或接收的功能。可选地,收发器由接收器和/或发射器代替。
[0250]
可选地,收发模块1803为通信接口。可选地,通信接口是输入输出接口或者收发电路。输入输出接口包括输入接口和输出接口。收发电路包括输入接口电路和输出接口电路。
[0251]
进一步的,处理模块1801用于执行图10对应的实施例中的步骤1001、步骤1002和步骤1003;图像采集模块1802用于执行图10对应的实施例中的步骤1004;收发模块1803用
于执行图10对应的实施例中的步骤1005。
[0252]
在一个可选的实现方式中,显示模块1804,用于显示目标应用的第一界面,第一界面包括用于更新基础三维图像的选项;
[0253]
处理模块1801,还用于响应于用户对选项的确认操作;根据确认操作调用摄像头。
[0254]
在一个可选的实现方式中,定位信息还用于服务器确定位于定位信息对应的地理位置的景物已建立基础三维图像;
[0255]
收发模块1803,还用于接收来自服务器的提示信息,提示信息用于指示终端获取第一图像;
[0256]
处理模块1801,还用于响应于用户对目标应用的第二操作;
[0257]
根据第二操作显示目标应用的第一界面。
[0258]
请参阅图19所示,本技术实施例提供了一种装置,该装置用于执行上述方法实施例中终端所执行的方法,装置以手机为例进行说明。手机包括射频(radio frequency,rf)电路1910、存储器1920、输入单元1930、显示单元1940、定位模块1950、音频电路1960、无线保真(wireless fidelity,wifi)模块1970、处理器1980、以及摄像头1990等部件。
[0259]
rf电路1910可用于信号的接收和发送。rf电路1910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议。本实施例中,rf电路用于向图像处理装置发送多幅第一图像及定位信息,并用于从图像处理装置接收信息。
[0260]
存储器1920可用于存储软件程序以及模块,处理器1980通过运行存储在存储器1920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0261]
输入单元1930可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1930可包括触控面板1931以及其他输入设备。触控面板1931,也称为触摸屏,可收集用户在其上或附近的触摸操作。本实施例中,输入单元1930用于接收用户输入的第一操作和第二操作。
[0262]
显示单元1940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1940可包括显示面板1941,进一步的,触控面板1931可覆盖显示面板1941,当触控面板1931检测到在其上或附近的触摸操作后,传送给处理器1980以确定触摸事件的类型,随后处理器1980根据触摸事件的类型在显示面板1941上提供相应的视觉输出。虽然在图19中,触控面板1931与显示面板1941是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1931与显示面板1941集成而实现手机的输入和输出功能。本实施例中,显示单元1940用于显示第一图像,显示指引信息,并用于显示目标应用的界面。
[0263]
手机还可包括定位模块1950,定位模块1950用于提供定位信息。比如包括gps单元和运动传感器等。
[0264]
音频电路1960、扬声器1961,传声器1962可提供用户与手机之间的音频接口。音频电路1960可将接收到的音频数据转换后的电信号,传输到扬声器1961,由扬声器1961转换为声音信号输出;另一方面,传声器1962将收集的声音信号转换为电信号,由音频电路1960接收后转换为音频数据,再将音频数据输出处理器1980处理后,经rf电路1910以发送给比
如另一手机,或者将音频数据输出至存储器1920以便进一步处理。
[0265]
wifi属于短距离无线传输技术,手机通过wifi模块1970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。本实施例中,wifi模块1970还可以用于提供定位信息。
[0266]
处理器1980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1920内的软件程序和/或模块,以及调用存储在存储器1920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1980可包括一个或多个处理单元;优选的,处理器1980可集成应用处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等。
[0267]
手机还包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理系统与处理器1980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0268]
本技术实施例提供了一种计算机可读存储介质,其特征在于,用于储存计算机程序或指令,所述计算机程序或指令被执行时使得计算机执行上述方法实施例中图像处理装置所执行的方法;或者,所述计算机程序或指令被执行时使得计算机执行上述方法实施例中终端所执行的方法。
[0269]
本技术实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口例如是输入/输出接口、管脚或电路等。处理器用于读取指令以执行方法实施例中图像处理装置所执行的方法;或者,处理器用于读取指令以执行方法实施例中终端所执行的方法。
[0270]
本技术实施例提供了一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,当所述计算机程序代码被计算机执行时,使得计算机实现上述方法实施例中图像处理装置所执行的方法;或者,当所述计算机程序代码被计算机执行时,使得计算机实现上述方法实施例中终端所执行的方法。
[0271]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

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

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

相关文献