CN111291768B - 图像特征匹配方法及装置、设备、存储介质 - Google Patents
图像特征匹配方法及装置、设备、存储介质 Download PDFInfo
- Publication number
- CN111291768B CN111291768B CN202010095810.5A CN202010095810A CN111291768B CN 111291768 B CN111291768 B CN 111291768B CN 202010095810 A CN202010095810 A CN 202010095810A CN 111291768 B CN111291768 B CN 111291768B
- Authority
- CN
- China
- Prior art keywords
- matching
- image
- feature
- pairs
- feature 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000012216 screening Methods 0.000 claims abstract description 53
- 238000004590 computer program Methods 0.000 claims description 7
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 description 60
- 238000012795 verification Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Collating Specific Patterns (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了图像特征匹配方法及装置、设备、存储介质,其中,所述方法包括:将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;输出所述第三集合中的每一匹配对。
Description
技术领域
本申请实施例涉及电子技术,涉及但不限于图像特征匹配方法及装置、设备、存储介质。
背景技术
图像特征匹配是计算机视觉中的经典问题之一,它的目标是找到两帧图像之间的特征点匹配关系。该技术被广泛用于图像拼接、重定位、即时定位与地图构建(Simultaneous Localization And Mapping,SLAM)等领域。
目前的图像特征匹配方法,在户外大尺度场景下,尤其是两帧图像之间的视角变化较大的情况下,获得的匹配效果通常较差。
发明内容
有鉴于此,本申请实施例提供图像特征匹配方法及装置、设备、存储介质。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种图像特征匹配方法,所述方法包括:将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;输出所述第三集合中的每一匹配对。
第二方面,本申请实施例提供一种图像特征匹配装置,所述装置包括:匹配模块,用于将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;筛选模块,用于从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;所述匹配模块,还用于以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;输出模块,用于输出所述第三集合中的每一匹配对。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例任一所述图像特征匹配方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例任一所述图像特征匹配方法中的步骤。
本申请实施例中,从初次匹配得到的第一集合中筛选出匹配正确的匹配对,以得到第二集合;然后,再以第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;如此,一方面能够确保获得高准确率的匹配对;另一方面,通过得到第三集合,能够获得更多的正确的匹配对,从而能够在大视角变化、重复纹理等高难度场景下实现高准确率、高召回率的图像特征匹配。
附图说明
图1为本申请实施例图像特征匹配方法的实现流程示意图;
图2为本申请实施例相匹配的两个锚点周围相匹配的特征点的示意图;
图3为本申请实施例匹配结果的输出方式示意图;
图4为本申请实施例确定第一特征点的实现流程示意图;
图5为本申请实施例再次进行特征匹配的示意图;
图6为本申请实施例另一图像特征匹配方法的实现流程示意图;
图7为本申请实施例获得的三个集合的关系示意图;
图8为本申请实施例图像特征匹配的效果对比图;
图9为本申请实施例另一图像特征匹配的效果对比图;
图10为本申请实施例再一图像特征匹配的效果对比图;
图11A为本申请实施例图像特征匹配装置的结构示意图;
图11B为本申请实施例另一图像特征匹配装置的结构示意图;
图12为本申请实施例电子设备的一种硬件实体示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或者不同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
本申请实施例提供一种图像特征匹配方法,所述方法可以应用于电子设备,所述电子设备可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等具有图像处理能力的设备。所述图像特征匹配方法所实现的功能可以通过所述电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,所述电子设备至少包括处理器和存储介质。
图1为本申请实施例图像特征匹配方法的实现流程示意图,如图1所示,所述方法至少包括以下步骤101至步骤104:
步骤101,将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合。
一般来说,第一图像和第二图像通常为电子设备在同一物理空间内拍摄得到的图像。例如,第一图像和第二图像为电子设备连续拍摄的两帧图像。
可以理解地,所谓特征点匹配对,指的是物理空间中的某个空间点分别在第一图像上和第二图像上的两个特征点。
在一些实施例中,电子设备可以通过如下实施例的步骤301和步骤302实现步骤101。
步骤102,从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合。
可以理解地,第一集合中可能存在匹配错误的匹配对,即两个相匹配的特征点实际上并不是同一物理空间点。因此,这里,从第一集合中筛选出匹配正确的匹配对,以便在步骤103中能够获得更多匹配正确的匹配对。在一些实施例中,电子设备可以通过如下实施例的步骤303至步骤305实现步骤102。
步骤103,以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合。
可以理解地,第三集合包括第二集合中的匹配对。举例来说,第二集合中包括匹配对其中,p1表示第一图像上的第一特征点,p2表示第二图像上的第二特征点;在实现时,电子设备将匹配对中特征点在第一图像上的区域中的每一第一特征点,分别与特征点在第二图像上的区域中的每一第二特征点进行匹配。同理,将匹配对和的特征点分别在两帧图像的区域作为匹配范围,进行特征匹配。
第二集合中包括的是匹配正确的匹配对,将这些匹配对的特征点称为锚点。可以理解地,两帧图像上相匹配的两个锚点,其周围的特征点也应该是能够匹配上的。例如,图2所示,既然第一图像20中窗户上的特征点201与第二图像21上窗户上的特征点211为匹配正确的匹配对,那么两帧图像屋顶尖处的特征点202与212、窗户上的特征点203与213也应该能够匹配上的。
步骤104,输出所述第三集合中的每一匹配对。
需要说明的是,输出的方式有很多种,例如,图3所示,输出显示第一图像30和第二图像31,并在第一图像30和第二图像31上显示第三集合中的每一匹配对的位置和匹配关系。再如,将第三集合中的每一匹配对输出给下一个处理模块。
在本申请实施例中,从初次匹配得到的第一集合中筛选出匹配正确的匹配对,以得到第二集合;然后,再以第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;如此,一方面能够确保获得高准确率的匹配对;另一方面,通过得到第三集合,能够获得更多的正确的匹配对,从而能够在大视角变化、重复纹理等高难度场景下实现高准确率、高召回率的图像特征匹配。
本申请实施例再提供一种图像特征匹配方法,所述方法至少包括以下步骤201至步骤208:
步骤201,将第一图像上特征值满足第一特征值条件的像素点,确定为候选特征点。
在一些实施例中,像素点的特征值可以为高斯差分(Difference of Gaussian,DoG)响应值。将特征值大于特征阈值的像素点,确定为候选特征点。在实现时,电子设备可以将图像分割成特定大小(例如30*30像素)的网格,在每个网格中提取Noctave个尺度下的DoG特征点作为候选特征点。如公式(1)所示,Noctave的值由图像的分辨率决定:
式中,round指四舍五入,log是以10为底的对数函数,Rimg,x指图像矩阵在水平方向的像素宽度,Rimg,y指图像矩阵在竖直方向的像素宽度。
为了确保在每个网格中都提取到候选特征点,当在某个网格中没有提取到候选特征点时,说明像素点的高斯差分响应值都低于响应阈值。因此,可以降低该响应阈值的大小,例如从0.04降低到0.02,从而提取一些响应值较低的候选特征点。
步骤202,构建所述第一图像的M叉树;其中,M为大于1的整数。
所述M叉树可以是多种多样的。例如,所述M叉树为二叉树、四叉树或者八叉树等。M的值决定了将每一层的每一节点分割为多少个子节点,即每一节点被分割为M个子节点。
步骤203,将每一所述候选特征点逐层分配至所述M叉树的节点中。
在一些实施例中,电子设备将确定的每一所述候选特征点,分配至所述M叉树的第一层节点中;继续将每一所述第一层节点中的候选特征点,分配至所述M叉树的下一层节点中,直至已分配的节点数大于所述候选特征点的总数,或者当前层的每一节点中包括特定数目的候选特征点时,结束分配。
这里,对于所述特定数目的值不做限定,例如,特定数目为1或者2等。
以四叉树为例,如图4所示,将步骤201得到的所有候选特征点,先分配到第一图像40的四叉树的第一层节点401至404中,再将每个节点中的特征点分配到四叉树的下一层节点中。如果待分配节点的位置处没有特征点,就不分配节点,也就是四叉树的一些节点的子节点会少于4个。
在分配过程中,当节点数大于候选特征点的数量,或者所有节点中只有一个候选特征点时,停止分配四叉树。
四叉树分配停止后,在每个节点中,只保留响应值最高的候选特征点作为第一特征点。响应值高代表特征显著。这样能够使分布不均匀的特征点分布均匀,效果可以从图4所示的“输入分布不均匀的特征点”和“输出分布均匀的特征点”分别对应的效果图中看出。
步骤204,将所述M叉树中每一节点中,特征值满足第二特征值条件的候选特征点,确定为所述第一特征点。
在一些实施例中,将M叉树中每一节点中的最大特征值对应的候选特征点,确定为第一特征点,即,保留每一节点中特征值最大的候选特征点。
步骤205,将所述第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合。
需要说明的是,第二图像上的第二特征点的确定方法与第一图像上的第一特征点的确定方法相同,即将步骤201至步骤204中的第一图像替换为第二图像,即可确定第二图像上的第二特征点。
步骤206,从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;
步骤207,以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;
步骤208,输出所述第三集合中的每一匹配对。
在本申请实施例中,提供一种基于M叉树的特征点提取方法,即,将M叉树中每一节点中,特征值满足第二特征值条件的候选特征点,确定为第一特征点;如此,可以消除特征点密集区的部分特征点,使提取的特征点在图像上分布更加均匀,从而在估计相机位姿的应用中,能够提高估计精度和计算效率。
本申请实施例再提供一种图像特征匹配方法,所述方法至少包括以下步骤301至步骤307:
步骤301,将第一图像上的每一第一特征点分别与第二图像上的第二特征点进行匹配,得到每一所述第一特征点对应的第四集合,所述第四集合包括K1个第一匹配对和每一所述第一匹配对的距离,每一所述第一匹配对包括所述第一特征点和相匹配的第二特征点,K1为大于1的整数。
在一些实施例中,电子设备可以将第一图像上的每一第一特征点的属性信息分别与第二图像上的第二特征点的属性信息进行K最近邻匹配(k-Nearest Neighbor,KNN),从而得到每一第一特征点在第二图像中相匹配的K个第二特征点,得到每一第一特征点对应的第四集合。这里,对于K1的取值不做限定,例如,K1的取值为10。
需要说明的是,所述属性信息至少包括以下之一:特征描述子、语义信息;其中,语义信息用于描述特征点所在物体的属性,例如语义信息为物体的类型或者名称等。
可以理解地,在所述属性信息包括特征描述子和语义信息的情况下,可以在建筑物表面、室内地毯、有纹理的墙面等重复纹理较多的场景下,筛选出更多正确的匹配对。
步骤302,从每一所述第四集合中筛选出距离满足第一距离条件的匹配对,以得到所述第一集合。
在一些实施例中,确定所述第四集合中每一大于最小距离的距离分别与第一系数的第一乘积;从所述第四集合中筛选出小于所述最小距离的第一乘积所对应的匹配对,以得到第五集合;将每一所述第四集合对应的第五集合和每一所述第四集合中最小距离对应的匹配对,合成所述第一集合。
可以理解地,基于上式(2)进行匹配对筛选的目的是,保留每一第四集合中质量较好的一些匹配对。如果距离太大,可能会导致正确匹配的概率比较小。
步骤303,从所述第一集合中筛选出距离满足第二距离条件的匹配对,以得到第六集合。
在一些实施例中,确定每一所述第四集合中第j小距离与第二系数之间的第二乘积,其中,所述第j小距离大于所在的第四集合中的最小距离;从每一所述第四集合中筛选出小于所述第二乘积的最小距离所对应的匹配对,以得到所述第六集合。
例如,下式(3)所示,将每一第四集合中的所有最小距离对应的匹配对进行以下筛选,以得到第六集合:
即,将满足上述式(3)所示的第二距离条件的所对应的匹配对筛选出来。式中,指的是第四集合中的第二小距离(也称为次小距离)。指的是第四集合中的最小距离。αanchor为所述第二系数,该系数是一个比第一系数αverification小的阈值,在实现时可以取0.6。将所有满足上式(3)的对应的匹配对筛选出来。这里筛选出来的匹配对的质量很高,表现在匹配对的距离足够小,且显著性比较高。
步骤304,根据所述第六集合中匹配对的像素坐标,确定所述第一图像和所述第二图像的相机位姿之间的第一相对几何关系。
在一些实施例中,所述第一相对几何关系可以通过基础矩阵来表征。在实现时,电子设备可以将第六集合中的匹配对的像素坐标输入至随机样本一致性(Random SampleConsensus,RANSAC)算法中,从而得到第一基础矩阵;然后,将第六集合中满足第一基础矩阵的极线约束的匹配对,确定为所述匹配正确的匹配对,并将这些匹配对放入第二集合。
步骤305,将所述第六集合中满足所述第一相对几何关系的匹配对,确定为所述匹配正确的匹配对,以得到所述第二集合。
步骤306,以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;
步骤307,输出所述第三集合中的每一匹配对。
本申请实施例再提供一种图像特征匹配方法,所述方法至少包括以下步骤401至步骤407:
步骤401,将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;
步骤402,从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;
步骤403,以所述第二集合中第L个匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,进行匹配,得到所述匹配范围内每一第一特征点对应的第七集合;
其中,所述第七集合包括K2个第二匹配对和每一所述第二匹配对的距离,每一所述第二匹配对包括所述第一特征点和相匹配的第二特征点,K2为大于1的整数,例如K2取值为2;L为大于0且小于或等于所述第二集合的匹配对总数的整数,也就是说,电子设备需要将第二集合中每一匹配对的特征点的像素位置分别输入至步骤403中,以实现再次特征匹配。
在一些实施例中,对所述第一图像和所述第二图像进行网格划分;确定所述第L个匹配对中第一特征点在所述第一图像中的第一网格区域;确定所述第L个匹配对中第二特征点在所述第二图像中的第二网格区域;确定所述第二网格区域所在的搜索区域;将所述第一网格区域中的每一第一特征点,分别与所述搜索区域中的第二特征点进行匹配,得到对应第一特征点对应的第七集合。
可以理解地,对图像进行网格划分后,每一个网格区域的位置是已知的,且特征点的像素位置也是已知的,因此,容易确定每一特征点在图像上的网格区域。
以下结合图5对获得第七集合的方式进行说明。如图5所示,将第一图像50和第二图像51分割成50*50的网格,将第一图像50和第二图像51的特征点都放到对应的网格中。对于第一图像,在网格501中存在第二集合中的某个锚点502,在第二图像中,与该锚点502相匹配的锚点512,该锚点512在第二图像中的网格511中。那么将第一图像中该网格501中的所有特征点,在第二图像中网格511和它周围的8个网格中,搜索匹配点,从而得到网格501中每一特征点对应的第七集合。
在一些实施例中,电子设备可以将所述第一网格区域中的每一第一特征点的属性信息,分别与所述搜索区域中的第二特征点的属性信息进行KNN匹配,从而得到每一第一特征点对应的第七集合。
步骤404,确定每一所述第七集合中第j小距离与第三系数之间的第三乘积,其中,所述第j小距离大于所在的第七集合中的最小距离;
步骤405,从每一所述第七集合中筛选出小于所述第三乘积的最小距离所对应的匹配对,以得到第八集合。
例如,从每一所述第七集合中筛选出满足如下式(4)所示的最小距离对应的匹配对,以得到所述第八集合:
步骤406,将所述第二集合和所述第八集合,合成为所述第三集合。
步骤407,输出所述第三集合中的每一匹配对。
需要说明的是,在一些实施例中,电子设备除了输出所述第三集合中的每一匹配对以外,还可以并行输出所述第一集合中满足特定条件的匹配对。在实现时,电子设备可以通过以下步骤501至步骤505,实现输出所述第一集合中满足特定条件的匹配对:
步骤501,根据所述第三集合中的匹配对的像素坐标,确定所述第一图像与所述第二图像的相机位姿之间的多个第二相对几何关系。
在一些实施例中,第二相对几何关系可以是第二基础矩阵。在实现时,电子设备可以采用八点法计算第二基础矩阵。即,对第三集合中的匹配对进行随机采样,每次随机采样8个匹配对,然后基于每次采样得到的匹配对,计算第二基础矩阵。
步骤502,从所述多个第二相对几何关系中,筛选出满足特定条件的候选相对几何关系。
在一些实施例中,确定所述第三集合中分别满足每一所述第二相对几何关系的匹配对的第二数目;确定每一所述第二数目与所述第三集合的匹配对总数之间的比例;将大于第一阈值的所述比例对应的第二相对几何关系,确定为所述候选相对几何关系。
这里,之所以要从多个第二相对几何关系中,筛选出满足特定条件的候选相对几何关系,是为了事先筛选掉一部分错误的第二相对几何关系,从而提高计算速度。
以第二相对几何关系为第二基础矩阵为例,对筛选方法进行说明。理论上,如果基础矩阵F是正确的,一组匹配对中两点的像素坐标应该满足下式(5):
式中,p1和p2为一组匹配对中两点分别在各自图像中的像素坐标。
设p1的像素坐标为(u1,v1),p2的像素坐标为(u2,v2),p2与基础矩阵F的乘积的表达式如下式(6)所示,基于此,可以根据下式(7)计算匹配对在某个基础矩阵作用下的误差error:
当该误差error大于误差阈值时,就认为该匹配对不满足该基础矩阵F的极线约束。这里将该误差阈值设为5。统计第三集合中不满足极线约束的匹配对数目占第三集合中包含的匹配对总数的比例。当第三集合中超过10%的匹配对不满足该基础矩阵的极线约束时,确定该基础矩阵错误。如此,可以得到一组正确的可能性较大的基础矩阵,即候选相对几何关系。
步骤503,确定所述第一集合中满足每一所述候选相对几何关系的匹配对的第一数目。
这里,确定匹配对是否满足候选相对几何关系,与上述确定匹配对是否满足第二相对几何关系的方法相同。例如,根据上式(6)和(7)计算匹配对在候选基础矩阵作用下的误差error,如果error大于误差阈值,则确定该匹配对不满足该候选基础矩阵的极线约束;反之,如果error小于或等于误差阈值,则确定该匹配对满足该候选基础矩阵的极线约束。不同的是,这里的误差阈值较小,例如,取值为0.5。
步骤504,将最大第一数目对应的候选相对几何关系,确定为目标相对几何关系。
举例来说,通过步骤502确定的候选相对几何关系包括候选相对几何关系1、2和3;第一集合中满足候选相对几何关系1的匹配对有23对,满足候选相对几何关系2的匹配对有32对,满足候选相对几何关系3的匹配对有10对;因此,将候选相对几何关系2确定为目标相对几何关系。
步骤505,输出所述第一集合中满足所述目标相对几何关系的匹配对。
本申请实施例再提供一种图像特征匹配方法,所述方法至少包括以下步骤601至步骤621:
步骤601,确定第一图像上的第一特征点。
这里,确定第一特征点的方法可以参考上述实施例的步骤201至步骤203。第二图像上的第二特征点的确定方法与第一特征点的确定方法相同,这里均不再赘述。
步骤602,从所述第一图像中,提取每一所述第一特征点的属性信息,其中所述属性信息包括特征描述子和语义信息;
步骤603,将每一所述第一特征点的属性信息,分别与第二图像中的第二特征点的属性信息进行K最近邻匹配,得到每一所述第一特征点对应的第四集合,所述第四集合包括K1个第一匹配对和每一所述第一匹配对的欧式距离,每一所述第一匹配对包括所述第一特征点和相匹配的第二特征点,K1为大于1的整数;
步骤604,从每一所述第四集合中筛选出欧式距离满足第一距离条件的匹配对,以得到验证集,即所述第一集合;
步骤605,从所述验证集中筛选出距离满足第二距离条件的匹配对,以得到第六集合;
步骤606,根据所述第六集合中的匹配对的像素坐标,确定第一基础矩阵;
需要说明的是,所述第一基础矩阵,即为上述实施例所述第一相对几何关系的一种示例。
步骤607,从所述第六集合中筛选出满足所述第一基础矩阵的极线约束的匹配对,以得到锚点集,即所述第二集合;
步骤608,对所述第一图像和所述第二图像进行网格划分;
步骤609,确定所述锚点集中每一第一特征点在所述第一图像中的第一网格区域;
步骤610,从所述第二图像中,确定与每一所述第一网格区域相对应的第二网格区域;
步骤611,确定每一所述第二网格区域所在的搜索区域;
步骤612,将第m个所述第一网格区域中的第n个第一特征点,与第m个所述第一网格区域相对应的搜索区域中的每一第二特征点进行K最近邻匹配,得到第七集合;
其中,所述第七集合包括K2个第二匹配对,每一所述第二匹配对包括所述第n个第一特征点和相匹配的第二特征点;K2为大于0的整数,m为大于0且小于或等于第一网格区域总数的整数;n为大于0且小于或等于所述第m个所述第一网格区域中的第一特征点总数的整数;
步骤613,从每一所述第一特征点对应的第七集合中中,筛选出距离满足第三距离条件的匹配对;
步骤614,将每一所述满足第三距离条件的匹配对和所述锚点集,合成假设集,即所述第三集合;
步骤615,对所述假设集中的匹配对进行多次随机采样,每次所述随机采样得到包含多个匹配对的采样集;
步骤616,根据每一所述采样集中匹配对的像素坐标,分别生成对应的第二基础矩阵,即所述第二相对几何关系的一种示例;
步骤617,确定所述假设集中分别满足每一所述第二基础矩阵的极线约束的匹配对的第二数目;
步骤618,确定每一所述第二数目与所述第三集合的匹配对总数之间的比例;
步骤619,将大于第一阈值的所述比例对应的第二相对几何关系,确定为候选基础矩阵,即所述候选相对几何关系的一种示例;
步骤620,确定所述验证集中分别满足每一所述候选基础矩阵的极线约束的匹配对的第一数目;
步骤621,输出所述假设集和最大第一数目对应的匹配对。
图像特征匹配指的是在两张图像之间,找到对应的特征。特征可以是点、线、面等。在特征是点的匹配方案中,通常先进行特征提取,计算特征点的描述子,再基于描述子进行特征匹配,最后进行错误匹配消除。
相关的特征匹配方法中,例如,利用两个不同的特征点在图像中的相对位置与另一张图像中两个不同的特征点在图像中的相对位置是否一致,来实现特征匹配;再如,在两张图像中,分别建立特征点的三角网格,利用三角网格是否一致,来实现特征匹配;又如,先对特征描述子进行聚类,再进行特征匹配。匹配完成后,利用基础矩阵、RANSAC等方法剔除外点,从而提高匹配正确率。
虽然上述方法能够在一定程度上提高特征匹配的正确率,但是在户外大尺度场景下,由于视角变化较大,且建筑物表面的重复纹理较多,导致匹配效果通常不佳。这是因为在户外大尺度场景下时,存在以下几个难点:
1.待匹配的两张图像之间的尺度相差较大。同一个物体在两张图像中的大小差别较大,这种情况对描述子的性能、匹配策略要求较高。
2.当视角变化大时,两张图像之间可能只重叠了很小的一部分,第一图像中的一些物体在第二图像中不存在,提取的特征很可能匹配到一个相似物体的特征上,从而导致匹配错误。
3.在建筑物较多的场景下,由于建筑物表面通常有很多窗户等重复的物体,传统的图像特征描述子只能描述局部特征,无法区分一个窗户和另一个窗户,因此匹配效果也会很差。
相关的特征匹配方法均不能解决以上三个难点,原因在于:
1.相关的特征匹配方法,只是对特征之间的几何关系做了简单的约束,例如相对位置一致、网格形状类似。但是这种方法却无法应对大尺度、视角变化较大的场景。
2.对描述子进行聚类的方法,也不能解决建筑物表面重复纹理的问题。因为重复纹理的描述子通常很接近,聚类无法区分相近的描述子。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例中,第一,提供一种基于四叉树的特征点提取方法,能够使特征点在图像上的分布更加均匀,并且可以控制需要的特征点的个数。这种方法对于重定位、SLAM等需要计算2D-3D匹配,估计相机位姿的应用中可以提高精度和效率;第二,提供一种锚点-假设集-验证集的三层特征匹配策略;其中,锚点即为上述实施例所述第二集合中的特征点,锚点匹配对作为绝对正确的匹配结果,被用作其他匹配对的参考。假设集,即为上述实施例所述的第三集合,该集合由锚点匹配对拓展得到的,其中包含的匹配对的正确性较高,用来计算基础矩阵。验证集,即为上述实施例所述的第一集合,该集合用来增加匹配对的个数。相比于传统方法,能够在大视角变化、重复纹理等高难度场景下实现高准确率、高召回率的特征匹配。
以下对本申请实施例进行详细阐述。
本申请实施例针对户外大尺度场景、视角变化较大、建筑物重复纹理等情形,对特征匹配方案进行优化,即,在特征点的提取方案中加入了四叉树,进行非极大值抑制,目的是消除特征点密集区的部分特征点,从而使提取的特征点在图像上分布更加均匀。在特征匹配中设计了多层次的匹配方案,并设计了一对多的RANSAC。
基本思想是:先对第一图像中的每一第一特征点与第二图像中的第二特征点进行KNN匹配,K=10,保留每一第一特征点对应的一对多的匹配对作为验证集。接着在验证集中确定很少,但质量很高的匹配对。这些匹配对都为正确匹配对,将这些匹配对包含的特征点称为锚点。
可以理解地,在两张图像中,相匹配的两个锚点周围的特征点也应当是匹配上的。基于此,用KNN匹配方法再提取一批匹配对(即所述第八集合中的匹配对),和锚点一起作为假设集。
建立假设集的目的是:试图求解两张图像之间的基础矩阵,用基础矩阵来描述拍摄这两张图像的两个相机位姿之间的相对几何关系。然而,如果只用锚点求解,这个关系会由于锚点过少而不准确,因此基于假设集获得的基础矩阵更加准确。
然后,用KNN中的所有匹配对,放到求解出的最佳基础矩阵中做验证,看是否满足上一步求解出的相对几何关系。一对多的匹配对中,有的匹配对可能描述子的差距较大,但却是正确匹配,满足基础矩阵描述的几何关系,应当是正确匹配。
最后把验证集中通过验证的匹配对和假设集一同输出,以获得正确匹配对。
本申请实施例所提供的特征匹配方法的实现流程图如图6所示,包括以下步骤S1至步骤S3:
步骤S1,特征提取。即,在待匹配的两张图像上,建立图像四叉树,利用四叉树对图像的特征点进行非极大值抑制,使得提取的特征点在图像上分布较为均匀,并提取特征点的SIFT描述子。
在一些实施例中,可以通过以下步骤S1.1至步骤S1.3实现步骤S1。
步骤S1.1,将图像分割成30*30像素的网格,在每个网格中提取多个个尺度下的DoG特征点,即所述候选特征点。
步骤S1.2,将所有提取到的DOG特征点,逐层放到四叉树中,并消除分布不均匀的特征点。
步骤S1.3,在所有DoG特征点上提取SIFT描述子。
步骤S2,特征匹配。即,将两张图像上的特征点进行匹配,并将匹配对分为锚点、假设集和验证集三个部分。
在一些实施例中,可以通过以下步骤S2.1至步骤S2.3实现步骤S2。
步骤S2.1,对两张图像的特征点进行KNN匹配,得到第一图像中每一特征点在第二图像中相匹配的K1个特征点,即得到一组包含K1个匹配对的数据,也就是上述实施例所述的第四集合;然后从每一组匹配对数据中筛选出满足条件的匹配对,加入验证集。
基于KNN的特征匹配算法,如下式(8)所示,确定第一图像中的每一个特征点,分别与第二图像中的每一个特征点之间的欧氏距离:
式中,DE是指两个特征点之间的欧式距离。N指描述子的维数。SIFT描述子有128维。ai指第一图像中的某一个特征点的SIFT描述子的第i维。bi指第二图像中的某一个特征点的SIFT描述子的第i维。
在本申请实施例中,对于第一图像的每一个特征点来讲,保留与第二图像中欧式距离最小的K1个目标特征点。在实验中取K1=10。也就是说,每个第一图像中的特征点,在第二图像中有10个特征点(也称匹配点)与之匹配。根据如下公式(9)对第一图像的每一个特征点对应的K1个匹配点进行筛选,以得到对应的第五集合:
当满足上式(9)时,将该值对应的匹配对,即得到的第五集合中的匹配对放入验证集中。αverification是一个在0到1之间的阈值,该值在实验中取0.8。指的是第一图像中的第i个特征点与第二图像中的K个特征点之间的欧式距离中第j小的欧氏距离。指的是第一图像中第i个特征点与第二图像中的K个特征点之间的欧式距离中最小的欧式距离。
基于上式(9)进行匹配对筛选的目的是,只保留质量较好的一些KNN匹配对。如果欧氏距离太大,那么使正确匹配的概率比较小。
步骤S2.2,在验证集中选取高质量匹配对作为锚点。
即,将满足上述式(10)所示的条件的所对应的匹配对筛选出来。式中,指的是第一图像中的第i个特征点,与第二图像中的特征点之间的第二小欧氏距离。指的是第一图像中的第i个特征点与第二图像中的特征点之间的最小欧氏距离。αanchor是一个比αverification小的阈值,实验中取0.6。将所有满足上式(10)的筛选出来。这里筛选出来的匹配对的匹配质量很高,表现在欧氏距离足够小,且显著性比较高。
然后,对筛选出的匹配对,用RANSAC的方法计算基础矩阵,筛选出满足基础矩阵的匹配对,放到锚点集合中。在实现时,可以使用opencv的findFundamentalMat函数。
步骤S2.3,在两张图像中对应的锚点周围搜索匹配对,作为假设集;
通常认为锚点是绝对正确的。因为特征点是在物体上提取出来的,同一个物体有一个特征点和另一张图像中的对应物体上的特征点能够匹配上,那么周围的特征点在这个物体上,也应该和锚点周围的某个特征点匹配上。
这样最终得到了三个层次的匹配对。三个集合的包含关系如图7所示。即,验证集包含假设集,假设集包含锚点。
步骤S3,外点筛除。用假设集计算两张图片之间的基础矩阵,将验证集中的所有匹配关系放到多个基础矩阵中进行验证。通过验证最多的基础矩阵视作正确的基础矩阵,即最佳基础矩阵,并将验证集中通过该基础矩阵的匹配对作为最终的输出,这其实是一种RANSAC(随机采样一致性)算法。
在一些实施例中,可以通过如下步骤S3.1至步骤S3.3实现步骤S3。
步骤S3.1,对假设集中的匹配对进行随机采样,基于采样得到的匹配对,计算基础矩阵。
在实现时,可以用八点法计算基础矩阵,也就是每次随机采样8组匹配对。
考虑一堆匹配点,每组匹配对分别对应的归一化坐标为:x1=[u1,v1,1]T,x2=[u2,v2,1]T,根据公式(11)所示的极线约束:
式中,E为本质矩阵,该矩阵与基础矩阵的关系,如下式(12)所示:
F=K-TEK-1 (12);
式中,K为相机的内参矩阵,即下式(13)所示:
式中,fx和fy分别为相机在x和y方向上的焦距,cx和cy分别为图像中心到图像坐标原点的x,y坐标,单位为像素。
在极线约束中则有下式(14):
可以把矩阵E展开,得到下式(15):
e=[e1 e2 e3 e4 e5 e6 e7 e8 e9] (15);
因此,可以将极线约束表示为下式(16):
[u1u2 u1v2 u1 v1u2 v1v2 v1 u2 v2 1]·e=0 (16);
以此类推,当有8组匹配对时,可以得到下式(17):
由于极线约束中,等式两边乘上任意实数,等式都成立,故可得知E具有尺度等价性。也就是说,E缺少尺度信息,E可以由8个方程得到,而不是通常的9个未知数需要9个方程。
通过上述方程组得到本质矩阵E后,可以再乘以相机内参矩阵K,从而得到基础矩阵F。
步骤S3.2,利用假设集的匹配对,验证步骤S3.1生成的多个基础矩阵的正确性。
需要说明的是,步骤S3.1生成的多个基础矩阵即为上述实施例所述的第二相对几何关系的一种示例。
这里用假设集验证的目的是,事先筛选掉一部分错误的基础矩阵,从而提高计算速度。
验证正确性的方法为:
理论上,如果基础矩阵F是正确的,一组匹配对中两点的像素坐标应该满足如下等式(18):
式中,p1和p2为一组匹配对中两点分别在各自图像中的像素坐标。
设p1的像素坐标为(u1,v1),p2的像素坐标为(u2,v2),p2与基础矩阵F的乘积的表达式如下式(19)所示,基于此,可以根据如下公式(20)计算一组匹配对在某个基础矩阵作用下的误差error:
当该误差error大于某个阈值时,就认为该匹配对不满足该基础矩阵的约束。这里将该阈值设为5。统计不满足约束的假设集匹配对占假设集包含的匹配对总数的比例。当假设集中超过10%的匹配对不满足该基础矩阵的约束时,确定该基础矩阵错误。
如此,可以得到一组正确的可能性较大的基础矩阵,即上述实施例所述的候选相对几何关系。
步骤S3.3,将验证集中的所有匹配对,放入步骤S3.2验证得到的一组正确的可能性较大的基础矩阵中做验证,统计在每个基础矩阵作用下误差error小于阈值的匹配对的数目,将数目最多的匹配对作为最终的输出。
验证匹配对是否满足基础矩阵的约束的方法,和步骤S3.2中的一样,但是误差对应的阈值和S3.2不同,这里设定为0.5,远小于S3.2中的阈值的原因是,不希望引入过多的错误匹配。
在本申请实施例中,能够获得以下有益效果:
(1)该技术方案能够消除特征点密集区的部分特征点,从而使提取的特征点在图像上分布更加均匀,进而能够在重定位、SLAM等通过2D-3D匹配估计相机位姿的应用中可以提高效率,并且提高定位精度。
(2)该技术方案能在视角变化较大的情况下获得更多的正确特征匹配,进而能够在图像拼接、重定位、SLAM等应用场景下,获得更高的精度。在户外大尺度场景下可以实现鲁棒的特征匹配。
(3)该技术方案能在建筑物表面等重复纹理较多的场景下,筛选出正确的匹配对。这对于室内地毯、有纹理的墙面等场景下的特征匹配也有一定帮助。
这里用三组acchen数据集中的图像说明本申请实施例的有益效果,例如图8所示,采用相关的特征匹配方案(例如在得到最小距离对应的匹配对之后,通过RANSAC方法计算最优的基础矩阵,然后使用该矩阵进行外点筛除),其匹配结果如图8中的801所示,得到68个正确的匹配对,而采用本申请实施例所提供的特征匹配方案,其匹配结果如图8中的802所示,能够得到344个正确的匹配对;
再如图9所示,采用相关的特征匹配方案,其匹配结果如图9中的901所示,得到417个正确的匹配对,而采用本申请实施例所提供的特征匹配方案,其匹配结果如图9中的902所示,能够得到2657个正确的匹配对;
再如图10所示,采用相关的特征匹配方案,其匹配结果如图10中的101所示,能得到52个正确的匹配对,而采用本申请实施例所提供的特征匹配方案,其匹配结果如图10中的102所示,能够得到308个正确的匹配对。
在本申请实施例中,一方面,提供了一种基于四叉树的特征提取方法,能够使提取的特征点在图像上分布更加均匀,并且可以控制需要的特征点的个数。这种方法对于重定位、SLAM等需要计算2D-3D匹配,估计相机位姿的应用中可以提高精度和效率。
另一方面,提供了一种锚点-假设集-验证集的三层特征匹配策略。锚点作为绝对正确的匹配,被用作其他匹配点的参考。假设集由锚点拓展得到,正确性较高,用来计算基础矩阵。验证集用来增加匹配个数。相比于传统方法,能够在大视角变化、重复纹理等高难度场景下实现高准确率、高召回率的匹配。
在一些实施例中,还可以将求解基础矩阵的过程替换成PnP问题,如此就可以应用到2D-3D特征的匹配中去,这在视觉定位问题中有很好的应用前景。
在一些实施例中,基础矩阵只能够描述两张图片之间的对极几何。这种模型过于简单。所以,还可以拓展到一般情况,例如非刚体形变中,可以用向量场一致性VFC(vectorfield consensus)来描述。
在一些实施例中,可以将特征点的语义信息和局部描述子结合起来,这样就可以区分门、窗等物体,从而提高匹配正确率。
基于前述的实施例,本申请实施例提供一种图像特征匹配装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图11A为本申请实施例图像特征匹配装置的结构示意图,如图11A所示,所述装置11包括匹配模块111、筛选模块112和输出模块113,其中:
匹配模块111,用于将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;
筛选模块112,用于从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;
所述匹配模块111,还用于以所述第二集合中匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,再次进行特征匹配,得到第三集合;
输出模块113,用于输出所述第三集合中的每一匹配对。
在一些实施例中,如图11B所示,装置11还包括确定模块114和分配模块115;其中,确定模块114,用于将所述第一图像上,特征值满足第一特征值条件的像素点,确定为候选特征点;分配模块115,用于构建所述第一图像的M叉树;其中,M为大于1的整数;将每一所述候选特征点逐层分配至所述M叉树的节点中;确定模块114,还用于将所述M叉树中每一节点中,特征值满足第二特征值条件的候选特征点,确定为所述第一特征点。
在一些实施例中,分配模块115,用于:将每一所述候选特征点,分配至所述M叉树的第一层节点中;继续将每一所述第一层节点中的候选特征点,分配至所述M叉树的下一层节点中,直至已分配的节点数大于所述候选特征点的总数,或者当前层的每一节点中包括特定数目的候选特征点时,结束分配。
在一些实施例中,匹配模块111,用于:将每一所述第一特征点分别与所述第二图像上的第二特征点进行匹配,得到每一所述第一特征点对应的第四集合,所述第四集合包括K1个第一匹配对和每一所述第一匹配对的距离,每一所述第一匹配对包括所述第一特征点和相匹配的第二特征点,K1为大于1的整数;从每一所述第四集合中筛选出距离满足第一距离条件的匹配对,以得到所述第一集合。
在一些实施例中,匹配模块111,用于:确定所述第四集合中每一大于最小距离的距离分别与第一系数的第一乘积;从所述第四集合中筛选出小于所述最小距离的第一乘积所对应的匹配对,以得到第五集合;将每一所述第四集合对应的第五集合和每一所述第四集合中最小距离对应的匹配对,合成所述第一集合。
在一些实施例中,筛选模块112,用于:从所述第一集合中筛选出距离满足第二距离条件的匹配对,以得到第六集合;根据所述第六集合中匹配对的像素坐标,确定所述第一图像和所述第二图像的相机位姿之间的第一相对几何关系;将所述第六集合中满足所述第一相对几何关系的匹配对,确定为所述匹配正确的匹配对,以得到所述第二集合。
在一些实施例中,筛选模块112,用于:获取所述第一集合中每一所述最小距离所在的第四集合;确定每一所述第四集合中第j小距离与第二系数之间的第二乘积,其中,所述第j小距离大于所在的第四集合中的最小距离;从每一所述第四集合中筛选出小于所述第二乘积的最小距离所对应的匹配对,以得到所述第六集合。
在一些实施例中,匹配模块111,用于:以所述第二集合中第L个匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,进行匹配,得到所述匹配范围内每一第一特征点对应的第七集合;其中,所述第七集合包括K2个第二匹配对和每一所述第二匹配对的距离,每一所述第二匹配对包括所述第一特征点和相匹配的第二特征点,L为大于0且小于或等于所述第二集合的匹配对总数的整数,K2为大于1的整数;确定每一所述第七集合中第j小距离与第三系数之间的第三乘积,其中,所述第j小距离大于所在的第七集合中的最小距离;从每一所述第七集合中筛选出小于所述第三乘积的最小距离所对应的匹配对,以得到第八集合;将所述第二集合和所述第八集合,合成为所述第三集合。
在一些实施例中,匹配模块111,用于:对所述第一图像和所述第二图像进行网格划分;确定所述第L个匹配对中第一特征点在所述第一图像中的第一网格区域;确定所述第L个匹配对中第二特征点在所述第二图像中的第二网格区域;确定所述第二网格区域所在的搜索区域;将所述第一网格区域中的每一第一特征点,分别与所述搜索区域中的第二特征点进行匹配,得到对应第一特征点对应的第七集合。
在一些实施例中,输出模块113,还用于:根据所述第三集合中的匹配对的像素坐标,确定所述第一图像与所述第二图像的相机位姿之间的多个第二相对几何关系;从所述多个第二相对几何关系中,筛选出满足特定条件的候选相对几何关系;确定所述第一集合中满足每一所述候选相对几何关系的匹配对的第一数目;将最大第一数目对应的候选相对几何关系,确定为目标相对几何关系;输出所述第一集合中满足所述目标相对几何关系的匹配对。
在一些实施例中,输出模块113,用于:确定所述第三集合中分别满足每一所述第二相对几何关系的匹配对的第二数目;确定每一所述第二数目与所述第三集合的匹配对总数之间的比例;将大于第一阈值的所述比例对应的第二相对几何关系,确定为所述候选相对几何关系。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的图像特征匹配方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
对应地,本申请实施例提供一种电子设备,图12为本申请实施例电子设备的一种硬件实体示意图,如图12所示,该电子设备120的硬件实体包括:包括存储器121和处理器122,所述存储器121存储有可在处理器122上运行的计算机程序,所述处理器122执行所述程序时实现上述实施例中提供的图像特征匹配方法中的步骤。
存储器121配置为存储由处理器122可执行的指令和应用,还可以缓存待处理器122以及电子设备120中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
对应地,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的图像特征匹配方法中的步骤。
这里需要指出的是:以上存储介质、芯片和终端设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、芯片和终端设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的触摸屏系统的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种图像特征匹配方法,其特征在于,所述方法包括:
将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;
从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;
以所述第二集合中第L个匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,进行匹配,得到所述匹配范围内每一第一特征点对应的第七集合;其中,所述第七集合包括K2个第二匹配对和每一所述第二匹配对的距离,每一所述第二匹配对包括所述第一特征点和相匹配的第二特征点,L为大于0且小于或等于所述第二集合的匹配对总数的整数,K2为大于1的整数;
确定每一所述第七集合中第j小距离与第三系数之间的第三乘积,其中,所述第j小距离大于所在的第七集合中的最小距离;
从每一所述第七集合中筛选出小于所述第三乘积的最小距离所对应的匹配对,以得到第八集合;
将所述第二集合和所述第八集合,合成为第三集合;
输出所述第三集合中的每一匹配对。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一图像上特征值满足第一特征值条件的像素点,确定为候选特征点;
构建所述第一图像的M叉树;其中,M为大于1的整数;
将每一所述候选特征点逐层分配至所述M叉树的节点中;
将所述M叉树中每一节点中特征值满足第二特征值条件的候选特征点,确定为所述第一特征点。
3.根据权利要求2所述的方法,其特征在于,所述将每一所述候选特征点逐层分配至所述M叉树的节点中,包括:
将每一所述候选特征点,分配至所述M叉树的第一层节点中;
继续将每一所述第一层节点中的候选特征点,分配至所述M叉树的下一层节点中,直至已分配的节点数大于所述候选特征点的总数,或者当前层的每一节点中包括特定数目的候选特征点时,结束分配。
4.根据权利要求1所述的方法,其特征在于,所述将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合,包括:
将每一所述第一特征点分别与所述第二图像上的第二特征点进行匹配,得到每一所述第一特征点对应的第四集合,所述第四集合包括K1个第一匹配对和每一所述第一匹配对的距离,每一所述第一匹配对包括所述第一特征点和相匹配的第二特征点,K1为大于1的整数;
从每一所述第四集合中筛选出距离满足第一距离条件的匹配对,以得到所述第一集合。
5.根据权利要求4所述的方法,其特征在于,所述从每一所述第四集合中筛选出距离满足第一距离条件的匹配对,以得到所述第一集合,包括:
确定所述第四集合中每一大于最小距离的距离分别与第一系数的第一乘积;
从所述第四集合中筛选出小于所述最小距离的第一乘积所对应的匹配对,以得到第五集合;
将每一所述第四集合对应的第五集合和每一所述第四集合中最小距离对应的匹配对,合成所述第一集合。
6.根据权利要求5所述的方法,其特征在于,所述从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合,包括:
从所述第一集合中筛选出距离满足第二距离条件的匹配对,以得到第六集合;
根据所述第六集合中匹配对的像素坐标,确定所述第一图像和所述第二图像的相机位姿之间的第一相对几何关系;
将所述第六集合中满足所述第一相对几何关系的匹配对,确定为所述匹配正确的匹配对,以得到所述第二集合。
7.根据权利要求6所述的方法,其特征在于,所述从所述第一集合中筛选出距离满足第二距离条件的匹配对,以得到第六集合,包括:
获取所述第一集合中每一所述最小距离所在的第四集合;
确定每一所述第四集合中第j小距离与第二系数之间的第二乘积,其中,所述第j小距离大于所在的第四集合中的最小距离;
从每一所述第四集合中,筛选出小于所述第二乘积的最小距离所对应的匹配对,以得到所述第六集合。
8.根据权利要求1所述的方法,其特征在于,所述以所述第二集合中第L个匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,进行匹配,得到所述匹配范围内每一第一特征点对应的第七集合,包括:
对所述第一图像和所述第二图像进行网格划分;
确定所述第L个匹配对中第一特征点在所述第一图像中的第一网格区域;
确定所述第L个匹配对中第二特征点在所述第二图像中的第二网格区域;
确定所述第二网格区域所在的搜索区域;
将所述第一网格区域中的每一第一特征点,分别与所述搜索区域中的第二特征点进行匹配,得到对应第一特征点的第七集合。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第三集合中的匹配对的像素坐标,确定所述第一图像与所述第二图像的相机位姿之间的多个第二相对几何关系;
从所述多个第二相对几何关系中,筛选出满足特定条件的候选相对几何关系;
确定所述第一集合中满足每一所述候选相对几何关系的匹配对的第一数目;
将最大第一数目对应的候选相对几何关系,确定为目标相对几何关系;
输出所述第一集合中满足所述目标相对几何关系的匹配对。
10.根据权利要求9所述的方法,其特征在于,所述从所述多个第二相对几何关系中,筛选出满足特定条件的候选相对几何关系,包括:
确定所述第三集合中分别满足每一所述第二相对几何关系的匹配对的第二数目;
确定每一所述第二数目与所述第三集合的匹配对总数之间的比例;
将大于第一阈值的所述比例对应的第二相对几何关系,确定为所述候选相对几何关系。
11.一种图像特征匹配装置,其特征在于,所述装置包括:
匹配模块,用于将第一图像上的第一特征点与第二图像上的第二特征点进行特征匹配,得到包括多个特征点匹配对的第一集合;
筛选模块,用于从所述第一集合中筛选出匹配正确的匹配对,以得到第二集合;
所述匹配模块,还用于以所述第二集合中第L个匹配对的特征点分别在所述第一图像和所述第二图像上的区域作为匹配范围,进行匹配,得到所述匹配范围内每一第一特征点对应的第七集合;其中,所述第七集合包括K2个第二匹配对和每一所述第二匹配对的距离,每一所述第二匹配对包括所述第一特征点和相匹配的第二特征点,L为大于0且小于或等于所述第二集合的匹配对总数的整数,K2为大于1的整数;确定每一所述第七集合中第j小距离与第三系数之间的第三乘积,其中,所述第j小距离大于所在的第七集合中的最小距离;从每一所述第七集合中筛选出小于所述第三乘积的最小距离所对应的匹配对,以得到第八集合;将所述第二集合和所述第八集合,合成为第三集合;
输出模块,用于输出所述第三集合中的每一匹配对。
12.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至10任一项所述图像特征匹配方法中的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10任一项所述图像特征匹配方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010095810.5A CN111291768B (zh) | 2020-02-17 | 2020-02-17 | 图像特征匹配方法及装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010095810.5A CN111291768B (zh) | 2020-02-17 | 2020-02-17 | 图像特征匹配方法及装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111291768A CN111291768A (zh) | 2020-06-16 |
CN111291768B true CN111291768B (zh) | 2023-05-30 |
Family
ID=71021427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010095810.5A Active CN111291768B (zh) | 2020-02-17 | 2020-02-17 | 图像特征匹配方法及装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111291768B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111829522B (zh) * | 2020-07-02 | 2022-07-12 | 浙江大华技术股份有限公司 | 即时定位与地图构建方法、计算机设备以及装置 |
CN112257666B (zh) * | 2020-11-12 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 目标图像内容的聚合方法、装置、设备及可读存储介质 |
CN112766264B (zh) * | 2021-01-25 | 2024-06-07 | 广州互联网法院 | 图片比对方法及电子设备、计算机可读存储介质 |
CN112995467A (zh) * | 2021-02-05 | 2021-06-18 | 深圳传音控股股份有限公司 | 图像处理方法、移动终端及存储介质 |
CN113011316B (zh) * | 2021-03-16 | 2023-05-30 | 北京百度网讯科技有限公司 | 一种镜头状态的检测方法、装置、电子设备和介质 |
CN113240602A (zh) * | 2021-05-17 | 2021-08-10 | Oppo广东移动通信有限公司 | 图像去雾方法及装置、计算机可读介质和电子设备 |
CN113706382A (zh) * | 2021-08-27 | 2021-11-26 | 中电科星河北斗技术(西安)有限公司 | 基于四叉树均匀化法的图像拼接方法、装置及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778510A (zh) * | 2016-11-25 | 2017-05-31 | 江西师范大学 | 一种超高分辨率遥感图像中高层建筑特征点匹配方法 |
CN108550166A (zh) * | 2018-03-26 | 2018-09-18 | 北京航空航天大学 | 一种空间目标图像匹配方法 |
CN108805799A (zh) * | 2018-04-20 | 2018-11-13 | 平安科技(深圳)有限公司 | 全景图像合成装置、方法及计算机可读存储介质 |
CN109146935A (zh) * | 2018-07-13 | 2019-01-04 | 中国科学院深圳先进技术研究院 | 一种点云配准方法、装置、电子设备及可读存储介质 |
CN109960452A (zh) * | 2017-12-26 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 图像处理方法及其装置、存储介质 |
CN110544202A (zh) * | 2019-05-13 | 2019-12-06 | 燕山大学 | 一种基于模板匹配与特征聚类的视差图像拼接方法及系统 |
-
2020
- 2020-02-17 CN CN202010095810.5A patent/CN111291768B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778510A (zh) * | 2016-11-25 | 2017-05-31 | 江西师范大学 | 一种超高分辨率遥感图像中高层建筑特征点匹配方法 |
CN109960452A (zh) * | 2017-12-26 | 2019-07-02 | 腾讯科技(深圳)有限公司 | 图像处理方法及其装置、存储介质 |
CN108550166A (zh) * | 2018-03-26 | 2018-09-18 | 北京航空航天大学 | 一种空间目标图像匹配方法 |
CN108805799A (zh) * | 2018-04-20 | 2018-11-13 | 平安科技(深圳)有限公司 | 全景图像合成装置、方法及计算机可读存储介质 |
CN109146935A (zh) * | 2018-07-13 | 2019-01-04 | 中国科学院深圳先进技术研究院 | 一种点云配准方法、装置、电子设备及可读存储介质 |
CN110544202A (zh) * | 2019-05-13 | 2019-12-06 | 燕山大学 | 一种基于模板匹配与特征聚类的视差图像拼接方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111291768A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291768B (zh) | 图像特征匹配方法及装置、设备、存储介质 | |
CN111627065B (zh) | 一种视觉定位方法及装置、存储介质 | |
CN110246163B (zh) | 图像处理方法及其装置、设备、计算机存储介质 | |
CN109658445A (zh) | 网络训练方法、增量建图方法、定位方法、装置及设备 | |
CN110276768B (zh) | 图像分割方法、图像分割装置、图像分割设备及介质 | |
CN112328715B (zh) | 视觉定位方法及相关模型的训练方法及相关装置、设备 | |
CN111524168A (zh) | 点云数据的配准方法、系统、装置及计算机存储介质 | |
CN113129311B (zh) | 一种标签优化点云实例分割方法 | |
CN108961385B (zh) | 一种slam构图方法及装置 | |
CN111161138B (zh) | 用于二维全景图像的目标检测方法、装置、设备、介质 | |
CN114202632A (zh) | 网格线性结构恢复方法、装置、电子设备及存储介质 | |
WO2021142843A1 (zh) | 图像扫描方法及装置、设备、存储介质 | |
CN111291611A (zh) | 一种基于贝叶斯查询扩展的行人重识别方法及装置 | |
CN117132737B (zh) | 一种三维建筑模型构建方法、系统及设备 | |
CN115457202B (zh) | 一种三维模型更新的方法、装置及存储介质 | |
CN111091117B (zh) | 用于二维全景图像的目标检测方法、装置、设备、介质 | |
CN117726747A (zh) | 补全弱纹理场景的三维重建方法、装置、存储介质和设备 | |
CN112508996A (zh) | 无锚点孪生网络角点生成的目标跟踪方法及装置 | |
CN114037921B (zh) | 基于无人机智能识别的弧垂建模方法及系统 | |
CN110060343B (zh) | 地图构建方法及系统、服务器、计算机可读介质 | |
CN111508063A (zh) | 一种基于图像的三维重建方法及系统 | |
CN111768434B (zh) | 视差图获取方法、装置、电子设备和存储介质 | |
CN111178300B (zh) | 目标检测方法、装置、设备、介质 | |
CN113361545B (zh) | 图像特征提取方法、装置、电子设备和存储介质 | |
US20240119622A1 (en) | Object recognition method of three-dimensional space and computing apparatus |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |