Failure Detection
Comparative Benchmarking of Failure Detection Methods in Medical Image Segmentation: Unveiling the Role of Confidence Aggregation
医学图像分割中失败检测方法的比较基准研究:揭示置信度聚合的作用
这篇论文研究的是:如何判断医学分割模型什么时候会失败,并系统比较不同判断方法,其中重点分析"如何把像素级置信度信息汇总成一个整体可靠性评分"的作用
| 方法 | 思想 |
|---|---|
| Entropy | 看模型是否犹豫 |
| MC Dropout | 看多次预测是否一致 |
| Deep Ensemble | 多个模型是否一致 |
| Quality Regression | 直接预测mask质量 |
| OOD detection | 判断是否偏离训练数据 |
论文指出,过去不同工作使用不同任务定义和评价指标,导致方法难以公平比较,因此他们提出统一benchmark
医学分割模型通常输出:每个像素的置信度。
但是问题:临床需要知道:"整个病例可靠吗?"
所以需要:Confidence Aggregation(置信度聚合)
也就是:把:几万个像素的confidence变成一个整体分数。
该论文研究医学图像分割中的可靠性问题,提出系统性的Failure Detection Benchmark,通过比较不同置信度估计与聚合方法,分析模型能否提前识别潜在失败预测,并利用Risk-Coverage评价其实际安全价值
Medical Image Analysis 2024
这篇论文不是做 intervention(纠正),而是做 failure detection(失败检测)
也就是说,它解决的是:"模型什么时候会失败?"
这篇论文首先指出:虽然深度学习医学分割模型在很多数据集表现很好,但是在真实临床环境中,模型仍然会产生错误分割,不能盲目信任预测结果。
如果进入后续任务:
-
肿瘤体积计算
-
放疗规划
-
临床分析
可能造成问题。
所以他们提出需要一个额外模块:Failure Detection
核心思想
传统医学分割:
Image
↓
Segmentation
↓
Output mask
问题:
模型不知道:"这个mask可靠吗?"
所以增加:
Image
↓
Segmentation
↓
Confidence score
↓
Accept / Reject
也就是给每一个预测一个可信度。
论文定义:
一个 confidence scoring function:
输入:
-
image
-
prediction
-
segmentation model
输出:confidence score κ
高confidence:接受预测。低confidence:拒绝或者人工检查。
论文核心问题:How to detect segmentation failures?
他们比较了很多failure detection方法。
主要分三类:
方法1:Uncertainty estimation(不确定性估计)
例如:Entropy模型预测概率:
如果:
foreground 0.5
background 0.5
说明:模型不确定。
MC Dropout
测试阶段打开dropout:多次预测:
Prediction 1
Prediction 2
Prediction 3
...
如果差异大,说明:模型不稳定。
方法2:Quality Regression(质量预测)
直接预测:这个mask Dice是多少?
方法3:OOD Detection
例如:Mahalanobis distance。
判断:测试样本是否偏离训练分布。
但是论文指出:OOD detection ≠ Failure detection
因为:一个样本可能OOD但是分割正确。或者:ID但是分割失败。
最大的贡献:Risk-Coverage分析
他们认为过去评价failure detection有问题:
很多只看:
-
AUROC
-
correlation
但是没有考虑:实际系统性能。
所以提出:Risk-Coverage Curve
思想:
模型有权选择:接受哪些预测。拒绝哪些预测。
例如:confidence高:接受。confidence低:拒绝。
形成:
Coverage ↑
Risk ↓
论文认为:risk-coverage analysis能够同时考虑:
-
confidence ranking
-
segmentation performance
并提出AURC作为综合指标。
摘要
语义分割是医学图像分析研究中的重要组成部分。近年来,随着深度学习算法的发展,医学图像分割模型已经能够在不同数据集上实现较好的开箱即用(out-of-the-box)应用效果。
然而,尽管取得了这些进展,分割失败问题仍然是实际临床应用中的重要挑战,因此需要可靠的失败检测机制来识别潜在错误。
本文提出了一个全面的基准评测框架(comprehensive benchmarking framework),用于系统评估医学图像分割中的失败检测方法。
通过分析不同方法,本文揭示了当前失败检测评价指标的优势与局限性,并提出将**风险-覆盖率分析(risk-coverage analysis)**作为一种更加全面的评价方式。
作者利用由五个公开三维医学图像数据集组成的综合数据集合,在真实的测试阶段分布偏移(test-time distribution shifts)条件下,评估了多种失败检测策略的有效性。
实验结果表明:
像素级置信度聚合(pixel confidence aggregation)在失败检测中具有重要作用。
其中,基于模型集成预测之间的**两两Dice相似度(pairwise Dice score)**方法表现优异,证明其是一种简单且具有鲁棒性的医学图像分割失败检测基准方法。
为了推动后续研究,本文进一步公开了该失败检测基准评测框架,供研究社区使用。
图一
图1:本文研究问题与贡献的概述。基于图像级故障检测任务的正式定义,我们界定了评估协议所需满足的要求;对现有故障检测指标进行了比较,并确定风险覆盖分析是一种合适的评估协议;随后,我们提出了一个用于医学图像分割中故障检测的基准测试框架,该框架包含了一个多样化的三维医学图像数据集集合;同时,我们对比了广泛的相关方法,包括针对图像级置信度和聚合像素置信度的研究方向------这些方面此前大多仅在独立研究层面展开。

