【论文阅读】Semi-Supervised Keypoint Detector and Descriptor for Retinal Image Matching (ECCV2022)

题目

Semi-Supervised Keypoint Detector and Descriptor for Retinal Image Matching
ECCV2022,人大
预印本:https://arxiv.org/abs/2207.07932
源代码:https://github.com/ruc-aimc-lab/SuperRetina

论文概述:

眼底图像匹配(retinal image matching)作为眼底图像处理和分析的一项重要技术,在眼底图像配准、身份识别、个性化慢病管理等多个任务中起着关键作用。现有方法大多基于传统数字图像处理技术实现。传统技术存在超参数设置复杂,病变条件下匹配质量差,适用任务单一等问题,使得现有方法的适用范围较窄。本文提出了具备端到端学习能力的眼底图像关键点检测和描述网络SuperRetina。注意到当前可用的眼底图像标注数据极其稀少,难以有效支撑深度神经网络的训练。针对标注数据稀缺性问题,本文提出了渐进式关键点扩充(progressive keypoint expansion,简称PKE)的半监督学习策略。在每个训练步骤,PKE利用初始输入的关键点标记和SuperRetina输出的预测结果,进行基于关键点位置几何一致性和关键点特征内容一致性的双重筛选,从而自动在欠标注以及无标注眼底图像数据中发现之前未被标记的高可靠关键点,不断扩充关键点标记集合。 SuperRetina的有效性和通用性在多个真实世界数据集上得到了验证。

摘要

对于视网膜图像匹配(Retinal Image Matching,RIM),本文提出了SuperRetina,这是第一个具有联合可训练关键点检测和描述网络的端到端方法。SuperRetina采用一种新颖的半监督训练方式。使用一个小型(近100张)图像集对网络进行不完全标记,并用于监督检测血管树上的关键点。为了应对手动标记的不完整性,提出了渐进式关键点扩展方法,在每个训练时期丰富关键点标签。通过使用基于关键点的改进三元组损失作为描述器损失,SuperRetina在全尺寸输入图像上产生高度区分性的描述器。对多个真实世界数据集进行广泛实验,证明了SuperRetina的可行性。即使将手动标记替换为自动标记,使训练过程完全不需要手工注释,SuperRetina在两个RIM任务(图像配准和身份验证)中与多个强基准方法相比表现优异。

引言

本文针对视网膜图像匹配(Retinal Image Matching,RIM),即基于视觉内容匹配彩色眼底照片。匹配标准因任务而异。由于视网膜血管是独特的,稳定性跨年龄,并具有天然的防伪性[28],因此视网膜图像被用于高安全性的身份验证[19]。在这个背景下,如果两个视网膜图像来自同一只眼睛,它们被认为是匹配的。视网膜图像匹配对于视网膜图像配准也至关重要,配准是将来自同一视网膜不同区域(不同时间点)的两个或更多图像进行几何对齐。对齐后的图像可用于广域成像[4]、精确的跨会话视网膜病情评估[8]以及准确的激光视网膜治疗[31]。因此,视网膜图像匹配在计算机视觉领域是一个重要的课题。

最近提出的GLAMpoints [31] 作为可训练的视网膜图像匹配(Retinal Image Matching,RIM)检测器,以自监督学习的方式检测关键点,利用特定图像与通过控制性单应性产生的几何变换之间已知的空间对应关系。这种完全的自我监督方式的一个缺点是在非血管区域上产生了许多检测结果,这对于高分辨率图像配准是不利的,如图1所示。非血管区域对于身份验证也是不可靠的。由于GLAMpoints是一个检测器,因此需要一个外部的描述器,例如rootSIFT [3]。据我们所知,目前还没有具有联合可训练关键点检测器和描述器的RIM方法。

