CN111833447A - 三维地图构建方法、三维地图构建装置及终端设备 - Google Patents
三维地图构建方法、三维地图构建装置及终端设备 Download PDFInfo
- Publication number
- CN111833447A CN111833447A CN202010667730.2A CN202010667730A CN111833447A CN 111833447 A CN111833447 A CN 111833447A CN 202010667730 A CN202010667730 A CN 202010667730A CN 111833447 A CN111833447 A CN 111833447A
- Authority
- CN
- China
- Prior art keywords
- image
- dimensional
- map
- scene
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000005457 optimization Methods 0.000 claims description 47
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供的一种三维地图构建方法,包括:根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。通过所述方法,能够提升三维地图的重建效率。
Description
技术领域
本申请属于三维地图技术领域,尤其涉及三维地图构建方法、三维地图构建装置、终端设备及计算机可读存储介质。
背景技术
随着具体应用场景不断拓展,三维地图重建所涉及的场景图像的数量也不断增加,导致三维地图重建过程中,相应的计算资源和内存资源不足,从而造成重建效率较低等问题。
发明内容
本申请实施例提供了三维地图构建方法、三维地图构建装置、终端设备及计算机可读存储介质,可以提升三维地图的重建效率。
第一方面,本申请实施例提供了一种三维地图构建方法,包括:
根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;
根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;
对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;
获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
第二方面,本申请实施例提供了一种三维地图构建装置,包括:
第一确定模块,用于根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;
划分模块,用于根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;
第二确定模块,用于对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;
拼接模块,用于获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的三维地图构建方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的三维地图构建方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行所述第一方面中所述的三维地图构建方法。
本申请实施例与现有技术相比存在的有益效果是:
本申请实施例中,可以根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,以通过任意两个所述场景图像之间的匹配关系指示所述任意两个场景图像之间的特征关联性,进而根据任意两个场景图像之间的匹配关系,对多个所述场景图像进行划分,获得至少两个图像集合,由于图像集合是根据所述匹配关系进行划分,因此,可以提高位于同一图像集合中的场景图像的图像相关性,从而提升构建得到的三维子地图的准确性;然后,可以确定任意两个图像集合之间的匹配点对,从而根据所述匹配点对确定各个图像集合之间的关联,并在获取到各个三维子地图之后,根据任意两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图。其中,由于每一个图像集合用于唯一地构建一个三维子地图,使得重建单个三维子地图时的数据量较小,且各个三维子地图可以分别单独构建,因此各个三维子地图的构建方式可以较为灵活地设置,从而便于更为灵活合理地分配现有的数据处理资源,避免由于数据量过大导致单个数据处理资源处理速度过慢的情况,提升了三维地图的重建效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种三维地图构建方法的流程示意图;
图2是本申请一实施例提供的对场景图像进行划分的一种示意图;
图3是本申请一实施例提供的步骤S104的一种流程示意图;
图4是本申请一实施例提供的将三维子地图进行拼接以获得目标三维地图的一种示意图;
图5是本申请一实施例提供的一种三维地图构建装置的结构示意图;
图6是本申请实施例提供的终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的三维地图构建方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、服务器等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
具体地,图1示出了本申请实施例提供的第一种三维地图构建方法的流程图,该三维地图构建方法应用于终端设备,包括:
步骤S101,根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系。
本申请实施例中,所述场景图像的来源可以有多种,所述场景图像的具体获取方式在此不做限定。示例性的,所述场景图像可以为用户通过终端设备的一个或多个相机拍摄的图像;或者,也可以是终端设备本地所保存的图像;或者,还可以是从指定视频中提取的图像;或者,可以是终端设备通过预设接口或者预设通信方式等获取到的图像等等。
此外,在一些实施例中,各个场景图像还可以分别包括各自的深度信息和/或惯性测量单元(Inertial measurement unit,IMU)信息。其中,所述深度信息和/或惯性测量单元(Inertial measurement unit,IMU)信息可以通过相应的传感器进行采集或者计算得到。例如,所述深度信息可以通过红绿蓝(RGB)双目相机获取到;或者,通过结构光的方式获取到,或者,也可以通过飞行时间(Time of flight,TOF)方式获取到。所述IMU信息可以通过惯性测量单元获取到,其中,所述惯性测量单元可以指测量物体三轴姿态角(或角速率)以及加速度的装置。各个所述场景图像所分别对应的深度信息和/或惯性测量单元(Inertial measurement unit,IMU)信息,可以用于后续构建三维子地图,以及确定各个场景图像所对应的位姿等。
所述特征点信息可以包括特征点的特征名称、特征编号、特征位置等信息。根据各个特征点的特征点信息,可以将不同场景图像之间的特征点进行匹配,具体的,可以通过相应的特征点信息,判断任意两个特征点是否用于表征三维空间中的同一特征,例如,是否表征同一人脸的眼球中心点、表征同一建筑的正表面的中心位置等等。若该两个特征点用于表征三维空间中的同一特征,则确定该两个特征点互相匹配。相应的,可以认为所述两个特征点分别所在的两个场景图像互相匹配。此外,还可以根据任意两个场景图像之间相互匹配的特征点的个数,确定任意两个场景图像之间的匹配关系的程度。
步骤S102,根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合。
本申请实施例中,可以通过诸如特定的聚类算法、基于图论的图像分割算法等方式,对各个场景图像进行划分。由于图像集合是根据所述匹配关系进行划分,因此,可以提高位于同一图像集合中的场景图像的图像相关性,从而在后续进行三维子地图重建时,针对同一场景获取到较多的参考信息,以高效准确地针对场景进行三维重建。
所述根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,包括:
对于任意两个场景图像,若所述两个场景图像之间存在相匹配的特征点,则确定所述两个场景图像相互匹配,并将所述两个场景图像作为一组图像匹配对;
对于一组图像匹配对,根据所述图像匹配对中的两个场景图像之间相匹配的特征点的个数,确定所述图像匹配对的权重值;
所述根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合,包括:
根据各个图像匹配对的权重值,对所述场景图像进行划分,获得至少两个图像集合。
本申请实施例中,所述通过所述图像匹配对的权重值的大小,反映所述图像匹配对中两个场景图像的特征关联性。
在一些实施例中,可以将各个场景图像以及各个场景图像之间的匹配关系通过带权图G(V,E)表示,其中每个场景图像为带权图G(V,E)的一个顶点V,产生匹配关系的两张场景图像Vi和Vj之间存在边Eij,边Eij的权重wij为这两张场景图像之间的相互匹配的特征点的个数。
在获取到带权图G(V,E)之后,可以通过特定的分类算法(如特定的聚类算法、基于图论的图像分割算法等)将所述带权图G(V,E)划分为至少两个区,其中,每个区中的场景图像构成一个图像集合。
示例性的,可以通过归一化切割(Normalized Cut)算法,将图G(V,E)递归地分成不同的区。在分区过程中,权重w较大的边容易被保留于同一区中,而权重较小的边则更容易被切割,使得该边两端的场景图像被划分至不同的区中。可见,匹配程度较高的场景图像会被划分至同一个区,而匹配程度较低的场景图像则会被划分至不同的区。在划分过程中,每一分区时,可以将当前任一区划分为两个区,直到每个区中所包含的场景图像的个数小于M为止。其中,所述M可以为单台主机或者服务器可以重建的最大图像数量,或者,也可以是特定主机执行多线程的三维地图重建时,单个线程可以重建的最大图像数量等。
例如,如图2所示,为对场景图像进行划分的一种示例图。其中,可以通过归一化切割(Normalized Cut)算法对场景图像进行递归分区。具体的,可以首先根据所述匹配关系,将所有场景图像分为两个区,分别为区0和区1,再根据所述匹配关系,进一步将所述区0划分为区00和区01,并将所述区1划分为区10和区11,直到或所得的各个区中所包含的场景图像的个数均小于M。
步骤S103,对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中。
本申请实施例中,在划分得到各个图像集合之后,可以建立各个图像集合之间的关联。其中,示例性的,可以基于两个图像集合之间的匹配点对中的特征点的位姿信息等,建立从一个图像集合所对应的空间坐标系到另一个图像集合所对应的空间坐标系的转换关系,以便于后续将各个三维子地图进行拼接。
在一些实施例中,所述对任意两个图像集合,确定所述两个图像集合之间的匹配点对,包括:
对于每一图像集合,将所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
根据所述图像集合中的外部图像与其他图像集合中的场景图像的匹配关系,确定与所述图像集合相关联的匹配点对;
遍历各个图像集合,获得任意两个图像集合之间的匹配点对。
本申请实施例中,可以对每个图像集合中的场景图像进行分类,得到内部图像和外部图像。示例性的,若将各个场景图像以及各个场景图像之间的匹配关系通过带权图G(V,E)表示,则将所述带权图G(V,E)划分为多个区,并且每个区中的场景图像构成一个图像集合之后,对于任意两个区,该两个区之间的连线可以标识两个区中的至少部分外部图像之间的匹配关系。
步骤S104,获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
本申请实施例中,每一个图像集合可以用于构建一个三维子地图。其中,由于将所有的场景图像划分成了各个图像集合,因此重建单个三维子地图时的数据量较小,相应的重建速度也较快。此外,由于,因此各个三维子地图的构建方式可以较为灵活地设置,从而便于更为灵活合理地分配现有的数据处理资源。
例如,各个三维子地图可以在执行本申请实施例的终端设备中构建得到,并且,在所述终端设备中,可以通过多线程的方式并行地构建各个三维子地图,以缩短构建三维地图所花费的时长,提升处理效率。此外,也可以将所述图像集合发送至其他终端,在其他终端中构建得到所述三维子地图后发送至执行本申请实施例的终端设备以进行拼接;其中,每一个指定终端可以用于构建一个三维子地图,以实现分布式的三维地图构建,从而充分利用数据处理资源,并且,也可以提升三维地图的重建效率。
本申请实施例中,构建所述三维子地图的具体方式可以有多种。例如,可以根据对应的图像集合中的场景图像的特征点信息,通过即时定位与地图构建(simultaneouslocalization and mapping,SLAM)算法或者structure from motion(SFM)算法进行建图,从而获得所述三维子地图,以及估计出每一个场景图像的位姿。其中,所述SLAM算法可以包括ORB-SLAM、VI ORB-SLAM等多种具体算法,所述SFM算法可以为增量式SFM算法。在一些实施例中,所述三维子地图可以是点云地图的形式,所述点云地图的点云密度可以根据具体算法和数据来确定。此外,所述三维子地图也可以通过特定的优化处理,如滤波处理、Bundle Adjustment(BA)优化等,以提升所述三维子地图的准确性。
其中,由于所述三维子地图所对应的图像集合中,各个场景图像之间的关联性较强,容易建立联系以及相互验证,从而提升三维子地图的准确性,并更易于进行优化;并且,所述图像集合的数据量可以根据实际场景需求来调整,从而可以预设至合适的区间,从而避免数据量过大或者过小,使得在重建每一个三维子地图时不会因为数据量过大而导致单个数据处理资源处理速度过慢的情况。
在一些实施例中,在根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合之后,还包括:
将至少一个所述图像集合发送至指定终端;
获取所述指定终端发送的三维子地图,其中,所述指定终端发送的三维子地图为所述指定终端根据所接收到的图像集合构建得到。
本申请实施例中,由于各个三维子地图的构建可以相互独立,因此,可以将至少一个所述图像集合发送至指定终端,在指定终端中构建得到所述三维子地图后发送至执行本申请实施例的终端设备以进行拼接;其中,一个指定终端可以用于构建一个三维子地图,一个指定终端可以用于构建多个三维子地图,其中,若在一个指定终端中构建多个三维子地图,则该多个三维子地图可以是以单线程串行的方式进行构建,也可以以多线程并行的方式进行构建,具体的构建方式可以根据所述指定终端的具体情况来确定。通过本申请实施例,可以实现分布式的三维地图构建,从而充分利用数据处理资源,并且,也可以提升三维地图的重建效率。
在一些实施例中,所述根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合之后,还包括:
对于任一图像集合,根据所述图像集合的各个场景图像所分别包括的匹配点的个数,从所述图像集合的各个场景图像中确定第一图像,其中,所述匹配点为存在特征点匹配关系的特征点;
根据预设几何约束条件,以及所述图像集合中,除所述第一图像之外的其他场景图像与所述第一图像之间相互匹配的特征点的个数,从所述图像集合中确定第二图像;
对所述第一图像和第二图像进行三维重建,获得三维点云;
在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像;
在所述三维点云中对所述当前待重建图像进行三维重建,并根据所述当前待重建图像的重建结果更新所述三维点云;
返回执行在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像的操作,直到遍历每一个未进行三维重建且符合预设重建要求的场景图像,并获得遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云;
根据遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云,获得所述图像集合所对应的三维子地图。
本申请实施例中,在一个图像集合中,首先可以根据所述匹配关系以及特征点信息,确定初始匹配图像对(即所述第一图像和所述第二图像),以根据所述第一图像和所述第二图像构建初始的三维点云。
其中,为了提升初始构建得到的三维点云的特征信息和准确性,可以选择所述图像集合中,相关性较高的图像作为初始匹配图像对。
具体的,可以根据所述图像集合的各个场景图像所分别包括的匹配点的个数,从所述图像集合的各个场景图像中确定第一图像。再根据预设几何约束条件,以及所述图像集合中,除所述第一图像之外的其他场景图像与所述第一图像之间相互匹配的特征点的个数,从所述图像集合中确定第二图像。
例如,对于任一图像集合,以所述图像集合中的场景图像中的匹配点的个数的降序,对所述图像集合中的所有场景图像进行排序,获得第一图像序列,在所述第一图像序列中,确定所述匹配点的个数最多的场景图像为第一图像。然后,在所述图像集合中,根据与所述第一图像之间相互匹配的特征点的个数的降序,对所述图像集合中除所述初始匹配图像之外的其他场景图像进行排序,获得第二图像序列;若所述第二图像序列中,与所述初始匹配图像之间相互匹配的特征点的个数最多的场景图像与所述初始匹配图像之间满足预设几何约束条件,则将所述初始匹配图像和与所述初始匹配图像之间相互匹配的特征点的个数最多的场景图像确定为初始图像匹配对,若与所述初始匹配图像之间相互匹配的特征点的个数最多的场景图像与所述初始匹配图像之间不满足预设几何约束条件,则获取所述第二图像序列中的下一场景图像,直到从所述第二图像序列中获取到与所述初始匹配图像之间满足预设几何约束条件的场景图像,或者直到遍历所述第二图像序列。
在确定所述第一图像和第二图像之后,可以对所述第一图像和第二图像进行三维重建,获得三维点云。此时,所述三维点云可以为初始状态下的三维点云。然后,可以在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像,并在所述三维点云中对所述当前待重建图像进行三维重建,并根据所述当前待重建图像的重建结果更新所述三维点云。其中,示例性的,所述符合预设重建要求可以包括所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数大于预设匹配个数,和/或,所述场景图像当前时刻以前被尝试进行三维重建的次数不超过预设次数阈值。
此外,在一些实施例中,对所述第一图像和第二图像进行三维重建,获得三维点云时,在对所述第一图像和第二图像进行三维重建之后,可以对该三维重建的结果通过极线约束、视角约束等条件进行优化,再获得所述三维点云。并且,在根据所述当前待重建图像的重建结果更新所述三维点云时,也可以根据所述当前待重建图像的重建结果,进行局部BA优化,和/或,在所述三维点云中的三维点的个数每增加预设个数时,可以对所述三维点云进行全局BA优化,从而不断修正所述三维点云,并获得所述图像集合所对应的三维子地图。
在一些实施例中,所述获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,包括:
步骤S301,获取各个所述三维子地图;
步骤S302,根据至少两个图像集合之间的匹配点对,在各个所述三维子地图中,确定子地图对,其中,一组所述子地图对所对应的两个图像集合之间存在匹配点对;
步骤S303,对于每一组子地图对,在所述子地图对所包含的两个三维子地图中,确定对应的匹配点对中包含的各个特征点的三维点;
步骤S304,根据对应的匹配点对中包含的各个特征点的三维点,生成所述子地图对中的两个三维子地图之间的变换矩阵;
步骤S305,根据所述变换矩阵,将所述子地图对中的两个三维子地图进行拼接,获得拼接子地图;
步骤S306,根据各个拼接子地图,获得所述目标三维地图。
本申请实施例中,可以根据所述图像集合的生成方式,确定所述子地图对的拼接顺序。例如,若在生成所述图像集合时,对于带权图G的划分方式为递归向下的方式,则相应的,拼接各个三维子地图的顺序为相应的递归向上的顺序,即图2所示的逆过程:先将区10和区11所对应的三维子地图进行合并,获得拼接子地图1,以及区00和区01所对应的三维子地图进行合并,或者拼接子地图2,然后再将拼接子地图1和拼接子地图2进行合并。
对于每一组子地图对,可以根据相应的匹配点对生成变换矩阵。其中,所述子地图对所对应的匹配点对为该组子地图对中包含的两个三维子地图所对应的两个图像集合之间的匹配点对。
例如,若图像集合A包括外部图像I0,图像集合B包括外部图像I1,I0和I1之间存在匹配点对(p0,p1),根据图像集合A生成的三维子地图A的某一三维点P0可映射到外部图像I0的特征点p0上,根据图像集合B生成的三维子地图B的某一三维点P1可映射到外部图像I1的特征点p1上,则可三维子地图A的三维点P0和三维子地图B的三维点P1为同名点对,或者匹配三维点对。当搜索到足够多的匹配三维点对后,对匹配三维点对组成的矩阵进行奇异值分解(Singular Value Decomposition,SVD)分解,可获得变换矩阵[sR|t],其中s是三维子地图A和三维子地图B之间的尺度因子,[R|t]分别表示三维子地图A和三维子地图B之间的相对旋转矩阵和相对平移向量。
在一些实施例中,所述根据各个拼接子地图,获得所述目标三维地图,包括:
将各个拼接子地图进行合并,获得待优化三维地图;
通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,对所述待优化三维地图进行优化;
若优化的结果符合预设优化条件,则根据所述优化的结果获得所述目标三维地图。
本申请实施例中,在将各个拼接子地图进行合并之后,可能还存在一定的误差,因此,可以进一步对获得的待优化三维地图进行优化。
其中,现有技术中,往往通过一个一种优化算法,对获得的待优化三维地图进行整体优化,例如,通过Motion Average的方法进行整体优化,导致优化过程较为粗糙,优化后的准确性和优化精度较为差。
而本申请实施例中,可以分别通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,有针对性地对所述待优化三维地图中的不同部分进行优化,以获得更好的优化结果。其中,可以通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,对所述待优化三维地图进行迭代优化,并在每一次迭代之后,分别根据所述局部位姿优化算法的第一代价函数和所述联合位姿优化算法的第二代价函数确定所述优化的结果是否符合预设优化条件,从而判断所述迭代优化是否完成。
其中,所述第一代价函数和所述第二代价函数的具体设置方式可以有多种。示例性的,所述第一代价函数和所述第二代价函数可以基于Motion Average的代价函数的设定方式来确定。所述Motion Average的代价函数可以用于对场景图像的位姿中的旋转矩阵Rotation Average和位置坐标矩阵Translation Average进行评估。
具体的,所述旋转矩阵Rotation Average的代价函数为:
其中,Rij是场景图像i和场景图像j之间的相对旋转矩阵,Ri和Rj是场景图像i和场景图像j在世界坐标系下的旋转矩阵,已知Rij,就可以求得Ri和Rj。
所述位置坐标矩阵Translation Average的代价函数为:
其中,tij是场景图像i和场景图像j之间的相对平移向量,ci和cj分别是场景图像i和场景图像j在世界坐标系中相机光心坐标,uij是三维点Xj在场景图像i坐标系下坐标,已知tij和uij,即可求得ci和cj。
在一些实施例中,对于每一图像集合,所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
所述局部位姿优化算法用于针对每一个三维子地图,根据所述三维子地图中的内部图像与内部图像之间的匹配关系,以及所述三维子地图中的内部图像与外部图像之间的匹配关系,对所述三维子地图中的内部图像的位姿进行优化;
所述联合位姿优化算法用于针对每一个拼接子地图,根据所述拼接子地图中的匹配点对,以及所述拼接子地图的两个三维子地图中的内部图像与外部图像之间的匹配关系,对所述拼接子地图的两个三维子地图中所包含的外部图像的位姿进行优化。
本申请实施例中,在通过所述局部位姿优化算法对所述三维子地图中的内部图像的位姿进行优化时,可以固定所述三维子地图中的外部图像的位姿。而在通过所述联合位姿优化算法对所述拼接子地图的两个三维子地图中所包含的外部图像的位姿进行优化时,可以固定所述拼接子地图的两个三维子地图中所包含的内部图像的位姿。
本申请实施例中,分别通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,有针对性地对所述待优化三维地图中的不同部分进行优化,从而使得优化结果更好,所得到的目标三维地图的准确性更高。
示例性的,如图4中所示,为将各个三维子地图进行拼接,获得目标三维地图的一种示例。
其中,可以基于所述匹配关系对道路场景图像进行划分,获得图像集合X和图像集合Y。此时,所述图像集合X可以大致对应街区X的场景图像,而对所述图像集合X进行三维地图重建之后获得的三维子地图X的平面示意图如图4(a)中所示;所述图像集合Y可以大致对应街区Y的场景图像,而对所述图像集合Y进行三维地图重建之后获得的三维子地图Y的平面示意图如图4(b)中所示。
将所述三维子地图X和三维子地图Y进行拼接,获得三维子地图Z,所述目标三维地图Z的平面示意图如图4(c)所示。此时,如所述图4(c)中所示,目标三维地图Z中可以得到一个完整的街区的三维地图。
本申请实施例中,可以根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,以通过任意两个所述场景图像之间的匹配关系指示所述任意两个场景图像之间的特征关联性,进而根据任意两个场景图像之间的匹配关系,对多个所述场景图像进行划分,获得至少两个图像集合,由于图像集合是根据所述匹配关系进行划分,因此,可以提高位于同一图像集合中的场景图像的图像相关性,从而提升构建得到的三维子地图的准确性;然后,可以确定任意两个图像集合之间的匹配点对,从而根据所述匹配点对确定各个图像集合之间的关联,并在获取到各个三维子地图之后,根据任意两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图。其中,由于每一个图像集合用于唯一地构建一个三维子地图,使得重建单个三维子地图时的数据量较小,且各个三维子地图可以分别单独构建,因此各个三维子地图的构建方式可以较为灵活地设置,从而便于更为灵活合理地分配现有的数据处理资源,避免由于数据量过大导致单个数据处理资源处理速度过慢的情况,提升了三维地图的重建效率。
应理解,所述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的三维地图构建方法,图5示出了本申请实施例提供的一种三维地图构建装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该三维地图构建装置5包括:
第一确定模块501,用于根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;
划分模块502,用于根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;
第二确定模块503,用于对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;
拼接模块504,用于获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
可选的,所述第一确定模块501具体包括:
第一确定单元,用于对于任意两个场景图像,若所述两个场景图像之间存在相匹配的特征点,则确定所述两个场景图像相互匹配,并将所述两个场景图像作为一组图像匹配对;
第二确定单元,用于对于一组图像匹配对,根据所述图像匹配对中的两个场景图像之间相匹配的特征点的个数,确定所述图像匹配对的权重值;
所述划分模块502具体用于:
根据各个图像匹配对的权重值,对所述场景图像进行划分,获得至少两个图像集合。
可选的,所述第二确定模块503具体包括:
划分单元,用于对于每一图像集合,将所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
第三确定单元,用于根据所述图像集合中的外部图像与其他图像集合中的场景图像的匹配关系,确定与所述图像集合相关联的匹配点对;
匹配单元,用于遍历各个图像集合,获得任意两个图像集合之间的匹配点对。
可选的,所述三维地图构建装置5还包括:
发送模块,用于将至少一个所述图像集合发送至指定终端;
获取模块,用于获取所述指定终端发送的三维子地图,其中,所述指定终端发送的三维子地图为所述指定终端根据所接收到的图像集合构建得到。
可选的,所述三维地图构建装置5还包括:
第三确定模块,用于对于任一图像集合,根据所述图像集合的各个场景图像所分别包括的匹配点的个数,从所述图像集合的各个场景图像中确定第一图像,其中,所述匹配点为存在特征点匹配关系的特征点;
第四确定模块,用于根据预设几何约束条件,以及所述图像集合中,除所述第一图像之外的其他场景图像与所述第一图像之间相互匹配的特征点的个数,从所述图像集合中确定第二图像;
第一重建模块,用于对所述第一图像和第二图像进行三维重建,获得三维点云;
第五确定模块,用于在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像;
第二重建模块,用于在所述三维点云中对所述当前待重建图像进行三维重建,并根据所述当前待重建图像的重建结果更新所述三维点云;
遍历模块,用于返回执行在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像的操作,直到遍历每一个未进行三维重建且符合预设重建要求的场景图像,并获得遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云;
处理模块,用于根据遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云,获得所述图像集合所对应的三维子地图。
可选的,所述拼接模块504具体包括:
获取单元,用于获取各个所述三维子地图;
第四确定单元,用于根据至少两个图像集合之间的匹配点对,在各个所述三维子地图中,确定子地图对,其中,一组所述子地图对所对应的两个图像集合之间存在匹配点对;
第五确定单元,用于对于每一组子地图对,在所述子地图对所包含的两个三维子地图中,确定对应的匹配点对中包含的各个特征点的三维点;
生成单元,用于根据对应的匹配点对中包含的各个特征点的三维点,生成所述子地图对中的两个三维子地图之间的变换矩阵;
拼接单元,用于根据所述变换矩阵,将所述子地图对中的两个三维子地图进行拼接,获得拼接子地图;
处理单元,用于根据各个拼接子地图,获得所述目标三维地图。
可选的,所述处理单元具体包括:
合并子单元,用于将各个拼接子地图进行合并,获得待优化三维地图;
优化子单元,用于通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,对所述待优化三维地图进行优化;
处理子单元,用于若优化的结果符合预设优化条件,则根据所述优化的结果获得所述目标三维地图。
可选的,对于每一图像集合,所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
所述局部位姿优化算法用于针对每一个三维子地图,根据所述三维子地图中的内部图像与内部图像之间的匹配关系,以及所述三维子地图中的内部图像与外部图像之间的匹配关系,对所述三维子地图中的内部图像的位姿进行优化;
所述联合位姿优化算法用于针对每一个拼接子地图,根据所述拼接子地图中的匹配点对,以及所述拼接子地图的两个三维子地图中的内部图像与外部图像之间的匹配关系,对所述拼接子地图的两个三维子地图中所包含的外部图像的位姿进行优化。
本申请实施例中,可以根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,以通过任意两个所述场景图像之间的匹配关系指示所述任意两个场景图像之间的特征关联性,进而根据任意两个场景图像之间的匹配关系,对多个所述场景图像进行划分,获得至少两个图像集合,由于图像集合是根据所述匹配关系进行划分,因此,可以提高位于同一图像集合中的场景图像的图像相关性,从而提升构建得到的三维子地图的准确性;然后,可以确定任意两个图像集合之间的匹配点对,从而根据所述匹配点对确定各个图像集合之间的关联,并在获取到各个三维子地图之后,根据任意两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图。其中,由于每一个图像集合用于唯一地构建一个三维子地图,使得重建单个三维子地图时的数据量较小,且各个三维子地图可以分别单独构建,因此各个三维子地图的构建方式可以较为灵活地设置,从而便于更为灵活合理地分配现有的数据处理资源,避免由于数据量过大导致单个数据处理资源处理速度过慢的情况,提升了三维地图的重建效率。
需要说明的是,所述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以所述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将所述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。所述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图6为本申请一实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现所述任意各个三维地图构建方法实施例中的步骤。
所述终端设备6可以是可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入设备、输出设备、网络接入设备等。其中,所述输入设备可以包括键盘、触控板、指纹采集传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风、摄像头等,输出设备可以包括显示器、扬声器等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
另外,尽管未示出,所述终端设备6还可以包括网络连接模块,如蓝牙模块Wi-Fi模块、蜂窝网络模块等等,在此不再赘述。
本申请实施例中,所述处理器60执行所述计算机程序62以实现所述任意各个三维地图构建方法实施例中的步骤时,可以根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,以通过任意两个所述场景图像之间的匹配关系指示所述任意两个场景图像之间的特征关联性,进而根据任意两个场景图像之间的匹配关系,对多个所述场景图像进行划分,获得至少两个图像集合,由于图像集合是根据所述匹配关系进行划分,因此,可以提高位于同一图像集合中的场景图像的图像相关性,从而提升构建得到的三维子地图的准确性;然后,可以确定任意两个图像集合之间的匹配点对,从而根据所述匹配点对确定各个图像集合之间的关联,并在获取到各个三维子地图之后,根据任意两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图。其中,由于每一个图像集合用于唯一地构建一个三维子地图,使得重建单个三维子地图时的数据量较小,且各个三维子地图可以分别单独构建,因此各个三维子地图的构建方式可以较为灵活地设置,从而便于更为灵活合理地分配现有的数据处理资源,避免由于数据量过大导致单个数据处理资源处理速度过慢的情况,提升了三维地图的重建效率。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现所述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现所述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现所述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现所述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在所述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (11)
1.一种三维地图构建方法,其特征在于,包括:
根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;
根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;
对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;
获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
2.如权利要求1所述的三维地图构建方法,其特征在于,所述根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系,包括:
对于任意两个场景图像,若所述两个场景图像之间存在相匹配的特征点,则确定所述两个场景图像相互匹配,并将所述两个场景图像作为一组图像匹配对;
对于一组图像匹配对,根据所述图像匹配对中的两个场景图像之间相匹配的特征点的个数,确定所述图像匹配对的权重值;
所述根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合,包括:
根据各个图像匹配对的权重值,对所述场景图像进行划分,获得至少两个图像集合。
3.如权利要求1所述的三维地图构建方法,其特征在于,所述对任意两个图像集合,确定所述两个图像集合之间的匹配点对,包括:
对于每一图像集合,将所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
根据所述图像集合中的外部图像与其他图像集合中的场景图像的匹配关系,确定与所述图像集合相关联的匹配点对;
遍历各个图像集合,获得任意两个图像集合之间的匹配点对。
4.如权利要求1所述的三维地图构建方法,其特征在于,在根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合之后,还包括:
将至少一个所述图像集合发送至指定终端;
获取所述指定终端发送的三维子地图,其中,所述指定终端发送的三维子地图为所述指定终端根据所接收到的图像集合构建得到。
5.如权利要求1所述的三维地图构建方法,其特征在于,所述根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合之后,还包括:
对于任一图像集合,根据所述图像集合的各个场景图像所分别包括的匹配点的个数,从所述图像集合的各个场景图像中确定第一图像,其中,所述匹配点为存在特征点匹配关系的特征点;
根据预设几何约束条件,以及所述图像集合中,除所述第一图像之外的其他场景图像与所述第一图像之间相互匹配的特征点的个数,从所述图像集合中确定第二图像;
对所述第一图像和第二图像进行三维重建,获得三维点云;
在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像;
在所述三维点云中对所述当前待重建图像进行三维重建,并根据所述当前待重建图像的重建结果更新所述三维点云;
返回执行在所述图像集合的未进行三维重建且符合预设重建要求的场景图像中,根据所述场景图像中的特征点与所述三维点云中的三维点之间的二维-三维匹配对的个数,确定当前待重建图像的操作,直到遍历每一个未进行三维重建且符合预设重建要求的场景图像,并获得遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云;
根据遍历每一个未进行三维重建且符合预设重建要求的场景图像后的三维点云,获得所述图像集合所对应的三维子地图。
6.如权利要求1至5任意一项所述的三维地图构建方法,其特征在于,所述获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,包括:
获取各个所述三维子地图;
根据至少两个图像集合之间的匹配点对,在各个所述三维子地图中,确定子地图对,其中,一组所述子地图对所对应的两个图像集合之间存在匹配点对;
对于每一组子地图对,在所述子地图对所包含的两个三维子地图中,确定对应的匹配点对中包含的各个特征点的三维点;
根据对应的匹配点对中包含的各个特征点的三维点,生成所述子地图对中的两个三维子地图之间的变换矩阵;
根据所述变换矩阵,将所述子地图对中的两个三维子地图进行拼接,获得拼接子地图;
根据各个拼接子地图,获得所述目标三维地图。
7.如权利要求6所述的三维地图构建方法,其特征在于,所述根据各个拼接子地图,获得所述目标三维地图,包括:
将各个拼接子地图进行合并,获得待优化三维地图;
通过针对每一个三维子地图的局部位姿优化算法和针对每一个拼接子地图的联合位姿优化算法,对所述待优化三维地图进行优化;
若优化的结果符合预设优化条件,则根据所述优化的结果获得所述目标三维地图。
8.如权利要求7所述的三维地图构建方法,其特征在于,对于每一图像集合,所述图像集合中的场景图像划分为内部图像和外部图像,其中,与所述内部图像相匹配的场景图像均在所述图像集合中,与所述外部图像相匹配的场景图像中存在至少一个场景图像位于其他图像集合中;
所述局部位姿优化算法用于针对每一个三维子地图,根据所述三维子地图中的内部图像与内部图像之间的匹配关系,以及所述三维子地图中的内部图像与外部图像之间的匹配关系,对所述三维子地图中的内部图像的位姿进行优化;
所述联合位姿优化算法用于针对每一个拼接子地图,根据所述拼接子地图中的匹配点对,以及所述拼接子地图的两个三维子地图中的内部图像与外部图像之间的匹配关系,对所述拼接子地图的两个三维子地图中所包含的外部图像的位姿进行优化。
9.一种三维地图构建装置,其特征在于,包括:
第一确定模块,用于根据每个场景图像的特征点信息,确定任意两个场景图像之间的匹配关系;
划分模块,用于根据所述匹配关系,对所述场景图像进行划分,获得至少两个图像集合;
第二确定模块,用于对任意两个图像集合,确定所述两个图像集合之间的匹配点对,其中,所述两个图像集合之间的匹配点对中所包含的两个相互匹配的特征点分别位于第一场景图像和第二场景图像中,所述第一场景图像和第二场景图像分别位于所述两个图像集合中;
拼接模块,用于获取三维子地图,根据至少两个图像集合之间的匹配点对,将各个三维子地图进行拼接,获得目标三维地图,其中,每一个图像集合用于唯一地构建一个三维子地图。
10.一种终端设备,包括存储器、处理器、显示器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任一项所述的三维地图构建方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的三维地图构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667730.2A CN111833447A (zh) | 2020-07-13 | 2020-07-13 | 三维地图构建方法、三维地图构建装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010667730.2A CN111833447A (zh) | 2020-07-13 | 2020-07-13 | 三维地图构建方法、三维地图构建装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111833447A true CN111833447A (zh) | 2020-10-27 |
Family
ID=72900544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010667730.2A Pending CN111833447A (zh) | 2020-07-13 | 2020-07-13 | 三维地图构建方法、三维地图构建装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111833447A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270748A (zh) * | 2020-11-18 | 2021-01-26 | Oppo广东移动通信有限公司 | 基于图像的三维重建方法及装置 |
CN112269851A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 地图数据更新方法、装置、存储介质与电子设备 |
CN112270755A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 三维场景构建方法、装置、存储介质与电子设备 |
CN112446951A (zh) * | 2020-11-06 | 2021-03-05 | 杭州易现先进科技有限公司 | 三维重建方法、装置、电子设备及计算机存储介质 |
CN112508065A (zh) * | 2020-11-24 | 2021-03-16 | 深圳市优必选科技股份有限公司 | 机器人及其定位方法和装置 |
CN112927362A (zh) * | 2021-04-07 | 2021-06-08 | Oppo广东移动通信有限公司 | 地图重建方法及装置、计算机可读介质和电子设备 |
CN113313967A (zh) * | 2021-04-25 | 2021-08-27 | 湖南海龙国际智能科技股份有限公司 | 一种基于室内低精度定位的车位级导航系统 |
WO2023124948A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种三维地图的创建方法及电子设备 |
WO2024051783A1 (zh) * | 2022-09-09 | 2024-03-14 | 先临三维科技股份有限公司 | 一种三维重建方法、装置、设备和存储介质 |
CN112269851B (zh) * | 2020-11-16 | 2024-05-17 | Oppo广东移动通信有限公司 | 地图数据更新方法、装置、存储介质与电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303615A (zh) * | 2015-11-06 | 2016-02-03 | 中国民航大学 | 一种图像二维拼接与三维表面重建的组合方法 |
CN105654548A (zh) * | 2015-12-24 | 2016-06-08 | 华中科技大学 | 一种基于大规模无序图像的多起点增量式三维重建方法 |
CN108765298A (zh) * | 2018-06-15 | 2018-11-06 | 中国科学院遥感与数字地球研究所 | 基于三维重建的无人机图像拼接方法和系统 |
US20190371044A1 (en) * | 2018-06-04 | 2019-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd | Method, apparatus, device and computer readable storage medium for reconstructing three-dimensional scene |
CN111174799A (zh) * | 2019-12-24 | 2020-05-19 | Oppo广东移动通信有限公司 | 地图构建方法及装置、计算机可读介质、终端设备 |
CN111383333A (zh) * | 2020-04-02 | 2020-07-07 | 西安因诺航空科技有限公司 | 一种分段式sfm三维重建方法 |
-
2020
- 2020-07-13 CN CN202010667730.2A patent/CN111833447A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105303615A (zh) * | 2015-11-06 | 2016-02-03 | 中国民航大学 | 一种图像二维拼接与三维表面重建的组合方法 |
CN105654548A (zh) * | 2015-12-24 | 2016-06-08 | 华中科技大学 | 一种基于大规模无序图像的多起点增量式三维重建方法 |
US20190371044A1 (en) * | 2018-06-04 | 2019-12-05 | Baidu Online Network Technology (Beijing) Co., Ltd | Method, apparatus, device and computer readable storage medium for reconstructing three-dimensional scene |
CN108765298A (zh) * | 2018-06-15 | 2018-11-06 | 中国科学院遥感与数字地球研究所 | 基于三维重建的无人机图像拼接方法和系统 |
CN111174799A (zh) * | 2019-12-24 | 2020-05-19 | Oppo广东移动通信有限公司 | 地图构建方法及装置、计算机可读介质、终端设备 |
CN111383333A (zh) * | 2020-04-02 | 2020-07-07 | 西安因诺航空科技有限公司 | 一种分段式sfm三维重建方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112446951B (zh) * | 2020-11-06 | 2024-03-26 | 杭州易现先进科技有限公司 | 三维重建方法、装置、电子设备及计算机存储介质 |
CN112446951A (zh) * | 2020-11-06 | 2021-03-05 | 杭州易现先进科技有限公司 | 三维重建方法、装置、电子设备及计算机存储介质 |
CN112269851A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 地图数据更新方法、装置、存储介质与电子设备 |
CN112270755A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 三维场景构建方法、装置、存储介质与电子设备 |
CN112269851B (zh) * | 2020-11-16 | 2024-05-17 | Oppo广东移动通信有限公司 | 地图数据更新方法、装置、存储介质与电子设备 |
CN112270755B (zh) * | 2020-11-16 | 2024-04-05 | Oppo广东移动通信有限公司 | 三维场景构建方法、装置、存储介质与电子设备 |
CN112270748B (zh) * | 2020-11-18 | 2024-03-19 | Oppo广东移动通信有限公司 | 基于图像的三维重建方法及装置 |
CN112270748A (zh) * | 2020-11-18 | 2021-01-26 | Oppo广东移动通信有限公司 | 基于图像的三维重建方法及装置 |
CN112508065A (zh) * | 2020-11-24 | 2021-03-16 | 深圳市优必选科技股份有限公司 | 机器人及其定位方法和装置 |
CN112927362A (zh) * | 2021-04-07 | 2021-06-08 | Oppo广东移动通信有限公司 | 地图重建方法及装置、计算机可读介质和电子设备 |
CN113313967A (zh) * | 2021-04-25 | 2021-08-27 | 湖南海龙国际智能科技股份有限公司 | 一种基于室内低精度定位的车位级导航系统 |
WO2023124948A1 (zh) * | 2021-12-31 | 2023-07-06 | 华为技术有限公司 | 一种三维地图的创建方法及电子设备 |
WO2024051783A1 (zh) * | 2022-09-09 | 2024-03-14 | 先临三维科技股份有限公司 | 一种三维重建方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111833447A (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
EP2491529B1 (en) | Providing a descriptor for at least one feature of an image | |
US8442307B1 (en) | Appearance augmented 3-D point clouds for trajectory and camera localization | |
US20130335529A1 (en) | Camera pose estimation apparatus and method for augmented reality imaging | |
CN111127524A (zh) | 一种轨迹跟踪与三维重建方法、系统及装置 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN112927363A (zh) | 体素地图构建方法及装置、计算机可读介质和电子设备 | |
CN112258647B (zh) | 地图重建方法及装置、计算机可读介质和电子设备 | |
CN112991441A (zh) | 相机定位方法、装置、电子设备及存储介质 | |
CN112198878B (zh) | 一种即时地图构建方法、装置、机器人及存储介质 | |
CN116858215B (zh) | 一种ar导航地图生成方法及装置 | |
CN113592015A (zh) | 定位以及训练特征匹配网络的方法和装置 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN114998743A (zh) | 一种视觉地图点的构建方法、装置、设备及介质 | |
CN112750164B (zh) | 轻量化定位模型的构建方法、定位方法、电子设备 | |
CN112615993A (zh) | 深度信息获取方法、双目摄像模组、存储介质及电子设备 | |
JP6996200B2 (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
Porzi et al. | An automatic image-to-DEM alignment approach for annotating mountains pictures on a smartphone | |
CN111368675A (zh) | 手势深度信息的处理方法、装置、设备及存储介质 | |
CN110660134B (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
CN115578432B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN117635888B (zh) | 一种数据处理方法及相关装置 | |
CN113570667B (zh) | 视觉惯导补偿方法、装置及存储介质 | |
CN116662600B (zh) | 一种基于轻量结构化线地图的视觉定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |