飞桨常规赛:PALM眼底彩照视盘探测与分割 – 5月第三名方案

该方案为飞桨PALM眼底彩照视盘探测与分割常规赛5月第三名方案。使用PaddleSeg和patta工具,以800张训练图、400张测试图,通过划分训练集和验证集,构建数据集并预处理。采用AttentionUNet模型,结合BCELoss与DiceLoss,经20轮训练,预测时还原图像尺寸,最终生成分割结果,评价指标为0.4×F1 + 0.6×Dice。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

飞桨常规赛:palm眼底彩照视盘探测与分割 - 5月第三名方案 - 创想鸟

飞桨常规赛:PALM眼底彩照视盘探测与分割 – 5月第三名方案

感觉这个任务和分类那个任务是此次PALM常规赛中最中规中矩的两个任务,所以也没有什么特别的感悟,就当baseline记录一下。

0. 赛题介绍

常规赛:PALM眼底彩照视盘探测与分割由ISBI2019 PALM眼科挑战赛赛题再现,其中眼底彩照视盘探测与分割的任务旨在对眼底视盘结构的探测和完成分割任务。

数据集由中山大学中山眼科中心提供800张带病理性近视分类标注的眼底彩照供选手训练模型,另提供400张带标注数据供平台进行模型测试。图像分辨率为1444×1444,或2124×2056。标注结果存储为BMP图像,与对应的眼底图像大小相同,标签为0代表视盘(黑色区域);标签为255代表其他(白色区域)。

评价指标为:0.4 X F1分数 + 0.6 X Dice

飞桨常规赛:PALM眼底彩照视盘探测与分割 - 5月第三名方案 - 创想鸟        

比赛链接: 常规赛:PALM眼底彩照视盘探测与分割

1. 包准备

既然是分割任务,首先想到的是PaddleSeg。那就直接搞起来就对了。这里想到之前遥感分割中用到patta还挺不错的,这里也弄进来一起搅。

In [4]

# ! git clone https://gitee.com/paddlepaddle/PaddleSeg.git! pip -q install pattaimport syssys.path.append('PaddleSeg')

   

2. 数据准备

2.1解压数据集

这个没啥好写的。

In [3]

! unzip -oq /home/aistudio/data/data85136/常规赛:PALM眼底彩照视盘探测与分割.zip! rm -rf __MACOSX! mv 常规赛:PALM眼底彩照视盘探测与分割 dataset

   

2.2 生成数据列表

老套路了,这里按0.9进行划分的,0.9的训练数据,0.1的验证数据。

In [5]

import osimport randomdef create_list():    file_path = 'dataset/Train/fundus_image'    imgs_name = os.listdir(file_path)    random.shuffle(imgs_name)    with open('dataset/Train/train.txt', 'w') as tf:        with open('dataset/Train/val.txt', 'w') as ef:            for idx, img_name in enumerate(imgs_name):                img_path = os.path.join('fundus_image', img_name)                lab_path = img_path.replace('fundus_image', 'Disc_Masks').replace('jpg', 'bmp')                if (idx % 10 + 1) < 9:                    tf.write(img_path + ' ' + lab_path + 'n')                else:                    ef.write(img_path + ' ' + lab_path + 'n')create_list()

   

2.3 构建数据集

构建数据集也是套路的seg的方案,除了修改大小,连其他的数据增强都没做。想一想做一下应该还是能涨点分吧,毕竟就几百张数据,还是有点少。

In [6]

from paddleseg.datasets import Datasetimport paddleseg.transforms as T# 构建训练集train_transforms = [    T.Resize(target_size=(1120, 1120)),  # 修改大小    T.Normalize()  # 归一化]train_dataset = Dataset(    transforms=train_transforms,    dataset_root='dataset/Train',    num_classes=2,    mode='train',    train_path='dataset/Train/train.txt',    separator=' ',)# 构建验证集val_transforms = [    T.Resize(target_size=(1120, 1120)),    T.Normalize()]val_dataset = Dataset(    transforms=val_transforms,    dataset_root='dataset/Train',    num_classes=2,    mode='val',    val_path='dataset/Train/val.txt',    separator=' ',)

   

这里也是输出测试一下,看看数据读取有没有什么问题。避免后面报一堆错不知道哪儿去找问题。

In [1]

for img, lab in val_dataset:    print(img.shape, lab)    break

   

3. 模型训练

3.1 训练准备

有了之前分类的经验,感觉注意力在医学图像上效果挺不错的,所以这里本来选择UNet的我改成了AttentionUNet。这种分割的损失一般采用BCE+Dice感觉都能取得比较好的效果。简单20轮,图像太大了batch_size就得设置的小。

In [8]