我们与SuperPoint [7]不同,SuperPoint是在自然图像匹配中具有端到端关键点检测和描述的重要工作。SuperPoint是一个深度网络,包含一个编码器和两个独立的解码器。给定一个h × w的灰度图像输入,SuperPoint首先使用编码器生成一个 h / 8 × w / 8 × 128 h/8 × w/8 × 128 h/8×w/8×128 的缩小特征图。使用特征图作为公共输入,一个解码器产生一个全尺寸的关键点检测图,而另一个解码器在 h / 8 × w / 8 h/8 × w/8 h/8×w/8 图像上为每个像素产生一个256维的描述器。尽管SuperPoint在自然图像匹配方面表现出色,但直接应用于RIM存在以下问题:

  1. 为了优化其描述器,SuperPoint 必须在所有像素之间计算hinge损失,导致计算和内存占用的复杂度为 O ( ( w × h ) 2 ) O((w×h)^2) O((w×h)2)。这样高的复杂度显著限制了输入图像的大小,尤其是对于训练,使得SuperPoint在高分辨率视网膜图像配准方面表现不佳。
  2. 描述器损失计算时没有考虑检测到的关键点,使得学习到的描述器在区分真实对和冒充者用于身份验证时不够有区分度。
  3. 虽然损失是在 h / 8 × w / 8 × 256 h/8 × w/8 × 256 h/8×w/8×256的描述器张量上计算的,但该张量已被上采样为 h × w × 256 h×w×256 h×w×256,来为原始尺寸上检测到的关键点提供描述器。训练阶段和推断阶段中使用的描述器之间的固有差异会影响性能。 近期的一些进展,如R2D2 [21]和NCNet [23]等,也存在类似或其他问题,将在第2节中讨论,这促使我们开发一种新的RIM方法。

本文提出了SuperRetina,一种用于视网膜图像匹配(Retinal Image Matching,RIM)的半监督深度学习方法,用于联合检测和描述关键点。与[7、21、31]等方法完全自我监督(不使用任何手动注释)相比,本文选择使用相对较小的图像集(近100张),进行稀疏标记以使标注成本可承受。这种小规模、不完全但精确的监督让SuperRetina能够快速关注特定的血管点,如交叉点和分叉点,这些点更加稳定和可重复。为了克服手动标注的不完整性,本文提出了渐进式关键点扩展(Progressive Keypoint Expansion,PKE)方法,在每个训练时期丰富标记集。这使得SuperRetina能够在血管树的以前未触及的区域检测关键点。此外,我们修改了SuperPoint的网络架构,直接生成一个尺寸为h×w×256的全尺寸描述器张量,如图2b所示。因此,我们的描述器损失是基于关键点的改进三元组损失,不仅导致高度区分性的描述器,而且相对于检测到的关键点数量具有二次复杂度。由于这个数量比h×w要小得多,SuperRetina允许更大的输入进行训练。因此,SuperRetina可以检测分布在图像平面上并同时位于血管树上的关键点,使其适用于多个RIM任务。总的来说,我们的贡献如下:

  1. 我们提出了SuperRetina,这是第一个端到端的具有联合可训练关键点检测和描述器的视网膜图像匹配(Retinal Image Matching,RIM)方法。
  2. 我们提出了PKE来解决半监督学习中手动标注不完整性的问题。为了扩大训练和推断的输入大小,并获得高度区分性的描述器,我们重新使用和适应了三元组损失作为基于关键点的描述器损失。
  3. 在两个RIM任务,即视网膜图像配准和基于视网膜的身份验证方面进行了大量实验,展示了SuperRetina相对于以前的方法的优越性,包括三个专门用于RIM的方法,即PBO、REMEP 和GLAMpoints,以及四个通用的方法,即SuperPoint、R2D2、SuperGlue 和 NCNet。

相关工作

视网膜图像匹配(Retinal Image Matching,RIM)的进展

以往的RIM工作都针对特定的任务,包括单模态[8, 31]或多模态[1, 15, 33]图像配准,以及身份验证[2, 14, 19]等。
在视网膜图像配准方面LoSPA [1]和其深度学习变体DeepSPA [15]主要通过**步进模式分析(SPA)**来描述图像块,并通过检测交点来找到关键点。针对同一只眼的多模态视网膜图像特征匹配,SPA描述器在揭示眼睛身份方面缺乏区分度。
GLAMpoints [31]通过利用给定图像与其几何变换之间的空间对应关系,在不需要标注的情况下进行训练。然而,这种完全的自我监督方式容易在非血管区域上检测到许多关键点。REMEP [8]首先通过血管分叉检测和SIFT检测器[17]找到许多候选点,然后进行基于*点模式匹配(PPM)*的眼睛建模和相机姿态估计,以识别几何上有效的匹配点。PPM算法涉及昂贵的在线优化,一个配准过程需要三分钟以上,因此对其实际应用提出了质疑。

