https://tianchi.aliyun.com/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实践-语义分割|问题汇总

  1. Q:赛题数据如何下载

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

    FileName Size Link
    test_a.zip 314.49MB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/test_a.zip
    test_a_samplesubmit.csv 46.39KB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/test_a_samplesubmit.csv
    train.zip 3.68GB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/train.zip
    train_mask.csv.zip 97.52MB http://tianchi-competition.oss-cn-hangzhou.aliyuncs.com/531872/%E5%9C%B0%E8%A1%A8%E5%BB%BA%E7%AD%91%E7%89%A9%E8%AF%86%E5%88%AB/train_mask.csv.zip
  2. Q:使用预训练模型出现显存溢出问题

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

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

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

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

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

    注:

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

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

      • pip install albumentations

      • pip install -U git+https://github.com/albu/albumentations

        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操作等

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

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

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

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

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

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

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

  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中的名称,可自定义)
```
  1. Q:数据扩充那里有一个resize成256*256有什么特殊作用吗?

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

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

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

    注:

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

    A:两种方法:

    1. # 先初始化模型,再读取模型参数(适用于文件只保存了参数)model = TheModelClass(*args, **kwargs)model.load_state_dict(torch.load(PATH, map_location=device)) #map_location为切换设备
      
    2. # 直接读取模型(适用于文件既保存了模型结构以及参数)
      model = torch.load(PATH, map_location=device)
      
  4. Q:模型预训练参数文件下载慢

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

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

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

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

  1. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task6:分割模型模型集成

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  2. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task5:模型训练与验证

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  3. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task4:评价函数与损失函数

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  4. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task3:网络模型结构发展

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  5. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task2:数据扩增方法

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  6. 【天池赛事】零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline

    [天池赛事]零基础入门语义分割-地表建筑物识别 Task1:赛题理解与 baseline(3 天) – 学习主题:理解赛题内容解题流程 – 学习内容:赛题理解.数据读取.比赛 baseline 构建 ...

  7. 天池赛题解析:零基础入门语义分割-地表建筑物识别-CV语义分割实战(附部分代码)

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

  8. 零基础入门语义分割-地表建筑物识别 Task2 数据扩增 -学习笔记

    先给出task1的链接:task1-赛题理解 这一节进行数据扩增的试验 读取图片: train_mask = pd.read_csv('./data/train_mask.csv', sep='\t' ...

  9. 零基础入门语义分割——Task1 赛题理解

    文章目录 一.赛题数据 二.数据标签 三.评价指标 四.读取数据 比赛地址:零基础入门语义分割-地表建筑物识别 一.赛题数据 遥感技术已成为获取地表覆盖信息最为行之有效的手段,遥感技术已经成功应用于地 ...

最新文章

  1. cname 别名记录 解析过程_云解析是什么?需要购买吗?
  2. 在Docker里面安装Ubuntu,并且使用ssh进行连接
  3. MyEclipse10下开发第一个Hibernate小程序
  4. 知名笔记本躺枪!苹果首席营销官开喷:小孩用了没出息
  5. 【SICP练习】102 练习2.79-2.80
  6. tf.transpose()函数(转)
  7. 价值连城 ImageNet图像分类大神 Andrej Karpathy的采访 给AI 深度学习从业者的建议
  8. pgsql修改字段长度
  9. numpy数组随机抽取
  10. Mari 仿制图章 Clone Stamp的使用
  11. spyder4升级到spyder5出现缺少依赖库spyder_kernels问题解决
  12. 代码覆盖率在性能优化上的一种可行应用
  13. 华为软开云7--部署
  14. CSS3 @media 查询(制作响应式布局)
  15. 基于豆瓣哈哈哈哈哈哈小组的数据分析研究
  16. 第四章 安装centos与多重引导
  17. [JAVA毕业设计]高校教学资源共享平台源码获取和系统演示
  18. APP获取气象局所有城市气象预警信息接口
  19. Snap Chrome浏览器及展示如何在snap中打入debian包
  20. PostgreSQL 常用命令速查表

热门文章

  1. linux中更新perl的版本
  2. WannaCry勒索比特币蠕虫病毒解决方案
  3. C/C++ 代码转换规范化的脚本
  4. 352. Data Stream as Disjoint Intervals
  5. var和dynamic的区别及如何正确使用dynamic?
  6. 矩形嵌套 南阳理工ACM
  7. 《锋利的jQuery》学习---基础篇01(持续更新)
  8. css background-image 高度自适应_每天一个CSS小技巧 - 内容元素的自适应
  9. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
  10. vue 获取元素在浏览器的位置_JavaScript获取窗口位置和元素坐标(兼容版)