更多内容请关注【医学影像 AI by youcans@Xidian 专栏】


0. 论文简介

0.1 基本信息

2022年,Adrian Galdran 等 在 Sci Report 发布论文 【用极简模型实现最先进的视网膜血管分割】(State-of-the-art retinal vessel segmentation with minimalistic models)。

本文聚焦视网膜血管分割任务,挑战当前复杂 CNN 模型的必要性,提出 Little U-Net(约 3.4 万参数)和 W-Net(约 6.8 万参数,两阶段级联 U-Net)两种轻量化模型,经循环学习率、测试时增强等精心训练后,在 DRIVE、CHASE-DB、HRF 3 个经典数据集上性能接近或超越现有 SOTA 模型(如 W-Net 在 DRIVE 的 AUC 达 98.10±0.04、Dice 达 82.79±0.11)。

论文下载: nature
项目地址: github
引用格式: Galdran, A., Anjos, A., Dolz, J. et al. State-of-the-art retinal vessel segmentation with minimalistic models. Sci Rep 12, 6174 (2022). https://doi.org/10.1038/s41598-022-09675-y

(接收日期:2021 年 7 月 19 日;录用日期:2022 年 3 月 10 日;在线发表日期:2022 年 4 月 13 日。)

在这里插入图片描述


0.2 论文概览

该研究聚焦视网膜血管分割任务,挑战当前复杂 CNN 模型的必要性,提出 Little U-Net(约 3.4 万参数)和 W-Net(约 6.8 万参数,两阶段级联 U-Net)两种轻量化模型,经循环学习率、测试时增强等精心训练后,在 DRIVE、CHASE-DB、HRF 3 个经典数据集上性能接近或超越现有 SOTA 模型(如 W-Net 在 DRIVE 的 AUC 达 98.10±0.04、Dice 达 82.79±0.11)。

核心贡献

  • 轻量化模型设计:提出Little U-Net(约 3.4 万参数)和W-Net(约 6.8 万参数),参数规模比现有 SOTA 模型少 1-3 个数量级。
  • 严格评估协议:纠正领域常见缺陷(如随意调整训练 / 测试分割、每幅图单独算阈值),确保结果可比性。
  • 大规模跨数据集分析:首次在 10 个具有不同特性(分辨率、病理类型、成像模态)的数据集上验证泛化能力,量化领域偏移影响。
  • 领域自适应方案:提出基于伪标签的简单自标记策略,部分恢复跨数据集性能损失。
  • 多任务拓展:将模型应用于视网膜动静脉分割和 OCTA 血管分割,仍以低参数达 SOTA。

Little U-Net(基础模型,φ₃,₈)模型设计

  • 结构定义:标准 U-Net 变体,由 “下采样路径 + 上采样路径 + 跳跃连接” 构成,通过参数对(k, f₀)完全定义 ——k=3(3 次下 / 上采样),f₀=8(初始 3×3 滤波器数量),每下采样一次滤波器数量翻倍;含批归一化层(卷积后)和额外块内跳跃连接。
  • 参数规模:约34,201 个,仅为 M2U-Net(549,748 参数)的 1/16,Liskowski et al. 模型(4800 万参数)的 1/1400。
  • 核心优势:跳跃连接保留高分辨率信息,支持梯度高效反向传播,简化结构但不损失关键特征。

W-Net(级联改进模型)模型设计

  • 结构设计:两阶段级联 U-Net,数学表达式为Φ(x)=φ²(x, φ¹(x))—— 第一阶段 U-Net(φ¹)生成血管初始预测,与原始输入 x 拼接后输入第二阶段 U-Net(φ²)。
  • 核心逻辑:第一阶段预测作为 “注意力图”,引导第二阶段聚焦血管区域,减少背景干扰。
  • 参数规模:约68,482 个(两阶段各 3.4 万参数),远低于 Mou et al. (2020) 的 5603 万参数。
  • 损失函数:联合损失(避免梯度消失),公式为:L(Φ(x), y)=L(φ¹(x), y)+L(φ²(x), y),L 为交叉熵损失。

0.3 摘要

从眼底图像中分割视网膜血管是视网膜图像分析中的一个基本任务。近年来,基于复杂卷积神经网络架构的越来越复杂的方法在一些已建立的基准数据集上的表现不断提升。在本文中,我们分析这种复杂性的真正需求。

我们首先汇编并回顾了20种不同技术在一些流行数据库上的表现,并证明了一个标准U-Net的极简版本,其参数数量比当前最佳技术少几个数量级,经过精心训练和严格评估后,其性能与当前最佳技术非常接近。

然后,我们展示了级联扩展(W-Net)在几个流行数据集上达到了卓越的性能,同时使用的可学习权重比任何先前发表的工作都少几个数量级。此外,我们提供了迄今为止最全面的跨数据集性能分析,涉及多达10个不同的数据库。我们的分析表明,当考虑与训练数据差异较大的测试图像时,视网膜血管分割远未解决,这一任务是探索领域自适应技术的理想场景。

在此背景下,我们尝试了一种简单的自标记策略,实现了跨数据集性能的适度提升,表明这一领域仍有很大的改进空间。最后,我们在动脉/静脉和OCTA成像问题的血管分割上测试了我们的方法,再次以较低的模型复杂度取得了与最新文献相当的结果。本文中用于复现结果的代码已发布。


1. 引言

视网膜血管分割是眼底图像分析领域的基础性任务。近年来,基于复杂卷积神经网络(CNN)架构的方法不断涌现,推动了其在成熟基准数据集上的性能提升。然而,本研究选择 “退一步” 思考:此类复杂性是否真为必需?

  • 我们首先汇总并评估了 20 种不同技术在多个常用数据库上的性能,结果表明:经过精心训练和严格评估的标准 U-Net 简化版本(其参数数量少了几个数量级),性能可接近当前最优技术。进一步研究发现,通过级联扩展得到的模型(W-Net)在多个常用数据集上均实现了优异性能,且其可学习参数数量仍比以往发表的任何相关模型少几个数量级。
  • 此外,我们开展了迄今为止最全面的跨数据集性能分析,涉及多达 10 个不同数据库;结果显示,当测试图像与训练数据差异显著时,视网膜血管分割任务远未得到解决,而该任务为领域自适应技术的探索提供了理想场景。
  • 在此背景下,我们尝试了一种简单的自标记策略,该策略可适度提升跨数据集性能,表明该领域仍有较大改进空间。
  • 最后,我们将所提方法应用于视网膜动静脉分割及光学相干断层扫描血管成像(OCTA)血管分割任务,结果显示,即便模型复杂度仅为近期文献中相关模型的一小部分,性能仍与当前最优水平高度一致。本文已开源用于复现实验结果的代码。

在这里插入图片描述
本研究对血管分割进行了全面的跨数据集性能研究。图中展示了本文使用的10个数据库中的代表性图像:(a) DRIVE1,(b) CHASE-DB 12,© HRF3,(d) STARE4,(e) LES-AV5,(f) IOSTAR6,(g) DR HAGIS7,(h) AV-WIDE8,(i) DRIDB9,(j) UoA-DR10。每个数据库的详细描述见表2。


视网膜血管分割是眼底图像计算分析的首要且关键任务之一,它是实现动静脉比例评估 [11]、血流分析 [5]、图像质量评估 [12]、视网膜图像配准 [13] 及合成 [14] 等高级应用的基础。

视网膜血管分割的早期方法完全基于无监督学习,依赖数学形态学 [15,16] 或改进的边缘检测 [17] 等传统图像处理操作。这些方法的核心思路是对视网膜图像进行预处理以增强血管灰度,随后通过阈值化实现分割。尽管近年来仍有研究致力于改进视网膜血管分割的滤波技术 [6,18],但这类技术在成熟基准数据集上始终无法达到具有竞争力的性能水平,这可能是因为它们难以处理含病理结构的图像,且无法泛化到不同外观和分辨率的图像中。

与之相反,早期基于学习的方法很快展现出更具前景的结果,性能优于传统方法 [1,19-22]。这类技术的通用策略是:提取特定设计的局部描述符,再结合相对简单的血管分类器进行分割;文献中的相关研究多聚焦于开发新的判别性视觉特征,而非优化分类子任务。

随着深度神经网络的兴起,机器学习(ML)技术在该领域的主导地位进一步巩固。研究人员最初发现,CNN 无需人工设计特征,可直接从原始数据中学习,且性能优于以往方法 [23,24];此后,关于 CNN 用于视网膜血管分割的研究成果不断涌现,如今几乎所有具有竞争力的血管分割技术均基于这一架构。

用于视网膜血管分割的标准 CNN 方法,通常通过堆叠卷积层并对输入图像依次进行下采样和上采样,最终得到血管位置的概率预测结果。训练过程中,通过最小化误分类损失(如交叉熵损失)迭代更新网络权重以提升预测精度;无论是处理小图像块 [23] 还是整幅图像 [24],这类方法仅需少量标注样本即可实现视网膜血管分割。

