RSD的面向对象分类设计

RSD的面向对象分类设计

李国春 2018.11.19

 

RSD设计了一套暂时命名为SC(Steadfast Classification)分类的对象分割、特征提取和分类的技术。在《RSD面向对象分类的图像分割》https://blog.csdn.net/gordon3000/article/details/84059254 已经介绍了图像分割部分,鉴于这个分类方法不完善加之技术上更是不成熟,这里先做一简要介绍,并举例示范其应用,后期的改进和完善会陆续发布。

1. SC分类方法

1.1 只分1类的Steadfast Classification

与其它常用分类方法不同的是SC只分1类(当然不是总共只分一类,是每次提取1类)。只关注1类符合应用习惯,比方如果只想研究水色,公路、建筑、农田、沙地等信息就可以不考虑;研究植被就可以只提取不同等级的植被信息。得到1类之后使用RSD的架构优势马上就可以2次类别细分。

只分一类是一种2分分类,待分类对象只判断“是”与“否”,分类结束除得到分类目标外还有大量的未分类对象。其实多类的分类方法也同样会遗留未分类对象,二者并无本质差异。

SC分类只分一类有一个重要优势是能显著提高分类速度,有明显的应用意义。当然还需要在应用实践中检验这样分类是否合理。

1.2 基于先验知识的产生式规则

SC分类也使用训练样本,这些训练样本为各种类别特征提供一个“标杆”。对于某些特征,如果我们事先知道这些特征的分布情况,也可以不使用这些样本数据,直接指定类别划分标准。分类器可以根据样本标准或者先验知识应用产生式规则分类。

RSD对一些经典的分类方法也是要实现支持的,一步步来吧。

1.3基于支持向量机1类分类器

(另文介绍)

1.4 半自动(手动编辑)

有多种原因能造成自动分类达不到要求的效果,RSD的SC分类提供了一种在对象(也可以是像素)水平上的编辑功能。

分类方法通过下述例子介绍。

2. 山林分类试验

2.1 山林数据

使用https://pan.baidu.com/s/1nvIJekT/上传示例数据/GF2 /GF2_PMS1_E121.6_N41.3_20170924_L1A0002623380.rar剪切的子区GF2_Fuse_Cut-02.rsd(在上述地址的同一个目录中),提取山林。

下载数据,在RSD中打开,如下图:

图1 处理区域

2.2 选择样本数据

在主窗口滚动鼠标滚轮,直至出现一个黑箭头,右击,出来一个弹出菜单。点击“分类对象分割->基于图像特征的分割”。为“类别划分等级”指定一个值,如64。“对象合并阈值”可以设置为0、1或者更大值。然后开始进行图像分割。

分割完毕后,可以根据需要多次重复合并对象,目的是防止山林粗糙地貌对象过于破碎。

下一步让鼠标仍保持黑箭头,按住ctrl键(或者打开点亮开关)对象高亮显示。点亮一个对象后,右击“新建分类样本类别”,出现下述对话框。

图2 采集分类样本对话框

点击那个带颜色的小圆形,为该类选择一个颜色,点击确定就创建一个新的类样本。见下图

图3 样本窗口

在样本窗口选中这个新建类别,再在主窗口双击任意对象,该对象就作为样本添加进来了。见图4。

图4 山林的训练样本(红色)

图中红色小区域即为用户自己选取的代表山林的训练样本。

2.3 分类

分类应该先从“设置二叉树节点为叶子”设置分类规则,然后再“分类”,但是这里一步就将设置和分类合在一起处理了

图5 设置分类规则和分类

点击“设置二叉树节点为叶子”后,出现下述对话框

图6 SC分类规则编辑

注意:这是一个未完成的规则编辑器,容后逐步完善。这里一是规则类别不全,二是类别中规则细则不全,三是规则组合不全。产生式规则有效组合可能非常多,合理使用这些有效组合能产生非常详细的分类结果。

在图6对话框中,选中“欧氏距离”,然后点击后面的“样本求值”,在操作数2一列出现一个数,这个数是样本的均值。

这里仅使用“距离小于4000”规则进行分类,分类结果见图7。

这个4000是根据样本数据给出的一个估计值或者经验值。该规则是用样本数据计算一个“核心”,在聚类分析等里面叫聚类中心。然后每个对象分别计算自己的核心再与样本的聚类中心计算距离,距离大于这个4000的对象划定为“非”,小于4000的为“是”。遍历一遍所有的对象,即完成一次分类。

图7 山林分类结果

图8分类结果直接产生一个新层(图中红框的层)

2.4 对象编辑

通常这样粗划分的类别是很难满足应用需求的。也许定制非常详尽的Feature可以一次得到满意的分类结果,可是这太难了,陆表分类要定制那么详细的规则通常是得不偿失。

分类结果达不到要求时你有两种选择,1是对分类结果进行再次分类,由于RSD分类结果就是一个新层,勾选这个新层马上就可以开始下一次的分类,RSD对这种多次迭代的分类有架构上的优势。2是对对象或者像素进行交互编辑。

