【计算机视觉 | Kaggle】保姆级教程:入门 Kaggle 的步骤详细介绍

一、Overview

当进入到一场比赛的 Overview 页面后,先读完 Description,了解比赛讲了一件什么事情。

我们以一场比赛举例说明:

在这里插入图片描述

这场比赛中,比赛的描述为:

凝结尾迹是在飞机发动机排气中形成的冰晶云。它们可以通过将热量捕获在大气中来促进全球变暖。研究人员已经开发了模型来预测凝结尾迹何时形成以及它们会导致多少变暖。但是,他们需要用卫星图像验证这些模型。

您的工作将帮助研究人员提高其 contrail 模型的准确性。这将有助于航空公司避免产生凝结尾迹,并减少其对气候变化的影响。

避免凝结尾迹可能是当今航空公司可用的最具可扩展性、最具成本效益的可持续性解决方案之一。凝结尾迹是“冷凝轨迹”的缩写,是在飞机发动机排气中形成的线形冰晶云,由飞机飞越大气中的超潮湿区域而产生。持久性凝结尾迹对全球变暖的贡献与它们为飞行燃烧的燃料一样多。这种现象最早是在75年前由军用飞机发现的,目的是避免留下可见的痕迹。大约30年前,欧洲的气候科学家开始明白,凝结尾迹阻挡了通常在一夜之间从地球释放的热量。他们根据天气数据建立了强大的模型,以确定凝结尾迹何时形成以及变暖程度。他们的研究也得到了其他实验室的验证,现在人们普遍认为凝结尾迹约占人类造成的全球变暖的1%。使用卫星图像背后的动机是凭经验证实这些模型的预测。通过可靠的验证,飞行员可以对模型充满信心,航空业可以采用值得信赖的方法来衡量成功的避险情况。

您的工作将以量化的方式提高预测形成区域的置信度以及避免创建它们的技术。

Google 研究院将机器学习应用于缓解气候变化和适应我们已经看到的变化的机会。我们在聚变能等离子体建模、野火早期检测、最佳汽车路线和气候灾害预测方面开展了研究项目。

数据集来源:麻省理工学院航空与环境实验室由麻省理工学院教授史蒂文·巴雷特(Steven Barrett)领导 卫星图像来自NOAA GOES-16,详见:

https://www.goes-r.gov/

二、Evaluation

然后进入 Evaluation,这一部分介绍了比赛的评价算法,以及最终提交文件的格式。

在这里插入图片描述

我们翻译一下:

本次比赛按照全球Dice系数进行评估。 Dice 系数可用于比较预测分割与其相应的地面实况之间的像素级一致性。 公式由下式给出:

在这里插入图片描述
其中 X 是测试数据中所有观测值的预测轨迹像素的整个集合,Y 是测试数据中所有轨迹像素的地面实况集。

为了减少提交文件的大小,我们的指标对像素值使用游程编码。 您将提交包含起始位置和游程长度的值对,而不是提交用于分割的详尽索引列表,例如,“1 3”表示从像素 1 开始并运行总共 3 个像素(1,2 ,3).

请注意,在编码时,掩码应该是二进制的,这意味着图像中所有对象的掩码都连接到一个大掩码中。 值 0 应表示未屏蔽的像素,值 1 表示已屏蔽的像素。

竞赛格式需要一个以空格分隔的配对列表。 例如,“1 3 10 5”意味着像素 1、2、3、10、11、12、13、14 将包含在掩模中。 该度量检查这些对是否已排序、是否为正,并且解码的像素值是否不重复。 像素从上到下、从左到右编号:1 是像素 (1,1),2 是像素 (2,1),依此类推。

重要提示:空预测必须在提交文件中用“-”标记。 可以在此笔记本中找到正确编码和解码运行长度编码的代码。

三、Timeline

Timeline 随便看一下好了,知道什么时候停止组队和什么时候结束就行。注意这里是 UTC-0 的时间,比北京时间迟 8 小时。

在这里插入图片描述

四、Code Requirements

然后是 Code Requirements。这里主要看一下 Run-time 的限制,Run-time 代表你的代码最大运行时间。本次比赛允许 GPU 运算的提交,并且要求方案运行时间不超过 9 小时。

在这里插入图片描述

五、Data

5.1 数据的可视化

这里每一行都要仔细看,每份 csv 文件里的每个字段都会有解释的,很多细节甚至会影响到比赛的打法。

