《遥感产品算法测评 第3部分 遥感产品算法接口》_第1页
《遥感产品算法测评 第3部分 遥感产品算法接口》_第2页
《遥感产品算法测评 第3部分 遥感产品算法接口》_第3页
《遥感产品算法测评 第3部分 遥感产品算法接口》_第4页
《遥感产品算法测评 第3部分 遥感产品算法接口》_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

T/CARSAXXXXX—202X

ICS37.040

V00/09

团体标准

T/CARSAXXXXX—202X

遥感产品算法测评

第3部分:遥感产品算法接口

AlgorithmTestofRemoteSensingProducts

Part3:SoftInterfaceSpecificationforAlgorithmsofRemoteSensingProducts

(征求意见稿)

(本稿完成时间:2023年4月3日)

XXXX-XX-XX发布XXXX-XX-XX实施

中国遥感应用协会发布

T/CARSAXXXXX—202X

遥感产品算法测评第3部分:遥感产品算法接口

1范围

本文件规定了遥感产品算法开发和测评时需遵循的算法调用过程、算法基本要求、算法接口以及其

它相关约束。

本文件适用于遥感产品算法的测评,包括但不限于几何产品、辐射基础产品、土地覆盖/土地利用

产品、能量平衡参量产品、植被参量产品、水分参量产品等产品生产算法的测评。

2规范性引用文件

下列文件中的条款通过本标准的引用而构成本标准的条款。凡是注日期的引用文件,其随后所有的

修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究

是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。

GB3102.6-93光及有关电磁辐射的量和单位

GB/T8567-1988计算机软件产品开发文件编制指南

GB/T13502-1992信息处理程序构造及其表示的约定

GB/T15853-1995软件支持环境

GB/T36296-2018遥感产品真实性检验导则

GB/T36299-2018光学遥感辐射传输基本术语

3术语和定义

GB3102.6-93、GB/T8567-1988、GB/T13502-1992、GB/T15853-1995、GB/T36299-2018、GB/T

36296-2018和界定的以及下列术语和定义适用于本标准

3.1

遥感产品算法algorithmofremotesensingproduct

面向遥感产品生产的,将原始遥感数据或遥感共性产品转化为其它遥感产品的算法。

3.2

算法测评algorithmtest

利用一套指标体系、标准输入数据和测评技术,独立地对算法开展精度/不确定性、适用性、效率、

鲁棒性等方面的综合评价,定量化评价算法的性能。

4遥感产品算法接口

4.1算法调用过程

遥感产品算法应采用以下调用过程,如图4.1所示。

1

T/CARSAXXXXX—202X

图4.1算法调用过程示意图

具体流程如下:

a)遥感产品选择:根据算法描述信息进行算法解析,获取算法需要输入的关联遥感产品,主要通

过数据查询获取数据列表;

b)确定输入输出:根据算法输入输出标准,将遥感产品作为输入,按照用户设定的产品生产相关

标准,传递输入输出参数,此外,还需填入算法辅助数据信息;

c)产品计算:系统依据输入与输出规范调用算法组件生成产品,同时需要进行算法效率评估;

d)精度评估:算法结束后针对产品进行相关精度评价。

4.2算法基本要求

遥感产品算法应满足以下基本要求:

a)算法的基础运行环境应与批量产品生产的操作系统相匹配,宜采用Linux操作系统作为底层平

台,能够批量执行;

b)算法集成方式宜采用与操作系统耦合性低的集成模式,适用多种语言开发的基础运行环境;

c)算法应基于文件完成数据交换,并以算法组件的形式完成算法集成。例如采用Docker容器镜像

的集成方式,运行环境主要为Linux系统。

4.3算法接口

4.3.1算法调用接口

算法调用接口可以参考软件开发规范(GB/T8567-1988),此部分内容由算法开发用户与遥感产品

平台约定。

4.3.2算法输入接口

参数输入需要由算法测评系统规定,基本输入应为该产品生产所需标准产品或者共性产品的全路

径文件名。算法测评系统方面应要求算法开发者明确描述参数输入形式以及参数内容,主要包括算法的

参数输入形式、输入与输出参数的描述。

2

T/CARSAXXXXX—202X

a)算法的参数输入形式

所有产品算法的输入应只有数据全路径文件名,关于该数据的描述信息,如数据大小、数据类型、

分辨率等属性信息都由算法读取文件得到;其他模型参数信息通过配置文件确定,应与可执行程序放在