CNN 范式的扩展往往涉及复杂操作,例如设计特定的网络层。Fu 等人 [25] 引入条件随机场循环层以建模像素间的全局关系;Shi 等人 [26] 结合卷积层与图卷积层,以更好地捕捉血管的全局连通性;Guo 等人 [27] 提出密集扩张层,可根据血管厚度调整扩张率;Fan 等人 [28] 则提出多频率卷积层(OctConv)。近年来的研究还探索了其他基于领域知识设计的自定义卷积块和层 [29,30]。

近年来,研究人员还提出了专用损失函数。Yan 等人 [31] 基于 U-Net 架构 [32],通过最小化 “联合损失”(接收两个独立网络分支的输出预测,分别对应像素级损失和分割级损失)进行模型训练;该团队在另一项研究 [33] 中提出了类似的分割级方法;Mou 等人 [34] 采用多尺度 Dice 损失;Zhao 等人 [35] 提出结合全局像素级损失与局部抠图损失;Zhang 和 Chung [36] 则引入深度监督方法,将 CNN 不同阶段提取的多个损失值结合并反向传播,同时通过为血管边界添加人工标签,将任务转化为多类别分割问题。此外,生成对抗网络(GAN)也被用于视网膜血管分割 [37-40],但由于这类架构训练难度较大,尚未得到广泛应用。

值得关注的是视网膜血管分割的高效方法研究 —— 这与本研究的贡献(提出高性能轻量化模型)密切相关。这类方法通常见于面向嵌入式 / 移动设备的视网膜血管分割研究中,在此背景下,传统无监督方法仍占主导地位:Arguello 等人 [41] 将图像滤波与轮廓追踪结合;Bibiloni 等人 [42] 采用简单的滞后阈值化;Xu 等人 [43] 则改进 Gabor 滤波和形态学操作,用于移动设备上的血管分割 [43]。直到最近,Laibacher 等人 [44] 才探索了专为眼底图像血管分割设计的高效 CNN 架构,他们提出的 M2U-Net 架构基于 ImageNet 预训练的 MobileNet 模型 [45],性能仅略低于当前最优水平。

研究目标与贡献
本研究的目标是:(1)证明在视网膜血管分割任务中,无需设计复杂 CNN 架构即可超越多数现有技术;(2)指出当基于特定数据集训练的最优模型用于测试不同数据源的图像时,性能可能大幅下降。

为实现这两个目标,我们做出以下贡献:

  1. 汇总了 20 种近期在相关领域发表的技术在三个成熟数据集上的性能,并证明:对 U-Net 架构进行简单级联扩展得到的模型(本文称之为 W-Net),与基准模型相比性能优异。
  2. 建立了严格的评估协议,旨在纠正该领域以往存在的缺陷。
  3. 在包含 10 个具有广泛特性的视网膜数据集(如图 1 所示)上测试了所提方法。
  4. 跨数据集实验表明,领域偏移会导致该任务性能下降;我们提出了一种简单策略来应对这一挑战,实验证明该策略可部分恢复损失的性能。
  5. 最后,我们将所提技术应用于眼底图像动静脉分割及 OCTA 血管分割等相关任务,在模型参数远少于现有方法的情况下,性能仍与以往方法持平。

我们认为,本研究结果为视网膜图像分析领域中新型领域自适应技术的系统性研究奠定了基础:由于在单块消费级 GPU 上训练我们的模型以达到优异性能仅需约 20 分钟,因此本研究可作为快速设计和验证改进方法的起点,最终有望缩小实验揭示的不同数据源间的泛化差距。

为推动该方向的研究,我们已开源用于复现实验结果的代码和数据,获取地址为https://github.com/agaldran/lwnet。


2. 方法

2.1 基准 U-Net:结构与复杂度

本研究的核心目标之一,是探索视网膜血管分割任务中模型复杂度的下限。为此,我们选用医学图像分割领域最简单且应用最广泛的架构之一 ——U-Net[32]。标准 U-Net 是一种卷积自编码器,由 “下采样 CNN” 和 “上采样路径” 组成:下采样部分通过对输入数据逐步应用一组滤波器,降低其空间分辨率;上采样部分则负责恢复图像原始尺寸。U-Net 通常包含跳跃连接(skip connections),通过拼接或相加的方式,将下采样路径的激活特征图与上采样路径对应层级的特征图关联,以保留高分辨率信息并促进训练过程中的梯度流动。

我们通过以下两个参数对 U-Net 架构 φ 进行参数化:

  • 分辨率下采样 / 上采样的次数(记为 k);
  • 每个深度层级应用的滤波器数量(记为 fₖ)。

为简化分析,我们仅使用 3×3 大小的滤波器,且遵循 U-Net 设计的常见规则 —— 每增加一次下采样(即 k 增大 1),滤波器数量翻倍。因此,本研究中的 U-Net 可通过参数对(k, f₀)完全定义,记为 φₖ, f₀。此外,我们在每个卷积操作后插入批归一化层(Batch-Norm layers),并在每个模块内部添加额外的跳跃连接。此类设计的示例如图 2 左侧所示。

本研究中采用的 U-Net 架构为φ₃,₈:下采样 / 上采样次数 k=3,初始滤波器数量 f₀=8,参数总量约为 3.4 万个。需重点强调的是,这一参数规模比以往用于视网膜血管分割的 CNN 模型少 1-3 个数量级。


2.2 W-Net 架构

为在不牺牲模型简洁性的前提下进一步提升精度,我们对 U-Net 架构进行了简单改进,提出W-Net。类 W-Net 的级联架构本质是 “堆叠式 U-Net”,这类结构在以往研究中已被广泛探索 [46],其核心思路是:模型的最终预测性能可通过利用 “模型对邻近标签的置信度” 得到提升。W-Net 是堆叠式 U-Net 的特例,仅包含两个子网络。

对于 W-Net(记为 Φ),其工作原理可简要描述为:对于输入图像 x,先将其输入第一个标准 U-Net(φ¹)得到初始预测结果,再将该结果与原始输入 x 拼接,共同输入第二个 U-Net(φ²)。其数学表达式如下:

Φ ( x ) = ϕ 2 ( x , ϕ 1 ( x ) ) Φ(x)=ϕ^2(x,ϕ^1 (x)) Φ(x)=ϕ2(x,ϕ1(x))

在实际应用中,φ¹ 生成的血管位置初始预测可作为一种 “注意力图”(attention map),引导 φ² 更聚焦于图像中的血管区域,具体流程如图 2 所示。

显然,W-Net 的可学习参数数量为标准 U-Net 的两倍;由于其基础子网络 φ₃,₈¹ 和 φ₃,₈² 各仅含 3.4 万个参数,本研究中的 W-Net 总参数约为 6.8 万个 —— 这一规模仍比目前已发表的最简单视网膜血管分割 CNN 模型少 1 个数量级,比当前最优架构少 3 个数量级。


在这里插入图片描述
图 2:WNet架构的表示。
架构的左侧部分对应一个标准的最小化U-Net,包含34k参数,其性能与当前最先进的方法相当。
完整的W-Net,由公式(1)定义,由两个连续的U-Net组成;它仅用大约70k参数就超越了所有先前的方法:比之前提出的CNN少1到3个数量级的参数。


2.3 训练协议

本研究所有实验的训练策略保持一致,具体设置如下:

  • 损失函数:最小化模型对图像 x 的预测结果与真实血管标注 y 之间的标准交叉熵损失(cross-entropy loss)。
    对于 W-Net,需额外计算第一个子网络(φ¹)输出的辅助损失,并与第二个子网络(φ²)的损失进行线性组合,总损失公式为:

L ( Φ ( x ) , y ) = L ( ϕ 1 ( x ) , y ) + L ( ϕ 2 ( x ) , y ) L(Φ(x),y)=L(ϕ^1 (x),y)+L(ϕ^2 (x),y) L(Φ(x),y)=L(ϕ1(x),y)+L(ϕ2(x),y)

  • 优化器与学习率:采用 Adam 优化器进行损失反向传播与最小化。初始学习率设为 λ=10⁻²,随后按余弦规律循环退火(cyclically annealed),最终降至 λ̄=10⁻⁸。每个循环包含 50 个训练轮次(epoch),并根据训练集规模调整循环次数,确保所有实验的总迭代次数均为 4000 次。
  • 数据处理:所有图像统一调整至相同分辨率,并采用标准数据增强技术;所有实验的批次大小(batch size)均设为 4。
  • 模型选择与推理:每个训练循环结束后,在独立验证集上计算 ROC 曲线下面积(AUC),保留性能最优的模型。所有实验的推理阶段均采用测试时增强(Test-Time-Augmentations)策略,即对图像进行水平和垂直翻转后再预测。

2.4 领域自适应的简单基准方法

本研究的另一核心目标是:即使简单模型能超越复杂模型,视网膜血管分割任务也并非如表面所见那般简单。
原因在于:基于某一数据集训练的模型,若测试数据来自分布差异显著的数据集,性能会大幅下降 —— 这一点将在后续实验中通过定量结果验证。当基于源数据集 S 训练的模型用于目标数据集 T(与 S 差异显著)的分割时,性能会出现明显下滑。
缩小这种性能差距的任务属于领域自适应(Domain Adaptation)范畴,该领域在计算机视觉领域已开展大量研究 [47]。

