1. 为什么要做这个功能
GeoLabel已有功能(截至V1.1.4)都建立在人工选取样本点的基础上(时序样本标注除外),即:首先人工选取适合作为样本的区域,用一个坐标点标识,用坐标点外扩一定范围,生成样本影像,再人工对该样本影像进行标注。
通过相关资料收集,我们发现实际应用中存在一键式遥感样本生成的需求,主要来源于以下三个方面:
- 全样本学习是后续遥感AI的一个可能发展方向,即,将所有人工解译的数据都作为样本进入训练,通过算法本身解决标注不够精准的问题。
- 对于目标检测,其标注没有像分割样本要求那么高,可以基于已有参考资料统一生成样本。
- 对于图像分类,其不一定要人工确定类别,其类别信息也可以从已有解译矢量中通过相关统计分析而来,也可以实现批量生成。
基于以上分析,尝试做了下一键式样本批量生成功能,并在GeoLabel 1.2.0版本首先测试集成(还需要两个版本的升级完善)。
2. 整体设计
整个功能在一个界面中实现,支持几乎能想到的所有的标注类型。界面配置介绍如下:
1)支持标记数据为栅格或者矢量
有些情况,我们手上可能只有标记数据的栅格,没有矢量数据,系统支持输入的标记数据可以为栅格,也可以是矢量。
2)支持只在掩膜内生成
我们拿到的标记矢量可能很大,我们只想用其中的一部分(比如某个行政区范围内),那么我们可以导入该范围矢量,则只生成完全位于该矢量内的样本。
3)支持只在有效标记区域内生成
很多情况下,标注是稀疏的,即不是全覆盖的。如果我们按照一定步长去遍历,势必会生成非常多的负样本,这可能不是我们想要的。此时,我们可以选择只在有效标记区域内生成,可以避免该问题。
4) 支持设置样本尺寸和滑窗步长
如果输入标记为栅格,只支持无差别固定尺寸遍历,无法以要素为中心生成样本。样本尺寸和滑窗步长是需要设置的参数。
5) 支持将分割标记转化为图片分类样本
我们导入的标记数据(不管是栅格还是矢量),一般都是地类解译(或变化检测)成果,系统支持将这种标记转化为分类样本,具体包括:①按众数分类;②按中心像元值分类;③按像元最大值分类几种方案。
6)支持以要素为中心的生成模式
如果输入的标记数据为矢量数据,除了无差别固定尺寸遍历,还支持以要素为中心的样本生成模式,具体包括:①矢量要素外包矩形中心外扩国定尺寸;②矢量要素外包矩形全部范围,尺寸不固定;③矢量要素主要区域,大小不固定。
7)支持字段映射
这点跟已有的基于历史数据样本生成类似,支持将标记数据值映射为标准的分类体系格式,而无需提前人工转换。
8)支持分割、分类、目标检测、变化检测样本生成
上述已经提到了分割、分类、目标检测类样本的生成,同时也支持变化检测样本的生成,只需增加后时相影像即可。
图 1 功能界面
3. 使用方法
无需新建项目,点击“高级-批量处理-生成样本”弹出设置界面,按照界面指示,分别完成数据源、参数、生成模式、字段映射、输出位置的设置,点击“开始生成”即可。
图2 使用方法
4. 过程与成果展示
4.1 分割和目标检测类
图 3 分割/检测配置
图 4 分割/检测过程
图 5 分割/检测结果
4.2 影像分类
图 6 分类生成过程
图 7 分类生成结果
4.3 变化检测
图 8 变化检测生成过程
图 9 变化检测生成结果
基本功能已定型,还需要进一步的测试和优化,如对批量生成的样本导入软件中进行检查筛选功能等,欢迎试用及提出宝贵意见!
软件下载地址:
链接:https://pan.baidu.com/s/1SCNrNbIsdKEGNUq2o6cYQw
提取码:abcd