如若侵权,请联系删除!
Abstract
尽管对基于Patch(块)的描述符进行了大量的研究,SIFT描述子策略仍然是寻找图像对应关系的最佳标准,最近的描述符主要集中在提高速度而不是精度上。在本文中我们提出了描述符网络(d-nets),一种有效的计算方法,显著提高并且超越Patch-Based模式的图像匹配精度。d-nets构建一个网络中的节点对应于传统的稀疏或稠密采样点,图像内容描述是从网络节点选择边进行采样获取。我们所提出的表示不仅对裁剪、平移、缩放、反射和旋转都是不变的,而且对严重的透视和非线性失真也有明显的鲁棒性。我们提出的算法的几个变种,其中包括一个自适应调整图像复杂度和高效并行的变体,采用固定网格。标准数据集上全面的比较对SIFT和ORB算法表明d-nets在精度与召回率方面优于现有算法同时保持计算效率。
Introduction
图像匹配是计算机视觉任务的基本组成部分,包括多视点三维重建、跟踪、目标识别和基于内容的图像检索。在过去的十年中,通过采用基于块的描述方法的关键点,用SIFT算法为例[9],已成为标准的方法来解决计算机视觉相关的问题。使用各种检测器[11]和描述符[10]的大量定量实验表明,在精度和召回率方面始终优于SIFT是非常困难的。因此,在更严格的计算约束下,描述符的研究重点已经转移到匹配SIFT的速度上。这种趋势的例子包括SURF[2],FERNS[14]和最近的BRIEF[3],ORB[15]和BRISK[8]。值得注意的是,将图像金字塔上的FAST[17]角点检测器与旋转不变版本的BRIEF相结合的ORB在逼近原始算法的精度的同时,在SIFT上实现了100倍的加速。
在我们的工作中,我们探索用于图像匹配的基于分块的描述符的替代方案,并且旨在通过与SIFT-Based算法进行直接比较来显示在精度和召回率方面的显着改进。我们提倡在连接节点的网络边缘提取低层信息(图1),而不是使用一组断开连接的Patch计算描述符来表示图像。这使得我们的特征不仅可以捕获图像渐变和纹理信息等局部属性,还可以将这些测量放置在由成对节点连接定义的相对空间上下文中。我们的称为Descriptor-Nets(D-Nets)的方法在两个基本方面与现有工作不同。首先,我们完全放弃块来支持“条带”(连接节点的路径)。其次,我们以拓扑而不是几何的方式表达空间信息,这使得我们的方法对非线性图像失真具有高度的鲁棒性。我们总结了我们的论文的贡献如下:
1一种新颖的图像表示方法,在标准数据集上的精确度和召回率均优于基于Patch-Based块的描述符,如SIFT和ORB。
2 一种用于图像匹配的方法,其动态地适应每种情况的难度,使得可以用比计算困难的情况更少的计算量来解决更简单的匹配任务。
3 与现有方法[18]不同,无需特征点(密集特征)表示保持对反射,缩放和旋转的不变性。 同样值得注意的是,我们的密集网络可以预先计算,并且特别适合快速和大规模并行的实施。
![](https://i-blog.csdnimg.cn/blog_migrate/0eae4bf39f0d43b77541ac9d89ec4237.jpeg)
Descriptors-Nets(D-Nets)
我们给出了描述符网络方法的三种变体:第一,网络是使用兴趣点算子(全连接的D-Nets)生成的节点上的完全连接图。 第二,我们表明并不总是需要完全连接,导致迭代版本(迭代D-Nets)只在必要时动态构建链接。 第三,我们表明不需要关键点,因此节点可以简单地在与图像内容无关的规则网格(密集采样的D-Nets)上进行密集采样。 出于篇幅考虑,我们仅详细介绍本节的第一个变体,并总结其他两个变体以及各自的实验。
Fully Connected(Clique)Descriptor-Nets:
我们首先介绍最直接的D-Nets变体,其中节点与相关点相关并且链接连接每对节点。 图1给出了一个简单的例子(其中只显示了节点和链接的说明性子集)。
考虑到评估两幅图像之间的匹配,定义变量图像 I I 和,D-Nets网络生成的有向图分别为 G=(ν,ε) G = ( ν , ε ) 与 Gl=(νl,εl) G l = ( ν l , ε l ) 。 ν=(a1,a2,…,an) ν = ( a 1 , a 2 , … , a n ) 与 νl=(b1,b2,…,bn) ν l = ( b 1 , b 2 , … , b n ) 分别表示图像的节点, ε,εl ε , ε l 表示图的边。为了避免混淆图像的边缘,我们将这些边缘称为连接。在最简单D-Nets变体中,节点为完全连接。其中,{ ε=(ai,aj)│i≠j ε = ( a i , a j ) │ i ≠ j }和{ εl=(bi,bj)│i≠j ε l = ( b i , b j ) │ i ≠ j }。
我们将这种连接下的图像区域(由原始像素组成)称为“条带”。 条的最简单的公式是图像中两个兴趣点之间的直线段。 在D-Nets方法中,图像匹配是通过在图像间匹配连接(而不是节点)来建立的。 两个连接被定义为正确匹配,当且仅当它们的开始和结束节点对应于两个图像中的相同物理点时。在图1中,连接 (a2,a4) ( a 2 , a 4 ) 和 (b1,b3) ( b 1 , b 3 ) 是正确匹配点因为节点 a2↔b1 a 2 ↔ b 1 与 a4↔b3 a 4 ↔ b 3 匹配。
传统的基于块的方法将独立推断相应关键点之间的匹配,且可选择对特征点集进行几何验证。在D-Nets中,我们使用相应条带中的图像内容来确定匹配,并使用哈希和投票算法直接在图像级别聚合此信息,将在下文介绍。
Image Pyramids
我们使用图像金字塔来构建图像内容的多尺度表示,这不仅降低了较长条带的计算复杂度,而且使它们具有更宽的条带。 金字塔由 L L 层组成,其中第一级简单地是用高斯内核用平滑的原始图像。后续层是第一层的尺度缩放,缩放因子为 f=(1L)1L−1 f = ( 1 L ) 1 L − 1 。 因此,金字塔的最终层是原始图像大小的 1L 1 L 。
我们还根据原始图像中的长度l为每个条带定义一个层级索引: i(l)=<logf(8sl)> i ( l ) =< l o g f ( 8 s l ) > ,其中 <.> < . > <script type="math/tex" id="MathJax-Element-26"><.></script>将其参数离散化为索引 i(l)∈[0,…,L−1] i ( l ) ∈ [ 0 , … , L − 1 ] 的有效范围, s s 为下一级别的参数。因此,长条形映射到粗尺度的金字塔层次,因此也相对于短条的对应物更宽。
Describing image content in a strip:
我们根据图像中的条带为每个定义一个离散描述符(称为“d-token”)。条带水平索引处的像素强度用于生成d-token (d∈D) ( d ∈ D ) .
我们已经进行了各种描述符的实验,包括条带中的像素之间的二进制比较(类似于Ferns和ORB中的那些),使用二进制频率比较对带状像素的一维傅里叶变换和基于小波的方法进行量化。 考虑到空间限制,我们只详细描述我们最好的描述符,这个描述符(像SIFT一样)是手工设计的。 值得注意的是,D-Nets方法不需要这个特定的描述符,而且使用更直接的描述符几乎同样好。
考虑到节点的有向连接 ai↔aj a i ↔ a j ,其长度由原始图像中计算 l=∥ai−aj∥2 l = ‖ a i − a j ‖ 2 得到。如上图所示,我们确定合适的金字塔层级 i(l) i ( l ) ,其关联的尺度因子由 fi(l) f i ( l ) 给出。在金字塔层级上,对应于该连接条带具有长度计算为 l¯=lfi(l) l ¯ = l f i ( l ) 同时尺度缩放点范围在 ai¯ a i ¯ 与 aj¯ a j ¯ 之间。d-token构造过程如下:
1 在这个金字塔层上从
ai¯+0.1∗(aj¯−ai¯)
a
i
¯
+
0.1
∗
(
a
j
¯
−
a
i
¯
)
到
ai¯+0.8(aj¯−ai¯)
a
i
¯
+
0.8
(
a
j
¯
−
a
i
¯
)
沿着条带的10%至80%部分从
l¯
l
¯
等间隔点取样像素的强度。简而言之,这种不寻常的操作背后的原因是我们试图使表示对开始节点和结束节点的位置较不敏感。 我们的实验表明,省略条带的尾部是有益的,特别是在特征点定位有噪音时,并且反对称也可取。
2 将这个值序列分组为一组较小的s均匀块,对每个块中的像素强度进行平均以减少噪声并生成s维向量。
3 使用缩放和平移等来归一化向量, minisi=0.1 m i n i s i = 0.1 与 maxisi=1 m a x i s i = 1 。在特殊情况下 ∀(i,j)(si=sj) ∀ ( i , j ) ( s i = s j ) ,我们设定 ∀(i,j)si=0.5 ∀ ( i , j ) s i = 0.5 。
4 使用b位bits一致地离散归一化s向量中的每个值。
以上步骤中的三个微妙key值得进一步讨论:
1 与基于块的方法不同,d-token描述符从距离兴趣点近的和远离的图像区域中采样强度,并且以与尺度无关且对光照能够鲁棒的编码该信息;
2 对于同一对节点,两个d-token之间的不对称是有意为之的,并使每个都能够捕获图像的不同部分(有一些重叠);
3 d-token能够非常快速地进行比较,并且可以高效地进行哈希处理。
总结一下,每个有向连接都由一个d-token表示,该标记(在本例中)是一个简单的
s∗b
s
∗
b
位串,可以表示为一个整数。
虽然提出的d-token描述符没有局限于场景中的一个小块,但它拥有所有理想的不变性。平移不变是因为条被锚定到兴趣点而不是绝对坐标。自动确保旋转不变性,因为描述符通过一维条边而不是二维Patch块提取信息。这与基于局部块的方案相比是一个微妙但重要的优势,其中块需要明确的反转,以便将主方向与归一化方向(同时不正确的反转有弊)对齐。此外,与基于块的描述符相反,由于d-token在一维像素条上运行,因此d-token自动保持反转不变。尺寸和仿射不变性得到保证,因为每个连接都使用s段表示,并且通过对段的平均强度使用归一化的b比特位量化来对光照具有鲁棒性。尽管该方法本质上并不是透射不变,但是我们没有明确强调连接之间的几何一致性,这使得对全局非线性扭曲具有很高的鲁棒性。事实上,正如我们的实验结果所见,D-Nets对于具有明显透视失真的图像对特别有效。
为了更好的解释前面的概念,我们继续讨论图1的尺度缩小的实例。为了保持节点数小情况,我们采用每个连接具有 s=3 s = 3 个分段的小d-token生成方案,每个量化为仅仅一个b=1比特位。这样给我们一个 2sb=8 2 s b = 8 可能的d-tokens词表,将其表示为 D=(A,B,C,…,H) D = ( A , B , C , … , H ) 。
图1中的每个连接都显示为带有来自该集合的d-token的注释;由于D-Nets连接是定向的且描述符是不对称的,我们显示两个d-token(每个定向连接一个)。下一节将详细介绍D-Nets如何使用这些d-tokens进行有效的图像匹配。
Efficient Matching using Hashing and Voting:
继续图1中的示例,我们现在表明如何使用d-token描述子(如上描述)实现高效的图像匹配。给定图像I中的节点 ν=(a1,a2,…,an) ν = ( a 1 , a 2 , … , a n ) 和 Il I l 中的节点 νl=(b1,b2,…,bn) ν l = ( b 1 , b 2 , … , b n ) 试图识别两幅图像节点对应关系。这是通过匹配图像中的节点之间定向连接完成的,每个节点有离散d-token进行描述,使用票决算法结合特殊的哈希表。
本文的哈希表具有 |D| | D | 个区段,对于每个不同的d-token即 (d∈D) ( d ∈ D ) 能够对表进行离散索引。通常来说,该哈希表将会给定D-Nets(基于图像内容信息)连接散列到适当的bin。但是,与标准哈希表不同之处在于每一个bin都包含两个单独的列表,每个列表都要进行匹配。这些列表只是枚举每个图像散列到给定的bin连接(使用d-token=d的连接)。我们限制每个列表的长度为 nL=20 n L = 20 丢弃散列到完整列表的任何连接。这种设计有两种好处:1)它节约了表的内存即使图像包含数百万连接; 2)类似于信息检索中使用停用词列表,它限制经常重复但没有信息内容的影响。继续讨论这个示例,图2展示在插入图1所有的连接后,我们的哈希表存储(有8个bins)。
![](https://i-blog.csdnimg.cn/blog_migrate/322e501c492ac4929cc086d6d6c747db.png)
票决算法使用这个哈希表将票投入二维一致性假设对应的网格 G[i,j]∈R G [ i , j ] ∈ R 中,每个单元 G[i,j] G [ i , j ] 累计支持图像I中的 ai a i 到图像 Il I l 中的 bj b j 投票数。也就是表示 G G 具有个单元。
在示例中,我们迭代考虑图2中每个bin的d-token一次一个, d=(A,B,C,…,H) d = ( A , B , C , … , H ) 。在第一次迭代中 (d=A) ( d = A ) ,容器包含来自图像 I I 的3个连接和图像的4个连接。来自第一个列表的任意连接可以对应于第二个列表的任意连接,从而形成以 BA B A 对应关系的12个一致性假设集合:
由于我们的连接是定向的,因此每个通过连接的对应假设意味着节点之间的对应关系。例如, BA B A 第一个元素是 a3↔b3 a 3 ↔ b 3 和 a2↔b1 a 2 ↔ b 1 ,我们将此表示为支持票 G[3,3] G [ 3 , 3 ] 和 G[2,1] G [ 2 , 1 ] 。每个投票的强度与给定的bin中的假设数成反比 |BA|=12 | B A | = 12 。归一化操作忽略了流行条带影响并且权重更小但是能够更唯一的匹配。这也与我们的设计选择一致,以限制散列表列表 nL n L 的大小。对涉及大型列表的假设的评价很低,因此限制这些列表可以在不明显影响匹配准确性的情况下进行高效计算。程序在算法1中形式化:
![](https://i-blog.csdnimg.cn/blog_migrate/8c4dd2df53f0e08ca502723c698e8853.png)
实际情况下, |D| | D | 可能非常大,哈希表中的许多bins至少包含一个空的列表。由于这些目标不包含有效的假设,因此在不投任何选票的情况下跳过它们。如果两幅图像非常不同,则会发生同样的情况,因此两幅图像中都会出现少量d-tokens。因此,算法1的运行时间高度依赖于匹配任务的难度。不可能匹配的图像对(绝大多数)会很快被消除,计算时间则主要集中在较难的情况。
Quality measure for ranking matches:
为了根据精度召回率来评估D-Nets,我们必须将每个匹配的质量度量关联起来对匹配进行排序。将对应网格中的第 i∗ i ∗ 行中的值表示为 g(j)=G[i∗,j] g ( j ) = G [ i ∗ , j ] ,我们选择 j∗≔argj(g∗≔maxg(j)) j ∗ ≔ a r g j ( g ∗ ≔ m a x g ( j ) ) 作为 i∗ i ∗ 的最佳匹配。我们定义一个质量度量 q q 为选择一致性对应关系作为它的熵归一化投票 q≔g∗−∑∀jpjlog2pj q ≔ g ∗ − ∑ ∀ j p j l o g 2 p j ,其中 pj≔g(j)∑∀kg(k) p j ≔ g ( j ) ∑ ∀ k g ( k ) 。
Related Work
利用成对关系的想法本身并不奇。 例如,D-Nets中固有的成对表示类似于用于对象识别的成对匹配方法[7]。 然而,这种相似性是浅显的:不同于成对匹配,其中表示侧重于节点之间的几何关系,D-Nets中的成对关系仅指定从其计算描述符的像素(带)区域。 D-Nets避免编码成对的几何关系,因为这些对于图像转换是变化的。
D-Nets也不同于成对表示,如紧凑相关编码[12],它主张量化联合特征空间中的关键点对或成对形状表示[4,20],这些表示形式从图像中的点对。
一般来说,使用形状结构进行匹配与我们的工作有关,因为这些结构超出了匹配本地特征的范围。 例如,对于宽基线立体或使用更复杂的形状特征(kadjacent轮廓[5])使用线分割[1]。
我们密集的抽样实验表明与DAISY [16]相似。 但是,除了DAISY的不同应用领域(计算宽基线立体声的密集深度图),DAISY需要知道相机的相对姿态,而D-Nets则不需要。
乍看之下,我们的投票和哈希策略类似于几何哈希[19],它也是从一对点开始的。 然而,与几何哈希相比,D-Nets投票空间始终是节点索引的二维空间。 此外,D-Nets不需要关于可能的几何变换空间的知识。
Conclusions
本文提出了一种基于互联节点网络的新型图像表示和匹配方案D-Nets。图像内容是沿着连接节点的条带而不是以节点为中心的贴片提取的,并且以描述性tokens的形式量化。图像之间的节点到节点之间的对应关系由组合的哈希表和投票方案确定,该方案利用空间和拓扑关系。使用标准数据集进行的大量实验表明,D-Nets比现有的基于Patch-Based的方法(如SIFT和ORB)具有更高的精度和召回率。我们还描述了D-Nets的两个扩展,它们提供了额外的计算优势。第一个动态适应匹配任务的复杂性。第二点完全避免了兴趣点,并表明使用固定的,密集的节点采样可以实现相当的精确度; 我们计划在未来的工作中探索这个想法的大规模并行实现。 由于密集变体中的连接是固定的,因此所有图像访问都可以预先计算并存储在查找表中,以确定它们贡献哪些线,从而使D-Nets对基于GPU和基于硬件的高效应用具有吸引力。
我们认为D-Nets是基于网络的图像表示的一种初步探索,它超越了基于块的方法。 本文主要关注连接节点的直线条,但我们也观察到了使用图像边缘条带的有希望的结果。 我们的投票程序的稳健性与每个d-token的独特性相结合意味着我们的基于网络的表示对裁剪和遮挡具有很强的适应性,因为只有一小部分可用的tokens可以实现匹配。
翻译如有错误,还请见谅指正!!!