飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案


本文介绍飞桨常规赛黄斑中央凹定位11月第3名方案。赛题旨在对2D眼底图像中黄斑中央凹定位,预测其坐标,不可见则设为(0,0)。数据集含200个样本,建模为回归问题,用Resnet50vd作backbone,通过数据增强、自定义损失函数等优化,还提及代码结构、复现步骤及不足与改进思路。

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

飞桨常规赛:黄斑中央凹定位(gamma挑战赛任务二) - 11月第3名方案 -

飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二)

1. 赛题分析

GAMMA挑战赛是由百度在MICCAI2025研讨会OMIA8上举办的国际眼科赛事。MICCAI是由国际医学图像计算和计算机辅助干预协会 (Medical Image Computing and Computer Assisted Intervention Society) 举办的跨医学影像计算和计算机辅助介入两个领域的综合性学术会议,是该领域的顶级会议。OMIA是百度在MICCAI会议上组织的眼科医学影像分析 (Ophthalmic Medical Image Analysis) 研讨会,至今已举办八届。
       

1.1 题目

对2D眼底图像中黄斑中央凹进行定位。
本任务的目的是预测黄斑中央凹在图像中的坐标值。若图像中黄斑中央凹不可见,坐标值设为(0, 0),否则需预测出中央凹在图像中的坐标值。
飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案 -        

1.2 数据分析

数据集由中国广州中山大学中山眼科中心提供,数据集中包含200个2D眼底彩照样本,分别为:训练集100个,测试集100个。
样本数虽然不多,但测试集和训练集数据一致性较好,实际训练时没有发现过拟合现象。图像分辨率大部分为2992 * 2000,少量为1956 * 1934,图片分辨率高。
中央凹标注单位为像素,精度精确到小数点后5-6位(确实不知道是否真的需要这么高的精度嘛?)。虽然说明中有说中央凹不可见时坐标值设为(0, 0),但标注中并未发现这种情况,暂时只能认为测试集中也不存在这种情况。

2. 方案说明

2.1 建模思路

题目要求检测黄斑中央凹点,参考baseline将其建模为回归问题。
backbone选用paddleseg自带的Resnet50vd,输出为归一化的xy坐标值。
考虑到中央凹位置坐标范围有限,这里将坐标映射到[0.3, 0.7]的区间范围内再归一化到[0, 1]区间。

数据集

采用paddle.io.Dataset自定义数据集,能够方便的实现数据管理、组batch、坐标映射与恢复等功能。

class MyDataset(paddle.io.Dataset):
    def __init__(self, img_folder, label_file=None, idx=None, argument=False):
        '''设置图片目录、标签文件、样本编号(用于训练集和验证集划分)、数据增强等'''
        img_paths = get_all_paths(img_folder, '.jpg')        if idx is None:
            idx = np.arange(len(img_paths))
        imgs = [read_image(img_paths[i]) for i in idx]        if label_file:
            label_df = pd.read_excel(label_file)
            label_X = label_df['Fovea_X'].values
            label_Y = label_df['Fovea_Y'].values
            labels = [(label_X[i], label_Y[i]) for i in idx]        else:
            labels = [None,]*len(idx)
        datas = [(img, label) for img, label in zip(imgs, labels)]
        self.datas = datas
        self.argument = argument
        self.color_jitter = paddle.vision.transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.1)    def __getitem__(self, idx):
        '''返回的param用于预测时恢复原始图像坐标'''
        img, loc = self.datas[idx]
        img = img.copy()        if self.argument:
            img, loc = self.do_arg(img, loc)
        img, label, param = self.pre_process(img, loc)        return img, label, param    def __len__(self):
        return len(self.datas)    def do_arg(self, img, loc):
        '''
            数据增强方式包括:颜色抖动、水平翻转、垂直翻转。
            数据增强后对变换参数作相应改动。
        '''
        h, w, _ = img.shape
        img = self.color_jitter(img)        if np.random.uniform(0,1)>0.5:            # horizon flip
            img[:,::-1,:] = img
            loc = (w-loc[0], loc[1])        if np.random.uniform(0,1)>0.5:            # vertical flip
            img[::-1,:,:] = img
            loc = (loc[0], h-loc[1])        return img, loc    def pre_process(self, img, loc):
        '''图像归一化到[-0.5, 0.5]区间,标签归一化到[0, 1]区间'''
        img, loc, param = crop_center(img, loc)
        img = img.transpose([2,0,1]).astype(np.float32)/255-0.5
        label = np.zeros([2], dtype=np.float32)        if loc is not None:
            fx, fy = loc
            r0, r1 = OUTPUT_RANGE
            w = (fx-r0)/(r1-r0)
            h = (fy-r0)/(r1-r0)
            label[:] = (h, w)        return img, label, param
   

