1、引言
基于影像的诊断决策一般都是基于完整的对象,而非独立的像素。那医学目标检测也依旧是识别和定位,分割方法可以认为是目标检测任务的下游任务,假如已经学习到较好的特征提取器,分割任务在后续操作可能会降低之前提取信息的优点。
与U-Net分割网络相比,目标检测架构多了一个额外的检测头进行扩展 ,该检测头油多个损失函数:采样策略(hard negative mining)、bbox的大小、密度、anchors,以及预测时bbox的合并策略(weighted box clustering);这些复杂的操作导致分割方法关注度更高,而医学目标检测算法实际上很少有人提及。
参照nnUNet的设计思路,nnDetection在Retina U-Net基础上进行扩展,自动的生成网络结果。作者对比检测效果的时候,通过将nnunet扩展成目标检测,来和nnDetection进行对比。
a framework for novel methodological work,
2 方法
the configuration of entire object detection pipelines
参数化 | 描述 |
---|---|
resample策略 | Image:和nnU-Net策略一样 ; |
Annotation:最近邻重采样 | |
Network Topology | |
FPN Levels | |
Patch Size | 用数据集各向异性anisotropic轴的中值作为patch size各向异性anisotric轴的初始值;数据集中各向同性的轴的最小值作为patch size各向同性isotropic轴的初始值。 |
patch size随着network architecture和feature pyramid network levels增大而减小,直到充分利用显存。 | |
batch size固定为4 | |
Anchor Optimization | anchor sizes是通过最大化IoU(从训练集中提取的给定object size的最佳拟合anchor) 来确定的。通过差分进化differential evolution对每个轴的三个anchor size进行优化 |
低分辨率模型 | 如果沿任何轴的99.5百分位object size超过全分辨率模型的patch size,则会触发低分辨率配置,如果低分辨率被触发,则target spacing 就会增加一倍,以容纳个多的上下文信息 |
架构模板 | Retina U-Net,编码器由普通卷积plain convolutions、ReLU和instance normalization blocks组成。用于anchor classification和regression的检测头detection head由3个与convolutions with group norm组成。 |
anchor matching | 自适应训练样本选择(adaptive training sample selection, ATSS)用于匹配anchors和ground truth box。anchor box的中心不需要位于ground truth box内。 |
Loss Functions | Detection Branch:为了平衡positive和negative anchors,在选择1/3 positive anchors和2/3 negative anchors时使用hard negative mining。用二元交叉熵Binary Cross-Entropy损失训练分类classification分支,用广义IoU损失进行锚点回归regression。 |
Segmentation Branch:分割分支使用Dice和Cross-Entropy损失进行训练,以区分前景和背景像素 | |
Optimizer & Learning Rate | 所有配置都训练了60个epoch,每个epoch有2500个mini batches size,其中一半的批次强制包含至少一个object。使用Nesterov momentum 0.9的SGD。在训练开始时,在最初的4000次迭代中,learning rate从1e-6线性上升到1e-2。poly learning rate一直使用到epoch 50。最后10个epochs在每个epoch以cyclie learning rate在1e-3和1e-6之间波动进行训练。我们在每个epoch后对模型权重进行快照snapshot,用于随机加权平均stochastic weight averaging |
Data augmentation | 使用与nnU-Net相同的增强策略,而不模拟低分辨率样本。 |
empirical parameter optimization | 通过在验证集上进行性能评估,对推断过程中需要的参数进行经验优化,包括NMS的IoU阈值、WBC的IoU阈值、模型预测的最小概率、最小的object size |
model selection | 如果触发了低分辨率模型,那么测试集将只使用五折交叉验证确定的最佳模型 |
nnDetection development:仿照nnU-Net设计原理,在10个数据上找到最优的固定、基于规则和经验的参数。
Fixed Parameters:Retina U-Net作为架构模板(构建在retian网络上,支持像素记得标注),通过rule-based参数调整精确的拓扑结构:kernel sizes、 pooling strides、 number of pooling operations,为了考虑不同数据集上的network configuration和object sizes,作者使用自适应训练样本选择进行anchor matching;但是作者弃用了selected anchors 必须在ground truth box中心的选择,因为作者发现这会导致small objects的positive anchors被移除。另外作者发现每个位置的anchors从1增加到27,改善了检测结果,特别是在object很少的数据集上。
rule-base parameter:与nnU-Net相比,data fingerprint中额外提取了object size 信息,与nnU-Net相同的是,也是迭代优化的过程确定网络拓扑结构:kernel size、pooling strides、number of pooling operations,为了让训练更稳定,作者将batch size固定为4;当object特别大,或图像分辨率特高的数据,导致object上下文缺失,因此会触发一个额外的低分辨率模型。寻找最合适的anchor是医学目标检测任务最重要的设计选择之一,Zlocha迭代最大化anchor和ground-truth boxes之间的(intersection over union, IoU)。本文与之相反,由于样本数较多,在训练划分而不是在检测划分上执行这种优化,可以得到更稳健的anchor配置。作者为每个轴选择合适的三个anchor size,并使用euclidean product,以产生最终的一组anchor在最好分辨率金字塔等级的detection head上操作。
empirical parameter:目标检测模型的后处理主要是处理clustering overlapping bbox预测。因为bbox的来源不同,因此才会产生重叠,dense anchors的固有overlap有Non-maximum Suppression (NMS),由于显存的限制,nnDetection使用overlapping patches的sliding windows inference。相邻的patches overlap使用NMS,overlap在patch中心的权重高于边缘权重。为了从多个模态或者不同的测试时间扩增中聚类预测,使用了Weighted Box Clustering。经验参数只在测试时使用,在验证集上进行经验优化。由于经验参数的相互依赖,nnDetection按照预定义的参数初始化,并按照上图的顺序依次优化。如果低分辨率模型被触发,最优的模型将在验证集上测试选出。
nnDetection 运用:网络的训练计划是自动配置的。nnDetection首先会提取data fingerprint,并使用启发式的规则决定rule-base parameter;然后全分辨率或者低分辨率网络经过five-fold cross-validation。训练完成后,empirical parameter 被确定,并且最后的预测由五个模型的预测组合而成,这些模型是由经验选择的配置的交叉验证得到的。也就是训练完五个网络后,最后预测的结构由这五个网络的预测加权得到。
nnU-Net作为目标检测baseline:nnU-Net Basic作为nnU-Net极限,反映了聚合像素预测方法:在softmax预测中应用Argmax,然后对每个前景类进行联通组件分析,最后每个组件的object score作为分配类别的最大像素softmax score。
**nnU-Net Plus**:为了尽可能公平的比校,作者基于每个独立任务的训练数据,经验的选择后处理参数来增强基线:将argmax替换成softmax评分的component最小阈值,每个object的最小像素数的阈值,以及聚合方法的选择(max、mean、median、95%位数),在LIDC(肺结节)上的实验中,作者观察到nnU-Net手链问题,因此确定了Dice loss数值常数,并同构删除这些数值而显著改善结果。
3、实验和结果
提出用于医学目标检测的benchmark。最近强有力的证据证明在大型多样化数据集池上评估分割方法的重要性。这一要求源于有限数据集大小导致的评估指标波动volatility of evaluation metrics,以及医学领域的标签噪声引起的。此外,覆盖数据集的多样性防止了一般方法在特定任务上的过拟合。作者基于这方面考虑迁移为医疗目标检测时,提出了一个基于13个现有数据集的多样化池的新基准。与分割任务相比,目标检测的公开数据集并不断,作者根据现有的5个公开分割数据集,将其修改为目标检测任务(其中作者关注于目标检测任务,将器官作为背景)。为了从像素级别的标签中生成目标框,作者执行了联通区域分析,并且过滤掉了小与3mm的对象。另外明显分割错误引起的object 标注被手动删除。作者报告了IoU阈值为0.1时的平均精度mean Average Precision (mAP)。
Data Sets:13个数据集中选取10个进行nnDetection的开发验证,训练池:CADA、LIDC-IDRI、RibFrac、Kits19 。验证池:ProstateX、ADAM、Medical Segmentation Decathlon Liver, Pancreas、Hepatic Vessel 和 Colon。在训练池中所有数据参与训练,输出对应五折交叉验证的结果,验证池中40%的数据被划分到测试集。这些测试划分只在最终评估时进行处理,对于ADAM使用公开跑行帮作为测试划分,测试池由3个额外的数据集LUNA16和TCIA Lymph-Node组成,这些数据都没有参与开发,仅优于评功自动化配置的泛化能力。
图2、nnDetection在LUNA16的候选结节检测任务中优于所有竞争方法,仅在一般任务中被Liu等方法击败,因为在一般任务中使用了额外的假阳性减少模型(False Positive Reduction, FPR),作者认为这种特定任务的干预超出了自动化工作流的范畴。右:前7中方法的FROC曲线,从每Scan1/4假阳性False Positives开始,nnDetection超过了没有FPR情况下的Liu等情况。
Compared methods。虽然文献中有LUNA16基准的基准分数,ADAM也有一个公开的排行榜,但在剩余的11个疏忽局上,目标检测方法还没有一个标准的评估方案。因此通过比较nnDetection和nnU-Net初始化了一个新的基准,nnU-Net被修改为用于目标检测任务的标准基线。这个比较有以下三个原因:1、分割方法经常被修改部署在医学领域的检测任务;2、nnU-Net是目前唯一可以轻松部署在大量数据集上而不需要人工适配的方法;3、之前仅在两个医学数据集上验证过专用的目标检测算法,而不是分割算法的调整方法。因此这种比较提供了大规模的科学证据。(第三点我没看明白)
图3 nnU-Net在12个数据集上进行大规模基准测试(顶部的图是交叉验证,底下的图是测试集结果),ADAM测试集结果为作者提交的实时排行榜结果。图2显示LUNA16的结果,对应的几个师研在https://github.com/MIC-DKFZ/nnDetection可以找到。
public leaderboard results: LUNA16一直是目标检测方法的标准基准,包括888个带有肺结节标注的 CT数据组成。LUNA16是LIDC-IDRI的一个子集,但它并不区分良性和恶性类别,而且注释的不同之处在于他们被简化为中心点加半径(训练中生成了圆形的分割标注)。由于LUNA16是作者测试池的一部分,因此nnDetection被用于没有任何的人工干预,自动化配置。nnDetection超过了之前nodule-candidate-detection任务,达到了0.930的竞争性能度量(Competition Performance Metric, CPM)。作者提交给Aneurysm Detection And segMentation(ADAM)挑战赛公开排行榜排名第三,名感性指标0.64,假阳性指数0.3。在两个排名比较高的版本中,有一个是nnDetection之前的版本,它暗示着在目标检测任务中,有限测试集上性能自然扩展(前一个版本代表了作者2020 MICCAI活动上原始的提交,作者仅提交了两个版本给ADAM)
**Large-scale Comparison against nnU-Net:**在cross-validation protocal的12个数据集中,nnDetection在9个数据集上性能由于增强基线nnU-Net Plus方法(图3的上面),在7个数据集上游明显优势(5%),仅肝脏数据集性能显著性不大。在12个数据集上,其中11个数据集上,固定后处理策略基线(nnU-Net Basic)在比nnDetection的性能要差。在hode-out测试数据集(图3下)7个数据集的5个,nnDetection性能要优于nnU-Net Plus,其中4个要表现非常明显,仅在结肠数据集上性能明显偏低。值得注意的是,7个数据集的4个是nnU-Net开发池的一部分,因此并不能客观的反映nnU-Net性能。作者观察在交叉验证和测试结果之间的评估指标波动性很高,特别是在肝脏和结肠数据集上,这也意味着在不同数据集上评估的重要性
4 Discussion
nnDetection 为医学目标检测方法的发展开辟了一个新的视角。所有设计选择都在数据集无关的meta-level上进行优化,这允许程序在特定数据集上开箱即用的适应性,并消除了手动和迭代配置方法的负担。尽管这个通用功能nnDetection在两个公开排行榜和11个新提出的目标检测基准上显示出的性能优于或者接近state-of-the-art。作者提出的方法可以被认为是进一步手工任务特定优化的起点,也就是可以在自动的基础上进行手动配置参数的调整。如LUNA16实验所示,额外的假阳性减少false-positive-reduction的部分可以进一步改善,也就是论文之前提到的Liu等部分的实验。此外,基于AutoML的数据驱动优化,在计算对于目标检测管道pipeline的特定组成部分是可行的,从而进一步提高结果。
通过新提出来的基准模型包括模型和目标标注的nnDetection,作者希望提供一个out-of-the-box的目标预测工具、一个方法开发框架,一个用于比较的标准化基线,以及一个用于大规模方法评估的基准,为医学目标检测的不断增长的兴趣做出贡献。
Acknowledgements
这项工作的一部分由德国研究基金会(Deutsche Forschungsgemeinschaft, DFG) - 410981386和亥姆霍兹成像平台(Helmholtz Image Platform, HIP)资助,亥姆霍兹成像平台(Helmholtz Image Platform, HIP)是亥姆霍兹孵化器Helmholtz Incubator的一个信息和数据科学平台。
A Supplementary Material
图4所示。展示了小簇(通常只在一个切片中可见)的示例(粉红色圆圈内的体素),这些小簇从标注中删除,不被认为是Kits19中的单个对象。红色标注标记肾脏,不用于训练(既不是nnDetection也不是nnU-Net),而绿色注释表示肿瘤区域。注意,对于包含太多小对象的Decathlon Liver数据集,未执行此程序。
图5所示。左:ADAM挑战实况排行榜。nnDetection目前排名第三,其敏感度为0.64,假阳性计数为0.3(左上角是最好的)。右:左边的图像显示了ground truth动脉瘤标注的例子。右边的图片显示了nnDetection的预测结果。尤其是小动脉瘤,由于它们的半径很小,因此预测在实时排行榜上被视为真正的阳性结果的容忍度非常小。
表1。池和数据集概述。对于没有目标标签的数据集,作者将连接的组件应用到语义分割注释中,并丢弃所有直径小于3mm的目标,然后手工检查以消除明显的错误(参见。图4).如果有原始的目标标签,则插入NA。对于有额外器官标注的数据集,只有肿瘤标记被用于训练nnDetection和nnU-Net。作者使用患者分层划分ADAM和自定义划分LIDC。
表2。显示在LUNA16挑战的每个扫描阈值预设假阳性时的灵敏度值。nnDetection优于所有不使用额外假阳性减少False Positive Reduction阶段的方法。只有Liu等使用FPR的[13]获得了较高的CPM评分,特别是由于在每次扫描阈值的低假阳性率时性能有所改善。