英文论文和翻译链接:https://pan.baidu.com/s/1HKHH5bFopQBX3EslVsICPg
提取码:yydsFREAK: Fast Retina Keypoint
FREAK:快速视网膜关键点
摘要
大量的视觉应用程序依赖于匹配图像中的关键点。过去十年的特点是朝着更快、更鲁棒的关键点和关联算法的军备竞赛:尺度不变换特征(SIFT)[17],加速鲁棒特征(SURF)[4],以及最近的二进制鲁棒不变可伸缩关键点(BRISK)[16]等等。如今,视觉算法在智能手机和低内存和计算复杂度的嵌入式设备上的部署甚至提高了权重:目标是使描述符更快地计算,更紧凑,同时保持对缩放、旋转和噪声的鲁棒性。
为了最好地解决当前的需求,我们提出了一种新的关键点描述符,灵感来自人类视觉系统,更准确地说是视网膜,称为Fast retina keypoint (FREAK)。通过在视网膜采样模式上有效地比较图像强度来计算二进制字符串的级联。我们的实验表明,FREAKs通常在较低的内存负载下计算更快,而且比SIFT、SURF或BRISK更鲁棒。因此,它们是现有关键点的有竞争力的替代品,特别是对于嵌入式应用程序。
1 介绍
视觉对应、对象匹配和许多其他视觉应用都依赖于用稀疏数量的关键点来表示图像。一个真正的挑战是有效地描述关键点,即图像补丁,具有稳定、紧凑和鲁棒的表示,不受缩放、旋转、仿射变换和噪声的影响。过去的几十年见证了关键人物有效地描述关键点并匹配它们。
最流行的描述符是Lowe[17]提出的描述尺度不变特征变换(Scale Invariant Feature Transform, SIFT)关键点的定向梯度直方图。过去几年的大部分工作都是在计算复杂度较低的情况下实现与SIFT[14]一样的性能。Bay et al.[4]的加速鲁棒特性(SURF)就是一个很好的例子。它具有相似的匹配率和更快的性能,通过描述关键点与少数哈尔类滤波器的响应。它具有相似的匹配率和更快的性能,通过描述关键点与少数哈尔类滤波器的响应。一般来说,Alahi等人在[2]中表明,类似于SIFT和SURF的描述符网格比单个描述符更好地匹配图像区域。通常,协方差矩阵的网格[30]可以获得较高的检测率,但对于实时应用来说,计算成本仍然太高。
每部手机都配备了摄像头,再加上移动设备的计算能力不断增强,这催生了一种新的趋势:视觉算法需要在计算能力和内存容量较低的移动设备上运行。智能手机获取的图像可以用于从运动[27]、图像检索[22]或物体识别[15]执行结构。因此,需要新的算法,其中定点操作和低内存负载是首选。二进制鲁棒独立基本特征(BRIEF)[5]、定向快速旋转BRIEF (ORB)[26]和二进制鲁棒不变可伸缩关键点[16](BRISK)就是很好的例子。在下一节中,我们将简要介绍这些描述符。他们令人振奋的贡献是,通过简单地比较图像强度对获得的二进制字符串可以有效地描述一个关键点,即图像补丁。然而,仍然存在几个问题:如何有效地在图像补丁中选择理想的图像对?如何匹配它们?有趣的是,这种趋势与用简单规则描述复杂观测的自然模型是一致的。我们建议通过设计一个受人类视觉系统启发的描述符来解决这些未知问题,更准确地说,是视网膜。我们提出了快速视网膜关键点(FREAK)作为一个快速、紧凑和鲁棒的关键点描述符。通过有效地比较视网膜采样模式上的图像强度对来计算二进制字符串的级联。有趣的是,选择对来降低描述符的维数会产生一种高度结构化的模式,该模式模仿人眼的扫视搜索。
图1:FREAK描述符的示意图。一系列的高斯差分(DoG)在视网膜模式上被1比特量化。
2 相关工作
关键点描述符通常与它们的检测相结合。Tuytelaar et al.在[29]和Gauglitz et al.在[11]中进行了详细的调查。我们简要介绍了最先进的检测器,主要集中在描述符。
2.1. 关键点检测器
第一个解决方案是将角落视为关键点。[12]中的Harris和Stephen提出了Harris角点检测器。Mikolajczyk和Schmid使它在[20]中是尺度不变的。另一种解决方案是使用某些过滤器响应的局部极值作为潜在的关键点。[17]中的Lowe对图像进行了差分高斯滤波。Bay等人在[4]中使用了快速Hessian探测器。Agrawal等人在[1]中提出了简化的中心环绕滤波器来近似拉普拉斯。[7]中的Ebrahimi和Mayol-Cuevas通过跳过对前一个像素的响应非常低的滤波器响应的计算来加速这一过程。Rostenand和Drummond在[25]中提出了角点检测的FAST准则,Mair等人在[18]中用他们的AGAST检测器对其进行了改进。后者是一种快速定位关键点的算法。在[16]中,Leutenegger等人在BRISK中使用的检测器是一个多尺度的AGAST。他们使用FAST分数作为显著性的衡量标准,在尺度空间中寻找最大值。我们使用相同的检测器来评估FREAK。
2.2. SIFT-like描述符
一旦关键点被定位,我们感兴趣的是用一个鲁棒的特征向量描述图像补丁。最著名的描述符是SIFT[17]。从有向梯度直方图网格中得到128维向量。它对光照变化的高描述能力和鲁棒性已将其列为过去十年的参考关键点描述符。在过去的几年中出现了一类类似于SIFT的描述符。PCA-SIFT[14]使用主成分分析将描述向量从128维减少到36维。匹配时间减少了,但构建描述符的时间增加了,导致速度略有提高,但失去了独特性。GLOH描述符[21]是SIFT描述符的扩展,它更独特,但计算成本也更高。在[31]中,通过模拟描述补丁的多重变形,提高了对视点变化的鲁棒性。性能和模拟补丁数量之间的良好折衷导致算法比SIFT慢两倍。Ambai和Yoshida在[3]中提出了一种Compact and Realtime Descriptors (CARD),用于从SIFT的网格分盒或GLOH的对数极分盒中提取有向梯度的直方图。直方图的计算通过使用查找表来简化。
目前广泛使用的关键点之一显然是SURF[4]。它具有与SIFT相似的匹配性能,但速度要快得多。它还依赖于局部梯度直方图。用得到64维或128维向量的积分图像有效地计算了Haar -小波响应。然而,对于图像检索或三维重建等大规模应用来说,特征向量的维数仍然过高。通常,主成分分析(PCA)或哈希函数用于降低描述符[24]的维数。这些步骤计算时间较长,影响实时性能。
2.3. 二进制描述符
Calonder等人在[5]中表明,可以通过直接构建一个简短的二进制描述符来简化降维步骤,其中每个比特都是独立的,称为BRIEF。二进制描述符的一个明显优势是,汉明距离(逐位异或后面跟着位计数)可以取代通常的欧几里得距离。通过对512对像素点进行高斯平滑以降低噪声敏感性,比较其强度得到描述子矢量。像素的位置是根据补丁中心周围的高斯分布随机选择的。所获得的描述符对缩放和旋转变化不是不变的,除非与提供它的检测器耦合。Calonder等人还在他们的工作中强调,通常方向检测会降低识别率,因此在目标应用程序不需要时应该避免使用。Rublee等人在[26]中提出了定向快速和旋转简要(ORB)描述符。它们的二进制描述符对旋转是不变的,对噪声是稳健的。类似地,在[16]中,Leutenegger等人提出了一个用于缩放和旋转的二进制描述符不变量,称为BRISK。要构建描述符比特流,需要使用特定采样模式中的有限数量的点。每个点都有很多对。这些配对被分为短距离和长距离子集。长距离子集用于估计关键点的方向,而短距离子集用于旋转采样模式后构建二进制描述子。
在第5节中,我们将我们提出的FREAK描述符与上面介绍的描述符进行比较。但首先,我们提出了一个可能的直觉,为什么这些流行的二进制描述符可以基于人类视网膜的研究工作。
3 人的视网膜
在本节中,我们将以读者可以理解和复现的细节级别描述BRISK的关键阶段,即特征检测、描述符组成以及关键点匹配。重要的是要注意,该方法的模块化允许将BRISK检测器与任何其他关键点描述符结合使用,反之亦然,可以针对所需的性能和手头的任务进行优化。
3.1.动机
在现有的文献中,我们已经看到图像表示的最新进展表明,几对像素的简单强度比较足以描述和匹配图像补丁[5,26,16]。然而,在理想的配对选择问题上,还存在一些悬而未决的问题。我们应该如何对它们进行取样和比较?如何对噪声进行鲁棒?我们应该平滑一个高斯核吗?在这项工作中,我们展示了如何通过选择受人类视网膜启发的解决方案来获得性能,同时强制降低计算复杂度。
神经科学在理解视觉系统以及图像如何传输到大脑方面已经取得了很大进展。人们认为,人类视网膜利用不同大小的高斯差分(DoG)从图像中提取细节,并将这些差异与动作电位进行编码。视网膜的拓扑结构起着重要的作用。我们建议模仿相同的策略来设计我们的图像描述符。
3.2.类比:从视网膜感光器到像素
视网膜的拓扑结构和空间编码非常吸引人。首先,几个光感受器影响一个神经节细胞。光影响神经节细胞反应的区域是感受野。它的大小和树突场随着距离中央凹的径向距离而增大(图3)。神经节细胞的空间分布随着距离中央凹的距离呈指数级减小。它们被分为四个区域:中央凹、中央凹、副中央凹和中央凹周围。每个区域在检测和识别物体的过程中都扮演着有趣的角色,因为在中央凹处捕获了更高分辨率的图像,而在中央凹周围形成了低灵敏度的图像。我们可以将分辨率的降低解释为身体资源优化。现在让我们将这些见解转换为实际的关键点描述符。图2给出了所提出的类比。
图2:从人类视网膜到计算机视觉:通过像素区域上的简单二进制测试来模拟导致动作电位的生物途径。[图片上半部分来自R: Cook的《鸟类视觉认知》一书]。
4 .FREAK
4.1. 视网膜采样模式
许多采样网格可以比较像素强度对。BRIEF和ORB使用随机对。BRISK使用圆形模式,其中点在同心圆上等距,类似于DAISY[28]。我们建议使用视网膜采样网格,它也是圆形的,不同之处在于靠近中心的点密度更高。点的密度呈指数下降,如图3所示。
- 视网膜上神经节细胞密度[10] (b)视网膜区域[13]
图3:视网膜上神经节细胞分布示意图。密度集中在四个区域:(a)中央凹,(b)中央凹,(c)副中央凹,(d)中央凹周围。
我们在实验中观察到,改变高斯核的大小相对于对数极视网膜模式导致更好的性能。此外,重叠的接受域也提高了性能。一个可能的原因是,通过图4中显示的重叠,可以捕获更多的信息。我们增加冗余,带来更强的鉴别能力。让我们考虑在感受野Ii测量的强度A,B, C,其中:
如果字段没有重叠,则最后一次测试IA >IC没有添加任何判别信息。然而,如果字段重叠,则可以编码部分新信息。一般来说,增加冗余可以让我们使用较少接受的字段,这是压缩感知或字典学习中使用的一种已知策略[6]。根据Olshausen和Field在[23]中的研究,这种冗余也存在于视网膜的接受野中。
4.2. Coarse-to-fine由粗到精描述符
我们构造二进制描述符F,方法是用对应的高斯核对接受域对之间的差值进行阈值。换句话说,F是一个二进制字符串,由一个1位的差分高斯(DoG)序列组成:
其中Pa是一对接受域,N是描述符的期望大小,
与I(Par1)为对Pa第一感受野的平滑强度。
只有几十个接受字段,数千对可能导致一个大的描述符。然而,许多配对可能无法有效地描述图像。一种可能的策略是选择类似于BRISK的给定空间距离的配对。然而,所选的配对可以是高度相关的,而不是鉴别的。因此,我们运行一个类似于ORB[26]的算法,从训练数据中学习最佳对:
- 我们创建了一个由近5万个提取的关键点组成的矩阵D。每一行对应于一个关键点,它的大描述符由视网膜采样模式中所有可能的对组成,如图4所示。我们使用43个接受野,导致大约1000对。
- 我们计算每一列的均值。为了具有判别特征,需要高方差。均值为0.5导致二元分布的方差最高。
- 我们根据最大方差对列进行排序。
- 我们保留最佳列(均值为0.5),并迭代添加与所选列相关性较低的其余列。
图4:FREAK采样模式与视网膜神经节细胞分布及其对应的接受野相似。每个圆代表一个接受场,图像被其对应的高斯核平滑
引人注目的是,所选的配对有一个结构。高斯差(对)的粗到细顺序是自动优选的。图5显示了通过将它们分组为四个集群(每组128对)所选择的配对。我们实验观察到,前512对是最相关的,增加更多的对并不会提高性能。由于图案沿全局梯度的方向,因此捕获了对称方案。有趣的是,第一个簇主要涉及外围接受野,而最后一个簇涉及高度中心的接受野。这似乎让人联想到人眼的行为。我们首先使用中央凹周围接受野来估计感兴趣的物体的位置。然后,用更密集分布在中央凹区域的感受野进行验证。虽然所使用的特征选择算法是一种启发式的,但它似乎符合我们对人类视网膜模型的理解。我们的匹配步骤利用了FREAK描述符从粗到细的结构。请注意,在过去的几十年里,粗到细的策略经常被用于检测和匹配对象[9,2]。
图5:从粗到细分析的说明。第一组主要涉及中央凹周围接受野,最后一组涉及中央凹。
4.3. 眼跳搜索
人类看一个场景时不会固定不变。他们的眼睛以不连续的个体运动四处移动,称为扫视。视网膜中呈现的细胞拓扑结构是这种运动的原因之一。如前所述,中央凹通过其高密度的光感受器捕捉高分辨率的信息。因此,它在识别和匹配对象方面起着关键作用。中央凹周围区域捕获较少的详细信息,即低频观测。因此,它们被用来对我们感兴趣的物体的位置进行初步估计。
我们建议通过分几个步骤解析描述符来模拟扫视搜索。我们从表示粗信息的FREAK描述符的前16个字节开始搜索。如果距离小于阈值,则进一步与下一个字节进行比较,以分析更精细的信息。因此,将执行级联比较,从而进一步加速匹配步骤。超过90%的候选对象被FREAK描述符的前16个字节丢弃。注意,我们为第一个级联选择了16个字节以匹配硬件需求。比较1字节或16字节几乎等同于英特尔处理器上的单指令和多数据(SIMD)指令,因为操作是并行执行的。
我们在图6中演示了扫视搜索。出于可视化的目的,我们用一个与边界圆大小相同的FREAK描述符描述感兴趣的对象(图6 (a))。然后,我们在新的图像中搜索相同的对象。所有候选图像区域也用候选区域大小的单个描述符进行描述。第一个级联(前16个字节)丢弃了许多候选字节,并选择非常少的候选字节与剩余的字节进行比较。在图6 (e)中,最后一个级联已经正确地选择了我们感兴趣的对象的位置,尽管照明和视点发生了变化。
(a) FREAK描述的感兴趣的对象 (b)第1级联后最佳匹配 (c)带有第一级联的距离图(彩色喷射) (d)带有最后级联的距离图(彩色喷墨) (e)上次级联后匹配的对象
图6:级联方法的说明
4.4.方向
为了估计关键点的旋转,我们将估计的局部梯度与选定的类似于BRISK[16]的对相加。后者使用长对来计算全局方向,而我们主要选择相对于中心具有对称接受场的对(参见图7)。
图7:选择用于计算方向的对的说明
设G是用于计算局部梯度的所有对的集合:
其中M为G中的成对数,Pori为感受野中心空间坐标的二维向量。
我们选择了45对,而不是几百对的BRISK。此外,我们的视网膜模式在中央凹周围区域有更大的感受野,这使得方向估计的误差更大。因此,我们以更大的步骤离散方向空间,从而减少了5倍以上的内存负载(大约7 MB对40 MB)。
5 性能评估
在文献中对关键点的评价进行了详尽的研究。使用了两个测试环境:首先,Mikolajczyk和Schmid介绍的著名数据集[21]。我们提出召回(正确匹配的数量/对应的数量)vs 1-精度曲线(假匹配数/匹配数)。我们还在一个更特定于任务的框架上评估FREAK,这个框架类似于在线提出的框架1。对前一个数据集中的“graf1”图像进行变换,以精确评估旋转、缩放变化、视点变化、模糊(高斯)和亮度变化。我们可以连续测量图像变形的影响,这在第一个测试环境中不太明显。图8到10给出了定量结果。
描述符的性能与检测器/描述符的组合密切相关。有些描述符对斑点比对角更有鉴别性。然而,我们注意到,无论选择哪种检测器,它们的匹配性能的全球排名都是相同的。因此,我们使用轻快公司引进的多尺度AGAST探测器进行了测试。
这两个测试环境都将FREAK列为对所有测试图像变形最健壮的测试环境。令人惊讶的是,在第一个测试环境(8)中,SIFT是最差的描述符,类似于在BRISK[16]中所显示的情况。当估计的方向有多个好的候选时,SIFT提取几个描述符。因此,可能的通信数量被高估了。尽管如此,第二个测试环境(9)不受用SIFT创建的附加描述符的影响。因此,SIFT更具竞争力,经常排名第二。图10展示了对旋转和缩放不变性的描述符的性能。我们在比较FREAK时禁用了它的比例和方向不变性。它要么和其他描述符一样好,要么稍微好一点。
表1比较了缩放和旋转不变量描述符的计算时间。所有算法都运行在Intel 2.2 GHZ双核上。FREAK甚至比BRISK还要快,尽管后者比SIFT和SURF快两个数量级。
表1:800x600张图像的计算时间,每张图像检测到大约1500个关键点。计算次数对应于所有关键点的描述和匹配。
图8:Mikolajczyk和Schmid[21]引入的数据集的性能评估
图9:第二个测试环境的全局评估。视角的变化是通过仿射矩阵变换来模拟的,其中剪切参数在x和y方向上从-0.65到0.65。
图10:第二个测试环境的全局评估:(S:单尺度;U:未旋转)BRIEF64, S-BRISK, SU-BRISK, S-FREAK, SU-FREAK描述符在FAST检测到的关键点上提取。
6 致谢
我们提出了一种基于视网膜的关键点描述符来增强现有图像描述符的性能。它优于最近最先进的关键点描述符,同时保持简单(更快,内存负载更低)。我们不主张任何生物学意义,但发现值得注意的是,使用学习阶段来识别最相关的高斯差值,可以匹配对人类视觉系统资源优化的一种可能理解。事实上,作为未来的工作,我们希望更多地研究这种相关对的选择,以用于高层次的应用,如物体识别。