本研究探索了一种适用于视网膜血管分割的简单领域自适应方案,具体步骤如下:

  • 基于源数据集 S 训练模型 Us;
  • 用 Us对目标数据集 T 中的每幅图像 x 生成概率分割结果,并将这些结果视为 “伪标签”(Pseudo-Labels);
  • 合并 “源数据集标注 yₛ” 与 “带伪标签的目标数据集 {Us(x) | x ∈ T}”,构建新训练集;
  • 以 Us 的权重为初始值,在新训练集上微调模型,学习率降至原学习率的 1/100,额外训练 10 个轮次。

训练过程中,通过监控训练集(含源标注与目标伪标签)的 AUC 值选择最优模型。需特别说明的是,伪标签 Us(x) 不进行阈值化处理 —— 此举旨在向模型传递伪标签中的不确定性信息,迫使模型同时从 “源数据集的高置信度标注” 和 “目标数据集的图像分布” 中学习。该策略的流程示意图如图 3 所示。

在这里插入图片描述
图 3:本文采用的领域适应策略:在一个源数据集上训练的模型用于为目标数据集生成伪标签。原始源数据和带有伪标签的目标数据用于微调模型,以产生更好的预测结果。


2.5 评估协议

目前,视网膜血管分割领域缺乏严格的评估协议,主要问题包括:常用基准数据集的训练 / 测试划分不统一、性能指标计算方式有误等。基于此,我们提出以下严格评估协议:

  1. 分辨率与像素排除:所有性能指标均在原始图像分辨率下计算,并排除视场(Field of View, FOV)外的像素 —— 此类像素可直接预测为非血管,无评估意义。
  2. 训练 / 测试划分规则:若数据集提供官方训练 / 测试划分,则严格遵循;若无官方划分,则采用文献中 “最不利” 的划分方式(即训练图像占比最低的划分)。选择这一规则的原因是:视网膜血管分割任务难度较低,而以往部分研究采用留一交叉验证(leave-one-out cross-validation),训练数据占比高达 95%[31,48],易导致性能高估。
  3. 阈值确定与二值化:首先在训练集上累积所有预测概率与标签,通过 AUC 分析确定 “最大化 Dice 系数” 的最优阈值;测试阶段直接使用该预计算阈值对预测结果进行二值化 —— 这与 “逐图像计算指标并取均值”[49] 或 “为每幅测试图像单独设置阈值”[50] 的常见做法形成对比,可避免性能虚高。
  4. 跨数据集评估一致性:跨数据集实验中,切换数据集时不调整任何预处理步骤或超参数(此类调整会严重削弱方法的实用性,也是无监督方法的典型缺陷 [6],例如部分无监督方法需根据血管直径调整参数);不同数据集的预测结果二值化均使用 “源训练集推导的阈值”,不利用测试数据重新调整阈值。
  5. 评估指标选择:由于视网膜血管分割存在严重的类别不平衡问题,不报告准确率(accuracy);选用 Dice 系数作为核心评价指标,同时报告马修斯相关系数(Matthews Correlation Coefficient, MCC)—— 该指标对不平衡数据的适应性更强 [51]。此外,避免使用特定阈值下的灵敏度(sensitivity)和特异度(specificity),因其在模型性能对比中的参考价值较低。

3. 实验结果

本节将对上述方法进行全面的性能分析。


3.1 数据集

本研究的核心特色之一是在多源数据上开展性能分析。

  • 数据集内测试:我们选取 3 个公开数据集(DRIVE [1]、CHASE-DB [2]、HRF [3]),将所提模型与文献中已有的方法进行性能对比。其中,DRIVE 数据集的训练 / 验证 / 测试划分由原作者提供;对于另外两个数据集,我们采用文献中最严格的划分方式 [44]——CHASE-DB 含 22 幅图像,仅用 8 幅进行训练与验证;HRF 含 45 幅图像,仅用 15 幅进行训练与验证。模型训练完成后,在各数据集对应的测试集上评估性能。
  • 领域自适应实验:为评估跨数据集性能及所提领域自适应方法,我们额外引入 7 个数据集。这些数据集在图像质量、分辨率、病理类型及成像模态上存在显著差异,各数据集的详细信息如表 1 所示。

值得注意的是,训练阶段需对图像进行分辨率调整:DRIVE、CHASE-DB、HRF 的图像分别下采样至 512×512、512×512、1024×1024;而所有数据集的性能评估均在原生分辨率下进行,且未对图像施加任何预处理(或后处理)操作。


表1. 本文考虑的十个数据集在图像和人群特征方面的描述。
在这里插入图片描述


3.2 性能评估

我们遵循上一节所述的评估流程,在 表 2 中报告了模型的 AUC(ROC 曲线下面积)、Dice(Dice 系数)及 MCC(马修斯相关系数)值。

为进行对比,我们选取了近年来在相关领域发表的 20 种血管分割技术,并同时报告了标准 U-Net(φ₃,₈,约 3.4 万个参数)及所提 W-Net(参数数量为前者的 2 倍)的性能,二者在本文中分别称为 “Little U-Net(小型 U-Net)” 和 “Little W-Net(小型 W-Net)”。此外,为验证 Little W-Net 性能的稳定性,我们采用 5 个不同随机种子重复实验,取结果平均值,并在 表3 中报告了 95% 置信区间(基于性能服从正态分布的假设,该区间包含真实均值的概率 p=0.95)。在 Table 2 中,带下划线的结果处于 Little W-Net 对应性能的置信区间内。

需说明的是,文献中针对 CHASE-DB 和 HRF 数据集的训练 / 测试划分方式并不统一。本研究采用的划分与文献 [44] 一致 —— 该文献提出的 M2U-Net 是专为效率设计的模型,因此参数规模极小。令人意外的是,即便 Little U-Net 的参数数量仅为 M2U-Net 的 1/16,其在所有数据集上的性能仍超越了 M2U-Net。值得关注的是,Little U-Net 的性能已十分出色,与多数对比方法持平甚至更优。

分析 Little W-Net 的性能可见:无论在 AUC 还是 Dice 系数上,其性能均大幅超越所有其他对比技术 —— 尤其值得注意的是,除 Little U-Net 外,Little W-Net 的模型复杂度远低于其他任何方法。唯一未实现性能最优的数据集是 HRF,我们认为这是由于训练与测试分辨率不匹配所致:文献 [26] 提出的模型(当前 HRF 数据集上的最优模型)采用图像块(patch)训练,因此对分辨率差异的敏感度更低。尽管如此,Little W-Net 在 HRF 数据集上仍排名第二,与最优性能差距微小。

表2. 在DRIVE、CHASE-DB和HRF上训练/测试的方法的性能比较。最佳结果用粗体标记。只要结果位于小W-Net模型的置信区间内(具体见下表3),则用下划线标出。
在这里插入图片描述


表3. 小W-Net模型在表2中每个数据集上经过5次训练运行的平均性能,置信区间在正态性假设下以95%的概率包含真实均值。
在这里插入图片描述


3.3 跨数据集实验与领域自适应

由上述分析可能会得出 “视网膜血管分割任务已基本解决” 的结论,但事实上,若模型的泛化能力未在数据集外得到验证,其实际价值将大打折扣。为全面探究这一问题,我们选取在 DRIVE 数据集上训练的 W-Net 模型,在包括 DRIVE 测试集在内的 10 个数据集上生成预测结果,随后对每个外部测试集进行上述性能分析,结果如 Table 4 第一行所示。

观察结果可见:该模型在 DRIVE 数据集内测试时表现优异,但仅在与 DRIVE 分辨率和图像质量相近的 STARE 数据集上保持了这一性能;在跨数据集泛化测试中,性能普遍退化。从 AUC 值来看,性能最差的 4 个数据集及原因如下:(1)HRF(图像分辨率远高于 DRIVE);(2)LES-AV(图像以视盘为中心,而非黄斑,与 DRIVE 差异显著);(3)AV-WIDE(含超广角图像,外观差异极大);(4)UoA-DR(以病理图像为主,且分辨率各异)。

随后,我们采用上一节所述的领域自适应策略:对每个目标数据集,利用 DRIVE 上训练的模型生成概率分割结果(作为伪标签),将 “源数据集标注” 与 “带伪标签的目标数据集” 合并,用于微调原模型。实验结果如 Table 4 第二行(Pseudo-Labels,伪标签)所示:几乎在所有数据集上,模型的 AUC、Dice 系数及 MCC 均有提升(部分数据集提升幅度较小),这表明微调后的模型在新数据上的血管预测能力更强。

图 4 展示了 CHASE-DB 和 LES-AV 数据集中各一幅图像的分割结果:DRIVE 数据集不含以视盘为中心的图像,对于 CHASE-DB 的示例图像,自适应模型成功恢复了因强中心反射导致的血管断裂区域;对于 LES-AV 中光照不均的图像,DRIVE 训练的模型漏检了底部区域的大量血管,而自适应模型成功恢复了部分血管。

表4. 我们的领域适应策略在广泛的外部测试集中改善了结果。
第一行:在DRIVE上训练的W-Net;
第二行(伪标签):使用图3中说明的策略微调的相同模型。最佳指标用粗体标记。请注意,Dice/MCC在所有情况下都是通过使用在训练数据集(DRIVE)中最大化Dice分数的阈值对分割进行二值化后计算得出的。

