ABSTRACT
object
该工作解决两个皮肤病分类的核心问题。第一个是高效利用标准预训练框架来处理高分辨率图像分类。第二个是对抗现实中多类别数据严重类别不平衡。
methods
为了利用高分辨率图像,我们提出了一个创新的 patch-based attention架构,能够提供小的、高分别率patch之间的全局上下文感知。我们修改了三个预训练框架,并探究了patch-based attention的表现。为了对抗类别不平衡,我们比较了oversampling、balanced batch sampling 和class-specific loss weighting。除此之外,我们提出了一个创新的诊断导向的loss weighting 方法。该方法考虑了真实标注过程。
result
我们的 patch-based attention 机制 超越了之前的方法,平均敏感性提升7%。类别平衡上显著提高了平均敏感性,我的诊断导向的loss weighting 方法提升平均敏感性3%,超过了普通的loss weiting方法。
METHODS
datasets
该工作一直使用HAM数据作为训练和评估。数据包含待分类的图像,有7个类别,见fig1
数据的分布展示出了一个真实情况,大体上更多的是良性图片,恶性图片仍然过度表示。(此处翻译不清楚, The dataset distribution represents a real-world setting with overall more benign images while malignant cases are still over-represented.)数据类别展示在table1中。标出了类别数据量不平衡的关键问题。同时其他数据有都展示出了相似的类别不平衡特点。
我们将HAM划分成4份等大小的部分,每个部分包含相同的类别分布。其中一个部分作为测试数据 包含2500个样本。另外三个部分做3折交叉验证,用来调优超参数(5000训练,2500验证)。所有结果都被报告为独立测试集。注意到发布者对一些图像做了图像均衡化,并且人工对图像患处进行中心化和降采样并将图像修改为600*450像素。我们不对HAM图像做任何额外预处理。我们没有比较ISIC 2018CHALLENGE的测试集合,因为真实结果是不公开的。除此之外,比赛中提出的方法因为不同数据、不同大小、不同模型和不同测试数据的情况缺乏可比性。
我们演示了我们的方法的拓展性,应用提出的attention机制在7-point criteria(SPC)数据上,这个数据基于【22】提出的。 我们把SPC中的类别匹配到了HAM的7个类别上,如果某些数据不属于任何一个类别则删除。同时该数据集不包含 actinic keratosis疾病的样本。因此在这个数据及上我们只训练6个类别。我们将395份图像作为测试样本,跟从【16】的方式,剩余的616张图像用于训练。我们使用在HAM交叉验证得到的超参数,因此在这个数据上我们没有使用到验证集。我们讲图像改变为600*450尺寸,与HAM保持一致。与HAM的预处理相比,我们没有对图像患处进行中心化,也没有进行颜色校正。
metrics
考虑评估方法,多分类的情况要充分考虑,通常准确率是不错的,考虑到数据不平衡的问题,我们使用多类别的敏感性 MC-Sensitiveity S:
TP代表真正例
FN代表假反例
C代表类别数
该度量方法在类别严重不平衡时尤其具有挑战,因为它相同对待所有类别。除了MC-sensitivity,我们也使用MC-specificity 和f1 score。
baseline Model
我们考虑三个架构进行试验。
第一个是Inception-V3,这是一个医疗图像分析上广泛采用来做皮肤病分类任务的方法。模型包括不同的inception module 通过不同的卷积路径平行处理特征图。
第二个是更近的Densenet-121, 属于一组密集连接的CNNs。该架构的核心想法是重用所有之前层输出作为每个层的输入。第l层的结果定义为
xl是特征图,H是一个映射 包括卷积 批归一化 和 relu激活函数。为了让特征图增长固定,模型被
细分成block,包含转换层来减少特征维度。
第三个是最近的SE-Resnet50,基于多路径resnet架构,通过attention 特征校准进行了拓展。这些模块显式学习特征图之间的关系,增加了面向类别的表示能力,隐式地在卷积层形成特征图的提炼。
输入策略
我们考虑不同的策略来把图像转换成标准模型输入尺寸 224 * 224
- downsampling:该方法表达了一个简单的baseline,整个图像降采样到模型输入的尺寸,该方法在训练和验证集合都采用。
- single-crop:训练阶段图像随机被resize,然后裁剪为模型输入尺寸,因此训练过程我们诱导更多的变化。对于评估过程,采用一个中心点的裁切,包含85%原图像部分,再resize成模型输入大小。该方法与SE-RX、Dense121和InceptV3的方法一样,并提供了第二个baseline
- multi-crop:该方法我们没有resize,而是随机剪裁多个patch为图像输入的尺寸。评估阶段,我们使用有序裁剪,每个点的位置是预先定义好的。然后我们平均对所有patch的预测结果。裁剪数量Nc
5的情况包含4角和中间,9和16的情况是均匀分布在之前采集的patch之间采集裁剪。这个方法在【24】中成功用于皮肤病患处分类。 - ordered-crop:该策略使用固定patch位置进行评估和训练。训练阶段patch位置是固定的,相比single和random cropping变化更少。因此,我们提出一个patch dropout来避免过拟合。每个mini batch 训练的更新过程,每个patch以概率pd 置为零,我们也尝探究了使用不同大小的pd。
局部和全剧信息聚合策略
之前描述了组合细粒度的裁剪策略,局部和全剧图像信息获取的不同方式。Downsampling降采样直接处以全局尺度理图像。single-crop通过随机调整大小为不同尺度隐式考虑局部和全局信息。单一中心裁剪的评估方式考虑全剧与局部尺度的混合。multi-crop在训练中通过裁剪多个小pajtch来利用局部信息。这最大化了小粒度、局部信息的抽取。然而通过等权重平均多个patch来获得全局信息是非常微弱的。这个方法仅仅聚合独立的局部环境,没有包含patch位置的独立性和各自特有的特点。这对皮肤病图像是一个特殊的问题,因为patch的边缘很有可能没有包含患处图像。
因此我们研究一个方法可以显示组合局部和全局图像信息。我们仍然使用小patches,并且我们通过创新的patch-based attention机制复原patches之间的全局上下文,如fig2。
图2 提出的架构,用densenet举例。我们的attention方法和recurrent pathch组合都被展示出,但每个方法只单独进行试验。对于所有tensor大小,忽略了batch size。注意裁剪之间是有重叠的。灰色patch表示我们创新的patch dropout 正则化。GAP表示global average pooling 全局平均池化
attention机制更详细的描述在fig3中。
模型原始输入tensor尺寸是 nbnchwc, nb为batch size,nc是切片数量,hwc是切片的维度。然后我们在batch维度上堆叠所有切片,令模型输入为nbnchwc,这样,参数可以被patch的处理共享,同时这也是标准multi-crop评估的情况。当我们从第i层获得attention模块之后,我们reshape Nb和Nc 回到各自的维度 形成feature tensor尺寸 NbNcHiWiCi。然后模块应用如下。我们初始化patch权重wi,尺寸为NbNc,用于在最后三个维度上全局平均池化。接下来一个全连接attention层f携带训练参数θ 尺寸为 Nc*Nc来变换patch weights
。sigmoid激活函数将权重压缩为
然后,大小为 NbNc的变换和压缩得到的weights 与原始f大小为NbNcHiWiCi的eature tensor 做element-wise 乘积。因此patches通过它们之间的学相互作用学习参数被重新调整权重。最终tensor又被reshape回NbNcHiWiCi在网络中继续处理。这个过程可以在网络中多个位置任意层j重复。在输出部分,我们平均所有crops的预测结果。
这个处理策略计算高效,因为他处理所有切片用相同网络。并且,我们融合了patch-based attention模块在任意预训练上在任意位置,因为他们只操作在架构独立的batch 维度上。然而由于不同的内在模型结构,架构之间的不同位置上的效果无法比较。因此为了确保不同模型架构之间的比较,我们对各个模型的开始或者结尾进行attention module的效果试验。
我们通过循环模型使用对该方法与【28】【29】中的全局上下文恢复进行对比,我们使用了GRU 座位attention block的替换。 每个patch的feature vector 输入给GRU,让其学习输入给全连接层的特征的组合。我们考虑多层GRU,双向变形,和不同特征图尺寸。基于交叉验证,我们找到了单一层的1024维度特征图的表现是最好的。