利用OpenAerialMap(OAM)公开无人机数据进行分类

admin 2026-07-10 06:36:15 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了利用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)公开无人机数据进行分类》

评论:0   参与:  0