CN114419115A - 图像特征匹配方法、装置、设备及存储介质 - Google Patents
图像特征匹配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114419115A CN114419115A CN202111484302.7A CN202111484302A CN114419115A CN 114419115 A CN114419115 A CN 114419115A CN 202111484302 A CN202111484302 A CN 202111484302A CN 114419115 A CN114419115 A CN 114419115A
- Authority
- CN
- China
- Prior art keywords
- image
- matching
- point cloud
- determining
- point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本公开实施例涉及一种图像特征匹配方法、装置、设备及存储介质,通过获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像;对第一图像和匹配图像进行特征匹配。由于本公开实施例的匹配图像是基于图像的点云以及图像之间的共视关系确定的,而不是根据采集时间确定的,因此,即使第一图像和第二图像是非连续时间上采集的图像,也能够得到准确的匹配图像,进而通过将第一图像与匹配图像进行特征匹配,即可提高特征匹配的准确性。
Description
技术领域
本公开实施例涉及高精地图技术领域,尤其涉及一种图像特征匹配方法、装置、设备及存储介质。
背景技术
图像特征匹配是将来自不同位姿状态下的相机采集的图像中的特征进行匹配,是三维重建、定位、同时定位与建图(simultaneous localization and mapping,简称SLAM)的基础算法,被广泛应用于增强现实、自动驾驶以及高精地图的构建中。
相关技术提供的图像特征匹配方法一般是基于连续时间采集的图像之间具有较大的重叠性的假设,因此,现有相关技术提供方法一般处理的是连续时间采集的图像。但在实际应用中,本领域技术人员也会面临非连续时间采集的图像需要进行图像特征匹配的需求,而采用现有相关技术处理这类图像会出现特征匹配准确度低的问题,因此,如何对非连续时间采集的图像进行准确的图像特征匹配,是本领域技术人员需要解决的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种图像特征匹配方法、装置、设备及存储介质。
本公开实施例的第一方面提供了一种图像特征匹配方法,该方法包括:获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像;对第一图像和匹配图像进行特征匹配。
本公开实施例的第二方面提供了一种特征匹配装置,该装置包括:
获取模块,用于获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;
第一确定模块,用于基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;
第二确定模块,用于将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像;
特征匹配模块,用于对第一图像和匹配图像进行特征匹配。
本公开实施例的第三方面提供了一种计算机设备,该计算机设备包括存储器和处理器,其中,存储器中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述第一方面的方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,当该计算机程序被处理器执行时,可以实现上述第一方面的方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例,通过获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像,将第一图像和匹配图像进行特征匹配。由于本公开实施例的匹配图像是基于图像的点云以及图像之间的共视关系确定的,而不是根据采集时间确定的,因此,即使第一图像和多个第二图像是非连续时间上采集的图像,也能够基于点云从多个第二图像中确定出与第一图像共视区域(即重叠部分)最大的作为匹配图像,进而通过将第一图像与共视区域最大的图像进行特征匹配,即可得到准确的特征匹配结果,提高了对非连续时间采集的图像的特征匹配的准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种特征匹配的场景示意图;
图2是本公开实施例提供的一种图像特征匹配方法的流程图;
图3是本公开实施例提供的一种数据采集的场景示意图;
图4是本公开实施例提供的一种图像采集场景的示意图;
图5是本公开实施例提供的一种索引点与候选图像之间对应关系的示意图;
图6是本公开实施例提供的一种确定共视区域大小的方法的示意图;
图7是本公开实施例提供的另一种图像特征匹配方法的流程图;
图8是本公开实施例提供的一种特征匹配装置的结构示意图;
图9是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
相关技术提供的图像匹配方法,比如SLAM算法(处理对象为连续时间采集的图像),一般先通过深度学习或者特征提取的方法建立起对当前图像的描述,再计算历史图像的描述和当前图像的描述的相似度,然后将当前图像与相似度最大的历史图像进行特征匹配。但是当历史图像和当前图像是非连续时间上采集的图像时,由于无法保证图像之间的重叠性要求,因此,特征匹配的准确率会明显降低,尤其是在环境相似或者观测角度变化较大的场景中,相关技术确定出的匹配图像的准确性较低,在此基础上进行的特征匹配,其结果的准确率也会受到影响而降低。
针对相关技术存在的问题,本公开实施例提供了一种图像特征匹配方案。图1是本公开实施例提供的一种特征匹配的场景示意图。如图1所示,假设第一图像和第二图像(第二图像可以是连续时间或者非连续时间上采集的多个图像的总称,其中的每个图像均可称为第二图像)是非连续时间上采集的图像,则集成有本公开实施例方法的计算机设备可以基于第一图像对应的点云(以下称为第一点云)和第二图像对应的点云(以下称为第二点云),确定出与第一图像具有共视关系的第二图像,然后将与第一图像共视区域(可以理解为重叠的部分)最大的确定为第一图像的匹配图像,从而通过将第一图像与共视区域最大的图像进行特征匹配即可满足相关技术对匹配图像之间重叠性的要求,进而提高非连续时间上采集的图像的特征匹配的准确性。并且,由于本公开实施例的匹配图像是基于图像的点云确定出的,而不是通过建立图像描述的方式确定的,因而,相比于相关技术,本公开实施例可以通过点云中的三维点的位置属性和姿态属性排除相似环境和观测角度对图像匹配的影响,从而保证在相似环境或者观测角度变化较大的场景中也能够取得较高的准确性。
下面结合示例性的实施例对本公开提供的图像特征匹配方法进行说明。
图2是本公开实施例提供的一种图像特征匹配方法的流程图,该方法可以由一种计算机设备来执行,该计算机设备可以理解为诸如个人电脑、服务器、车机等具有数据处理和计算能力的设备。如图2所示,该方法包括:
步骤201、获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云。
在本公开实施例中,第一图像和第二图像可以理解为非连续时间上采集的图像。第二图像可以理解为连续时间或者非连续时间上采集的多个图像的总称,其中的每个图像均可称为第二图像。在本公开实施例中,至少一个第二图像与第一图像中包括同一对象。
本公开实施例中所称的“第一点云”中的“第一”,以及“第二点云”中的“第二”仅是用于对第一图像的点云和第二图像的点云进行区分,而不具有其他含义。
本公开实施例获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云的方法可以有多种:
例如,在本公开的一个示例性的实施方式中,可以从预设的存储区域中读取获得预先存储在存储区域中的第一图像、第一图像对应的第一点云、第二图像、第二图像对应的第二点云。其中,预设的存储区域可以集成在本公开实施例所称的计算机设备上,也可以设置在本公开实施例所称的计算机设备以外的其他设备上,本公开实施例在这里不做具体限定。
又例如,在本公开的另一个示例性的实施方式中,还可以通过数据接收的方式接收获得数据采集平台(比如无人车、无人机等,但不局限于无人车和无人机)上传的第一图像和第二图像,然后基于预设的三维重建算法对第一图像和第二图像进行点云重建,得到第一图像的第一点云以及第二图像的第二点云。
举例来说,图3是本公开实施例提供的一种数据采集的场景示意图。在图3中,轨迹A可以理解为第一数据采集平台的移动轨迹,轨迹B可以理解为第二数据采集平台(第二数据采集平台和第一数据采集平台可以是同一平台,也可以是不同平台)的移动轨迹。轨迹A和轨迹B可以是同一区域中的不同轨迹。第一数据采集平台和第二数据采集平台在轨迹A和轨迹B上对相同的环境进行数据采集,采集得到的数据至少包括环境图像以及图像采集点的世界坐标。在图3中,轨迹A上的坐标点a、b、c、d是第一数据采集平台在移动轨迹A上的部分图像采集点,第一数据采集平台在a、b、c、d上的图像采集时间连续。轨迹B上的坐标点e、f、g、h是第二数据采集平台在移动轨迹B上的部分图像采集点,第二数据采集平台在e、f、g、h上的图像采集时间也连续。在图3中,第一数据采集平台和第二数据采集平台在各图像采集点上向图3的左侧方向采集图像。
如图3所示,在一种实施方式中,可以分别对第一数据采集平台采集的图像和第二数据采集平台采集的图像,利用三维重建(Structure from Motion,简称SfM)算法以各图像对应的世界坐标为约束进行位姿解算和点云重建,得到第一数据采集平台和第二数据采集平台采集的各张图像的点云和拍摄位姿。进一步地,假设将第一数据采集平台在坐标点a上采集的图像作为第一图像,第二数据采集平台在坐标点e、f、g、h上采集的图像作为第二图像,则基于已计算出的各图像的点云,即可得到第一图像的点云和各第二图像的点云。
当然图3仅是对图像点云的获取方法的示例说明,而不是唯一限定,实际上,第一图像可以是第一数据采集平台采集的任一图像。多个第二图像也可以是第二数据采集平台采集的全部图像。在其他实施例中点云重建的方法也可以根据需要进行设定,而不必局限于某种特定的方法。
可以理解的是,上述获取第一图像、第一图像对应的第一点云、第二图像、第二图像对应的第二点云的方式,也是示例性说明而不是唯一限定,实际上在其他实施例中也可以根据需要采用其他的方式来获取第一图像、第一图像对应的第一点云、第二图像、第二图像对应的第二点云。
步骤202、基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像。
在本公开实施例中,具有共视关系的多个图像可以理解为能够观测到同一对象的图像。比如,图4是本公开实施例提供的一种图像采集场景的示意图。如图4所示,坐标点41和坐标点42是两个不同的观测点。如果分别由观测点41和观测点42向建筑物43的方向进行拍摄(图4中的虚线可以理解为拍摄方向),则在观测点41处拍摄的图像中可以观测到建筑物43上的第一侧面431的图像,在观测点42处拍摄的图像中可以观测到建筑物43上的第二侧面432的图像。虽然,在观测点41和观测点42采集的图像不一样,但是由于第一侧面431和第二侧面432均在同一对象即建筑物43上,则认为在观测点41和观测点42采集的图像中均可以观测到建筑物43。此时,可以将观测点41和观测点42上拍摄的图像理解为具有共视关系的图像。当然这里仅为示例说明,而不是对本公开实施例图像采集场景的唯一限定。
示例的,本公开实施例可以通过判断第一点云中的三维点和第二点云中的三维点之间的位置关系来确定第一图像和第二图像之间是否有共视关系。比如,在一种可行的实施方式中,可以分别以第一点云中的每个三维点为索引点,如果某个第二图像的第二点云中有至少部分三维点落在该索引点周围预设范围内,则可以确定该第二图像和第一图像具有共视关系。再比如,在另一种可行的实施方式中,还可以先对第一图像的第一点云进行采样,然后以采样点为索引点,如果某个第二图像的第二点云中有至少部分三维点在该索引点的预设范围内,则确定该第二图像与第一图像之间具有共视关系。也就是说,在本公开实施例的一些实施方式中,可以以第一点云中的三维点为索引点,确定至少部三维点在索引点预设范围内的第二点云,将该第二点云对应的第二图像作为与第一图像具有共视关系的第二图像。当然上述共视关系的确定方法仅为示例性的方法而不是全部方法,在本公开的其他实施例中,也可以根据需要采用其他方法来确定图像之间的共视关系。
步骤203、将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像。
为了方便描述,这里将与第一图像具有共视关系的第二图像示例性的称为候选图像。
在本公开实施例中,候选图像与第一图像之间包含的同一对象(即可同时在候选图像和第一图像中观测到的对象)越多,则候选图像与第一图像之间的共视区域越大。
实际中,用来确定候选图像与第一图像共视区域大小的方法可以有多种:
例如,在一种实施方式中,在基于索引点查找到与第一图像具有共视关系的第二图像,即候选图像之后,可以先建立每个索引点与基于该索引点确定得到的候选图像之间的对应关系,然后再根据候选图像与索引点之间的对应关系,确定出各候选图像对应的索引点的数量。由于每个索引点同时也是第一图像的点云中的三维点,而每个三维点都对应第一图像中的一个像素点,因此,候选图像对应的索引点越多说明候选图像与第一图像共视的对象越多,从而对应索引点数量最多的候选图像即可以确定为与第一图像共视区域最大的图像,可以将共视区域最大的图像确定为第一图像的匹配图像。
举例来说,图5是本公开实施例提供的一种索引点与候选图像之间对应关系的示意图。其中,索引点U、I、O、P、K是第一点云中的5个三维点。图像aa和图像bb是与第一图像具有共视关系的两个第二图像。基于索引点U、I、O、P确定得到的候选图像中包括图像aa,基于索引点P、K确定得到的候选图像中包括图像bb。在图像aa和图像bb之间,由于图像aa对应的索引点的数量要大于图像bb对应的索引点的数量,因此,可以确定图像aa与第一图像的共视区域要大于图像bb,可以将图像aa确定为第一图像的匹配图像。当然这里仅是示例说明,而不是对索引点与候选图像之间对应关系的唯一限定。
又例如,在另一种实施方式中,在基于索引点查找到与第一图像具有共视关系的候选图像之后,确定候选图像与第一图像共视区域大小的方法还可以包括:基于第一图像的拍摄位姿和候选图像的拍摄位姿,将索引点映射到基于索引点确定得到的候选图像上,根据候选图像上的映射点的数量,将包含映射点数量最多的候选图像确定为第一图像的匹配图像。这种实施方式的实现原理与前一实施方式的原理类似。在将索引点映射到相应的候选图像上之后,如果候选图像上的映射点越多则说明候选图像与第一图像的共视区域越大,从而通过统计候选图像上映射点的数量可以准确的确定出与第一图像共视区域最大的候选图像。
举例来说,图6是本公开实施例提供的一种确定共视区域大小的方法的示意图。在图6中,图像aa是基于索引点U1、I1、O1、P1确定得到的候选图像。图像bb是基于索引点P1、K1确定得到的候选图像。在实际中可以基于第一图像的拍摄位姿和图像aa的拍摄位姿,计算出第一图像和图像aa之间的像素坐标的转换关系,然后根据第一图像对应的第一点云中的三维点与第一图像中像素之间的坐标转换关系,以及第一图像和图像aa之间的像素坐标的转换关系,确定出第一点云中的三维点与图像aa的像素坐标之间的转换关系,进而根据该转换关系将索引点U1、I1、O1、P1映射到图像aa上得到四个映射点U2、I2、O2、P2。与图像aa类似的,可以将索引点P1、K1映射到图像bb上得到两个映射点P3、K2。由于图像bb上映射点的数量小于图像aa映射点的数量,因此,可以将图像aa确定为第一图像的匹配图像。
可以理解的是,上述两种确定共视区域大小的方法仅是示例性的方法而不是本公开实施例的全部方法,实际上,任何可用于确定图像间共视区域大小的方法均可被应用到本公开实施例中。
步骤204、对第一图像和匹配图像进行特征匹配。
在本公开实施例中,任何一种可用于图像特征匹配的方法均可以被采用。比如,在一种示例性的实施方式中,可以采用仿射变换算法对第一图像和匹配图像进行仿射变换处理,得到第一图像对应的第一变换图像以及匹配图像对应的第二变换图像,然后对第一变换图像和第二换图像进行特征匹配,即可得到第一变换图像和第二换图像之间的匹配特征,该匹配特征即为第一图像与匹配图像之间的匹配特征。其中仿射变换算法的具体执行方式,可以参见相关技术在这里不再赘述。
本公开实施例,通过获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像,进而将第一图像和匹配图像进行特征匹配。由于本公开实施例的匹配图像是基于图像的点云以及图像之间的共视关系确定的,而不是根据采集时间确定的,因此,即使第一图像和多个第二图像是非连续时间上采集的图像,也能够基于点云从多个第二图像中确定出与第一图像共视区域(即重叠部分)最大的作为匹配图像,进而通过将第一图像与共视区域最大的图像进行特征匹配,即可得到准确的特征匹配结果,提高对非连续时间采集的图像的特征匹配的准确性。
图7是本公开实施例提供的另一种图像特征匹配方法的流程图,如图7所示,确定得到第一图像的匹配图像,以及第一图像与匹配图像之间的匹配特征之后,还可以包括如下方法:
步骤701、基于第一图像和匹配图像之间的匹配特征,确定第一图像和匹配图像之间的相对位姿。
比如,在一种示例性的方法中,可以利用随机抽样一致算法(Random sampleconsensus,简称RANSAC)通过匹配特征计算得出第一图像和匹配图像之间的基础矩阵或者单应矩阵(如果场景平面较多则采用单应矩阵,否则选用基础矩阵),然后根据基础矩阵或者单应矩阵计算得出第一图像和匹配图像之间的相对位姿。但是,这种方法仅为示例性的方法而不是唯一的方法,实际上,任何可基于图像之间的匹配特征,确定得到图像之间相对位姿的方法均可以被本公开实施例采用。
步骤702、基于第一图像和匹配图像之间的相对位姿以及第一图像的拍摄位姿,更新匹配图像的点云。
实际中,在确定了第一图像和匹配图像之间的相对位姿后,以第一图像的拍摄位姿为参考,可以基于第一图像的拍摄位姿计算出匹配图像的拍摄位姿,进而根据重新计算出的拍摄位姿对匹配图像的点云的位姿重新进行调整,即可得到匹配图像对应的调整后的点云。
步骤703、基于更新后的各第二图像的点云,重新确定第一图像的匹配图像。
需要说明的是,在步骤703中,可以采用和前述图2实施例相同的方法来重新确定第一图像的匹配图像,也可以采用与图2实施例不同的其他方法来重新确定第一图像的匹配图像。在步骤703中,任一可以基于图像的点云,确定匹配图像的方法均可以被采用。
步骤704、判断重新确定的第一图像的匹配图像与前一次确定的匹配图像是否相同,若不是,则跳转到步骤701继续执行,否则执行步骤705。
在本公开实施例中,判断重新确定的匹配图像与前一次确定的匹配图像是否相同,可以理解为判断重新确定的匹配图像和前一次确定的匹配图像是否是同一图像。比如,在一些实施方式中,可以通过预先训练的相似度模型来计算重新确定的匹配图像与前一次确定的匹配图像之间的相似度,如果重新确定的匹配图像与前一次确定的匹配图像之间的相似度高于预设阈值,则确定可以重新确定的匹配图像与前一次确定的匹配图像是同一图像。再比如,在另一些实施方式中,还可以对各第二图像进行唯一性标记。在重新确定出第一图像的匹配图像之后,可以将重新确定出的匹配图像的标记与前一次确定出的匹配图像的标记进行对比,如果标记一致,则确定重新确定出的匹配图像与前一次确定出的匹配图像匹配,如果不一致,则确定重新确定出的匹配图像与前一次确定出的匹配图像不匹配。
步骤705、输出重新确定的匹配图像与第一图像的匹配特征。
本公开实施例主要可以应用于通过SFM等三维重建算法计算图像拍摄位姿的情况。考虑到实际中大部分的三维重建算法都存在一定的误差,通过SFM等三维重建算法计算得到的图像的拍摄位姿准确性较低。而通过三维重建算法解算出的图像的点云中的三维点的位姿是与解算出的拍摄位姿相关的,在这种情况下,基于图像的点云确定出的匹配图像也会因为点云位姿的偏差而出现偏差。因此,为了确保图像特征匹配的准确性,本实施例旨在通过进行多次图像特征匹配,基于每次图像特征匹配的结果对第二图像的拍摄位姿进行校正,直到得到准确的拍摄位姿和匹配图像之后,再对第一图像与匹配图像的特征匹配结果进行输出,从而提高了特征匹配的准确性。
图8是本公开实施例提供的一种特征匹配装置的结构示意图,该特征匹配装置可以被理解为上述计算机设备或者上述计算机设备中的部分功能模块。如图8所示,特征匹配装置80包括:
获取模块81,用于获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;
第一确定模块82,用于基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;
第二确定模块83,用于将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像;
特征匹配模块84,用于对第一图像和匹配图像进行特征匹配。
在一种可行的实施方式中,第一确定模块82,包括:
第一确定子模块,用于以所述第一点云中的三维点为索引点,确定至少部分三维点在所述索引点预设范围内的第二点云,将所述第二点云对应的第二图像作为与所述第一图像具有共视关系的第二图像。
在一种可行的实施方式中,第二确定模块83,包括:
对应关系建立子模块,用于确定所述索引点与基于所述索引点得到的具有所述共视关系的第二图像之间的对应关系;
第二确定子模块,用于基于索引点与第二图像之间的所述对应关系,确定第二图像对应的索引点的数量;
第三确定子模块,用于将对应的索引点的数量最多的第二图像确定为所述第一图像的匹配图像。
在一种可行的实施方式中,第二确定模块83,包括:
映射子模块,用于基于所述第一图像的拍摄位姿和第二图像的拍摄位姿,将所述索引点映射到基于所述索引点确定得到的具有所述共视关系的第二图像上;
第四确定子模块,用于将包含映射点数量最多的第二图像,确定为所述第一图像的匹配图像。
在一种可行的实施方式中,特征匹配模块84,用于:
对第一图像和匹配图像进行仿射变换处理,得到第一图像对应的第一变换图像和匹配图像对应的第二变换图像;
对第一变换图像和第二变换图像进行特征匹配处理。
在一种可行的实施方式中,特征匹配装置80还可以包括:
第三确定模块,用于基于第一图像和匹配图像之间的匹配特征,确定第一图像和所述匹配图像之间的相对位姿;
第一更新模块,用于基于所述相对位姿以及第一图像的拍摄位姿,更新所述匹配图像的点云;
第二更新模块,用于基于匹配图像与其他第二图像之间的相对位姿,更新其他第二图像的点云;
第四确定模块,用于基于更新后的各第二图像的点云,重新确定所述第一图像的匹配图像;
判断模块,用于判断重新确定的第一图像的匹配图像与前一次确定的匹配图像是否相同;其中,若不同,则执行所述第三确定模块的操作;
输出模块,用于在重新确定的匹配图像与前一次确定的匹配图像相同时,输出重新确定的匹配图像与所述第一图像的匹配特征。
本实施例提供的装置能够执行上述图1-图7中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
本公开实施例还提供一种计算机设备,该计算机设备包括处理器和存储器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时可以实现上述图1-图7中任一实施例的方法。
示例的,图9是本公开实施例提供的一种计算机设备的结构示意图。下面具体参考图9,其示出了适于用来实现本公开实施例中的计算机设备1000的结构示意图。本公开实施例中的计算机设备1000可以包括但不限于诸如笔记本电脑、车机、服务器等具有图像处理能力的设备图9示出的计算机设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,计算机设备1000可以包括处理装置(例如中央处理器、图形处理器等)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储装置1009加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有计算机设备1000操作所需的各种程序和数据。处理装置1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
通常,以下装置可以连接至I/O接口1005:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1006;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置1007;包括例如磁带、硬盘等的存储装置1009;以及通信装置1009。通信装置1009可以允许计算机设备1000与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的计算机设备1000,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1009从网络上被下载和安装,或者从存储装置1009被安装,或者从ROM 1002被安装。在该计算机程序被处理装置1001执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述计算机设备中所包含的;也可以是单独存在,而未装配入该计算机设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该计算机设备执行时,使得该计算机设备:获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;基于第一点云和第二点云,确定与第一图像具有共视关系的第二图像;将与第一图像共视区域最大的第二图像,确定为第一图像的匹配图像;对第一图像和匹配图像进行特征匹配。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例还提供一种计算机可读存储介质,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时可以实现上述图1-图7中任一实施例的方法,其执行方式和有益效果类似,在这里不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种图像特征匹配方法,其中,所述方法包括:
获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;
基于所述第一点云和第二点云,确定与所述第一图像具有共视关系的第二图像;
将与所述第一图像共视区域最大的第二图像,确定为所述第一图像的匹配图像;
对所述第一图像和所述匹配图像进行特征匹配。
2.根据权利要求1所述的方法,其中,所述基于所述第一点云和第二点云,确定与所述第一图像具有共视关系的第二图像,包括:
以所述第一点云中的三维点为索引点,确定至少部分三维点在所述索引点预设范围内的第二点云,将所述第二点云对应的第二图像作为与所述第一图像具有共视关系的第二图像。
3.根据权利要求2所述的方法,其中,所述将与所述第一图像共视区域最大的第二图像,确定为所述第一图像的匹配图像,包括:
确定所述索引点与基于所述索引点得到的具有所述共视关系的第二图像之间的对应关系;
基于索引点与第二图像之间的所述对应关系,确定第二图像对应的索引点的数量;
将对应的索引点的数量最多的第二图像确定为所述第一图像的匹配图像。
4.根据权利要求2所述的方法,其中,所述将与所述第一图像共视区域最大的第二图像,确定为所述第一图像的匹配图像,包括:
基于所述第一图像的拍摄位姿和第二图像的拍摄位姿,将所述索引点映射到基于所述索引点确定得到的具有所述共视关系的第二图像上;
将包含映射点数量最多的第二图像,确定为所述第一图像的匹配图像。
5.根据权利要求1-4中任一项所述的方法,其中,所述对所述第一图像和所述匹配图像进行特征匹配,包括:
对所述第一图像和所述匹配图像进行仿射变换处理,得到所述第一图像对应的第一变换图像和所述匹配图像对应的第二变换图像;
对所述第一变换图像和所述第二变换图像进行特征匹配处理。
6.据权利要求1-4中任一项所述的方法,其中,所述对所述第一图像和所述匹配图像进行特征匹配之后,所述方法还包括:
基于所述第一图像和所述匹配图像之间的匹配特征,确定所述第一图像和所述匹配图像之间的相对位姿;
基于所述相对位姿以及所述第一图像的拍摄位姿,更新所述匹配图像的点云;
基于所述匹配图像与其他第二图像之间的相对位姿,更新所述其他第二图像的点云;
基于更新后的各第二图像的点云,重新确定所述第一图像的匹配图像;
判断重新确定的第一图像的匹配图像与前一次确定的匹配图像是否相同;
若不相同,则执行所述基于所述第一图像和所述匹配图像之间的匹配特征,确定所述第一图像和所述匹配图像之间的相对位姿的步骤,直到重新确定的匹配图像与前一次确定的匹配图像相同为止,输出重新确定的匹配图像与所述第一图像的匹配特征。
7.一种特征匹配装置,其中,所述装置包括:
获取模块,用于获取第一图像及第一图像对应的第一点云、第二图像及第二图像对应的第二点云;
第一确定模块,用于基于所述第一点云和第二点云,确定与所述第一图像具有共视关系的第二图像;
第二确定模块,用于将与所述第一图像共视区域最大的第二图像,确定为所述第一图像的匹配图像;
特征匹配模块,用于对所述第一图像和所述匹配图像进行特征匹配。
8.根据权利要求7所述的装置,其中,所述装置还包括:
第三确定模块,用于基于所述第一图像和所述匹配图像之间的匹配特征,确定所述第一图像和所述匹配图像之间的相对位姿;
第一更新模块,用于基于所述相对位姿以及所述第一图像的拍摄位姿,更新所述匹配图像的点云;
第二更新模块,用于基于所述匹配图像与其他第二图像之间的相对位姿,更新所述其他第二图像的点云;
第四确定模块,用于基于更新后的各第二图像的点云,重新确定所述第一图像的匹配图像;
判断模块,用于判断重新确定的第一图像的匹配图像与前一次确定的匹配图像是否相同;其中,若不相同,则执行所述第三确定模块的操作;
输出模块,用于在重新确定的匹配图像与前一次确定的匹配图像相同时,输出重新确定的匹配图像与所述第一图像的匹配特征。
9.一种计算机设备,其中,包括:
存储器和处理器,其中,所述存储器中存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述存储介质中存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484302.7A CN114419115A (zh) | 2021-12-07 | 2021-12-07 | 图像特征匹配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111484302.7A CN114419115A (zh) | 2021-12-07 | 2021-12-07 | 图像特征匹配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114419115A true CN114419115A (zh) | 2022-04-29 |
Family
ID=81265247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111484302.7A Pending CN114419115A (zh) | 2021-12-07 | 2021-12-07 | 图像特征匹配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114419115A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
CN110264502A (zh) * | 2019-05-17 | 2019-09-20 | 华为技术有限公司 | 点云配准方法和装置 |
CN112651997A (zh) * | 2020-12-29 | 2021-04-13 | 咪咕文化科技有限公司 | 地图构建方法、电子设备和存储介质 |
CN112750165A (zh) * | 2019-10-29 | 2021-05-04 | 商汤集团有限公司 | 参数标定方法、智能驾驶方法及其装置、设备和存储介质 |
-
2021
- 2021-12-07 CN CN202111484302.7A patent/CN114419115A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180315221A1 (en) * | 2017-05-01 | 2018-11-01 | Lockheed Martin Corporation | Real-time camera position estimation with drift mitigation in incremental structure from motion |
CN110264502A (zh) * | 2019-05-17 | 2019-09-20 | 华为技术有限公司 | 点云配准方法和装置 |
CN112750165A (zh) * | 2019-10-29 | 2021-05-04 | 商汤集团有限公司 | 参数标定方法、智能驾驶方法及其装置、设备和存储介质 |
CN112651997A (zh) * | 2020-12-29 | 2021-04-13 | 咪咕文化科技有限公司 | 地图构建方法、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
张旭东等: "基于TOF三维相机相邻散乱点云配准技术研究", 机械工程学报, no. 12, 20 June 2013 (2013-06-20), pages 8 - 16 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
US9270891B2 (en) | Estimation of panoramic camera orientation relative to a vehicle coordinate frame | |
CN107888828B (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
CN109931945B (zh) | Ar导航方法、装置、设备和存储介质 | |
CN109461208B (zh) | 三维地图处理方法、装置、介质和计算设备 | |
EP3872764B1 (en) | Method and apparatus for constructing map | |
CN110660098B (zh) | 基于单目视觉的定位方法和装置 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN110866977B (zh) | 增强现实处理方法及装置、系统、存储介质和电子设备 | |
CN112556685B (zh) | 导航路线的显示方法、装置和存储介质及电子设备 | |
CN111767853B (zh) | 车道线检测方法和装置 | |
US20170085656A1 (en) | Automatic absolute orientation and position | |
CN115409881A (zh) | 图像处理方法、装置及设备 | |
CN114399588B (zh) | 三维车道线生成方法、装置、电子设备和计算机可读介质 | |
CN114993328B (zh) | 车辆定位评估方法、装置、设备和计算机可读介质 | |
KR20220100813A (ko) | 자율주행 차량 정합 방법, 장치, 전자 기기 및 차량 | |
CN110487264B (zh) | 修正地图的方法、装置、电子设备、及存储介质 | |
CN116079697B (zh) | 一种基于图像的单目视觉伺服方法、装置、设备及介质 | |
CN114419115A (zh) | 图像特征匹配方法、装置、设备及存储介质 | |
CN111383337B (zh) | 用于识别对象的方法和装置 | |
CN111223139B (zh) | 目标定位方法及终端设备 | |
CN112880675B (zh) | 用于视觉定位的位姿平滑方法、装置、终端和移动机器人 | |
CN113256715B (zh) | 机器人的定位方法和装置 | |
CN111398961B (zh) | 用于检测障碍物的方法和装置 | |
CN110660134B (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 |