由于样本图像大小不一,这里归一化到统一大小。缩放时保持比例并裁取中间块,同时保留坐标映射信息。预测时可以据此映射回原图坐标。

def crop_center(img, loc=None):
    h, w, d = img.shape
    dx = (w-h)//2
    img = img[:, dx:(dx+h), :]
    img = cv2.resize(img, (INPUT_IMAGE_SHAPE, INPUT_IMAGE_SHAPE))
    scale = h/INPUT_IMAGE_SHAPE    if loc is not None:
        x, y = loc
        loc = ((x-dx)/h, y/h)    return img, loc, (scale, dx)def restore_xy(loc, param):
    x, y = loc
    scale, dx = param
    loc = (x*INPUT_IMAGE_SHAPE*scale+dx, y*INPUT_IMAGE_SHAPE*scale)    return loc
   

模型

paddleseg仅需一行代码即可构建backbone模型(work/my_model.py):

self.backbone = paddleseg.models.backbones.ResNet50_vd(pretrained=pretrain_url)
       

与paddle自带的Resnet预训练模型相比,paddleseg的预训练模型默认输出多分辨特征,我们可以很方便的挑选自己所需的特征(work/my_model.py):

feats = self.backbone(x)
feats = [feats[i] for i in self.feat_indices]
       

本项目目前仅采用末层特征(self.feat_indices=[-1])。

loss选用的是收敛性能较好的smooth L1。通过自定义loss层,能够方便的实现多头输出加权loss。

Openflow Openflow

一键极速绘图,赋能行业工作流

Openflow 88 查看详情 Openflow
class MyLoss(paddle.nn.Layer):
    def __init__(self, loss_w = LOSS_WEIGHTS):
        super(MyLoss, self).__init__()
        self.loss_w = loss_w    def forward(self, preds, label):
        loss = 0
        for pred, w in zip(preds, self.loss_w):
            loss += w*paddle.nn.functional.smooth_l1_loss(pred, label)        return loss
   

2.2 代码结构

代码 功能
config.py 参数设置
utils.py 功能函数
my_dataset.py 数据集
my_model.py 模型
train.py 训练主程序
predict.py 预测主程序

2.3 一些细节

  1. 预处理时全图取中使宽高一致,再缩放为512*512
  2. 训练数据增强选用了颜色抖动和随机翻转
  3. 学习率采用warmup和线性递减,基准学习率为1e-3
  4. 优化器采用Momentum
  5. 后处理时在局部邻域取灰度最低点作为最终结果

2.4 可视化

不得不说visualdl可视化太棒了,哪怕只是简单的画一下loss和evaluate曲线,都感觉对训练过程把控好很多。
创建日志:

vdl_writer = visualdl.LogWriter(vdl_path)
       

写入监控变量:

vdl_writer.add_scalar('train/loss', loss_scalar, iters)
       

在AI Studio的数据模型可视化模块中便可以看到需要的变量曲线。 飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案 - 飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案 -        

3. 复现说明

3.1 安装依赖库

本项目运行依赖paddleseg包,可采用pip命令一键安装。

In [ ]
# 安装paddleseg!pip install paddleseg
   

3.2 下载并解压数据集

由于版权要求,比赛数据下载链接在报名后可见。

In [ ]
# 下载比赛数据,报名比赛后在比赛页面可查看下载地址!wget https://xxxxxxxxxxxxxxx/task2_Fovea_localization.zip# 解压至competition_data文件夹!unzip task2_Fovea_localization.zip -d competition_data
   

3.3 训练

模型参数已配置好,执行work/目录下的train.py脚本即可一键启动训练。此外在models/目录下有训练好的checkpoint,也可以不训练直接跳转3.4步获取模型预测结果。

In [ ]
!cd ~/work && python -W ignore train.py
   

3.4 预测

执行work/目录下的predict.py脚本即可一键获取可提交的csv文件,可以拿来作为参考。 但不建议直接拿来提交!!!

In [ ]
!cd ~/work && python -W ignore predict.py
   

4. 不足与改进

原本想借鉴YOLO的思路,把题目建模为“分块回归”问题,即把黄斑中央凹可能存在的区域划分为若干网格,首先通过分类确定中央凹点在哪个网格内,再通过回归确定最终位置,如图所示:
飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案 -
但实现以后发现效果不如直接回归的,大概是参数调的不够好吧。