在身份验证方面,现有工作主要关注于检测血管树上的少数几个关键点,主要是交叉点和分叉点,这些点被认为在个体和年龄之间是独特且稳定的[2, 14, 19]。通过将检测到的关键点作为输入,然后执行PPM来进行身份验证。PBO [19]通过考虑主要分叉方向改进了PPM。BGM [14]将视网膜血管系统表示为空间图,并通过图匹配实现PPM。Aleem等人 [2]基于关键点之间的空间关系增强给定图像的点模式,然后将这些模式向量化为匹配模板。身份验证所需的关键点数量要比图像配准所需的少得多。可能由于这个原因,我们没有看到有尝试将身份验证方法重新应用于图像配准。总的来说,虽然在可训练的检测器(GLAMpoints)和描述器(DeepSPA)方面有一些独立的工作用于RIM,但缺少结合的方法。

自然图像匹配的进展

与视网膜图像匹配(RIM)不同,在自然图像匹配方面存在许多端到端的方法,包括SuperPoint [7]、R2D2 [21]、SuperGlue [25]、NCNet [23]、LoFTR [29]、COTR [10]、PDC-Net [32]等。由于新开发的方法主要针对自然场景,其中检测可重复关键点由于缺乏重复纹理模式而较为困难,我们注意到一种新的无关键点图像匹配趋势。R2D2通过生成两个概率图来衡量每个像素的可靠性和可重复性,从而缓和了关键点检测的概念。在NCNet中计算了所有成对的特征匹配,导致相对于像素数量具有二次复杂度,因此用于匹配的特征图必须大幅缩小以保证计算性能。LoFTR通过使用transformers来利用密集定位的局部特征之间的自身/交叉相关性,改进了SuperGlue。这些密集特征在低纹理区域中寻找对应关系非常有效,这对于场景图像匹配是可取的。然而,在匹配视网膜图像时,这将在非血管区域产生许多不需要的匹配。

方法

SuperRetina是一个深度神经网络,它以一个(灰度) h × w h × w h×w 的视网膜图像 I I I 作为输入,在单次前向传递中检测和描述给定图像中的关键点,并具有高度的重复性和可靠性。第3.1节描述了网络架构,第3.2节中介绍了提出的训练算法。第3.3节介绍了SuperRetina在视网膜图像匹配方面的应用。

网络结构

我们改进了SuperPoint网络。我们的网络包含一个编码器,用于从给定图像中提取缩小的特征图F。然后将特征图并行输入到两个解码器中,一个用于关键点检测,另一个用于关键点描述,分别称为Det-DecoderDes-Decoder。Det-Decoder生成一个全尺寸的概率图 P P P,其中 P i , j P_{i,j} Pi,j表示特定像素为关键点的概率, i = 1 , . . . , h , j = 1 , . . . , w i = 1, . . . , h, j = 1, . . . , w i=1,...,h,j=1,...,w。Des-Decoder 产生一个 h × w × d h × w × d h×w×d 的张量D,其中 D i , j D_{i,j} Di,j 表示一个d维描述符。在推断阶段,我们对 P P P应用非最大值抑制(Non-Maximum Suppression,NMS)来获得一个二值掩码 P ^ \hat P P^作为最终的检测结果,从而在保留关键点时去除重复的检测结果。我们将上述过程形式化如下:
在这里插入图片描述
如图2b所示,我们为RIM修改了Det-Decoder和Des-Decoder。

