文章总结: 本文介绍了利用OpenAerialMap(OAM)公开无人机数据进行地物分类的方法。OAM是一个开放航拍影像平台,提供全球无人机影像的搜索与下载。作者将部分OAM数据导入GoogleEarthEngine(GEE),并编写脚本进行预处理。文章展示了在GEE中使用随机森林分类器对台湾某地区DOM影像进行分类的实例,选取道路、人造建筑物和草地三类样本,分类结果精度尚可但未达优,建议后续加入新特征。文章提供了数据下载网址和GEE代码链接。 综合评分: 82 文章分类: 其他
在这里,我简单做个实例,用无人机影像进行一次地物分类
01
—
GEE部分实现代码
//Shuffle the image collection to fetch random datavar collection = oam_subset.toList(oam_subset.size())print(collection)//Fetch any item from listvar image = ee.Image(collection.get(50))Map.centerObject(image,14)print('Image detail',image)
// Add imageryMap.addLayer(ee.Image(image),{},image.get('platform').getInfo()+' data')
var samples = road.merge(caodi).merge(building);
var sampleData = samples.randomColumn('random')
var sample_training = sampleData.filter(ee.Filter.lte("random", 0.7));var sample_validate = sampleData.filter(ee.Filter.gt("random", 0.7));Map.addLayer(sample_training,{color:'red'},'training samples')Map.addLayer(sample_validate,{color:'blue'},'validation samples')
// 利用样本点拾取特征值用于模型训练和验证
var training = image.sampleRegions({ collection: sample_training, properties: ["class"], scale: 1, tileScale:16});
var validation = image.sampleRegions({ collection: sample_validate, properties: ["class"], scale: 1, tileScale:16});
var classifier = ee.Classifier.smileRandomForest(50) .train({ features: training, classProperty: 'class', inputProperties: image.bandNames() });
var Classified_RF = image.classify(classifier).byte();var dict = classifier.explain();
var variable_importance = ee.Feature(null, ee.Dictionary(dict).get('importance'));print(variable_importance)
Map.addLayer(Classified_RF, {min: 0, max: 2, palette: ["3182bd","f0f0f0","e6550d"]}, 'Classified_RF');
// 混淆矩阵法var validated = validation.classify(classifier);// 混淆矩阵var testAccuracy = validated.errorMatrix('class', 'classification');// 总体分类精度var accuracy = testAccuracy.accuracy();// 用户分类精度var userAccuracy = testAccuracy.consumersAccuracy();// 生产者精度var producersAccuracy = testAccuracy.producersAccuracy();// Kappa系数var kappa = testAccuracy.kappa();
print('Validation error matrix:', testAccuracy);print('User acc:', userAccuracy);print('Prod acc:', producersAccuracy);print('Validation overall accuracy:', accuracy);print('Kappa:', kappa);
采用的是台湾某地区的DOM,目视解译选取了三类样本点,分别是道路、人造建筑物、草地。分类结果还算不错,但没有达到优的等级,后续分类需要加入新的特征要素。
02
—
结果展示
原始影像
分类后结果
分类结果精度
随机区域DOM展示1
随机区域DOM展示2
随机区域DOM展示3
请在微信客户端打开
请在微信客户端打开
代码完整链接请在微信公众号后台私信“
OpenAerialMap无人机数据进行分类
”
感谢关注,欢迎转发!
声明:仅供学习使用!
希望关注的朋友们转发,如果对你有帮助的话记得给小编点个赞或者在看!
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:生态遥感监测笔记 LSC6 LSC6《利用OpenAerialMap (OAM)公开无人机数据进行分类》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论