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

admin 2026-10-21 19:34:46 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

var oam_subset = ee.ImageCollection(\"projects/sat-io/open-datasets/open-aerial-map\");

在这里,我简单做个实例,用无人机影像进行一次地物分类

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无人机数据进行分类

”

感谢关注,欢迎转发!

声明:仅供学习使用!

**希望关注的朋友们转发,如果对你有帮助的话记得给小编点个赞或者在看!****