Det-Decoder采用U-Net。有效地捕捉血管树上的交叉和分叉等低级模式对于可靠且可重复地检测视网膜关键点至关重要。因此,我们选择使用U-Net [24],它最初用于生物医学图像分割,其通过跳跃连接在解码器中重新使用来自编码器的不同层次的特征的设计非常有用。为了支持高分辨率输入,我们的编码器相对较浅,具有一个卷积层来生成全尺寸的低级特征图,然后是三个卷积块,每个卷积块由两个卷积层、2×2最大池化和ReLU组成。因此,高级特征图 F F F的大小为 h / 8 × w / 8 × 128 h/8 × w/8 × 128 h/8×w/8×128。为了恢复全尺寸的特征图,我们的Det-Decoder使用三个卷积块,每个卷积块有两个卷积层,然后进行双线性上采样,ReLU和串联以合并来自编码器的相应特征图。最后,在全尺寸的特征图上应用一个由三个卷积层和一个sigmoid激活函数组成的卷积块,产生检测图 P P P
全尺寸的Des-Decoder。与SuperPoint不同,SuperRetina在 h × w h × w h×w的完整尺寸上进行描述器的优化,其中每个像素都关联着一个d维的描述器。这样的密集结果是通过插值获得的,意味着在反向传播过程中,每个关键点与其邻域之间存在梯度相关性。扩大邻域可以增强相关性,因此使用更大的感受野有助于训练[5]。在这方面,Des-Decoder首先将F缩小为更紧凑的特征图,大小为 h / 16 × w / 16 × d h/16 × w/16 × d h/16×w/16×d,然后使用上采样块(使用转置卷积)生成 h × w × d h × w × d h×w×d的完整尺寸描述器张量 D D D。所有的描述器都进行了L2归一化。
在这里插入图片描述
我们的网络改进在概念上可能很简单。需要注意的是,对于像SuperPoint和NCNet中使用的基于像素的描述器损失,生成一个完整尺寸的描述器张量在计算上是难以实现的。我们需要一种基于关键点的描述器损失。然而,基于关键点的训练并不简单,因为不充分的注释会使网络很快收敛到局部的次优解。然而,拥有充足的标注训练图像被认为是昂贵的。为了解决这个实际挑战,我们开发了一种半监督训练算法,可以利用少量不完整标记的图像进行训练。

训练算法

半监督训练的Det-Decoder
我们将关键点检测形式化为像素级的二元分类任务[7, 31]。由于手动标记的关键点是稀疏且不完整的,使用普通的二元交叉熵(CE)损失训练Det-Decoder是困难的。为了解决稀疏性(和由此产生的类别不平衡)问题,我们采用了两种策略。

  1. 第一种策略来自姿态估计[35],即通过2D高斯模糊将二元标签Y转换为软标签Y˜,其中每个关键点是由其值呈指数衰减的邻居包围的峰值。
  2. 第二种策略是使用Dice损失[18],发现它比加权CE损失和Focal损失更有效地处理极端的类别不平衡[34]。每个图像的基于Dice的分类损失 ℓ c l f ℓ_{clf} clf计算公式如下:

在这里插入图片描述
其中Y˜i和Pi分别是第i个像素的软标签和预测概率。Dice损失衡量了预测的像素与真实标签之间的重叠程度。
为了解决不完整性问题,我们提出了渐进式关键点拓展(PKE)方法。基本思想是通过逐步添加由 Det-Detector 发现的新颖可靠的关键点来逐渐拓展标记的关键点集合 Y Y Y,Det-Detector 在每个训练轮次后都在不断改进。为了与这样一个动态的 Y Y Y区分,对于每个训练图像,我们现在使用 Y 0 Y_0 Y0来表示其初始关键点集合,使用 S t S_t St来表示第t个训练轮次时检测到的关键点集合。我们通过将 Y 0 Y_0 Y0 S t S_t St的并集得到拓展后的关键点集合 Y t Y_t Yt,在第t个训练轮次中用于训练。

由于 S t S_t St是自动构建的,不合适的关键点是不可避免的,特别是在Det-Decoder相对较弱的早期阶段。鉴于一个好的检测器应该能够在不同的视角和尺度下检测到相同的关键点,GLAMpoints 执行几何匹配来识别可以从给定图像及其投影变换中重复检测到的关键点。我们通过添加基于内容的匹配来改进GLAMpoints,使其成为双重匹配策略。如图2c所示,假设在图像I中检测到一个非血管区域的关键点(橙色圆圈),在经过特定单应性变换的图像 I ′ = H ( I ) I' = H(I) I=H(I)中有一个几何匹配的关键点(橙色方块),其中H是一个特定的单应性变换。非血管区域在视觉外观上缺乏特异性,意味着提取这些区域的描述符相对接近。因此,即使方块在描述符空间中是与圆圈最佳匹配的,它与第二最佳匹配不足以通过Lowe’s比值测试[17]。因此,双重匹配是至关重要的。
在这里插入图片描述