在本次比赛中,您将使用地球静止卫星图像来识别航空轨迹。

原始卫星图像是从 GOES-16 高级基线成像仪 (ABI) 获得的,该图像可在 Google 云存储上公开获取。 使用双线性重采样对原始全盘图像进行重新投影以生成局部场景图像。 由于在时间背景下更容易识别尾迹,因此提供了一系列以 10 分钟为间隔的图像。 每个示例 (record_id) 只包含一个标记帧。

从预印本中了解有关数据集的更多信息:OpenContrails:GOES-16 ABI 上的轨迹检测基准测试。 标签说明可在本补充材料中找到。 一些关键的标签指南:

  • 轨迹必须至少包含 10 个像素
  • 在生命中的某个时刻,凝结尾迹的长度必须至少是其宽度的 3 倍
  • 尾迹必须突然出现或从图像的侧面进入
  • 轨迹应该在至少两张图像中可见

基本事实是由(通常)4 个以上不同的标记器对每个图像进行注释来确定的。 当超过 50% 的标记者将其注释为轨迹时,像素被视为轨迹。 训练数据中包含单独注释 ( human_individual_masks.npy ) 以及聚合的地面实况注释 ( human_pixel_masks.npy )。 验证数据仅包括聚合的地面实况注释。

这是标记轨迹的示例。 可以在此笔记本中找到生成此类图像的代码。放出可视化的代码地址:

https://blog.csdn.net/wzk4869/article/details/132189093?spm=1001.2014.3001.5501

在这里插入图片描述

5.2 文件

train/ - 训练集; 每个文件夹代表一个record_id并包含以下数据:

band_{08-16}.npy:大小为 H x W x T 的数组,其中 T = n_times_before + n_times_after + 1,表示序列中图像的数量。 标记帧之前和之后分别有 n_times_before 和 n_times_after 图像。 在我们的数据集中,所有示例的 n_times_before=4 和 n_times_after=3。 每个波段代表不同波长的红外通道,并根据校准参数转换为亮度温度。 文件名中的数字对应于 GOES-16 ABI 带编号。 ABI 频段的详细信息可在此处找到。

human_individual_masks.npy:大小为 H x W x 1 x R 的数组。每个示例都由 R 个单独的人类标记器标记。 R 并非所有样本都相同。 带标签的掩模的值为 0 或 1,对应于 band_{08-16}.npy 中的第 (n_times_before+1) 个图像。 它们仅在训练集中可用。

human_pixel_masks.npy:大小为 H x W x 1 的数组,包含二进制地面事实。 如果一个像素被超过一半的标记者标记为轨迹像素,则在评估中将其视为轨迹像素。

validation/ - 与训练集相同,没有单独的标签注释; 如果需要,可以将其用作训练数据

test/ - 测试集; 您的目标是识别这些记录中发现的轨迹。 注意:由于这是一场代码竞赛,因此您无权访问您的笔记本重新运行所针对的实际测试集。 此处显示的记录是验证数据的前两条记录的副本(不带标签)。 隐藏测试集的大小与验证集大致相同 (± 5%)。 重要提示:提交内容应使用游程编码,并且空预测(例如,无尾迹)应在提交内容中用“-”标记。 (有关详细信息,请参阅本笔记本。)

{train|validation}_metadata.json - 每条记录的元数据信息; 包含再现卫星图像的时间戳和投影参数。

Sample_submission.csv - 正确格式的示例提交文件

在这里插入图片描述

六、Discussion

看完了官方的介绍后,一般我们可以先进入 Discussion 区,最上面的 pined topics 是官方的置顶的话题,比较重要,往往是官方在比赛过程中发现了一些问题后,做出的调整。下面部分是选手们的讨论区,一般可以按照 votes 排序,对于你理解以及进阶比赛有很大帮助。选手之间的高质量交流,是 kaggle 社区的特色,这也是其他国内比赛没有的氛围。

在这里插入图片描述

七、Code

看一些你感兴趣的 Discussions 后,回到 code 区,同样按 votes 排序。

找一些关键词例如:

  • EDA(数据探索)
  • Starter(适合刚参加比赛)
  • Baseline(基线模型)

里面有大神对数据做了基本分析,而且往往有很多图表,有助于你进一步理解数据,如数据分布是否有类别不平衡的问题,之类的。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wzk4869/article/details/132187887