【天池赛事】零基础⼊门语义分割-地表建筑物识别
【天池赛事】零基础⼊门语义分割-地表建筑物识别:第⼀章赛题及baseline
1 赛题背景
本次新⼈赛是 Datawhale 与天池联合发起的[零基础⼊门系列赛事——零基础⼊门语义分割之地表建筑物识别]。
赛题以计算机视觉为背景,要求选⼿使⽤给定的航拍图像训练模型并完成地表建筑物识别任务。为更好的引导⼤家⼊门,我们为本赛题定制了学习⽅案和学习任务,具体包括语义分割的模型和具体的应⽤案例。在具体任务中我们将讲解具体⼯具和使⽤和完成任务的过程。
通过对本⽅案的完整学习,可以帮助掌握语义分割基本技能。同时我们也将提供专属的视频直播学习通道。
2 任务安排
Task1:赛题理解与 baseline(3 天)
– 学习主题:理解赛题内容解题流程
– 学习内容:赛题理解、数据读取、⽐赛 baseline 构建
– 学习成果:⽐赛 baseline 提交
Task2:数据扩增⽅法(3 天)htmltextarea怎么选中其中一行
– 学习主题:语义分割任务中数据扩增⽅法
– 学习内容:掌握语义分割任务中数据扩增⽅法的细节和使⽤
– 学习成果:数据扩增⽅法的实践
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的具体计算⽅式如下:
其中X是预测结果,Y为真实标签的结果。当X与Y完全相同时Dice coefficient为1,排⾏榜使⽤所有测试集图⽚的平均Dice coefficient来衡量,分数值越⼤越好。
CV 实践-语义分割|问题汇总
1. Q:赛题数据如何下载A:下载SS_Data_A_20210201.md ,该⽂件内有数据的下载链接,见下表:
FileName Size
test_a.zip 314.49MB hangzhou.aliyuncs/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%9test_a_samplesubmit.csv 46.39KB hangzhou.aliyuncs/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%train.zip    3.68GB hangzhou.aliyuncs/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%train_mask.csv.zip 97.52MB hangzhou.aliyuncs/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%8
2. Q:使⽤预训练模型出现显存溢出问题
∣X ∣+∣Y ∣
2∗∣X ∩Y ∣
A:1. 减⼩模型训练的Batch Size;2. 更换硬件条件【建议:先随机从训练集中抽取⼀些数据跑通Baseline】。
3. Q: Baseline中Transform.Normalize⾥的参数是官⽅建议的标准化参数吗?
4. Q:如何安装GDAL、rasterio、tqdm等库?
A:在jupyter notebook中使⽤!pip install some_package --user或者在terminal中使⽤pip install some_package --user命令。
qq苹果13在线教程注:
1.
2. albumentations有三种安装⽅式,推荐使⽤conda:
createfile失败代码5怎么解决1. pip install albumentations
2.
3.
1. conda install -c conda-forge imgaug
2. conda install albumentations -c albumentations
3. Opencv(cv2)安装命令:python -m pip install opencv-python
5. Q:关于天池的常见问题,如数据挂载、第三⽅库安装、DSW操作等
6. Q:代码运⾏有问题,或者环境配置完后但使⽤不了第三⽅库
A:1. 重启Kernel或者Python服务;2.若涉及到路径,请查看路径是否包含中⽂【虽然Python3对中⽂编码进⾏了处理,但最好还是优先使⽤英⽂:)】;3. 重新创建新的虚拟环境,重新配置第三库【防⽌原始环境的第三⽅库版本不适合】。
7. Q:天池存储空间达到上限【免费空间为5G】,⽆法安装库或者解压数据等操作
8. Q:赛题内容以及Baseline的讲解直播如何观看?
9. Q:代码output = model(image)['out']中的['out']能不能删除
A:不能,Baseline中的FCN模型有两个输出,只取out部分。
10. Q:image, mask = dataset[0],读取不了图⽚,image返回NoneType类型
A:1. 天池解压可能导致⽂件损坏;2. 查看⽂件路径是否正确。
11. Q:如何切换相应环境的Kernel?
A:分以下两步:
conda install ipykernel #安装插件
python -m ipykernel install --name Name #将环境添加到Jyputer中(Name是此环境显⽰在Jyputer中的名称,可⾃定义)
```
12. Q:数据扩充那⾥有⼀个resize成256*256有什么特殊作⽤吗?
A:在FCN中对数据输⼊的尺⼨没有要求,所以该⼤⼩可以⾃由调整,但是要对分辨率和占⽤空间做个权衡。
13. Q:⼏个提升模型精度的思路
A:1. 使⽤更强的数据增强⽅法;2. 模型调参,如学习率、图像尺⼨等;3. 调整优化算法、损失函数,考虑正则⽅法;4 . 更换更强模型,如UNet、DeepLab等;5. 考虑集成⽅法;6. ……
注:
1. 注意样本的分配,绘制学习曲线,基于模型的学习效果(是否过拟合、⽋拟合)来确定合适的优化策略;
2. 具体请参考本次学习的pdf教程以及Datawhale往期的学习~
14. Q:如何加载本地模型参数?
A:两种⽅法:
1. # 先初始化模型,再读取模型参数(适⽤于⽂件只保存了参数)python入门教程视屏
model = TheModelClass(*args,**kwargs)
model.load_state_dict(torch.load(PATH, map_location=device))#map_location为切换设备
2. # 直接读取模型(适⽤于⽂件既保存了模型结构以及参数)
model = torch.load(PATH, map_location=device)
15. Q:模型预训练参数⽂件下载慢
16. Q:rle编码shape要求必须是512么?若将编码参数shape改为128会导致识别率骤降么?
A:1. shape不是必须为512的,但是编码前和解码后的图像尺⼨要⼀样(本题图像数据的尺⼨为512*512,所以该参数设为512);2.rle只是编码,不是降维,如果直接改shape,就相当于编码内容错误,所得信息不是图像的正确表达,⾃然识别率会骤降。所以在本题中,先编码成512,之后随便缩放。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。