import paddlefrom paddleseg.models import AttentionUNetfrom paddleseg.models.losses import BCELoss, DiceLoss, MixedLoss# 模型url = Nonemodel = AttentionUNet(num_classes=2, pretrained=url)# 训练参数epochs = 20batch_size = 2iters = epochs * len(train_dataset) // batch_size# 损失函数mix_losses = [BCELoss(), DiceLoss()]mix_coef = [1, 1]mixloss = MixedLoss(mix_losses, mix_coef)losses = {}losses['types'] = [mixloss]losses['coef'] = [1]# 学习率及优化器base_lr = 3e-4lr = paddle.optimizer.lr.CosineAnnealingDecay(base_lr, T_max=(iters // 5))optimizer = paddle.optimizer.Adam(lr, parameters=model.parameters(), weight_decay=paddle.regularizer.L2Decay(1e-7))

   

3.2 模型训练

调用train即可。

In [2]

from paddleseg.core import traintrain(    model=model,    train_dataset=train_dataset,    val_dataset=val_dataset,    optimizer=optimizer,    save_dir='save_output',    iters=iters,    batch_size=batch_size,    save_interval=int(iters/10),    log_iters=10,    num_workers=0,    losses=losses,    use_vdl=True)

   

4. 模型预测

预测这里主要是两个问题。

由于图像缩小到了1120,所以预测得到的结果需要resize到原大小才行。不知道是不是图像太大的问题,一使用patta就GPU炸了,所以这里的结果是没用TTA的结果。In [9]

import paddlefrom paddleseg.models import AttentionUNetimport paddleseg.transforms as Tfrom paddleseg.core import inferimport osimport cv2from tqdm import tqdmfrom PIL import Imageimport numpy as npimport patta as ttadef nn_infer(model, imgs_path, is_tta=True):    if not os.path.exists('Disc_Segmentation'):        os.mkdir('Disc_Segmentation')    # 预测结果    transforms = T.Compose([        T.Resize(target_size=(1120, 1120)),        T.Normalize()    ])    # 循环预测和保存    for img_path in tqdm(imgs_path):        H, W, _ = np.asarray(Image.open(img_path)).shape        img, _ = transforms(img_path)  # 进行数据预处理        img = paddle.to_tensor(img[np.newaxis, :])  # C,H,W -> 1,C,H,W        # TTA        if is_tta == True:            tta_pres = paddle.zeros([1, 4, 1120, 1120])            for tta_transform in tta.aliases.hflip_transform():                tta_img = tta_transform.augment_image(img)  # TTA_transforms                tta_pre = infer.inference(model, tta_img)  # 预测                deaug_pre = tta_transform.deaugment_mask(tta_pre)                tta_pres += deaug_pre            pre = tta_pres / 2.        else:            pre = infer.inference(model, img)  # 预测        pred = paddle.argmax(pre, axis=1).numpy().reshape((1120, 1120)).astype('uint8') * 255        pred = cv2.resize(pred, (W, H), interpolation=cv2.INTER_NEAREST)        pil_img = Image.fromarray(pred)        pil_img.save(os.path.join('Disc_Segmentation', img_path.split('/')[-1].replace('jpg', 'png')), 'png')# 网络准备model_path='save_output/last_model/model.pdparams'model = AttentionUNet(num_classes=2, pretrained=None)params = paddle.load(model_path)model.set_dict(params)model.eval()# 预测文件set_path = 'dataset/PALM-Testing400-Images'names = os.listdir(set_path)imgs_path = []for name in names:    imgs_path.append(os.path.join(set_path, name))# 预测nn_infer(model, imgs_path, is_tta=False)

       

100%|██████████| 400/400 [03:02<00:00,  2.19it/s]

       

5. 结果展示

可以用matplotlib显示一下分割的结果看看。

In [15]

import numpy as npfrom PIL import Imageimport matplotlib.pyplot as plt%matplotlib inlineimg_path = 'dataset/PALM-Testing400-Images/T0255.jpg'inf_path = 'Disc_Segmentation/T0255.png'img = Image.open(img_path)inf = Image.open(inf_path)plt.figure(figsize=(10, 5))plt.subplot(121);plt.imshow(img);plt.title('img')plt.subplot(122);plt.imshow(inf);plt.title('inf')plt.show()

       

               

以上就是飞桨常规赛:PALM眼底彩照视盘探测与分割 – 5月第三名方案的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/40166.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 06:38:15
下一篇 2025年11月6日 06:42:42