以上就是飞桨常规赛:黄斑中央凹定位(GAMMA挑战赛任务二) - 11月第3名方案的详细内容,更多请关注其它相关文章!


# ai  # 政和一般seo价格  # 团风搜索推广网站在哪里  # 安福百度seo优化  # 营销推广有赞  # 淄博网站建设的建议方案  # 事件营销品牌推广案例  # 这种情况  # 较好  # 主程序  # 是由  # 坐标值  # 自定义  # 一键  # python  # 百度  # csv文件  # pip命令  # red  # udio  # writer  # fig  # type  # 中文网  # 一言  # 设为  # 顺德seo排名软件  # 优质网站优化详情介绍  # 网站建设企业开发  # 萧山区百度关键词seo 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 热点 | 人工智能黄金时代开启  如何用户外电源给无人机实现持久续航  美的推出 AI 双视精准避障的自动集尘扫拖机器人 V12,售价仅为2999元  AI连线 | 专访风平智能CEO林洪祥:让AI数字人拥有漂亮的外表和有趣的灵魂,安全问题是重要考量  腾讯企点客服接待与营销分析能力升级!企业操作更高效、人机交互更智能  全国体育人工智能大会举办,专家聚焦体育人工智能领域人才培养  田渊栋团队新研究:微调  2025 世界人工智能大会闭幕,32 个重大产业签约总额达 288 亿元  脑机接口产业联盟发布十大脑机接口关键技术  小艺将具备大模型能力,鸿蒙4加速AI普及之路  张朝阳与陆川谈AI:ChatGPT是鹦鹉学舌思维,不可能取代人类 | 把脉AI大模型  奥比中光子公司和斯坦德机器人深度合作,共同推进新一代激光雷达的研发  1.6亿美元收购Singularity AI,昆仑万维布局通用人工智能  微软在 Build 大会上宣布的新 Microsoft Store AI Hub 现已开始推出  边喷火边跳踢踏舞,机器狗最新技能爆火全网!网友直呼真·热狗  眼球反射解锁3D世界,黑镜成真!马里兰华人新作炸翻科幻迷  AI智能室内效果图设计软件效果,确实惊到我了!  苹果机器学习关键人物 Ali Farhadi 离职,回归 AI2 担任 CEO  ChatGPT会成为你家新的语音助手吗?  2025VR&AR显示技术峰会展示歌尔光学最新一代光学模组  微软向美国政府提供GPT的大模型,安全性如何保证?  报告称 70% 程序员已使用各种 AI 工具编程  V社回应拒绝上架含 AI 生成内容的游戏:审核政策正在调整中  AI立法迫在眉睫,如何看对行业影响?  首部国内AI辅助动画片《魔游纪:人工智能辅助篇》预告发布  时隔 4 年:谷歌更新安卓机器人 LOGO,形象更立体  “无人驾驶船”将首次亮相世界人工智能大会,下半年或开进上海迪士尼  微盟宣布联合腾讯云共建行业大模型:加快激活AI大模型智能应用  靠游戏更靠AI 英伟达成唯一首季度两位数增长的公司  元宇宙迈入2.0时代,它和生成式人工智能有何关联吗?  以计算机视觉技术为基础的库存管理如何改革零售行业  AI拉动PCB发展|行业发现  以分布式网络串联闲置GPU,这家创企称可将AI模型训练成本降低90%  优化J*a与MySQL合作:分享批处理操作的技巧  Transformer六周年:当年连NeurIPS Oral都没拿到,8位作者已创办数家AI独角兽  飒智智能机器人核心技术与应用论坛暨一体化控制器发布会成功举办  人工智能时代的科幻译者怎么办?“做好翻译工作的高端10%”|文化观察  2025年深圳举办的SUSECON 创新峰会开始接受报名  小岛秀夫不反对使用AI 但认为人类应该凌驾于AI  如布科技发布新产品AI口袋学习机S12  Yann LeCun团队新研究成果:对自监督学习逆向工程,原来聚类是这样实现的  7大探索区域打造沉浸式玩乐“元宇宙” 昆明京东MALL未来科技探索官全城招募中  电力人工智能数据集目录首次发布  OpenAI更新GPT-4等模型,新增API函数调用,价格最高降75%  DreamAvatar数字人在哪里下载  央视报道车载人机交互技术!MWC上海魅族表现亮眼,现场热火朝天  创新科学家成功研发FAST激光靶标维护机器人  国产医疗企业的人工智能  央广车联网亮相2025世界人工智能大会  AI技术改变*,新骗局来袭,*成功率接近100% 

 2025-08-01

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.