糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 【天池赛事】零基础入门语义分割-地表建筑物识别

【天池赛事】零基础入门语义分割-地表建筑物识别

时间:2023-01-26 20:30:26

相关推荐

【天池赛事】零基础入门语义分割-地表建筑物识别

/competition/entrance/531872/introduction

【天池赛事】零基础入门语义分割-地表建筑物识别:第一章 赛题及baseline

1 赛题背景2 任务安排3 赛制说明4 赛题数据CV实践-语义分割|问题汇总

1 赛题背景

本次新人赛是 Datawhale 与天池联合发起的[零基础入门系列赛事——零基础入门语义分割之地表建筑物识别]。

赛题以计算机视觉为背景,要求选手使用给定的航拍图像训练模型并完成地表建筑物识别任务。为更好的引导大家入门,我们为本赛题定制了学习方案和学习任务,具体包括语义分割的模型和具体的应用案例。在具体任务中我们将讲解具体工具和使用和完成任务的过程。

通过对本方案的完整学习,可以帮助掌握语义分割基本技能。同时我们也将提供专属的视频直播学习通道。

2 任务安排

Task1:赛题理解与 baseline(3 天)

– 学习主题:理解赛题内容解题流程

– 学习内容:赛题理解、数据读取、比赛 baseline 构建

– 学习成果:比赛 baseline 提交

Task2:数据扩增方法(3 天)

– 学习主题:语义分割任务中数据扩增方法

– 学习内容:掌握语义分割任务中数据扩增方法的细节和使用

– 学习成果:数据扩增方法的实践

Task3:网络模型结构发展(3 天)

– 学习主题:掌握语义分割模型的发展脉络

– 学习内容: FCN、 Unet、 DeepLab、 SegNet、 PSPNet

– 学习成果:多种网络模型的搭建

Task4:评价函数与损失函数(3 天)

– 学习主题:语义分割模型各种评价函数与损失函数

– 学习内容: Dice、 IoU、 BCE、 Focal Loss、 Lovász-Softmax

– 学习成果:评价/损失函数的实践

Task5:模型训练与验证(3 天)

– 学习主题:数据划分方法

– 学习内容:三种数据划分方法、模型调参过程

– 学习成果:数据划分具体操作

Task6:分割模型模型集成(3 天)

– 学习主题:语义分割模型集成方法

– 学习内容: LookaHead、 SnapShot、 SWA、 TTA

– 学习成果:模型集成思路

3 赛制说明

本次赛事分为两个阶段,分别为正式赛及长期赛。

正式赛赛制选手报名成功后,选手下载数据,可以本地或天池 PAI 平台完成模型训练,并在测试集上进行提交。

在正式赛后,本场比赛将长期开放,报名和参赛无时间限制。每天每位参赛选手可提交 3 次完成初赛打分;排行榜每小时更新,按照评测指标得分从高到低排序;排行榜将选择历史最优成绩进行展示。

4 赛题数据

数据说明

赛题数据来源(Inria Aerial Image Labeling),并进行拆分处理。数据集报名后可见并可下载。赛题数据为航拍图,需要参赛选手识别图片中的地表建筑具体像素位置。

评价函数

赛题使用Dice coefficient来衡量选手结果与真实标签的差异性,Dice coefficient可以按像素差异性来比较结果的差异性。Dice coefficient的具体计算方式如下:

2∗∣X∩Y∣∣X∣+∣Y∣{{2*|X\cap Y|}\over {|X|+|Y|}} ∣X∣+∣Y∣2∗∣X∩Y∣​

其中X是预测结果,Y为真实标签的结果。当X与Y完全相同时Dice coefficient为1,排行榜使用所有测试集图片的平均Dice coefficient来衡量,分数值越大越好。

CV实践-语义分割|问题汇总

Q:赛题数据如何下载

A:下载SS_Data_A_0201.md,该文件内有数据的下载链接,见下表:

Q:使用预训练模型出现显存溢出问题

A:1. 减小模型训练的Batch Size;2. 更换硬件条件【建议:先随机从训练集中抽取一些数据跑通Baseline】。

Q: Baseline中Transform.Normalize里的参数是官方建议的标准化参数吗?