如图3所示,PKE模块的工作步骤如下:

1)构造 I I I的几何映射 I ′ I' I I ′ = H ( I ) I' = H(I) I=H(I)
2)将 I ′ I' I输入SuperRetina以获取其概率检测图 P ′ P' P。对于 I I I,通过反投影获得其关键点映射 P ∗ ′ = H − 1 ( P ′ ) P'_∗ = H^{−1}(P') P=H1(P)
3)几何匹配:对于 P ^ \hat P P^中的每个点(i, j),如果 ( P ∗ ′ ) i , j > 0.5 (P'_∗)i,j > 0.5 (P)i,j>0.5,则将其添加到 S t S_t St中。
4)基于内容的匹配:对于 S t S_t St中的每个点(i, j),我们通过直接采样Des-Decoder的输出获得其描述器,从而得到描述器集合 D t D_t Dt。类似地,我们根据 H ( S t ) H(S_t) H(St) I ′ I' I中提取 D t ′ D'_t Dt。对于 D t D_t Dt中的每个描述器,我们使用它作为查询来在 D t ′ D'_t Dt上执行最近邻搜索。仅当点(i, j)的空间对应点(i’, j’)通过比率测试时,点(i, j)将保留在 S t S_t St中。
在这里插入图片描述

上述过程允许我们逐步找到新的可靠关键点,如图2d所示。此外,为了改进 I I I和其几何变换 I ′ I' I的检测图之间的整体一致性,我们还计算 P P P P ∗ ′ P'_∗ P之间的Dice损失,称为 ℓ g e o ( I , H ) ℓ_{geo}(I,H) geo(I,H)。我们基于 Y t Y_t Yt H H H的检测损失 ℓ d e t ℓ_{det} det计算如下:
在这里插入图片描述

Des-Decoder的自监督训练。
理想情况下,Des-Decoder的输出应该对于单应性是不变的。也就是说,对于在 I I I中检测到的每个关键点(i, j),其描述器应该与在 I ′ I' I中相应位置(i’, j’)提取的描述器相同。为避免产生常量描述器的平凡解,我们选择优化三元损失[27],使成对的关键点之间的距离小于未配对的关键点之间的距离。需要注意的是,关键点是由Det-Decoder自动提供的,因此我们的Des-Decoder是以完全自监督的方式进行训练的。这种特性使得Des-Decoder能够轻松地从未标记的数据中学习。

I I I I ′ I' I分别输入 SuperRetina 得到完整尺寸的描述器张量 D D D D ′ D' D。对于非极大值抑制的关键点集合 P ^ \hat P P^中的每个元素(i, j),设 D i , j D_{i,j} Di,j为其描述器。由于(i, j)和(i’, j’)应该是配对的,它们的描述器之间的距离 ϕ i , j ϕ_{i,j} ϕi,j必须被减小。在排除(i’, j’)后,我们使用 ϕ i , j r a n d ϕ^{rand}_{i,j} ϕi,jrand来表示(i, j)与 H ( P ^ ) H(\hat P) H(P^)随机选择的一个点之间的描述器距离。让 ϕ i , j h a r d ϕ^{hard}_{i,j} ϕi,jhard 表示(i, j)与 H ( P ^ ) H(\hat P) H(P^)最难配对点之间的描述器距离。我们认为仅使用 ϕ i , j r a n d ϕ^{rand}_{i,j} ϕi,jrand或者 ϕ i , j h a r d ϕ^{hard}_{i,j} ϕi,jhard作为三元损失中的负项是有问题的。因为要求 ϕ i , j < ϕ i , j r a n d ϕ_{i,j} < ϕ^{rand}_{i,j} ϕi,j<ϕi,jrand 相对容易满足,单独使用 ϕ i , j r a n d ϕ^{rand}_{i,j} ϕi,jrand无法获得良好区分度的描述器。同时,由于网络在早期训练阶段缺乏产生良好描述器的能力,仅使用 ϕ i , j h a r d ϕ^{hard}_{i,j} ϕi,jhard会使网络难以训练。为了解决这个问题,我们提出了一个简单的技巧,即将 ϕ i , j r a n d ϕ^{rand}_{i,j} ϕi,jrand ϕ i , j h a r d ϕ^{hard}_{i,j} ϕi,jhard的均值作为负项。我们的描述器损失 ℓ d e s ℓ_{des} des定义如下:
在这里插入图片描述

