动手学习基于深度学习的遥感影像分类 | 闯关训练营 | 在线优质课程
这是中国地质大学(武汉) UrbanComp 团队出品的《遥感影像深度学习》系列训练营第一场。围绕遥感影像分类,用一个完整案例,带领你提高深度学习实战能力。
训练营完全免费,并由和鲸社区 ModelWhale 提供算力与平台支持。
在探索遥感影像的广袤视野之际,你是否好奇过这些影像数据背后蕴藏的丰富信息?在这个训练营中,我们将借助 Python 编程语言和先进的图像分类模型,通过分类分析,揭示遥感影像中不同地物类别的秘密,从而更深入地理解地球表面的变化与特性。
遥感影像分类模型通过将影像数据划分为若干地物类别,使得同一类别内的像素具有较高的相似性,而不同类别之间的像素相似性较低。该算法的核心思想是通过机器学习或深度学习技术,通过分析和计算遥感影像数据,从大量数据中提取有用的信息,并实现高效分类。这个算法在城市扩展分析、灾害评估、城乡规划等领域有着广泛的应用。
在本期训练营中,你将借助系统的课程、案例和实践,掌握遥感影像分类的基本理论、分类模型和算法,提升你在遥感应用方面的技能,并增强你解决实际问题的能力。使用的数据集参考 CN-MSLU-DEMO-1K。
先备知识:
- python 基础
- pytorch 基础
- 遥感影像分类的概念
学习大纲
关卡 1:读取数据并可视化
- 闯关题 1:请利用collections库统计数据集中二级类别的数量,并输出“Farmland”类别的数量
- 闯关题 2:在数据表中将数量小于10的二级类别修改为“Others”
- 闯关题 3:获取尺寸最小的影像
- 闯关题 4:将min_size_row这一行的影像进行可视化,并标注二级类别
关卡 2:训练数据的准备和划分
- 闯关题 1:通过继承 ImageDataset 类,实现了在输出数据时添加二级标签
- 闯关题 2:构建数据转换并统一影像尺寸
- 闯关题 3:按照 7:2:1 的比例划分训练集、验证集和测试集
关卡 3:定义并训练ResNet模型
- 闯关题 1 :通过导入torchvision下的resnet18模型,构建二级分类模型
- 闯关题 2 :构建损失函数和优化器
- 闯关题 3:编写模型训练函数
关卡 4:模型对比与训练过程可视化
- 闯关题 1:通过上述模型训练过程,构建VGG、GoogLeNet和DenseNet三个模型进行训练
- 闯关题 2:调整 VGG、GoogLeNet 和 DenseNet 模型并创建实例
关卡 5(通关题):基于深度学习的遥感影像分类系统的完整实现
- 闯关题 1 :读取CSV文件并对其进行调整
- 闯关题 2 :构建自定义的数据集类
- 闯关题 3:构建遥感影像分类模型
- 闯关题 4:进行模型的训练
- 闯关题 5:对模型的训练过程进行可视化
需要帮助?
- 训练营讨论区发帖提问。提问前参考讨论区置顶的《💡【提交出错时】常见错误与排查建议》自行排查,提问时保持信息充足、描述精准。
- 进群交流唠嗑:描下方二维码添加方大鲸微信号(heywhale888),回复“地理”即可等待方大鲸分批拉入群聊。
关于作者
唐蜜 中国地质大学(武汉)地理与信息工程学院研究生在读,测绘科学与技术地图制图学与地理信息工程专业。研究方向为遥感图像处理,擅长 Python。
通关选手反馈
-
Hchen.Zhao:作者从读取数据、划分数据、训练模型、模型对比等方面给我们一个对机器学习的直观体验,通关题的设计并不算难,但需要去自己仔细思考,是一个入门地学机器学习很好的活动,值得反复回味。
-
小须鲸5nol:刚好最近在看《动手学深度学习》(这本书真能帮你深度学习深度学习),这也是我第一个(线上)跑起来的项目,我还尝试将其在本地Linux下跑起来(虽然配环境配得快把头发掉光了,但是听到显卡呜呜响还是有点满足),感谢作者提供这样一个教程!
特别致谢 ☕
-
Hchen.Zhao、小须鲸5nol、艾式鲸f4tv、wushishi_50 4 位闯关勇士在讨论区分享了每一关的通关经验。这些对其他想要学习的同学非常实用!
报名地址:https://www.heywhale.com/home/competition/67e4f344d347186d14bef82b/content/0
具体海报如下
Q.E.D.