vox2vec: A Framework for Self-supervised Contrastive Learning of Voxel-Level Representations in Medical Images
摘要
本文介绍了 vox2vec——一种体素级表示的自监督学习 (SSL) 对比方法
vox2vec 表示由特征金字塔网络 (FPN) 建模:
- 体素表示是来自不同金字塔级别的相应特征向量的串联。 FPN
- 经过预训练,可在不同的增强上下文中为同一体素生成相似的表示,并为不同的体素生成独特的表示。这导致了统一的多尺度表示,可以捕获全局语义(例如,身体部位)和局部语义(例如,不同的小器官或健康与肿瘤组织)
代码地址
方法
左图:从每个图像中批量采样两个重叠的增强 3D patch。相同颜色和形状的标记表示正对的体素。
右图:体素级表示是通过连接来自 FPN 不同级别的相应特征向量获得的。最后,将表示投影到计算对比损失的空间
这篇文章理解的关键我觉得在于他的不同颜色的监督信号的确定,以下是文章说明:
将正对定义为对应于给定体积中相同位置的任何一对体素。相反,我们将对应于同一体积中不同位置的任何一对体素以及属于不同体积的体素称为负对(由于文中有重叠块,因为相当于重叠部分,颜色相同,为正例)
基于体素的应该计算量会很大,以下是作者的解决办法:
体素预测的标准架构是3D UNet。UNet的主干返回与输入补丁分辨率相同的特征图。然而,我们的实验表明,仅靠这个特征图不足以对自监督体素级表示进行建模。原因是由于内存限制,无法以全分辨率生成具有 100 多个通道的特征图。同时,为了适用于许多下游任务,表示的维数应该约为 1000。为了解决这个问题,使用 3D FPN 架构而不是标准的 3D UNet。FPN 以特征金字塔的形式返回体素级表示。金字塔的底部是一个特征图,具有 16 个与输入补丁分辨率相同的通道。下一个金字塔级别的通道数是前一个金字塔的两倍,分辨率是前一个金字塔的两倍。每个体素的表示是来自所有金字塔级别的相应特征向量的串联。我们使用具有六个金字塔级别的 FPN,从而产生 1008 维表示。图示见图1。
损失函数:infoNCE
实验结果