A:使用预训练的模型时,输入数据要与预训练的数据做同样的处理,即保持类似的分布,不同框架以及不同预训练模型的参数不同,以Pytorch为例,可参考文档:/Cadene/pretrained-models.pytorch。

Q:如何安装GDAL、rasterio、tqdm等库?

A:在jupyter notebook中使用!pip install some_package --user或者在terminal中使用pip install some_package --user命令。

注:

GDAL和rasterio建议使用whl来安装,下载地址为:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pip;

albumentations有三种安装方式,推荐使用conda:

pip install albumentations

pip install -U git+/albu/albumentations

conda install -c conda-forge imgaug

conda install albumentations -c albumentations

Opencv(cv2)安装命令:python -m pip install opencv-python

Q:关于天池的常见问题,如数据挂载、第三方库安装、DSW操作等

A:请参考天池的新手文档:/forum/postDetail?spm=TODO.TODO.header.2.21864825A5pdfB&postId=121050。

Q:代码运行有问题,或者环境配置完后但使用不了第三方库

A:1. 重启Kernel或者Python服务;2.若涉及到路径,请查看路径是否包含中文【虽然Python3对中文编码进行了处理,但最好还是优先使用英文:)】;3. 重新创建新的虚拟环境,重新配置第三库【防止原始环境的第三方库版本不适合】。

Q:天池存储空间达到上限【免费空间为5G】,无法安装库或者解压数据等操作

A:1.若条件允许,优先使用本地计算机操作;2.若本地条件不允许,可使用Kaggle或Colab;3.适合薅羊毛的平台:/account/【赠送8元点券,每邀请一个好友赠送8元】和/auth/register?user=18630188817&fromId=a3f006115d4&source=link【注册后有100元的注册券,可以免费用20+小时,邀请一个好友送50】

Q:赛题内容以及Baseline的讲解直播如何观看?

A:直播已经结束,录播请关注Datawhale的b站,地址为:/431850986?from=search&seid=724423084384707923

Q:代码output = model(image)['out']中的['out']能不能删除

A:不能,Baseline中的FCN模型有两个输出,只取out部分。

Q:image, mask = dataset[0],读取不了图片,image返回NoneType类型

A:1. 天池解压可能导致文件损坏;2. 查看文件路径是否正确。

Q:如何切换相应环境的Kernel?

A:分以下两步:

conda install ipykernel #安装插件

python -m ipykernel install --name Name #将环境添加到Jyputer中(Name是此环境显示在Jyputer中的名称,可自定义)```

Q:数据扩充那里有一个resize成256*256有什么特殊作用吗?

A:在FCN中对数据输入的尺寸没有要求,所以该大小可以自由调整,但是要对分辨率和占用空间做个权衡。

Q:几个提升模型精度的思路

A:1. 使用更强的数据增强方法;2. 模型调参,如学习率、图像尺寸等;3. 调整优化算法、损失函数,考虑正则方法;4 . 更换更强模型,如UNet、DeepLab等;5. 考虑集成方法;6. ……

注:

注意样本的分配,绘制学习曲线,基于模型的学习效果(是否过拟合、欠拟合)来确定合适的优化策略;具体请参考本次学习的pdf教程以及Datawhale往期的学习~

Q:如何加载本地模型参数?

A:两种方法:

# 先初始化模型,再读取模型参数(适用于文件只保存了参数)model = TheModelClass(*args, **kwargs)model.load_state_dict(torch.load(PATH, map_location=device)) #map_location为切换设备

# 直接读取模型(适用于文件既保存了模型结构以及参数)model = torch.load(PATH, map_location=device)

Q:模型预训练参数文件下载慢

A:可使用镜像:https://coggle.club/note/dl/pretrained-models

Q:rle编码shape要求必须是512么?若将编码参数shape改为128会导致识别率骤降么?

A:1. shape不是必须为512的,但是编码前和解码后的图像尺寸要一样(本题图像数据的尺寸为512*512,所以该参数设为512);2.rle只是编码,不是降维,如果直接改shape,就相当于编码内容错误,所得信息不是图像的正确表达,自然识别率会骤降。所以在本题中,先编码成512,之后随便缩放。

如果觉得《【天池赛事】零基础入门语义分割-地表建筑物识别》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。