其中m > 0是一个控制margin的超参数。需要注意的是, ℓ d e s ℓ_{des} des相对于 P ^ \hat P P^的大小具有二次时间复杂性,而 P ^ \hat P P^远小于 h × w h×w h×w。因此,我们的描述器损失比SuperPoint中的描述器损失(相对于h×w是二次的)更高效。因此,在相同的GPU资源下,SuperRetina可以在更高分辨率的图像上进行训练。

虽然我们分别描述了Det-Decoder和Des-Decoder的训练算法,但它们是通过最小化以下组合损失函数进行联合训练的(H每个mini-batch都会变化):
在这里插入图片描述

基于特征点的视网膜图像匹配

训练完成后,使用SuperRetina进行RIM非常简单。给定查询图像 I q I_q Iq和参考图像 I r I_r Ir,将它们分别输入SuperRetina以获得它们的关键点概率图 P q P_q Pq P r P_r Pr以及相关的描述器张量 D q D_q Dq D r D_r Dr。然后对 P q P_q Pq P r P_r Pr进行非极大值抑制(NMS)以获取关键点 K p q K_{p_q} Kpq K p r K_{p_r} Kpr。由于 D q D_q Dq D r D_r Dr是完整尺寸的,因此相应的描述符 d e s c q desc_q descq d e s c r desc_r descr可以直接从这两个张量中获取。使用OpenCV中的暴力匹配器可以获得 K p q K_{p_q} Kpq K p r K_{p_r} Kpr之间的初始匹配。然后使用匹配对计算得到变换矩阵H,用于将q对齐到r。

对于身份验证,可以重复使用H来去除异常点。如果匹配点的数量超过预定阈值,则接受这两个图像为真实图像(来自同一只眼睛),否则为冒名顶替。以上过程可以用几行Python样式的代码实现,详见附录。

实验验证

为了在真实场景中评估SuperRetina,我们使用固定的数据进行训练。然后,将模型直接应用于多个独立于训练数据的测试集上的不同RIM任务(见表1),而无需重新训练模型。

通用设置

训练集。 按照以下方式构建了一个小的标记数据集。邀请实验室的10名成员(教职员工和学生),被试的年龄在22岁到42岁之间,他们的视网膜状况正常。使用SYSEYE Reticam 3100眼底相机,对每只眼睛的后极部位(视野为45°)进行了多张彩色眼底图像拍摄。总共收集了97张图像。每个图像手动标记的关键点数量在46到147之间,平均值为93.3。我们将这个标记数据集称为Lab。此外,为了训练Des-Decoder,我们收集了一组辅助数据集,包含来自120名患有不同视网膜疾病的受试者的844幅视网膜图像。需要注意的是,Des-Decoder是以完全自监督的方式进行训练的,因此这个辅助数据集不需要额外的标注。

我们的实验数据包含大量不同的数据集,涵盖了不同的受试者、视网膜状况、成像视场等方面的差异。这些跨数据集的差异使得我们能够评估SuperRetina的有效性和泛化能力。通过在多个数据集上进行测试,我们可以验证SuperRetina在不同情况下的性能表现。

实现。 使用PyTorch实现了SuperRetina。根据我们的GPU资源(NVIDIA GeForce RTX 2080 Ti),我们选择了训练输入大小为768×768。网络采用SGD进行端到端训练,每个mini-batch的大小为1。优化器采用Adam,参数β设置为(0.9, 0.999),初始学习率为0.001。我们使用了标准的数据增强方法,包括高斯模糊、对比度变化和光照变化。最大训练轮数设置为150。描述器长度d为256。在推理阶段,使用10×10像素的NMS尺寸。对于单应性拟合,我们使用 cv2.findHomography 函数进行计算。

任务一:视网膜图像配准

测试集。采用了FIRE(Fundus Image Registration Evaluation),这是一个包含129张图像的基准数据集,图像尺寸为2,912 × 2,912,采用Nidek AFC-210眼底相机(视野为45°)获取,其中包含134对已注册的图像。这些图像对根据其配准难度被分为三组:Easy(71对,具有高度重叠且无解剖学变化)、Moderate(14对,具有高度重叠且存在大的解剖学变化)和Hard(49对,具有小的重叠且无解剖学变化)。