在这里插入图片描述


在这里插入图片描述
图4. 提出的领域适应策略恢复了一些缺失的血管。
在CHASE-DB和LES-AV(包含以视盘为中心的图像)的数据上使用时,由在DRIVE(包含以黄斑为中心的图像)上训练的模型产生的分割结果。在(a, b)中,视网膜图像(左侧)、由在DRIVE上训练的模型产生的分割(中间)以及由在伪标签上训练的模型产生的分割(右侧)。


3.4 动静脉分割

我们还将所提方法应用于相关的动静脉分割任务。

需明确的是,该任务与 “动静脉分类” 不同:后者假设血管树已分割完成,仅需将每个血管像素分类为动脉或静脉;而动静脉分割需将图像中每个像素分类为 “动脉”“静脉” 或 “背景”。为应对任务复杂度的提升,我们采用了更大规模的 W-Net—— 由两个 φ₄,₈ U-Net 构成,但即便如此,其参数数量仍远少于现有动静脉分割模型 [60,61]。此外,我们将训练周期翻倍,并引入 4 分类设置(含不确定像素)—— 已有研究证明该设置对动静脉分割任务有益 [60]。

Table 5 对比了所提 W-Net 与两种近期动静脉分割技术的性能。本节实验中,我们遵循文献 [61] 提供的训练 / 测试划分,在 DRIVE 和 HRF 数据集上训练模型;同时开展跨数据集实验,将 DRIVE 上训练的模型在 LES-AV 数据集上测试。

结果呈现出与前一节相似的趋势:现有动静脉分割模型的参数数量均比所提 W-Net 多 1–2 个数量级,但 W-Net 的性能仍极具竞争力 —— 在 Dice 系数上超越文献 [61] 的模型,在 MCC 上超越文献 [60] 的模型,且计算成本仅为前者的极小部分。图 5 展示了在 DRIVE 上训练的 W-Net 分别在 DRIVE 和 LES-AV 数据集上的动静脉分割定性结果。


表5. 动脉/静脉分割任务的性能比较。对于DRIVE,性能报告在整个图像域上|在视盘周围的环形区域上。性能是使用提供的预测和代码计算得出的。LES-AV上的预测是由在DRIVE上训练的模型生成的。
在这里插入图片描述


在这里插入图片描述
图5. 用于A/V分割的W-Net的泛化能力。我们的模型在DRIVE上训练并在(a) DRIVE和(b) LES-AV上测试的结果。


3.6 OCTA 血管分割

彩色眼底图像是最常用的视网膜成像模态,但要捕捉黄斑区域的细小血管,需更先进的成像技术。近年来,光学相干断层扫描血管成像(OCTA) 逐渐成为理想选择,其可生成高分辨率视网膜血管图像。OCTA 图像原生为 3D 形式,通常通过在特定切片内垂直投影不同 OCTA 血流信号,得到 2D en face(面内)图像,从而可视化表层血管复合体(SVC)、深层血管复合体(DVC)或包含二者的视网膜内血管丛(SVC+DVC)。然而,OCTA 图像(及其 2D 投影)通常噪声较高、处理难度大(如图 6 上排所示),因此成为验证所提轻量化网络分割血管类结构有效性的理想测试场景。

本实验采用近期发布的 OCTA 图像数据集 ROSE [62],该数据集包含两个子数据集:

  • ROSE-1:含 39 名受试者的 117 幅 OCTA 图像,由 RTVue XR Avanti SD-OCT 系统(Optovue 公司,美国)采集,分辨率为 304×304,包含 SVC、DVC 及 SVC+DVC 血管造影图像;
  • ROSE-2:含 112 幅 SVC 的 OCTA en face 图像,由 Heidelberg OCT2 系统(Heidelberg Engineering 公司,德国)采集的 512×512 扫描数据重建而成。

如图 6 所示,两个子数据集的视觉特征存在显著差异。

为保证对比公平性,本实验遵循文献 [62] 的训练 / 测试划分方式,并报告相同的评估指标;对比方法的性能也取自该文献(感兴趣的读者可参考该文献了解各方法的细节)。Table 6 展示了 Little W-Net 与其他方法在 ROSE-1 数据集 SVC 和 SVC+DVC 部分的性能对比,Table 7 则展示了二者在 ROSE-1 数据集 DVC 部分及 ROSE-2 数据集上的性能对比。需说明的是,本实验中 W-Net 的训练方式与眼底图像分割完全一致。

对 Table 6 和 Table 7 中数值结果的详细分析表明,趋势与前几节一致:如 Little W-Net 这类 “轻量化且训练充分的简单架构”,在 OCTA 血管分割任务中同样能达到甚至超越当前最优性能。具体而言,Table 6 结果显示,Little W-Net 在所有评估指标上均超越包括 OCTA-Net(专为 OCTA 图像设计的近期架构)在内的所有对比方法,仅在假发现率(FDR)上略逊于简单无监督滤波方法 COSFIRE—— 这一结果或许表明 FDR 并非该任务的合适评估指标。Table 7 中 Little W-Net 的性能略有下降,但仍保持竞争力。需注意的是,ROSE-2 数据集上的性能普遍有所退化,这可能与该数据集图像质量较低有关(如图 6g、h 所示)。

在这里插入图片描述

图6. OCTA血管分割。(a, b):SVC图像,(c, d):DVC图像,(e, f):SVC+DVC图像,(h, i):Rose-2图像。第二行显示预测概率,第三行显示相应的手动真值。每一对图像展示了相应测试集中代表性最佳和最差的分割结果。


表6. 在ROSE-1(SVC和SVC+DVC)上进行OCTA血管分割的性能比较。最佳结果用粗体标记。在这里插入图片描述


表7. 在ROSE-1(DVC)和ROSE-2上进行OCTA血管分割的性能比较。最佳结果用粗体标记。
在这里插入图片描述


3.7 消融实验:W-Net vs U-Net

如前文所示,W-Net 的迭代结构使其性能优于标准 U-Net,但需注意的是,W-Net 的参数数量是 Little U-Net 的两倍。由于两个模型的参数规模均较小,可能存在一种疑问:Little U-Net 的性能劣势是否仅因参数不足(欠拟合)导致?而 W-Net 的性能优势是否仅源于参数数量翻倍,而非架构设计的改进?

为验证这一问题,我们设计了一个更大规模的 U-Net(φ₃,₁₂),其参数数量(7.6 万)略多于 W-Net(6.8 万)。为统计验证两种模型在 AUC 和 Dice 系数上的差异显著性,我们在与前文完全相同的条件下训练两个模型,在 3 个测试集上生成预测结果后,采用文献 [66,67] 中的自助法(bootstrap)流程:对每个测试集进行 100 次有放回抽样(每次抽样后样本数量与原测试集相同,且血管 / 背景像素比例保持一致),计算两个模型在每次抽样数据上的 AUC 和 Dice 差异,最终得到 100 个性能差异值。P 值定义为 “性能差异≤0 的样本占比”(即性能更优的模型表现更差或持平的情况占比)。统计显著性水平设为 5%,若 P<0.05,则认为性能差异具有统计显著性。

Table 8 报告了实验结果(将 U-Net φ₃,₁₂称为 “Big U-Net(大型 U-Net)”)。结果显示:尽管大型 U-Net 的性能略优于 Table 2 中的 Little U-Net,但 W-Net 的性能仍显著更高 —— 即便其参数数量比大型 U-Net 少约 10%。

表8. W-Net与配置为具有相当数量权重的U-Net之间的性能比较。尽管参数略少,W-Net仍实现了更高的性能。统计显著的结果用粗体标记。
在这里插入图片描述


3.8 计算与存储需求

所提模型的低复杂度使其在资源受限场景中极具优势,无论是模型训练还是部署于便携式设备均适用。即便无 GPU,训练 Little U-Net 和 Little W-Net 以达到 Table 2 中的性能也完全可行。在单块 GeForce RTX 2080 Ti GPU 上的训练时间如下:

  • Little U-Net:DRIVE(24 分钟)、CHASE-DB(22 分钟)、HRF(102 分钟);
  • Little W-Net:DRIVE(32 分钟)、CHASE-DB(30 分钟)、HRF(140 分钟)。

关于磁盘存储需求,Table 9 对比了所提模型与另外两种主流模型的 “参数数量 / 存储大小” 与性能关系。可见,性能已十分出色的 Little U-Net 存储仅需 161KB;性能最优的 W-Net 存储约为前者的 2 倍(325KB),仍远低于嵌入式 / 便携式设备的存储限制。需说明的是,由于采用了测试时增强(TTA)策略,所提模型的推理时间略长于其他高效方法。

表9. 几种视网膜血管分割模型的参数和内存需求与性能的对比。
在这里插入图片描述


4. 讨论

本文呈现的结果可能会让读者感到意外,值得进一步探讨。当前文献中,用于血管分割的 CNN 架构性能看似在稳步提升,为何一个更简单的方法却能超越多数最新提出的技术?例如,文献 [31] 中的方法采用类似架构但规模更大,且设计了专门处理细血管的改进损失函数,但其性能却不如小型 W-Net(Little W-Net)。我们认为,本研究方法之所以能取得成功,核心在于训练过程 —— 我们充分利用了循环学习率(cyclical learning rates)、基于独立验证集 AUC 的合理早停(early-stopping)、测试时增强(Test-Time Augmentation)等现代训练策略,而这些策略在我们看来理应成为该领域的标准实践。

