ISIC2018比赛经验分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a1054513777/article/details/82855950

ISIC2018皮肤病分类比赛分享


比赛概况

2018年5月到7月28号,我们实验室(我们实验室的网址,欢迎加入我们实验室~)参与了由医学图像顶级会议MICCAI组织的2018 ISIC皮肤病理图像分割和分类比赛(比赛网址)。其中我和另外一个同学是参与了分类比赛,在最终的排行榜上取得了第三名的成绩(这个比赛每只队伍可以提交3个answer, 前三个answer是一只队伍。下面的第五名以及后续的第六名都是我们提交的结果。和前两名的差距个人感觉主要是在数据方面(╯﹏╰)。
比赛排行榜

分类比赛简介

这个比赛前期只给了训练集,训练集有10015张皮肤病理图像,有七类。每一类的名称和数量如下表格所示

疾病名称 图像数量
MEL 1113
NV 6705
BCC 514
AKIEC 327
BKL 1099
DF 115
VASC 142

此外,每一张图片都是600x450的尺寸三通道RGB图像。图像的label由一个groundtruth的csv文件提供。

比赛的难点

1.类别不均衡:图片数量最少的两类只有100多张图片,数量最多的一类多达6000张。
2.疾病区域大小不同:在某些图片中疾病的区域很小,而在某些图片中疾病占满了整张图片。

Baseline Model

1.由于只有训练集图片和label,所以我们将训练集进行five-fold交叉验证。但是在整个测试idea过程中,由于实验室可用GPU数量限制,我们只是在其中一个划分上进行test。而那个划分正好是五个划分中,不同模型都在上面准确率最低的一个划分。
2.整个比赛中我们使用的Baseline模型有不同层数的Resnet、Densenet、SENet、PNASNet等。整体来看,名次比我们差的队伍通常只用了Resnet或者Densenet2333…事实证明一个好的模型(说的就是SENet, PNASNet)在这种比赛中会占据极大的优势。

比赛心得

color constancy

首先我们阅读了往年参加ISIC比赛,并且取得较好名次的arxiv文章。发现他们通常会使用color constancy(色彩恒常性)的几种算法来进行预处理,即将原始数据集的所有图片换成经过color constancy算法处理过的图片。这个部分是由我们实验室另外一个同学实现的,我们主要是用他实现好的算法处理过后的图片。

imbalance

  1. 这个分类比赛最重要的难点就是类别不均衡,比赛官方采用Mean class accuracy来进行排名。这意味着当模型判断不准一个图片只是简单把它认为它属于数量最多的那一类,因为这样虽然会使模型在整个测试集上准确率很高,但是在较少数量类上的准确率会很低,进而导致Mean class accuracy(MCA)很低。
  2. 通常在分类任务中解决类别不均衡的一个方法就是修改loss function,pytorch可以很方便地修改loss function使其加上class weight。在我们的实验中发现加入class weight是一个非常有效的方法。
  3. 为了解决样本不均衡,我们尝试了其他很多种方法比如不使用class weight使用Focal Loss论文地址来作为模型的Loss function, 经过多个模型的测试发现相比class weight,Focal loss可以使整个模型在不同epoch时模型在测试集的准确率波动较小,但是峰值比不过class weight的结果。
  4. 其次我们还尝试了一些其他的idea,比如Multiscale,将不同尺寸的图片送入网络进行分类,将预测结果结合起来,这个会有一定的效果。

猜你喜欢

转载自blog.csdn.net/a1054513777/article/details/82855950