【AI Earth试玩】权限配置与openAPI调用工具库

前言

AI earth是阿里达摩院出的遥感云计算平台,我简单体验下来感觉像是GEE的python版本+遥感深度学习计算平台,整体体验还是挺不错的,尤其是多分类的结果还是挺惊艳的。

平台提供工具箱和notebook两种模式,工具箱整个交互简单易用,这里主要说一下基于notebook的工具箱app调用处理,更多玩法可以参考官方api文档

权限配置

  • 获取AccessKey并授权

第一种 创建RAM用户的AccessKey

  • 登录RAM控制台
  • 在左侧导航栏,选择****身份管理** > *用户***。
  • 用户页面,单击目标RAM用户名称。
  • 用户AccessKey区域,单击创建AccessKey
  • 根据界面提示完成安全验证。
  • 权限管理-授权 页面,选择需要授权的子账号,并选择 AliyunRsimganalysFullAccess 系统权限,即可允许对应子账号使用AI Earth云平台功能。如需购买[AI Earth增值服务](javascript:void(0)),请同时授予子账号 AliyunBSSFullAccess 权限。

notebook提交任务

  • 登录后进入平台,点击处理分析选择进入开发者模式,打开运行环境。

  • 这里可以点击项目数据上传自己的数据,也可以选择公开数据集,自己上传的数据是有单独的STAC ID的,公开数据也是有全局唯一的STAC ID的,copy要处理数据的STAC ID,后面代码需要用。

    具体数据STAC ID查询与导入方式参考https://engine-aiearth.aliyun.com/docs/page/guide?d=c2989d#heading-9

初始化环境

这里把上面获取的accessKey复制粘贴过来。

import time
from Tea.exceptions import TeaException
from alibabacloud_tea_openapi import models
from alibabacloud_aiearth_engine20220609.models import *
from alibabacloud_aiearth_engine20220609.client import Client

config = models.Config(
    # 您的AccessKey ID,
    access_key_id='*请替换*',
    # 您的AccessKey Secret,
    access_key_secret='*请替换*',
    # 地域ID
    region_id='cn-hangzhou',
    # 访问的域名
    endpoint='aiearth-engine.cn-hangzhou.aliyuncs.com'
)

client = Client(config)

提交AI解译任务

try:
    createAIJobRequest = CreateAIJobRequest()
    createAIJobRequest.job_name = 'test'  # 这里换成自己的项目名称
    createAIJobRequest.app = 'land_cover_classification'   # 换成自己要调用工具箱的名称,这里以多分类任务为例,不同工具箱对应的名称参考附录
    createAIJobRequest.area_threshold = 0
    createAIJobRequest.confidence = 10
    createAIJobRequestInputs = CreateAIJobRequestInputs()
    createAIJobRequestInputs.idx = 1
    createAIJobRequestInputsSrc = CreateAIJobRequestInputsSrc()
    createAIJobRequestInputsSrc.data_id = '*请替换*'   # data_id即为你数据的STAC ID
    createAIJobRequestInputs.src = createAIJobRequestInputsSrc
    createAIJobRequest.inputs = [createAIJobRequestInputs]
    aijob: CreateAIJobResponse = client.create_aijob(createAIJobRequest)
    print(aijob.body)
    jobId = aijob.body.jobs[0].job_id
except TeaException as e:
    # 打印整体的错误输出
    print(e)
    # 打印错误码
    print(e.code)
    # 打印错误信息,错误信息中包含
    print(e.message)
    # 打印服务端返回的具体错误内容
    print(e.data)

输出结果为:

{'App': 'land_cover_classification', 'Jobs': [{'JobId': 88609, 'Name': 'api-test', 'Success': True}], 'RequestId': 'EBA6E96A-F55C-52B8-A32B-89257E0C5884'}

可以看到任务ID为88609,状态Success为True等信息。

查询AI解译任务

 # 获取任务状态
try:
    getJobsRequest = GetJobsRequest()
    getJobsRequest.job_ids = [jobId]  # 这里换成你自己任务的ID
    jobs: GetJobsResponse = client.get_jobs(getJobsRequest)
    print(jobs.body)
except TeaException as e:
    # 打印整体的错误输出
    print(e)
    # 打印错误码
    print(e.code)
    # 打印错误信息,错误信息中包含
    print(e.message)
    # 打印服务端返回的具体错误内容
    print(e.data)

返回结果如下,可以看到任务的一些详细信息。

{'List': [{'App': 'land_cover_classification', 'JobId': 88608, 'JobName': 'api-test', 'JobType': 1, 'OutDataId': 36859, 'OutDataType': 1, 'OutDateType': 1, 'Progress': '100.00%', 'Status': 1, 'SubmitDate': 1684475561515}, 'RequestId': '82593D93-FC8C-5120-B913-A33B70C2C3CA'}

任务处理完成后重新进入平台,点击我的数据—>处理结果数据中,可以看到自己任务状态,点击可以在线卷帘对比查看,也可以下载离线查看。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xe5cuIam-1684483757798)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230519160130350.png)]

附录

官方给出的API调用app名称与推荐置信度

app名称app说明置信度参考值(低)置信度参考值(中)置信度参考值(高)
building_extraction建筑物提取11.762540
greenhouse_extraction大棚提取102540
land_cover_classification地物分类102540
pv_plant光伏电厂识别102540
barrage拦河坝识别102540
construction_change通用变化检测102540
multiclass变化多分类102540
farmland_extraction_remote_sensing地块提取102540
building_change建筑物变化检测102540
farmland_change农田变化检测102540
remove_cloud_haze去云雾处理102540
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值