对象编辑可以手动向分类结果添加和删除对象,也可以直接拷贝和粘贴像素。简单编辑的结果见图9。后面我们介绍一点更详细的对象编辑。

图9 山林分类编辑结果

3. 稻田分类试验

下面对一个稻田的子区分类,并演示对象的手工编辑。为了问题简化起见特意选择了一个比较简单的例子。

3.1 稻田数据

数据使用上述2.1剪切的子区GF2_Fuse_Cut-00.rsd,https://pan.baidu.com/s/1nvIJekT/上传示例数据/GF2 /

数据范围见图10。格状成片的黄绿色为稻田,颜色较深的成片区域为芦苇。余为其它地物。

图10 稻田分类试验区

3.2 对象划分

图11 图像分割参数

图12分割结果

分割结果比较破碎,直接分类不合并了,节省很多时间。

3.3 采集样本数据

这次我们使用笔形光标采集像素级别的样本数据。

图13 选择像素级样本数据

3.4 分类规则选取与分类结果

图14 选取的规则

使用的规则有3条:

  • 目标类对象与与样本的距离小于2400
  • 对象与样本均值(330.38)的差不超出±30,与上一步进行逻辑与操作
  • 对象NDVI值大于0.4,与上一步进行逻辑与操作

逻辑操作要求上述3个条件同时满足。分类结果如下:

图15 使用规则自动分类的结果

由图可见出了2个问题:1是将大片芦苇误分为稻田,2是有的稻田有遗漏的对象。

对于第一个问题,这是RSD分类器的规则尚未设计完善,增加更多的规则比方纹理方面或者色调等或许可解决此问题。也进行了一些纹理方面的试验比如灰度共生矩阵,出现了一些对象尺度方面等问题,(这个问题在支持向量机分类里面已经解决,另文介绍)。

第二个问题是遗漏或者误分,也是分类中经常出现的问题,只能靠实践中尽量控制,这是个老问题。

3.5 对象编辑改善分类效果

图16 对象编辑的结果

删除不是本类的对象,并将漏分的对象补齐,处理的到相对比较满意的结果(图16)。

4. 对象编辑

对象编辑应该放在前面介绍,然后再说林地和稻田的分类试验,这里先反过来看吧。

4.1 对象点亮或选中

对象分割后,无论显示或者不显示分类对象集,光标为黑箭头时,按住ctrl键,轻轻移动鼠标,光标位置的对象就被高亮显示。或者在打开“光标位置对象点亮”时,直接移动鼠标,对象即被点亮。

图17 对象高亮显示打开

4.2 图像分割目标层、来源层

指定或者新建一个层,用于存放对象编辑产生的结果数据。在黑箭头光标右击的弹出菜单上,点击“新建分割目标层”就会创建一个空的新层,或者在层列表窗口右击一个已经存在的层,从弹出菜单选择“设置为分割目标层”,则可以将该层设置为分割目标层。

来源层是对象编辑操作的数据来源,通常是在层列表中勾选的层。

4.3 剪切对象

从图15的分类结果,勾选来源层,然后点亮一个对象,右击该对象,在出现的弹出菜单上点击“剪切当前对象数据”,则来源层中点亮的对象被删除。

可以同时点亮多个对象一起删除。

图18 选中并剪切对象

4.4 移动和复制对象

点击下述菜单命令,即可将来源层点亮的对象移动到或者复制到分割目标层。

图19 复制和移动对象

4.5区域编辑对象

打开数据、进行对象分割并创建一个分割目标层。滚动鼠标滚轮使光标变为十字形,在主窗口拉出一个矩形选择区。然后右击鼠标,在弹出菜单选择“移动选择区对象到…”。

图19 移动矩形选择区所有对象

图20 来源层的矩形选择区所有对象被转移到了目标层

 

也可以进行交互指定的多边形区域的对象编辑。

图21 来源层的多边形选择区所有对象被转移到了目标层

4.6像素级的编辑

图22 直接编辑像素

可以直接通过上述菜单命令直接对像素进行剪切复制等操作。

4.7 对象编辑的优缺点

我觉得RSD的对象编辑与其它软件的手动编辑分类结果相比,优势在于经分类筛选后的对象更容易选取。对象只要点中就可以选取,而像素级别的编辑要按像素划分。这种对象水平上的修补应该更节省操作人员的精力。

图23  对象选取

这样划分和挑选对象比单纯的根据像素画边界还是要容易些吧。

缺点是还没有UNDO和REDO,所以使用时勤备份。比方随时复制一个层。

图24 复制当前层

RSD的2.1.5版注定是一个过渡版本,暂时(2018年11月12日)发出来在群里内测一下,稍成熟些再传网盘上。群文件里面有一个RSDBIN.rar文件,下载后用里面的文件替换安装目录里面的对应的文件。

加QQ群136965427关注软件更新情况。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值