今天将分享白血病二分类完整实现版本,为了方便大家学习理解整个流程,将整个流程步骤进行了整理,并给出详细的步骤结果。感兴趣的朋友赶紧动手试一试吧。
一、Leukemia2019介绍
Leukemia2019提供带有标签的细胞数据集(正常与癌症)来训练基于机器学习的分类器从白血病原始细胞(恶性/癌细胞)中识别正常细胞。这些细胞已从显微图像中分割出来。这些图像代表现实世界中的图像,因为它们包含一些染色噪声和照明错误,尽管已通过我们自己的内部染色颜色归一化方法很大程度上修复了这些错误。根据血涂片显微镜图像对白血病 B 淋巴细胞(癌细胞)与正常 B 淋巴细胞前体细胞(正常细胞)进行分类。
Leukemia2019数据一共包含了来自118名患者的1867张图像的大型数据集,这些图像主要分为两大类别:正常细胞和白血病细胞。该分类问题非常具有挑战性,在形态上,这两种细胞类型看起来非常相似。专家根据领域知识标记了金标准。此外,通过过去两年的努力,还认识到主体水平的变异性也发挥着关键作用,因此,构建一个能够在预期数据上产生良好结果的分类器具有挑战性。任何对通过构建更新的深度学习/机器学习架构来解决医学图像分类的挑战性问题深感兴趣的人都会挺身而出来应对这一挑战。
二、Leukemia2019任务
白血病 B 淋巴细胞(癌细胞)与正常 B 淋巴细胞前体细胞(正常细胞)二分类。
三、Leukemia2019数据集
训练数据:文件夹包含按三个目录数据。例如,如果 Fold1 包含来自受试者 ID 1、2、3、4、5 的完整数据,则 Fold2 包含来自受试者 ID 6、7、8、9、10 的完整数据。就受试者数据而言,这两部数据是无重叠,即在 Fold1 中找到的受试者 ID 将仅出现在 Fold1 中。所有图像名称均遵循标准命名约定,如下所述:癌细胞图像的命名约定:UID_P_N_C_all,UID_HS_N_C_hem。其中all标识表示癌细胞类别,hem表示代表正常细胞类别。
测试集:只会提供图像,不提供标签。分类结果应在此数据集上进行测试, 评价指标为加权f1分数。
数据下载:
https://www.kaggle.com/datasets/andrewmvd/leukemia-classification/data
四、技术路线
1、将图像缩放到固定大小512x512,然后采用均值为0,方差为1的方式进行归一化处理,再将数据分成训练集和验证集。
2、搭建ResNet2d网络,使用AdamW优化器,学习率是0.001,batchsize是128,epoch是500,损失函数采用交叉熵。
3、训练结果和验证结果
4、验证集分类结果
5、测试集分类结果