性能指标。采用了三种类型的指标:失败率、不准确率可接受率。对于给定的查询图像 I q I_q Iq和其参考图像 I r I_r Ir如果匹配点的数量小于4个(这是估计单应性矩阵H所需的最小匹配点数),则认为该注册失败。否则,对于 I q I_q Iq中的每个查询点 p q p_q pq,我们计算其在 I r I_r Ir中对应点 p r p_r pr H ( p q ) H(p_q) H(pq)之间的 l 2 l_2 l2距离。对于每个查询图像,我们将中位数距离定义为中位误差(MEE),将最大距离定义为最大误差(MAE)。如果MEE < 20且MAE < 50,则认为该配准是可接受的,否则为不准确。
此外,我们还报告了曲线下面积(AUC),它估计了对决策阈值的接受率的期望,因此反映了特定方法的整体性能。我们计算每个类别(Easy、Mod和Hard)的AUC,并将它们的平均值(mAUC)作为总体指标。较高的接受率/AUC和较低的不准确/失败率表示性能更好。所有指标都是在原始大小2912×2912的图像上计算得到的。

Baselines。
基线方法。为了进行可重现的比较,我们选择了那些由论文作者发布了源代码或预训练模型的竞争方法。因此,我们有以下八个基线方法:
• 使用OpenCV API的SIFT检测器[17]加上RootSIFT描述符[3]。
• PBO [19],一种传统的关键点提取和匹配方法,具有作者提供的Matlab实现。
• REMPE [8],通过眼睛建模和姿态估计进行视网膜图像配准。
• 在MS-COCO [16]上训练的SuperPoint10 [7]。
• 在私人眼底图像上训练的GLAMpoints11 [31](+RootSIFT描述符)。
• 在Aachen数据集 [26]上训练的R2D212 [21]。
• 在ScanNet数据集 [6]上训练的SuperGlue13 [25]。
• 在Indoor Venues数据集 [22]上预训练的NCNet14 [23]。
由于视网膜图像与自然图像之间存在自然领域差异,预训练于自然图像的基线模型可能不是其在RIM方面的最佳状态。为了解决这个问题,我们使用我们的训练数据对SuperPoint、GLAMpoints、R2D2和NCNet进行了微调

在这里插入图片描述

与现有方法的比较。 如表2所示,SuperRetina在失败率为零、不准确率为1.49%和接受率为98.51%的情况下表现最佳。有趣的是,我们发现依赖于传统图像处理和视网膜几何建模的REMPE方法表现优于基于深度学习的替代方法,包括GLAMpoints、R2D2、SuperPoint、SuperGlue和NCNet。SuperRetina超越了这个强大的基线。

在AUC得分方面也有类似的结果。唯一的例外是在Easy组,其中REMPE获得更高的AUC(0.958对比0.940)。这个组中的图像有很大的重叠区域和没有解剖变化,因此REMPE对视网膜结构的重建有优势。当处理中等和困难组时,端到端学习的优势更加明显。SuperRetina在AUC-Mod方面得分比REMPE高得多(0.783对比0.660)。此外,REMPE执行一次配准需要198秒,但SuperRetina更高效只需要1秒,其中大部分时间都花在数据I/O和预处理上。由于只需实时计算查询图像,而可以预先计算数据库中的图像,整个图像匹配过程可以大大加速。总的来说,SuperRetina相对于REMPE的优势有三个:(i)端到端学习的检测器比REMPE的血管分叉检测器更可靠,能够处理具有较大解剖变化的图像,(ii)SuperRetina适用于图像配准和身份验证,(iii)SuperRetina速度几乎快200倍。

手动标注与自动标注对Y0的影响。表2的最后三行是使用不同选择的初始关键点集Y0的SuperRetina结果。预训练表示我们首先尝试在与SuperPoint使用的合成角点数据集上训练SuperRetina,然后使用这个预训练的SuperRetina来产生Y0。倒数第二行表示使用PBO检测到的关键点作为Y0。这些结果显示,即使使用自动产生的Y0,SuperRetina仍然比当前的方法表现良好。特别是使用基于PBO的Y0可以获得mAUC为0.750。虽然这个数字低于使用手动标注的Y0(mAUC 0.755),但明显优于最好的基线REMPE(mAUC 0.720)。以仅0.66%的相对性能损失为代价,SuperRetina确实可以在无需手动注释的情况下训练。

