基于医学图像分类算法研究——基于kvasir v2胃病数据集对ResNet,ResNext,DenseNet,Shufflenet等进行测试(一)

前言:目前在做这个医学图像算法研究的项目,实际是项目,这里说成研究是指边做边学习这样的意思。毕竟也不容易,课程多,杂事多,还要做两个项目,真的想学会多重影分身术来帮我解决问题。话不多说,给大家看下基于这个数据集训练的效果吧。具体的代码目前还不支持公开,到时候做完了整个项目我再放出来,目前给大家看下测试的效果。

这个是kvasir v2胃病数据集,里面有8个类别,每个类别1000张图片,共8000张。本次测试将训练集:验证集:测试集=7:2:1进行测试

数据预处理及数据增强代码如下图所示

def get_torch_transforms(img_size=224):
    data_transforms = {
        'train': transforms.Compose([
            # transforms.RandomResizedCrop(img_size),
            transforms.Resize((img_size, img_size)),
            transforms.RandomHorizontalFlip(p=0.2),
            transforms.RandomRotation((-5, 5)),
            transforms.RandomAutocontrast(p=0.2),
            transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.2),  # 增加的代码
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ]),
        'val': transforms.Compose([
            # transforms.Resize((img_size, img_size)),
            # transforms.Resize(256),
            # transforms.CenterCrop(img_size),
            transforms.Resize((img_size, img_size)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ]),
    }
    return data_transforms


# 训练集的预处理以及数据增强
def get_train_transforms(img_size=320):
    return albumentations.Compose(
        [
            albumentations.Resize(img_size, img_size),
            albumentations.HorizontalFlip(p=0.5),
            albumentations.VerticalFlip(p=0.5),
            albumentations.Rotate(limit=180, p=0.7),
            # albumentations.RandomBrightnessContrast(),
            albumentations.ShiftScaleRotate(
                shift_limit=0.25, scale_limit=0.1, rotate_limit=0
            ),
            albumentations.Blur(blur_limit=3, p=0.1),  # 增加的代码
            # albumentations.Random
            albumentations.Normalize(
                [0.485, 0.456, 0.406], [0.229, 0.224, 0.225],
                max_pixel_value=255.0, always_apply=True
            ),
            ToTensorV2(p=1.0),
        ]
    )


# 验证集和测试集的预处理
def get_valid_transforms(img_size=224):
    return albumentations.Compose(
        [
            albumentations.Resize(img_size, img_size),
            albumentations.Normalize(
                [0.485, 0.456, 0.406], [0.229, 0.224, 0.225],
                max_pixel_value=255.0, always_apply=True
            ),
            ToTensorV2(p=1.0)
        ]
    )

下面是ResNet50的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

下面是ResNet101的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

下面是ResNext50的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

 下面是ResNext101的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

下面是DenseNet121的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

  下面是Shufflenet v2的测试效果,超参数,训练图,测试图,以及测试准确率都在图中

总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值