这张图总结了这篇论文:
-
什么是医学分割中的 Failure Detection(失败检测)?
-
如何评价 Failure Detection 方法?
-
如何建立统一 Benchmark 比较不同方法?
-
如何让失败检测任务定义符合实际临床需求?
医学分割模型输出结果以后,实际应该做什么?
模型输出以后,我们不知道这个结果可靠吗?
所以加入:Confidence scoring(置信度评分)
除了输出mask,还输出一个可信度分数。
然后和阈值比较
如果置信度 > 阈值,那么accept接受这个预测。
如果置信度 ≤ 阈值,那么reject拒绝这个预测。
-
什么评价方法能够真正反映失败检测任务?
-
定义预测风险
Dice越高,说明分割越好,风险越低
-
Confidence和Risk关系
理想情况:右侧高confidence应该对应低risk。
但是实际有些confidence高,risk也高。
说明:模型很自信但是错了。
-
Risk-Coverage Analysis
作者提出:不要只看confidence是否准确。
而要看,如果我们选择接受多少样本,剩余风险是多少?
Coverage=50%表示:保留50%的预测,那么这些预测平均风险是多少?
形成:Risk-Coverage Curve。
曲线越低越好
AURC就是Risk-Coverage曲线面积。
越低说明模型越会挑选可靠预测
-
-
哪一种方法能够在不同医学数据集上泛化?
作者提出建立统一Benchmark。
他们收集多个医学3D数据集
并测试不同confidence方法
-
像素级置信度 + 聚合
-
图像级置信度
-
问题:
医学分割会失败
↓
需要知道什么时候不能相信模型
↓
提出Failure Detection
↓
Segmentation
+
Confidence
↓
Accept / Reject
↓
如何评价?
Risk-Coverage + AURC
↓
建立Benchmark
比较:
Pixel confidence aggregation
vs
Image confidence
在多个医学数据集上的表现
表一
表1:分割失败检测的度量指标比较。其中, AURC 是唯一能反映分割性能和置信度排序的度量指标,我们认为这对于全面评估故障检测系统至关重要。关于各列所涉及的要求(R1--R3)的详细讨论见第2节。f- AUROC 使用二元故障标签。MAE:平均绝对误差;PC:皮尔逊相关系数;SC:斯皮尔曼相关系数。

医学图像分割失败检测应该用什么评价指标?为什么作者最终选择 AURC(Area Under Risk-Coverage Curve)?
只有 AURC 同时考虑:
-
模型置信度排序能力;
-
分割结果本身的质量;
-
不同风险定义。
因此最适合作为 failure detection 的评价指标
表二
表2:本研究中所使用的数据集汇总表。"#Testing"列中,测试集各子集的案例编号以逗号分隔排列,顺序始于分布内测试划分,随后依次为偏移后的"域"。类别数量中已包含一个背景类别的计数。

作者如何构建一个能够真实测试医学分割模型失败检测能力的数据环境?
不能只在一个数据集、一个医院、一个分布内测试,而应该加入真实世界中的数据分布变化(distribution shift)
图二
图2:单个U-Net模型在测试集上的分割性能。方框内显示中位数和 IQR 值,而须线分别延伸至第5和第95百分位数。每个数据集均包含来自与训练集相同分布的样本(内部分布,ID)以及来自不同数据分布的样本(数据集偏移),这些样本具有相同的待分割结构。通常,模型在内部分布样本上的性能优于在分布偏移样本上的性能;但对于肾脏肿瘤(缺乏数据集偏移)和COVID-19数据集,仍存在若干内部分布下的失败案例。

Failure Detection论文中证明"为什么需要失败检测(Failure Detection)"的实验结果
医学分割模型在面对真实世界的数据变化时,会不会失败?失败是否只发生在分布偏移(domain shift)情况下?