相关推荐

  • 比特币交易平台TOP10 2025年全球最新榜单

    全球范围内涌现了众多比特币交易平台,它们在流动性、支持的币种、交易工具、用户体验和合规性等方面各具特色。本篇文章旨在基于市场影响力、交易量、安全性评估和全球用户基础等多个维度,呈现一份在全球范围内备受关注的比特币交易平台榜单。 全球比特币交易平台排行榜单 1. Binance 币安是当前全球交易量最…

    2025年12月8日 好文分享
    000
  • 2025年加密货币交易所全方位对比 欧意、币安、火币

    展望2025年,加密货币市场持续演进,为全球投资者提供了丰富的数字资产交易机会。选择一个合适的交易平台是参与这一市场的关键一步。不同的交易所拥有各自的特点、优势以及服务侧重点,理解这些差异对于用户制定交易策略和保障资产安全至关重要。 欧意 (OKX) 欧意,作为全球领先的加密资产服务平台之一,起源于…

    2025年12月8日
    000
  • 虚拟币交易平台排行榜top10

    2025年,虚拟货币市场持续发展,选择一个可靠且功能齐全的交易平台至关重要。以下是根据市场活跃度、用户口碑、安全性以及交易品种丰富度等多个维度筛选出的十大虚拟币交易平台,它们的官方网站地址以及简要介绍如下: 2025十大虚拟币交易平台官网地址 1. Binance (币安) 全球用户量巨大,交易对丰…

    2025年12月8日 好文分享
    000
  • ok交易所怎么提币?ok交易所提币详细教程

    在数字资产交易日益普及的今天,理解如何安全有效地取出自己的数字资产显得尤为重要。ok交易所作为全球知名的数字资产交易平台,提供了便捷的提币服务。本教程将详细解析在ok交易所进行提币操作的步骤、需要注意的事项以及一些常见的疑问解答,帮助用户顺利完成资产转移,确保资产安全。无论您是初次使用ok交易所提币…

    2025年12月8日
    000
  • 数字资产交易app软件推荐

    数字资产交易领域持续演进,众多交易平台为用户提供买卖加密货币的服务。选择一个合适的交易平台对于数字资产的交易体验至关重要。用户在选择交易平台时,通常会考虑平台的安全性、交易费用、支持的币种、用户界面以及客户服务等因素。以下是一些备受关注的数字资产交易平台,它们在用户群体中具有一定的知名度和使用率。 …

    2025年12月8日 好文分享
    000
  • 加密更新:FXWirePro关于新兴趋势和关键发展的见解

    在加密世界的高速发展中抢占先机! fxwirepro为您带来最新动态,涵盖新项目上线到前沿区块链技术,所有信息尽在此处。 嘿,加密爱好者们!你是否曾在数字资产和区块链术语的洪流中感到迷失?别担心。FXWirePro为你带来最新的加密资讯,让你轻松掌握热点趋势,不再错过关键动态。现在就一起来看看有哪些…

    2025年12月8日
    000
  • 全球三大交易所如何选择 全方位硬核分析

    选择合适的加密货币交易所是参与数字资产市场的关键第一步。不同的平台在提供的服务、安全性以及用户体验上存在差异。了解全球主要交易所的特点,对于做出明智的决定至关重要。 主要交易所介绍 Binance 作为全球用户量和交易量领先的平台,Binance提供了极为丰富的数字资产交易对和多元化服务。它不仅支持…

    2025年12月8日
    000
  • 币安、欧易、火币(HTX)交易所的10大核心区别全解析

    币安 币安官网直达: 币安交易所于2017年成立,由赵长鹏创立,迅速成长为全球交易量领先的加密货币交易所。它提供广泛的数字资产交易服务,包括现货交易、期货、期权、杠杆交易以及其他金融产品。币安以其高流动性、丰富的交易对和相对较低的交易费用而闻名。其技术架构旨在处理高并发交易,确保系统稳定运行。平台的…

    2025年12月8日
    000
  • 全球三大交易所PK:币安、欧易、火币谁是真正的王者?

    在全球数字资产交易领域,几个平台因其巨大的交易量、广泛的用户基础和多样的服务而脱颖而出。它们不仅是买卖加密货币的场所,更是连接用户与区块链世界的桥梁。在众多参与者中,有几个名字长期占据着核心位置,它们之间的竞争与发展,深刻影响着整个行业的格局。理解这些平台的特点和区别,对于寻求进入或深入数字资产市场…

    2025年12月8日
    000
  • OEX官网最新登录入口 OEX交易平台官方安装链接

    oex交易平台是一款领先的数字资产交易应用,为用户提供安全、便捷的加密货币交易体验。无论您是初学者还是经验丰富的交易者,oex都能满足您的需求。本文为您提供oex官网的最新登录入口及官方安装链接,点击文中的下载链接即可轻松下载并安装。 OEX官方App入口 想要体验OEX交易平台强大的功能,首先需要…

    2025年12月8日
    000
  • 2025年加密货币:新兴项目要观看

    探索2025年的加密货币世界,聚焦qubetics、troller cat以及其他具备增长潜力的新锐项目。 2025年加密货币趋势:值得关注的新兴项目 随着我们迈入2025年,加密市场再次活跃起来。比特币持续刷新历史高点,投资者也在寻找下一个可能爆发的项目。本文将介绍一些有望在新的一年中脱颖而出的新…

    2025年12月8日
    000
  • 核心科学:从加密矿工到AI Powerhouse?交易谈话升温!

    core scientific的股价在与ai云服务商coreweave重启收购谈判的消息传出后大幅上涨,突显出这家加密货币矿工正成功向人工智能基础设施领域转型。 核心科学:从加密挖矿到AI巨头?并购传闻引爆市场! =============================== Core Scient…

    2025年12月8日
    000
  • 2025年新手友好虚拟币交易所Top10

    进入虚拟货币市场,选择一个合适的交易平台对于新手用户来说至关重要。一个对新手友好的交易所通常具备简洁易懂的界面、丰富的学习资源、便捷的交易流程以及可靠的客户服务。这些特点能够帮助新用户更快地理解和适应虚拟资产交易的环境,降低操作门槛,减少因不熟悉平台而产生的困惑。 2025年新手友好虚拟币交易所To…

    2025年12月8日
    000
  • 币安、欧易、HTX哪个更适合你?三大交易所优劣势深度剖析

    币安 (Binance) 币安作为当前全球用户数量与交易量最大的加密货币交易平台之一,提供广泛的加密资产交易服务。其生态系统庞大,涵盖现货、合约、期权交易,以及质押、借贷、NFT市场和IEO平台Launchpad等。币安链(BNB Chain)的发展也为其生态系统注入了活力,BNB作为平台币在全球范…

    2025年12月8日
    000
  • 排名前十的币圈交易所app

    数字资产交易领域持续演进,众多交易平台为用户提供买卖加密货币的服务。选择一个合适的交易平台对于数字资产的交易体验至关重要。用户在选择交易平台时,通常会考虑平台的安全性、交易费用、支持的币种、用户界面以及客户服务等因素。以下是一些备受关注的数字资产交易平台,它们在用户群体中具有一定的知名度和使用率。 …

    2025年12月8日 好文分享
    000
  • 2025年虚拟币交易所权威推荐与排名解析

    虚拟资产交易所在全球金融市场中扮演着至关重要的角色,为用户提供了参与数字经济的入口。在考量面向2025年的交易平台选择时,综合评估其安全性、流动性、交易费用、用户体验以及合规性显得尤为关键。一个稳健可靠的平台能够显著提升用户的交易效率并保障资产安全。以下是对一些主流虚拟币交易所的权威推荐与排名解析,…

    2025年12月8日
    000
  • 十大货币交易入口地址大全

    虚拟货币交易入口地址 1. Binance Binance(币安)继续以其庞大的生态系统和无可匹敌的交易深度,稳坐全球最大虚拟货币交易平台的宝座。其现货和衍生品市场的交易量长期占据行业领先地位,为用户提供了极佳的流动性,这意味着交易者可以以更小的滑点完成大额订单。Binance的成功很大程度上归功于…

    2025年12月8日 好文分享
    000
  • 【新手必看】币安、欧易、火币区别全解析

    在数字资产交易领域,选择一个合适的平台对于用户而言至关重要。目前市场上存在众多交易平台,其中一些平台因其规模、用户基础和提供的服务而受到广泛关注。了解不同平台之间的差异,能够帮助用户根据自身需求做出明智的决策。 币安 币安作为全球领先的数字资产交易平台之一,以其庞大的交易量和广泛的用户分布闻名。该平…

    2025年12月8日
    000
  • 比特币的双顶:价格崩溃是不可避免的吗?

    比特币的价格逼近10万美元大关,引发了市场的双重担忧。机构资金流动能否成为支撑力量,还是会迎来75%的暴跌? 比特币双顶形态:价格崩盘即将来临? 比特币正接近10万美元关口,一些分析师认为其可能形成双顶形态,随后迎来价格崩盘。但我们真的会看到价格跌至75%吗? 双顶警告? 比特币在10万至11万美元…

    2025年12月8日
    000
  • 比特币,黑客和印度储备:加密鸡尾酒

    从使用比特币的黑客到印度考虑比特币储备,加密货币世界永远不会睡觉。让我们分解最新。 比特币,黑客和印度储备:加密鸡尾酒 比特币展现出的韧性不断受到挑战。从大规模黑客攻击到印度可能将比特币纳入储备体系,最近的动态凸显了加密货币的多面性,在这里创新与风险持续交织。 黑客落网:比特币在网络犯罪中的角色 据…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信