# 基于机器学习的遥感图像识别算法(kNN/SVM/CNN/LSTM)
随着遥感卫星成像技术的提升和机器学习的蓬勃发展,越来越多的研究人员利用机器学习的方法来进行遥感图像识别,取得了很好的效果。在本次作业中,我将利用四种机器学习算法在WHU-RS19数据集上进行遥感图像识别的尝试,这其中既包括传统的kNN和SVM,也包括近年来得到青睐的CNN和LSTM算法。本文的基本结构如下:
* 数据集
* WHU-RS19的简单介绍
* 数据集的预处理与索引文档的生成
* kNN
* kNN的测试效果
* 分析参数k对kNN的测试效果的影响
* SVM
* SVM的测试效果
* 分析学习率和正则化参数对SVM的测试效果的影响
* SVM权值矩阵的可视化
* CNN
* CNN的测试效果
* 不同网络结构对CNN的测试结果的影响
* LSTM
* LSTM的测试效果
* 分析学习率和dropout值对LSTM的测试效果的影响
* 总结
## 数据集
### WHU-RS19的简单介绍
本次遥感图像识别算法采用的数据集是武汉大学提供的WHU-RS19数据集,该数据集包含了机场,海滩,桥,商业区,沙漠,农田,足球场,森林,工业区,草地,山,公园,停车场, 池塘, 港口, 火车站, 住宅区, 河流和高架桥总共19类遥感图像。图像的分辨率大都为600×600,每一个种类大约有50张图像。
<div align=center><img width="260" height="260" src="https://github.com/DICKIEZhu/Machine_learning_remote_sensing/raw/master/figure/bridge_17.jpg"/></div>
<div align=center> 图1 bridge_17 </div>
<div align=center><img width="260" height="260" src="https://github.com/DICKIEZhu/Machine_learning_remote_sensing/raw/master/figure/footballField_13.jpg"/></div>
<div align=center>图2 footballField_13</div>
### 数据集的预处理与索引文档的生成
在原始的数据集中,有4张分辨率不是600×600的图像已被去除。
利用 split_dataset.py 将数据集按照 0.8: 0.2 的比例分为训练集和测试集,分别置于train文件夹和test文件夹中。
利用 generate_txt.py 分别生成训练集和测试集的索引文件,索引文件中包括了图片的路径和图片的标签(0~19)。由于后面的实验在Google Colab上进行,因此我手动统一修改了图片的路径。最后得到的索引文件分别为train.txt和test.txt,其内容如下图所示:
<div align=center><img width="320" height="320" src="https://github.com/DICKIEZhu/Machine_learning_remote_sensing/raw/master/figure/traintxt.png"/></div>
<div align=center>图3 train.txt</div>
在本次作业中,我采用了4种不同的机器学习方法进行遥感图像识别的尝试,分别是kNN、SVM、CNN和LSTM。以上所有的实验均在Google Colab平台上进行。
## kNN
kNN(k-邻近算法)是最为简单的机器学习算法。在kNN算法中,一个对象的分类是由其邻居的“多数表决”确定的,k个最近邻居(k为正整数,通常较小)中最常见的分类决定了赋予该对象的类别。若k = 1,则该对象的类别直接由最近的一个节点赋予。
### kNN的测试效果
kNN作为一种最简单的机器学习算法,我并未对其的测试效果报以太大的期望。在本次测试中,我先将k取为1,测试这种最简单的模式下的效果,最终其测试的准确率为16%。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【作品名称】:基于python机器学习的遥感图像识别算法(kNN/SVM/CNN/LSTM) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 于机器学习的遥感图像识别算法(kNN/SVM/CNN/LSTM) 随着遥感卫星成像技术的提升和机器学习的蓬勃发展,越来越多的研究人员利用机器学习的方法来进行遥感图像识别,取得了很好的效果。在本次作业中,我将利用四种机器学习算法在WHU-RS19数据集上进行遥感图像识别的尝试,这其中既包括传统的kNN和SVM,也包括近年来得到青睐的CNN和LSTM算法。本文的基本结构如下: 数据集 WHU-RS19的简单介绍 数据集的预处理与索引文档的生成 kNN kNN的测试效果 分析参数k对kNN的测试效果的影响 SVM SVM的测试效果 分析学习率和正则化参数对SVM的测试效果的影响 S 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。
资源推荐
资源详情
资源评论
收起资源包目录
machine-learning-final.zip (33个子文件)
machine-learning-final
reflection_problem.png 578KB
figure
lstm.png 94KB
svm3.png 326KB
svm4.png 12KB
svm1.png 28KB
svm2.png 25KB
temp.cpp 1B
footballField_13.jpg 112KB
knn1.png 7KB
cnn4.png 27KB
cnn3.png 31KB
cnn2.png 31KB
cnn1.png 30KB
knn2.png 34KB
traintxt.png 85KB
cnn5.png 20KB
bridge_17.jpg 90KB
README.md 3KB
code
3_LSTM
LSTM说明文档.md 1KB
lstm.py 6KB
LSTM.ipynb 254KB
temp.cpp 1B
data_preprocessing
split_dataset.py 1KB
generate_txt.py 1KB
0_kNN
kNN说明文档.md 565B
kNN.ipynb 21KB
knn.py 3KB
1_SVM
svm.py 6KB
SVM说明文档.md 585B
SVM.ipynb 173KB
2_CNN
CNN.ipynb 71KB
cnn.py 7KB
CNN说明文档.md 1KB
共 33 条
- 1
资源评论
小英子架构
- 粉丝: 949
- 资源: 3271
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功