需重点强调的是,本文并非宣称小型 W-Net 架构优于其他方法。相反,我们的核心观点是:在标准数据集上,眼底图像视网膜血管分割任务可通过简单模型成功完成,但这类模型的泛化能力往往较差。未来对该领域新方法的评估应更为审慎,我们建议采用前文详述的严谨评估协议。尤其需要注意的是,以往研究中常用的部分评估指标参考价值有限,应避免使用:例如,在类别高度不平衡的血管分割任务中,准确率(accuracy)并非有效衡量标准;而灵敏度(sensitivity)和特异度(specificity)难以用于判断一种方法是否优于另一种。我们认为,将 AUC(ROC 曲线下面积)、Dice 系数与马修斯相关系数(MCC)相结合,是该任务更优的性能评估方案。我们希望本文开源的所有代码能促进未来血管分割技术的可复现性研究与严谨基准测试。

另一个值得强调的问题是图像分辨率在血管分割中的作用。DRIVE 数据库作为最常用的基准数据集,其图像分辨率为 565×584,这与当前最先进眼底相机的分辨率相去甚远,也无法满足实际应用需求。正如文献 [68] 所指出的,若以该数据库的性能为导向开发新方法,会削弱更先进成像设备为该领域带来的技术优势。我们认为,DRIVE、STARE 等较早期的数据集已得到充分研究,未来研究应尽快转向现代高分辨率数据库。目前,数据稀缺已不再是该领域的挑战 —— 近期发布的部分数据库(如表 1 所示)虽特性丰富,但为了与以往方法对比,仍未得到广泛关注。我们在多源数据上的实验结果或可鼓励更多研究者向这一方向探索。需说明的是,在 CHASE-DB 和 HRF 数据库的实验中,我们的架构是在下采样图像(分辨率约为原始图像的一半)上训练的,尽管所有测试均通过 “后验上采样预测结果” 在原生分辨率下进行,但这仍是本研究的一个重要局限。本文结果为后续性能改进提供了良好基准,未来可通过设计 “能无缝处理可变分辨率的智能图像块(patch)方法” 或更先进的超分辨率技术进一步优化。

本文提出的轻量化模型具有重要的应用价值:小型 W-Net 的磁盘存储仅为 325KB,是部署于便携式设备的理想选择。同时,其参数数量少的特点使我们能够在标准 U-Net 基础上翻倍模型规模(即构建 W-Net),在实现显著性能提升的同时,仍保持可接受的计算成本。


5. 结论

本文围绕视网膜血管分割任务中 “是否有必要构建算法复杂的方法” 这一问题展开思考。当前,为在公开基准数据集上追求微小的性能提升并体现创新性,该领域近期提出的方法呈现出 “设计过度复杂流程” 的趋势,但这种复杂性对于完成视网膜血管分割任务而言可能并非必需。从本研究结果中可得出的首要结论是:有时 “奥卡姆剃刀原理”(即 “如无必要,勿增实体”)才是最优选择 —— 经过合理训练的轻量化模型,其性能与更复杂方法的性能差异并不显著。

另一个需重点强调的问题是,视网膜血管分割技术的评估亟需严谨性。若采用过于有利的训练 / 测试划分方式,或错误计算性能指标,会导致报告的指标虚高;这种做法不仅使公开基准数据集的性能趋于饱和,还会让人误以为视网膜血管分割是一项无挑战性的任务。然而,我们在多数据集上的实验结果表明,事实并非如此 —— 视网膜血管分割领域实为探索领域自适应技术的理想场景。原因有二:其一,基于源数据集训练的模型在异质目标数据集上测试时,性能会快速下降;其二,训练此类模型以实现高性能的成本低、速度快(如单块消费级 GPU 仅需约 20 分钟),这为快速验证新方法提供了便利。


6. Github 项目介绍

项目地址: github

在这里插入图片描述


关于视网膜血管分割与极简模型研究的官方代码库。

下图展示了一个WNet架构,它包含大约7万个参数,并且其性能与(或超越了)其他更复杂的技术相当接近。关于研究的更多细节,您可以查看相关论文:

The Little W-Net That Could: State-of-the-Art Retinal Vessel Segmentation with Minimalistic Models, Adrian Galdran, André Anjos, Jose Dolz, Hadi Chakor, Hervé Lombaert, Ismail Ben Ayed,https://arxiv.org/abs/2009.01907

在这里插入图片描述


6.1 依赖项与数据准备

首先,将此代码仓库克隆到计算机的某个位置:

git clone https://github.com/agaldran/lwnet.git

为保证完全可复现性,应使用 requirements.txt 文件中指定的配置。如果使用 conda,可通过一行命令安装依赖项,只需在终端中运行:

conda create --name lwnet --file environment.txt
conda activate lwnet

我们已尽力实现数据下载和准备的自动化,以确保一切都尽可能可复现。在本文使用的 10 个数据集中,有 7 个是公开的,只需运行以下命令即可获取:

python get_public_data.py

这将在 data 目录中创建 7 个子文件夹。如果一切顺利,data 中的每个子文件夹都以对应数据集的名称命名,且至少包含:

  • 3 个名为 images、mask、manual 的文件夹
  • 1 个名为 test_all.csv 的 csv 文件

如果该数据集在我们的研究中用于训练血管分割模型(DRIVE、CHASE-DB 和 HRF),还会找到:

  • 3 个名为 train.csv、val.csv、test.csv 的 csv 文件

如果该数据集还包含动静脉标注,还会看到:

  • 1 个名为 manual_av 的文件夹
  • 1 个名为 test_all_av.csv 的 csv 文件

如果该数据集在我们的研究中用于训练动静脉模型(DRIVE 和 HRF),还会找到:

  • 3 个名为 train_av.csv、val_av.csv、test_av.csv 的 csv 文件

注意:DRIVE 数据集还会包含一个名为 ZoneB_manual 的文件夹,用于评估视盘周围的动静脉性能。HRF 数据集还会包含名为 images_resized、manual_resized、mask_resized 的文件夹,这些仅用于训练。
注意:LES-AV 数据集仍是公开的,但现在需要手动下载,详情请参见 get_public_data.py 第 400 行及以后的注释。


6.2 训练用于血管分割的 W-Net

在给定数据集上训练模型。还需要提供保存模型的路径。注意,训练默认使用 CPU,由于我们的模型规模小,这是可行的。要复现论文表 2 中的结果,需运行:

python train_cyclical.py --csv_train data/DRIVE/train.csv --cycle_lens 20/50
                         --model_name wnet --save_path wnet_drive --device cuda:0
python train_cyclical.py --csv_train data/CHASEDB/train.csv --cycle_lens 40/50
                         --model_name wnet --save_path wnet_chasedb --device cuda:0
python train_cyclical.py --csv_train data/HRF/train.csv --cycle_lens 30/50
                         --model_name wnet --save_path wnet_hrf_1024
                         --im_size 1024 --batch_size 2 --grad_acc_steps 1 --device cuda:0

这将把模型权重分别存储在 experiments/wnet_drive、experiments/wnet_chasedb、experiments/wnet_hrf 中。

参数 cycle_lens 指定训练长度,会根据训练集中的图像数量进行调整。例如,在 DRIVE 的情况下,–cycle_lens 20/50 意味着我们训练 20 个周期,每个周期运行 50 个轮次。由于 CHASE-DB 的训练图像比 DRIVE 少(8 幅对 16 幅),在这种情况下我们将周期数加倍。

注意,我们默认使用的批大小为 4,并且在 HRF 上训练时使用 1024x1024 的图像尺寸。为了在单个 GPU 上训练,在这种情况下我们使用梯度累积。


6.3 生成分割结果

模型训练完成后,可调用 generate_results.py 并指定应使用的数据集来生成相应的分割结果:

python generate_results.py --config_file experiments/wnet_drive/config.cfg
                           --dataset DRIVE --device cuda:0
python generate_results.py --config_file experiments/wnet_chasedb/config.cfg
                           --dataset CHASEDB --device cuda:0
python generate_results.py --config_file experiments/wnet_hrf_1024/config.cfg
                           --dataset HRF --im_size 1024 --device cuda:0

上述命令会将这些数据集的预测结果分别存储在results/DRIVE/experiments/wnet_driveresults/CHASEDB/experiments/wnet_chasedbresults/HRF/experiments/wnet_hrf_1024 中。


6.4 计算性能

我们调用 analyze_results.py 来计算性能。在此处指定训练集和测试集非常重要。为此,需传入训练 / 测试预测的路径以及训练 / 测试数据集的名称:

python analyze_results.py --path_train_preds results/DRIVE/experiments/wnet_drive--path_test_preds results/DRIVE/experiments/wnet_drive--train_dataset DRIVE --test_dataset DRIVE
python analyze_results.py --path_train_preds results/CHASEDB/experiments/wnet_chasedb--path_test_preds results/CHASEDB/experiments/wnet_chasedb--train_dataset CHASEDB --test_dataset CHASEDB
python analyze_results.py --path_train_preds results/HRF/experiments/wnet_hrf_1024--path_test_preds results/HRF/experiments/wnet_hrf_1024--train_dataset HRF --test_dataset HRF