评估PKE的影响。如表3所示,没有PKE的SuperRetina表现明显下降。没有PKE时,SuperRetina检测到的平均关键点数量从每张图像的530个减少到109个。我们还尝试了没有内容匹配的PKE,使其实际上成为GLAMpoints使用的关键点选择策略。其较低的性能(表3第3行)验证了提出的双匹配策略的必要性。以上结果证明了PKE在扩展半监督学习注释数据方面的有效性。

对于描述损失,我们同时利用了难负实例和一个随机负实例来计算方程(4)中的负项。我们尝试了一种替代策略,即半难负实例采样,在给定的小批量样本中,选择在所有候选负实例中排名居中的负实例来计算负项。然而,这种替代策略(表3第4行)并没有有效。

此外,我们重新运行了相同的训练流程,但不进行描述符上采样、不进行2D高斯模糊,并且使用(加权)交叉熵损失替代Dice损失。它们一致较低的性能支持了关于网络和训练策略的改进的必要性。

在探测器方法之间进行的定性比较。图4显示,GLAMpoints和R2D2倾向于在非血管区域检测关键点,这些区域对于视网膜图像匹配没有区分性。相比之下,SuperRetina发现的关键点主要分布在血管树上,因此更适合于视网膜图像匹配
在这里插入图片描述
在视网膜图像匹配中考虑其他特征(如病变或视盘)吗?我们没有考虑病变和视盘。虽然病变在特定检查会话中是稳定的,但它们在不同会话之间可能是不稳定的,例如,在适当治疗后可能减少或由于疾病进展而增加。病变不是特定于眼睛的,因此不适合于身份验证。此外,与血管关键点不同,标记病变需要视网膜专业知识,使其获取不容易[34]。视盘也不是特定于眼睛的。此外,对于后极(45度视场)的视网膜图像,视盘占据了相对较小的视场区域(1/36),使其在匹配中的重要性较小。尽管如此,我们的方法是通用的,可以通过使用与这些特征相关的关键点实例化Y0来检测其他特征。

任务二:基于视网膜的身份认证

略。详见原文。

结论

经过真实数据的实验我们得出以下结论。所提出的渐进式关键点扩展(PKE)策略对于解决手动标注在半监督训练中的不完整性是有效的,将FIRE数据集上视网膜图像配准的平均AUC从0.685提高到0.755,并将基于视网膜的身份验证在最具挑战性的CLINICAL数据集上的错误接受率(EER)从5.14%降低到0.83%。SuperRetina击败了最佳基准方法,即图像配准方面的REMPE(AUC:0.755对比0.720),以及身份验证方面的SuperPoint(EER:在CLINICAL数据集上为0.83%对比1.06%,在BES数据集上为1.18%对比2.00%)。即使完全用自动标注替代手动标注的训练数据,从而使训练过程完全无需手动标注,SuperRetina在很大程度上保持其性能,并与以前的RIM方法相比表现出优势。

伪代码:

# Algorithm 1: SuperRetina for multi-task RIM
# q, r: query and reference images
# thresh: acceptance threshold
# Detect and describe keypoints
P_q , D_q = SuperRetina(q)
P_r , D_r = SuperRetina(r)
# NMS to get keypoints
Kp_q = NMS(P_q)
Kp_r = NMS(P_r)
# Sample descriptions
desc_q = sample_desc(D_q , Kp_q)
desc_r = sample_desc(D_r , Kp_r)
# Keypoint match using Brute -force matcher
matches = bfMatch(desc_q , desc_r)
if len(matches) < 4:
reject and exit # matching failed
# Compute H for image registration
H = findHomography(Kp_q , Kp_r , matches , cv.LMEDS)
# Remove outlier matches for identity verification
matches = remove_outliers(matches , H)
accept = (len(matches) >= thresh)

A u t h o r : C h i e r Author: Chier Author:Chier

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值