同一路径。遥感产品算法的输入数据应规定如下内容:

1)波段组织方式,算法输入应在算法内部实现波段选择,传给算法所用数据的文件名。

2)多数据文件组织方式,多数据文件组织方式可分为两种:1)单个输入参数的多文件情形,应当

对多个文件以时间有序进行文件名组织,文件名之间以英文逗号“,”隔开,算法自行进行解析;2)多个

输入参数的多文件情形,应当对单个输入参数内部以“,”隔开,不同输入参数间遵循操作系统规定,以空

格隔开。算法的输入参数应采用统一标准输入接口。

算法参数的输入形式示例见附录A.1。

b)输入与输出参数的描述

对算法输入与输出参数的描述,应满足以下要求:

1)对于每项输入参数,应明确描述数据类型、空间分辨率、时间分辨率、覆盖的时间跨度、时间

对齐方式、是否分幅、网格类型等,可参考附录A.2;

2)对于每项输出参数,一般需要描述数据类型、空间分辨率、时间分辨率、是否分幅、网格类型

等,可参考附录A.3。

4.3.3算法输出接口

算法输出参数可根据算法测评系统的规定提供,应包括算法输出结果的完整文件路径。

算法输出需遵循以下约定:

a)格式约定。遵循一般遥感产品格式要求,内部产品文件格式以GeoTIFF或HDF5格式为标准,

优先考虑GeoTIFF格式。

b)分幅命名规范。分幅命名规范一般需要包含的要素包括产品级别、产品名称、分辨率、版本号、

图像分幅号、产品时间等要素,依据产品特点可部分修改。

c)分幅标准。为了保证多源多时相数据的空间一致处理,需采用与分辨率相应的分幅规则。5公

里级全球产品一般采用等经纬度投影,250米至1公里级全球产品可采用正弦投影(sinusoidal

projection),例如,采用MODIS分幅标准。针对中分辨率和高分辨率影像可采用UTM投影,

例如,采用美国与欧洲军事格网参考系(MGRS)分幅。

d)产品文件内容。产品应明确输出波段设置、波段名称、放大比例因子。

算法输出产品的描述方法示例见附录A.4。

4.3.4算法其他输入

算法所有其他输入均由算法开发者提供,如外来产品中成体系的共用产品一般可在明确算法输入

数据查找规则的情况下由系统管理。算法单独使用的查找表、辅助数据、DEM、底图等数据,应通过固

定地址由算法管理。

4.4其他相关约束

4.4.1编程开发语言版权约定

算法开发语言主要由集成方与用户约定,原则上支持任意编程语言包括C/C++、Python、Java等,

但不应支持任何盗版软件或有版权风险的组件。

4.4.2算法执行方式

算法可以批量化生产产品,在算法调用后,需自动执行直至完毕,中间不得有任何人工干预。算法

程序及其组件必须为基于命令行的后台程序,不应有人工交互过程或界面。

4.4.3松耦合组件化封装

3

T/CARSAXXXXX—202X

算法应以独立松耦合的形式进行组件化封装,所有组件说明文件与执行程序等需要组织结构保持

完全一致。插件应包含软件压缩包、内部需有可执行程序、包含说明文件与相应程序执行图标等辅助信

息。压缩包名称应与算法插件描述文件一致。

4.4.4算法自检要求

算法提交之前需针对以下要素自检:

a)算法可执行程序的运行环境与依赖情况是否满足;

b)算法依赖库是否封装完整;

c)算法私有的辅助数据是否封装完整。

算法运行环境与依赖情况检查表见附录A.5。

4.4.5算法完整性要求

算法组件提交时,除自身组件包,还应包含相应描述文件,包括但不限于以下内容:

a)可执行算法组件及使用说明;

b)算法输入输出参数描述文件;

c)算法名称、简介、关键词、作者、单位、原理图与样例图、主要参考文献等介绍信息。

算法描述manifest文件规范见附录A.6。

4.4.6算法信息机制

算法执行时,必须提供必要的系统消息,尤其是错误处理与返回以及算法日志输出。

a)错误处理与返回

在算法程序实现时,应考虑程序中可能出现的错误,需在控制台输出错误提示性的文字并返回错误

代码,建议在程序中捕获相应错误,防止程序崩溃,并返回错误提示。返回码应当统一,一般程序正常

执行结束的情况下,统一返回表示一切正常的返回码,例如:0,,不应将0用作错误码。

b)算法日志

算法日志应包括“进度[PROGRESS]”、“结果输出[OUTPUT]”,便于后续的查看和调试。对于算法执