该代码使用每个数据集文件夹中的 csv 文件来检查应使用哪些图像在训练集上进行 AUC 分析,并找到用于测试集图像的最佳二值化阈值。


6.5 跨数据集实验

当模型在数据集 A(例如 DRIVE)上训练好,想要在数据集 B(例如 CHASE-DB)上测试时,首先在两个数据集上生成分割结果:

python generate_results.py --config_file experiments/wnet_drive/config.cfg
                           --dataset DRIVE  --device cuda:0
python generate_results.py --config_file experiments/wnet_drive/config.cfg
                           --dataset CHASEDB  --device cuda:0

然后计算性能:

python analyze_results.py --path_train_preds results/DRIVE/experiments/wnet_drive
                          --path_test_preds results/CHASEDB/experiments/wnet_drive
                          --train_dataset DRIVE --test_dataset CHASEDB

6.6 使用伪标签训练并计算性能

  1. 在源数据集(DRIVE)上训练模型;这将把模型存储在 experiments/wnet_drive 中
python train_cyclical.py --csv_train data/DRIVE/train.csv --cycle_lens 20/50
                         --model_name wnet --save_path wnet_drive
                         --device cuda:0
  1. 用该模型在目标数据集(CHASEDB)上生成预测;这将把预测结果存储在 results/CHASEDB/experiments/wnet_drive 中
python generate_results.py --config_file experiments/wnet_drive/config.cfg
                           --dataset CHASEDB --device cuda:0
  1. 在 DRIVE 的手动分割结果加上 CHASEDB 的伪分割结果上训练模型,以较低的学习率训练 1 个周期(10 个轮次),从在 DRIVE 上训练的模型权重开始。
    注意,在这种情况下,我们使用训练集上的 AUC 作为 checkpointing 标准。这种训练速度较慢,因为在每个周期结束时需要在大量图像上计算 AUC。在这种情况下,我们将新模型保存在名为 wnet_drive_chasedb_pl 的文件夹中:
python train_cyclical.py --save_path wnet_drive_chasedb_pl
                         --checkpoint_folder experiments/wnet_drive
                         --csv_test data/CHASEDB/test_all.csv
                         --path_test_preds results/CHASEDB/experiments/wnet_drive
                         --max_lr 0.0001 --cycle_lens 10/1 --metric tr_auc
                         --device cuda:0
  1. 用这个新模型在源数据集 DRIVE 上生成预测:
python generate_results.py --config_file experiments/wnet_drive_chasedb_pl/config.cfg
                           --dataset DRIVE --device cuda:0
  1. 在目标数据集 CHASEDB 上生成预测:
python generate_results.py --config_file experiments/wnet_drive_chasedb_pl/config.cfg
                           --dataset CHASEDB --device cuda:0
  1. 分析结果:我们使用 DRIVE 的预测来找到最佳阈值:
python analyze_results.py --path_train_preds results/DRIVE/experiments/wnet_drive
                          --path_test_preds results/CHASEDB/experiments/wnet_drive_chasedb_pl
                          --train_dataset DRIVE --test_dataset CHASEDB

6.7 评估自己的模型

我们也努力使评估协议易于使用。只需用自己的分割系统生成概率分割结果,并将训练 / 测试预测存储在名为 train_preds 和 trest_preds 的文件夹中。

注意:需要为测试数据集生成分割结果,也需要为训练数据集生成,我们用训练数据集来找到最佳阈值。然后可以调用我们的代码来计算性能。如果使用数据集 A 进行训练,并想在数据集 B 上测试,可运行:

python analyze_results.py --path_train_preds train_preds --path_test_preds test_preds
                          --train_dataset dataset_A --test_dataset dataset_B

务必使用与我们相同的训练 / 测试分割(查看相应数据集文件夹中的 csv 文件),否则可能会在训练数据上进行测试。此外,预测结果的名称应与相应视网膜图像的名称完全相同,但扩展名为.png(否则代码将无法找到它们)。


6.8 训练用于动静脉分割的 W-Net

在我们的研究中,我们在 DRIVE 和 HRF 上训练模型,并且在这项任务中使用更大的 W-Net。同样,HRF 在 1024x1024 的图像尺寸上进行训练:

python train_cyclical.py --csv_train data/DRIVE/train_av.csv --model_name big_wnet
                         --cycle_len 40/50 --do_not_save False --save_path big_wnet_drive_av
                         --device cuda:0
python train_cyclical.py --csv_train data/HRF/train_av.csv --model_name big_wnet
                         --cycle_len 40/50 --do_not_save False --save_path big_wnet_hrf_av_1024
                         --im_size 1024 --batch_size 2 --grad_acc_steps 1  --device cuda:0

6.9 生成动静脉分割结果

这与血管分割的情况类似,但改为调用 generate_av_results.py:

python generate_av_results.py --config_file experiments/big_wnet_drive_av/config.cfg
                              --dataset DRIVE --device cuda:0
python generate_av_results.py --config_file experiments/big_wnet_drive_av/config.cfg
                              --dataset LES_AV --device cuda:0

记住为生成 HRF 分割结果设置图像尺寸:

python generate_av_results.py --config_file experiments/big_wnet_hrf_av_1024/config.cfg
                              --dataset HRF --im_size 1024 --device cuda:0

6.10 在自己的数据上生成血管和动静脉分割结果

为了方便在新数据上生成分割结果,我们还在 experiments / 文件夹中提供了预训练权重,以及一个可在自己的图像上调用的脚本:

python predict_one_image.py --model_path experiments/wnet_drive/
                            --im_path folder/my_image.jpg
                            --result_path my_results/
                            --mask_path folder/my_mask.jpg
                            --device cuda:0
                            --bin_thresh 0.42

该脚本默认使用在 DRIVE 上训练的模型,也可以将其改为使用在 HRF 上训练的模型(分辨率更高但速度更慢,见下文)。可以选择性地传入 FOV 掩码的路径(如果不传入,代码会自动构建一个)、用于网络前向传播的设备(默认为 CPU)以及二值化阈值(默认设置为 DRIVE 训练集中的最佳值 0.42)。例如,如果想使用在 HRF 上训练的模型,需要更改图像尺寸和阈值,如下所示:

python predict_one_image.py --model_path experiments/wnet_hrf_1024/
                            --im_path folder/my_image.jpg
                            --result_path my_results/
                            --device cuda:0
                            --im_size 1024
                            --bin_thresh 0.3725

如果有兴趣生成动静脉分割结果,可以使用第二个名为 predict_one_image_av.py 的脚本。其用法非常相似(在 CPU 上,自动计算掩码):

python predict_one_image_av.py --model_path experiments/big_wnet_drive/
                              --im_path folder/my_image.jpg
                              --result_path my_results/

注意,在这种情况下不需要提供阈值,因为我们取概率的 argmax 来生成硬分割结果。

如果想使用在 HRF 上训练的模型(也已提供),其分辨率为 1024x1024,可运行:

python predict_one_image_av.py --model_path experiments/big_wnet_hrf_av_1024/ 
                               --im_path folder/my_image.jpg 
                               --result_path my_results/
                               --im_size 1024

使用该模型应该会得到更精细的动静脉轮廓(尽管准确性不一定更高),如果你的数据分辨率高于 DRIVE,这可能是理想的选择。


7. 参考文献

