CT二分类

网址 https://covid-ct.grand-challenge.org/
首先阅读比赛相关的:

一 评估标准 F1 AUC ACC

二 数据集说明

有来自216个病人的349张ct图片
还有阴性的图片
比赛方已经分好了测试集训练集和验证集和测试集,用.txt保存
比赛方还给出了两种参考方案也放在了github上

三 准备工作

1 数据集和代码都放在服务器上,并托管在github上
2目录结构
CT二分类_第1张图片

四 Base line

网络模型:Densnet 169
数据预处理:
CT二分类_第2张图片
包括裁剪,旋转,归一化等常规操作
主要参数:lr=0.0001 batch_size=10
结果:

precision 0.8155339805825242
recall 0.8
F1 0.8076923076923078
acc 0.8029556650246306
AUC 0.8504373177842566

尝试使用其他网络:resnet Efficientnet acc都低于0.8 ,所以先固定住网络为densnet
尝试调参 lr=0.0005 batch_size=10

The epoch is 10, average recall: 0.8571, average precision: 0.7895,average F1: 0.8219, average accuracy: 0.8079, average AUC: 0.8775

acc大概还是0.8

尝试修改

1:观察数据集,有很多过小的低清图片,所以加上一个过滤器,过滤掉长宽小于200的

def Exclude(img_list):
    i=0;
    for index in img_list:
        path = img_list[i][0]
        img = Image.open(path)
        for lenth in img.size:
            if lenth<200:
                del img_list[i]
                continue
        i+=1
    return img_list

结果并不理想:

 The epoch is 10, average recall: 
 0.7524, average precision: 0.7900,average F1: 0.7707, average accuracy: 0.7685, average AUC: 0.8637

2:CT图片要诊断的区域只是肺部,因此,尝试先去除背景,只留下肺部的部分,减少干扰,在dataset方法里加入一个取出背景的功能
CT二分类_第3张图片
CT二分类_第4张图片
可以看出,删除了背景的照片更加的直观
2.1:Python去除背景,网上找到的大多是调用api在第三方网站上进行的,对于大量数据不适用,所以考虑用opencv来处理
2.2 opencv:接下来试一下
2.3 考虑到每个病人是一个3d的切片,baseline给出的是2d的网络,所以接下来还要尝试一下3d的网络

你可能感兴趣的:(学习篇)