行中的过程信息应输出到控制台,以便算法调度时由系统自动捕获程序日志。

4

T/CARSAXXXXX—202X

附录A

(资料性)

算法接口的描述方法

A.1算法参数的输入形式

所有产品算法的输入应只有数据全路径文件名,关于该数据的描述信息,如数据大小、数据的数据

类型、分辨率等等属性信息都由算法读取文件得到;其他模型参数信息通过配置文件确定,应与可执行

程序放同一路径。

以某个共性产品生产算法有5个参数为例,包括3个输入和2个输出;

则argv[1]~argv[3]为输入产品的全路径文件名;argv[4]~argv[5]为输出产品的全路径文件名

intmain(intargc,char*argv[])

{

*****

return0;

}

算法的输入参数应采用统一标准输入接口,输入参数格式为JSON字符串,如下:

C++:

stringargparam;

cin>>argparam;

python:

importsys

importjson

importos

algoName=sys.argv[1]

algoParam=raw_input("")

params=json.loads(algoParam)

A.2算法输入参数的描述方法

按照算法程序实际的输入参数依次填写,一行一个参数,如果是值类型的参数,例如数字或字符串,

应清楚描述如何取值;如果是数据实体类型的参数,可按照下表的内容填写。

附表A.2算法输入参数情况表示例

输入参数时间输入参数数据来

输入参数跨度与对齐方输入参输入参数输入参数数源(当前数据来源

输入参

序号产品类式(例如要求前数投影分景/剖分据格式及关与制备方法,系统备注填表人

数名称

型后各五天,连续方式方式联配套数据运行时的数据来

十天内的数据)源)

5

T/CARSAXXXXX—202X

A.3算法输出参数的描述方法

附表A.2算法输出参数情况表示例

输出参数数据

序输出参输出参数空输出参数时输出参数输出参数分

格式及关联配备注填表人

号数名称间分辨率间分辨率投影方式景/剖分方式

套数据

A.4算法输出产品的描述方法(以地表反射率产品为例)

(1)产品命名

GF1_MSS1_E88.9_N27.2_20181027_L4_0003551596_REF.tif

(2)产品定义和量纲

地表反射率是指地表物体在某个方向上反射的太阳总辐射通量与从某个方向到达该物体表面上的

总辐射通量之比,表征地表对太阳辐射的吸收和反射能力。其值为地面反射辐射量与入射辐射量之比,

无量纲。

(3)输入输出及精度要求

附表A.3算法输入参数情况表示例(地表反射率反演算法输入项)

输入参数名

输入类型说明(核心输入需说明精度要求)数据解析方法(单位,取值范围)

L1级辐射定表观反射率或辐亮度影像,辐射定标精度优辐亮度数据(瓦/平方米球面度,

tif

标遥感数据于85%,云量小于20%。W/m2Sr,取值>0)

包含观测几何条件、地理坐标投

元数据文件xml产品描述信息

影信息

定标类型数值可选择:表观辐亮度、表观反射率

大气校正参依据界面可设置参数选择,能见

数值可设置大气模式、气溶胶类型、初始能见度

数度在0-100km之间。

气溶胶的输入提供3种方式:其它卫星反演