1. Staal, J., Abramoff, M., Niemeijer, M., Viergever, M. & van Ginneken, B. Ridge-based vessel segmentation in color images of the retina. IEEE Trans. Med. Imaging 23, 501–509. https:// doi. org/ 10. 1109/ TMI. 2004. 825627 (2004).
2. Fraz, M. M. et al. An ensemble classification-based approach applied to retinal blood vessel segmentation. IEEE Trans. Biomed. Eng. 59, 2538–2548. https:// doi. org/ 10. 1109/ TBME. 2012. 22056 87 (2012).
3. Budai, A., Bock, R., Maier, A., Hornegger, J. & Michelson, G. Robust vessel segmentation in fundus images. Int. J. Biomed. Imaging. https:// doi. org/ 10. 1155/ 2013/ 154860 (2013).
4. Hoover, A., Kouznetsova, V. & Goldbaum, M. Locating blood vessels in retinal images by piecewise threshold probing of a matched filter response. IEEE Trans. Med. Imaging 19, 203–210. https:// doi. org/ 10. 1109/ 42. 845178 (2000).
5. Orlando, J. I. et al. Towards a glaucoma risk index based on simulated hemodynamics from fundus images. In Medical Image Computing and Computer Assisted Intervention—MICCAI 2018 (eds Frangi, A. F. et al.) 65–73 (Springer, 2018). https:// doi. org/10. 1007/ 978-3- 030- 00934-2_8.
6. Zhang, J. et al. Robust retinal vessel segmentation via locally adaptive derivative frames in orientation scores. IEEE Trans. Med. Imaging 35, 2631–2644. https:// doi. org/ 10. 1109/ TMI. 2016. 25870 62 (2016).
7. Holm, S., Russell, G., Nourrit, V. & McLoughlin, N. DR HAGIS-a fundus image database for the automatic extraction of retinal surface vessels from diabetic patients. J. Med. Imaging (Bellingham, Wash.). https:// doi. org/ 10. 1117/1. JMI.4. 1. 014503 (2017).
8. Estrada, R. et al. Retinal artery-vein classification via topology estimation. IEEE Trans. Med. Imaging 34, 2518–2534. https:// doi. org/ 10. 1109/ TMI. 2015. 24431 17 (2015).
9. Prentašić, P. et al. Diabetic retinopathy image database(DRiDB): A new database for diabetic retinopathy screening programs research. In 2013 8th International Symposium on Image and Signal Processing and Analysis (ISPA), 711–716. https:// doi. org/ 10. 1109/ ISPA. 2013. 67038 30 (2013). ISSN: 1845-5921.
10. Chalakkal, R. J., Abdulla, W. H. & Sinumol, S. Comparative analysis of University of Auckland Diabetic Retinopathy Database. In Proceedings of the 9th International Conference on Signal Processing Systems, ICSPS 2017, 235–239. https:// doi. org/ 10. 1145/ 31630 80. 31630 87 (Association for Computing Machinery, Auckland, New Zealand, 2017).
11. Niemeijer, M. et al. Automated measurement of the arteriolar-to-venular width ratio in digital color fundus photographs. IEEE Trans. Med. Imaging 30, 1941–1950. https:// doi. org/ 10. 1109/ TMI. 2011. 21596 19 (2011).
12. Welikala, R. A. et al. Automated retinal image quality assessment on the UK Biobank dataset for epidemiological studies. Comput. Biol. Med. 71, 67–76. https:// doi. org/ 10. 1016/j. compb iomed. 2016. 01. 027 (2016).
13. Chen, L., Huang, X. & Tian, J. Retinal image registration using topological vascular tree segmentation and bifurcation structures. Biomed. Signal Process. Control 16, 22–31. https:// doi. org/ 10. 1016/j. bspc. 2014. 10. 009 (2015).
14. Costa, P. et al. End-to-end adversarial retinal image synthesis. IEEE Trans. Med. Imaging 37, 781–791. https:// doi. org/ 10. 1109/TMI. 2017. 27591 02 (2018).
15. Zana, F. & Klein, J.-C. Segmentation of vessel-like patterns using mathematical morphology and curvature evaluation. IEEE Trans. Image Process. 10, 1010–1019. https:// doi. org/ 10. 1109/ 83. 931095 (2001).
16. Mendonca, A. & Campilho, A. Segmentation of retinal blood vessels by combining the detection of centerlines and morphological reconstruction. IEEE Trans. Med. Imaging 25, 1200–1213. https:// doi. org/ 10. 1109/ TMI. 2006. 879955 (2006).
17. Frangi, A. F., Niessen, W. J., Vincken, K. L. & Viergever, M. A. Multiscale vessel enhancement filtering. In Medical Image Computing and Computer-Assisted Intervention—MICCAI’98 (eds Wells, W. M. et al.) 130–137 (Springer, 1998). https:// doi. org/ 10. 1007/BFb00 56195.
18. Azzopardi, G., Strisciuglio, N., Vento, M. & Petkov, N. Trainable COSFIRE filters for vessel delineation with application to retinal images. Med. Image Anal. 19, 46–57. https:// doi. org/ 10. 1016/j. media. 2014. 08. 002 (2015).
19. Soares, J., Leandro, J., Cesar, R., Jelinek, H. & Cree, M. Retinal vessel segmentation using the 2-D Gabor wavelet and supervised classification. IEEE Trans. Med. Imaging 25, 1214–1222. https:// doi. org/ 10. 1109/ TMI. 2006. 879967 (2006).
20. Marín, D., Aquino, A., Gegundez-Arias, M. E. & Bravo, J. M. A new supervised method for blood vessel segmentation in retinal images by using gray-level and moment invariants-based features. IEEE Trans. Med. Imaging 30, 146–158. https:// doi. org/ 10. 1109/TMI. 2010. 20643 33 (2011).
21. Becker, C., Rigamonti, R., Lepetit, V. & Fua, P. Supervised feature learning for curvilinear structure segmentation. In Medical Image Computing and Computer-Assisted Intervention—MICCAI 2013 (eds Mori, K. et al.) 526–533 (Springer, 2013). https:// doi. org/ 10.1007/ 978-3- 642- 40811-3_ 66.
22. Orlando, J. I., Prokofyeva, E. & Blaschko, M. B. A discriminatively trained fully connected conditional random field model for blood vessel segmentation in fundus images. IEEE Trans. Bio-med. Eng. 64, 16–27. https:// doi. org/ 10. 1109/ TBME. 2016. 25353 11(2017).
23. Liskowski, P. &  Krawiec, K. Segmenting retinal blood vessels with deep neural networks. IEEE Trans. Med. Imaging 35, 2369–2380.https:// doi. org/ 10. 1109/ TMI. 2016. 25462 27 (2016).
24. Maninis, K.-K., Pont-Tuset, J., Arbeláez, P. & Van Gool, L. Deep retinal image understanding. In Medical Image Computing and Computer-Assisted Intervention—MICCAI 2016 (eds Ourselin, S. et al.) 140–148 (Springer, 2016). https:// doi. org/ 10. 1007/ 978-3-319- 46723-8_ 17.
25. Fu, H., Xu, Y., Lin, S., Kee Wong, D. W. & Liu, J. DeepVessel: Retinal vessel segmentation via deep learning and conditional random field. In Medical Image Computing and Computer-Assisted Intervention—MICCAI 2016 (eds Ourselin, S. et al.) 132–139 (Springer, 2016). https:// doi. org/ 10. 1007/ 978-3- 319- 46723-8_ 16.
26. Shin, S. Y., Lee, S., Yun, I. D. & Lee, K. M. Deep vessel segmentation by learning graphical connectivity. Med. Image Anal. 58, 101556. https:// doi. org/ 10. 1016/j. media. 2019. 101556 (2019).
27. Guo, Y. & Peng, Y. BSCN: Bidirectional symmetric cascade network for retinal vessel segmentation. BMC Med. Imaging 20, 20. https:// doi. org/ 10. 1186/ s12880- 020- 0412-7 (2020).
28. Fan, Z. et al. Accurate retinal vessel segmentation via octave convolution neural network. (2019). arXiv: 1906. 12193.
29. Wang, K., Zhang, X., Huang, S., Wang, Q. & Chen, F. CTF-Net: Retinal vessel segmentation via deep coarse-to-fine supervision network. In 2020 IEEE 17th International Symposium on Biomedical Imaging (ISBI), 1237–1241. https:// doi. org/ 10. 1109/ ISBI4 5749. 2020. 90987 42 (2020). ISSN: 1945-8452.
30. Cherukuri, V., Kumar, B. G., Bala, V. R. & Monga, V. Deep retinal image segmentation with regularization under geometric priors. IEEE Trans. Image Process. 29, 2552–2567. https:// doi. org/ 10. 1109/ TIP. 2019. 29460 78 (2020).
31. Yan, Z., Yang, X. & Cheng, K.-T. Joint segment-level and pixel-wise losses for deep learning based retinal vessel segmentation. IEEE Trans. Biomed. Eng. 65, 1912–1923. https:// doi. org/ 10. 1109/ TBME. 2018. 28281 37 (2018).
32. Ronneberger, O., Fischer, P. & Brox, T. U-Net: Convolutional networks for biomedical image segmentation. In Medical Image Computing and Computer-Assisted Intervention—MICCAI 2015 (eds Navab, N. et al.) 234–241 (Springer, 2015). https:// doi. org/34. 1007/ 978-3- 319- 24574-4_ 28.
33. Yan, Z., Yang, X. & Cheng, K.-T. A three-stage deep learning model for accurate retinal vessel segmentation. IEEE J. Biomed. Health Inform. 23, 1427–1436. https:// doi. org/ 10. 1109/ JBHI. 2018. 28728 13 (2019).
34. Mou, L. et al. Dense dilated network with probability regularized walk for vessel detection. IEEE Trans. Med. Imaging 39, 1392–37. https:// doi. org/ 10. 1109/ TMI. 2019. 29500 51 (2020).
35. Zhao, H., Li, H. & Cheng, L. Improving retinal vessel segmentation with joint local loss by matting. Pattern Recogn. 98, 107068. https:// doi. org/ 10. 1016/j. patcog. 2019. 107068 (2020).
36. Zhang, Y. & Chung, A. C. S. Deep supervision with additional labels for retinal vessel segmentation task. In Medical Image Computing and Computer Assisted Intervention–MICCAI 2018 (eds Frangi, A. F. et al.) 83–91 (Springer, 2018). https:// doi. org/ 10. 1007/ 978-3- 030- 00934-2_ 10.
37. Lahiri, A., Ayush, K., Kumar Biswas, P. & Mitra, P. Generative adversarial learning for reducing manual annotation in semantic segmentation on large scale miscroscopy images: Automated vessel segmentation in retinal fundus image as test case. In 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 42–48. https:// doi. org/ 10. 1109/ CVPRW. 2017. 110(2017).
38. Son, J., Park, S. J. & Jung, K.-H. Towards accurate segmentation of retinal vessels and the optic disc in fundoscopic images with generative adversarial networks. J. Digit. Imaging 32, 499–512. https:// doi. org/ 10. 1007/ s10278- 018- 0126-3 (2019).
39. Zhao, H. et al. Supervised segmentation of un-annotated retinal fundus images by synthesis. IEEE Trans. Med. Imaging 38, 46–56. https:// doi. org/ 10. 1109/ TMI. 2018. 28548 86 (2019).
40. Park, K.-B., Choi, S. H. & Lee, J. Y. M-GAN: Retinal blood vessel segmentation by balancing losses through stacked deep fully convolutional networks. IEEE Access.https:// doi. org/ 10. 1109/ ACCESS. 2020. 30151 08 (2020).
41. Argüello, F., Vilariño, D. L., Heras, D. B. & Nieto, A. GPU-based segmentation of retinal blood vessels. J. Real-Time Image Proc. 14, 773–782. https:// doi. org/ 10. 1007/ s11554- 014- 0469-z (2018).
42. Bibiloni, P., González-Hidalgo, M. & Massanet, S. A real-time fuzzy morphological algorithm for retinal vessel segmentation. J. Real-Time Image Proc. 16, 2337–2350. https:// doi. org/ 10. 1007/ s11554- 018- 0748-1 (2019).
43. Xu, X. et al. Smartphone-based accurate analysis of retinal vasculature towards point-of-care diagnostics. Sci. Rep. 6, 34603. https://doi. org/ 10. 1038/ srep3 4603 (2016).
44. Laibacher, T., Weyde, T. & Jalali, S. M2U-Net: Effective and efficient retinal vessel segmentation for real-world applications. In 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 115–124. https:// doi. org/ 10. 1109/CVPRW. 2019. 00020 (2019). ISSN: 2160-7516.
45. Sandler, M., Howard, A. G., Zhu, M., Zhmoginov, A. & Chen, L.-C. MobileNetV2: Inverted residuals and linear bottlenecks. In 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition 4510–4520. https:// doi. org/ 10. 1109/ CVPR. 2018. 00474(2018).
46. Havaei, M. et al. Brain tumor segmentation with deep neural networks. Med. Image Anal. 35, 18–31. https:// doi. org/ 10. 1016/j.media. 2016. 05. 004 (2017).
47. Kouw, W. M. & Loog, M. A review of domain adaptation without target labels. IEEE Trans. Pattern Anal. Mach. Intell.https:// doi.org/ 10. 1109/ TPAMI. 2019. 29459 42 (2019).
48. Oliveira, A., Pereira, S. & Silva, C. A. Retinal vessel segmentation based on fully convolutional neural networks. Expert Syst. Appl. 112, 229–242. https:// doi. org/ 10. 1016/j. eswa. 2018. 06. 034 (2018).
49. Xu, X., Ding, W., Abràmoff, M. D. & Cao, R. An improved arteriovenous classification method for the early diagnostics of various diseases in retinal image. Comput. Methods Programs Biomed. 141, 3–9. https:// doi. org/ 10. 1016/j. cmpb. 2017. 01. 007 (2017).
50. Zhuo, Z., Huang, J., Lu, K., Pan, D. & Feng, S. A size-invariant convolutional network with dense connectivity applied to retinal vessel segmentation measured by a unique index. Comput. Methods Programs Biomed. 196, 105508. https:// doi. org/ 10. 1016/j.cmpb. 2020. 105508 (2020).
51. Chicco, D. & Jurman, G. The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation. BMC Genom. 21, 6. https:// doi. org/ 10. 1186/ s12864- 019- 6413-7 (2020).
52. Gu, L., Zhang, X., Zhao, H., Li, H. & Cheng, L. Segment 2D and 3D filaments by learning structured and contextual features. IEEE Trans. Med. Imaging 36, 596–606. https:// doi. org/ 10. 1109/ TMI. 2016. 26233 57 (2017).
53. Wu, Y., Xia, Y., Song, Y., Zhang, Y. & Cai, W. Multiscale network followed network model for retinal vessel segmentation. In Medical Image Computing and Computer Assisted Intervention—MICCAI 2018 (eds Frangi, A. F. et al.) 119–126 (Springer, 2018). https://doi. org/ 10. 1007/ 978-3- 030- 00934-2_ 14.
54. Wang, X. & Jiang, X. Retinal vessel segmentation by a divide-and-conquer funnel-structured classification framework. Sig. Process. 165, 104–114. https:// doi. org/ 10. 1016/j. sigpro. 2019. 06. 018 (2019).
55. Wang, B., Qiu, S. & He, H. Dual encoding U-Net for retinal vessel segmentation. In Medical Image Computing and Computer Assisted Intervention—MICCAI 2019 (eds Shen, D. et al.) (Springer, 2019). https:// doi. org/ 10. 1007/ 978-3- 030- 32239-7_ 10.
56. Araújo, R. J., Cardoso, J. S. & Oliveira, H. P. A deep learning design for improving topology coherence in blood vessel segmentation. In Medical Image Computing and Computer Assisted Intervention–MICCAI 2019 (eds Shen, D. et al.) 93–101 (Springer, 2019). https:// doi. org/ 10. 1007/ 978-3- 030- 32239-7_ 11.
57. Fu, W., Breininger, K., Schaffert, R., Ravikumar, N. & Maier, A. A divide-and-conquer approach towards understanding deep networks. In Medical Image Computing and Computer Assisted Intervention—MICCAI 2019 (eds Shen, D. et al.) 183–191 (Springer, 2019). https:// doi. org/ 10. 1007/ 978-3- 030- 32239-7_ 21.
58. Wang, X., Jiang, X. & Ren, J. Blood vessel segmentation from fundus image by a cascade classification framework. Pattern Recogn. 88, 331–341. https:// doi. org/ 10. 1016/j. patcog. 2018. 11. 030 (2019).
59. Gu, Z. et al. CE-Net: Context encoder network for 2d medical image segmentation. IEEE Trans. Med. Imaging 38, 2281–2292. https:// doi. org/ 10. 1109/ TMI. 2019. 29035 62 (2019).
60. Galdran, A., Meyer, M., Costa, P., MendonÇa & Campilho, A. Uncertainty-Aware Artery/Vein Classification on Retinal Images. In 2019 IEEE 16th International Symposium on Biomedical Imaging (ISBI 2019), 556–560. https:// doi. org/ 10. 1109/ ISBI. 2019. 87593 80 (2019). ISSN: 1945-8452.
61. Hemelings, R. et al. Artery-vein segmentation in fundus images using a fully convolutional network. Comput. Med. Imaging Graph. 76, 101636. https:// doi. org/ 10. 1016/j. compm edimag. 2019. 05. 004 (2019).
62. Ma, Y. et al. ROSE: A retinal OCT-angiography vessel segmentation dataset and new model. IEEE Trans. Med. Imaginghttps:// doi. org/ 10. 1109/ TMI. 2020. 30428 02 (2020).
63. Zhao, Y., Rada, L., Chen, K., Harding, S. P. & Zheng, Y. Automated vessel segmentation using infinite perimeter active contour model with hybrid region information with application to retinal images. IEEE Trans. Med. Imaging 34, 1797–1807. https:// doi.org/ 10. 1109/ TMI. 2015. 24090 24 (2015).
64. Mou, L. et al. CS-Net: Channel and spatial attention network for curvilinear structure segmentation. In Medical Image Computing and Computer Assisted Intervention–MICCAI 2019 (eds Shen, D. et al.) 721–730 (Springer, 2019). https:// doi. org/ 10. 1007/ 978-3- 030- 32239-7_ 80.
65. Zhang, J. et al. 3D shape modeling and analysis of retinal microvasculature in OCT-angiography images. IEEE Trans. Med. Imaging 39, 1335–1346. https:// doi. org/ 10. 1109/ TMI. 2019. 29488 67 (2020).
66. Samuelson, F. & Petrick, N. Comparing image detection algorithms using resampling. In 3rd IEEE International Symposium on Biomedical Imaging: Nano to Macro, 2006., 1312–1315.https:// doi. org/ 10. 1109/ ISBI. 2006. 16251 67 (2006). ISSN: 1945-8452.
67. Bria, A., Marrocco, C. & Tortorella, F. Addressing class imbalance in deep learning for small lesion detection on medical images. Comput. Biol. Med. 120, 103735. https:// doi. org/ 10. 1016/j. compb iomed. 2020. 103735 (2020).
68. Mookiah, M. R. K. et al. A review of machine learning methods for retinal blood vessel segmentation and artery/vein classification. Med. Image Anal. 68, 101905. https:// doi. org/ 10. 1016/j. media. 2020. 101905 (2021).

引用格式: Galdran, A., Anjos, A., Dolz, J. et al. State-of-the-art retinal vessel segmentation with minimalistic models. Sci Rep 12, 6174 (2022). https://doi.org/10.1038/s41598-022-09675-y

版权说明:
youcans@xidian 作品,转载必须标注原文链接:
【医学影像 AI】用轻量化 U-Net 模型实现视网膜血管分割(https://youcans.blog.csdn.net/article/details/154312166)
Crated:2025-11

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