向AI转型的程序员都关注了这个号????????????
大数据挖掘DT机器学习 公众号: datayx
基于深度学习的遥感影像地表覆盖、地表利用分类
遥感影像解译,作为数字图像分析的一个重要组成部分,长期以来被广泛应用于国土、测绘、国防、城市、农业、防灾减灾等各个领域。随着机器学习技术的发展,如地表覆盖分类等基于遥感影像的数字图像分析技术也得到了一定程度的发展。但是长期以来,基于遥感影像的应用仍停留在目视解译的阶段,自动化的程度较低。一个重要的原因即遥感影像的机器学习分析方法效率不高,还不足以支撑现有的应用。
本题目标为在基于一定量的目视解译样本基础上,通过各类图像处理、机器学习算法,提取影像中各类地物的光谱或形状等特别的特征。计算其统计信息,同时用这些种子类别对模型进行训练,随后用训练好的模型去对其他待分数据进行分类。使每个像元按不同的规则将其划分到和其最相似的样本类,以此完成对整个图像的分类。
代码,以及数据集获取:
关注微信公众号 datayx 然后回复 卫星影像 即可获取。
Overview
数据来自2015年中国南方某地区的高分辨率无人机遥感影像,分辨率为亚米级,光谱为可见光波段(R,G,B),提供的训练样本分为五类:植被(标记1)、建筑(标记2)、水体(标记3)、道路(标记4)以及其他(标记0),耕地、林地、草地均归为植被类。初赛训练集是2张大的png格式图片,图片大小是7939*7969,预测集是三张大的png格式图片,图片大小为5190*5204,复赛训练集增加了3张大的png格式图片,复赛预测集也是三张png图片。相比其他类型比赛的数据,遥感影像可视化较为方便,可以对遥感影像有个整体直观的了解。
- 主要尝试的模型:
- 训练数据集s1s2 (pspnet-densenet-s1s2)
- 训练数据集s1s2-crf2 (pspnet-densenet-s1s2-crf2)
- 不同网络输入尺度 (pspnet-densenet-s1s2-320)
- focal loss (pspnet-densenet-s1s2-crf2-fl)
- 类别加权训练 (pspnet-densenet-s1s2-crf2-weight)
1.数据预处理
- 将训练数据放入工程目录下dataset/CCF-training和dataset/CCF-traing-Semi下 测试数据dataset/CCF-testing-Semi, 修改utils/preprocess.py中的工程目录
ProjectDir
- 执行 ./preprocess.sh (可能时间比较久...)
2.训练
run_train.sh 根据Overview里面的模型设置,更改train_dir选择对应的训练数据和model_name设置训练的模型
- pspnet-densenet-s1s2-320,更改--image_rows 和 --img_cols 为320
- 在run_train.sh,除了pspnet-densenet-s1s2-crf2-fl调用 train-fl.py, 其它模型用train.py
- 对于pspnet-densenet-s1s2-crf2-weight,更改train.py中的weights_per_class 为[0,1,1,3,3],默认[0,1,1,1,1]
3.测试 & Vote
- run_test.sh 更改model_name选择对应的模型测试
- run_vote.sh 更改model_name,对同一模型的不同epoch测试结果进行投票,得到该单模型结果
- ./submit.sh 每个模型的测试目录 use_crf(e.g. ./submit.sh results/pspnet-densenet-s1s2-crf2/vote 1)
阅读过本文的人还看了以下:
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加: datayx
长按图片,识别二维码,点关注