的同时相同区域气溶胶产品影像(软件准备高分数据本身反演、地面观测或

气溶胶(多种历史modis或landsat产品并支持用户输其它卫星遥感数据反演产品(取

tif、float

方式选择)入)、地面观测的气溶胶光学厚度值(用户值在0-2之间,是一个无量纲的

输入)、无输入(直接基于影像本身进行气正值)。

溶胶反演,由系统准备。

附表A.4算法输出参数情况表示例(地表反射率反演算法输出项)

输出参数名

输出类型输出产品要求(核心输出需说明精度要求)数据解析方法

气溶胶产品影像范围内气溶胶反演成果。大气柱气溶胶光

tif可选项,光学厚度值,一般>0。

(可选项)学厚度反演精度(2σ)>70%。

地表反射率1.为输入卫星数据的波段反射率产品和元数据地面反射辐射量与入射辐射

Tif/xml

及元信息信息。量之比,表征地面对太阳辐射

6

T/CARSAXXXXX—202X

2.精度要求:主要用户实验区内,复杂下垫面的吸收和反射能力。(比值,

(城市和山区)地表反射率反演精度(1σ)达0-1)

到80%,其他下垫面地表反射率反演精度(1σ)

达到85%;

在薄云、雾、霾等复杂气象条件下,复杂下垫

面地表目标反射率反演精度(2σ)达到70%,

其他下垫面地表反射率反演精度(2σ)达到

75%;

3.波段定义:单波段输出,有效像元数量与待

检测影像相同,保留投影信息。

每个像元的太阳方位角、高度角和传感器方位组成4个波段影像,单位度,

角度信息tif

角、高度角,4个角度组成四个波段。0-180°

(4)取值范围和含义

通常物理取值范围为0-1。表示地面反射辐射量与入射辐射量之比,表征地面对太阳辐射的吸收和

反射能力。值越大,表示地面吸收太阳辐射比例越少;值越小,表示地面吸收太阳辐射比例越多。

(5)生成产品日期:20**年**月**日**(时):**(分);

(6)推荐查看工具:高分国产软件V1.0、ENVI5.3;

(7)质检员:XXX。

A.5算法运行环境与依赖情况检查表

附表A.5算法运行环境与依赖情况检查表

是否需要

算法开发语库是否有

序库是否有安装或拷

言与运行操库名称库版本Windows备注填表人

号Linux版贝即可使

作系统版

A.6算法描述manifest文件规范

说明该文件的存在目的,命名规范,以及内部格式规范。文件中有主要的几个值专门解释如下:

command

base_image(基础镜像)

task及里面的batch(简要说明参数组合的方式)

资源需求

参数类型(需要有个表说明具体有哪些类型)

在说明后加一个例子即可。

算法描述manifest文件是用来描述和定义算法的json格式的文件,其中包含算法标识、名称、执行所

需硬件资源、算法的输入和输出参数等,平台通过算法描述manifest文件来识别算法、构建算法镜像、

在流程中编排调度算法。

7

T/CARSAXXXXX—202X

附表A.6算法插件描述文件规范

属性名称描述备注

算法标识建议以piesat开头,以算法的英文标

识结尾,中间是算法的类型三段组成,每一段

1alg_id算法标识

之间以“.”分隔,标识样例:

piesat.ortho.image_fusion

2version版本不包含字母v,例如:1.0、1.1、2.0

3type算法执行类型cmd/python/tensorflow/pytorch/shell/java

可以为空、BatchJobTask、HumanTask、

4taskType任务类型WorkerTask,如果为空或者BatchJobTask需

要build镜像,其他值不需要build镜像

是否支持handler,如果是可以在主算法

5handlertrue/false

执行前后配置执行

6name算法名称

7abbrev算法简称

8desc算法描述

9package算法分组

10icon算法图标

11owner提供单位

12command执行命令

13args执行参数

目前提供piebasic,ortho,sar等相关算法依赖的

pie_basic_base_image,ortho_base_image,

14base_image基础镜像

pie_sar_base_image,ortho6_base_image等几

种基础镜像

15labels镜像标签

可选属性,算法默认没有此属性,目前仅区域

网平差和镶嵌算法需要此属性且属性值为

16tag算法特殊标签

"pipeline",表示该算法和包含该算法的流程

不支持批量拆分任务。

17envs环境信息

18resourcecpuCPU要求,可以为"500m"、”0.5“、”1“、"2"等。

8

T/CARSAXXXXX—202X

19memory内存要求,可以为”500Mi“、"1Gi"、"2Gi"等

可选属性,内存是否有限制,默认不需要设置

此属性,内存的request和limit都设为memory

20memoryLimit

属性对应的值,如果此属性值为off,则不对

内存设置limit限制。

GPU要求,如果不为0则需要在GPU节点执

21gpu行,GPU节点的label为

pie.cloud.node.gpu=true

22disk存储要求

23os支持操作系统

24arch指令集

25type算法执行类型,比如batch

并行参数拆分方式:none,parameter,multi-

parameter

none:表示不拆分

parameter:表示只通过一个参数进行拆分,后

26method续会有一个parameter的节点来表示需要拆分

的参数和粒度

multi-parameter:表示通过多个参数进行拆分,

后续会有一个multi-parameter的节点来表示

需要拆分的多个参数和粒度

需要拆分的参数名称,如果method为multi-

parameter,则name的值为数组,如下所示:

"name":[

27taskparameter/multi-name

batch"input_file",

parameter"output_file"

],

28granularity拆分粒度,示例:granularity:1

拆分后用哪个参数来显示任务(k8sjob任务)

的名称,不唯一,一般情况用该任务要处理的

文件路径表示,方便用户查阅,尤其是出错后。

支持对json结构体的属性提取,例如identity:

29identity"image.path"标识image这个输入参数是一个

json结构体,从这个json结构体中提取path

属性。

image:{"type":0,"pair":0,

"path":"/data/proj2020/GF2_XXXX_PAN.tif"}

9

T/CARSAXXXXX—202X

30name参数名称

31label参数显示名称

32desc参数描述

可选参数,标识该输出参数一些附加信息,供

业务服务使用,例如:img_sum用于统计图像

33tag处理景数,如果参数值是一个数组要根据数组

元素个数进行叠加(考虑后续扩展需求,预留

img_sum_single,img_sum_array)

表示当前参数与哪个参数绑定,一般与select

34bindingname

组合,当选择某个select值时显示该参数

35value对应的selectvalue,例如:option1

参数类型名称,int、string、select、boolean、

float、file、date、dir(目录)、spatialref、

36name

input-typeimage_pair、project_image、json_object等。

parametersproject_image示例:{"img_type":0,"pair_id":0}

37plural是否为多值,比如数组,false为单值

38extensions文件扩展名的约束条件

枚举类型值,参数类型为select的时候用到,

格式为key:value,其中key用来前端界面显

示,value是算法需要的参数值,举例:

39values"values":{"影像日期":"GF3_ImageDate","自定

constraint义名字":"GF3_CustomName","原始影像名

":"GF3_OriginalName","影像日期和时间

":"GF3_ImageDateAndTime"}

40min最小值

41max最大值

42default参数默认值

43display是否显示,true为显示

44name参数名称

45label参数显示名称

output-

46parametersdesc参数描述

可选参数,标识该输出参数是影像产品

47tag

product或者质检报告check-report等

10

T/CARSAXXXXX—202X

48operate可选参数,and、or、not

49name参数类型名称,同input-parameters的type

type

50plural是否为多值,比如数组,false为单值

类型分为两种input、task、output,input表示

输出参数对应的值来自输入参数,task表示输

51type出参数的值来自算法执行过程中的

OUTPUT,output表示输出参数的值来自输出

source参数。

输出参数对应参数的名称,例如:如果type为

input,此值可以对应输入参数的name,如果

52name

type为task,此值可以对应算法output结果中

的某个key值。

用法示例源码如下:

{

"alg_id":"piesat.modelName.algName",

"version":"1.0",

"type":"command",

"name":"算法名称xxx",

"abbrev":"算法名称简写xxx",

"desc":"算法描述xxx",

"package":"a.b",

"icon":"/icon/xxx.png",

"owner":"算法著作权人xxx",

"command":"/lib64/command",

"args":"",

"base_image":"ortho_base_image:1.0",

"labels":"",

"envs":{

"ALGORITHM_ID":"alg_unique_identify",

"ALGORITHM_NAME":"/lib64/command",

"ALGORITHM_KIND":"command"

},

"resource":{

"cpu":"1",

"memory":"2Gi",

"gpu":0

},

"os":"linux",

"arch":"amd64",

11

T/CARSAXXXXX—202X

"task":{

"type":"batch",

"batch":{

"method":"multi-parameter",

"identity":"InputIMGFile",

"multi-parameter":{

"granularity":1,

"name":[

"InputIMGFile",

"InputXMLFile",

"OutputFile"

]

}

},

"input-parameters":[

{

"name":"InputIMGFile",

"constraint":{

"extensions":"*.img;*.tif;*.tiff;"

},

"tag":"img_sum",

"label":"初始影像",

"type":{

"plural":true,

"name":"file"

},

"desc":"初始影像"

},

{

"name":"InputXMLFile",

"constraint":{

"extensions":"*.xml;"

},

"label":"Xml文件",

"type":{

"plural":true,

"name":"file"

},

"desc":"Xml文件"

},

{

"default":100,

"name":"CalibrationType",

12

T/CARSAXXXXX—202X

"constraint":{

"values":{

"表观辐亮度":100,

"表观反射率":200

}

},

"label":"定标类型",

"type":{

"plural":false,

"name":"select"

},

"desc":"表观辐亮度值为100,表观反射率值为200"

},

{

"name":"OutputFile",

"constraint":{

"extensions":"*.img;*.tif;"

},

"label":"输出文件",

"type":{

"plural":true,

"name":"file"

},

"desc":"输出文件"

}

],

"output-parameters":[

{

"name":"OutputFile",

"label":"输出影像文件",

"source":{

"name

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论