当前位置:   article > 正文

遥感影像识别-训练策略_遥感影像识别模型训练方法

遥感影像识别模型训练方法

1. 主动学习结合遥感影像识别

1.1 摘要

在传统的机器学习中,模型的准确度往往由已标记的数据样本规模所决定。但是在实际情况中,海量数据中往往只有极小部分获得了准确标记,而大部分数据未经标记,如果通过专业人员对数据逐个进行标记,将耗费大量的时间成本和经济成本。主动学习是从大量未标记的数据集中检索出最有用的未标记数据,交由专业人员进行标记,然后用该类样本来训练模型以期提高模型的准确率。

1.2 主动学习特点

主动学习作为机器学习中一个重要的领域,其主要特点是通过一定方法的检索,在未标记的数据集中检索出最有意义的数据进行标记,以期提高模型的性能。

1.3 主动学习目标

  1. 通过已标注的数据集,使模型获得最佳性能
  2. 使用较小的标注数据集对模型的性能进行进一步优化

2. 人机交互结合遥感影像识别

2.1 区别

主动学习是需要模型的预测结果来判断哪些数据需要标注,这些数据(需要标注)的判断大体都是模型不太能够分的清的,通过信息熵或者其它策略来判断。
而如果是通过人机交互的方式,也就是根据预测的结果直接来判断标注的质量,如果质量不高,那么这时人工参与到数据标注的工作里去,将数据的标签进行修正,再投入到模型的训练中去。

2.2 问题

根据上述列出的区别,那么这里就会出现两个问题:

2.2.1 标注质量

如果只是为了提高模型的精度,那么每一次预测出来的图必然都需要修正。但是这样的工作量应该特别巨大。这种情况我们就可以直接跳到下一节,关注修正方式。

如果需要判断是否需要修正呢?因为有时候标注图并不需要完全正确,这就相当于添加噪声,防止模型过拟合。如果这样去思考,那么又会衍生以下的问题。

怎么去判断图像预测出来的标注质量如何?
如果仅凭人眼,这显然是不可行的,原因有两点:

  • 遥感影像的数据集通常分辨率都比较高,因此通过肉眼观察最终的预测图显然是不太可行的,眼睛也顶不住。。。
  • 由于遥感影像通常的策略是将其裁切成小图像预测后然后再将其拼接起来,若对于裁切图像进行判断,那么数据量会特别大。

如果是凭借计算机呢?可以尝试使用主动学习中的方法,判断哪些数据模型预测出来的信息熵高,高的自然就可以认为模型预测出来的质量不是很好。

2.2.2 修正方式及其工作量

那么假设目前我们已经判断出来哪些数据需要重新标注,接下来关注的就应该是修正的方式及其工作量的评估。

修正方式
修正方式其实可以理解为在原有的基础上重新修改一部分像素的标签。这里可以用到的工具为 labelme,下图展示了如何给一个图像标注并生成标记图像。花了2分48秒来标注。

使用labelme标注数据

标记效果:
在这里插入图片描述

工作量
遥感影像的数据集通常分辨率都比较高,因此在标注的时候对于细节的控制应该不太容易。但是修正得有修正的效果,因此细节肯定需要把握住,那么随之而来的就是倍增的工作量。
不管是什么工具,一般来说都是需要自己把特定的区域给勾勒出来,而想要足够的细节,那么打的锚点就更多,工作量自然也就不断的增大。修正后的标注图还需要进一步与预测出来的标注图混合,最终得到正确的标注数据。这样兜兜转转,工作量也就回到了数据集人工制作的这一起点上。(当然本来任务就是针对数据集很少的时候,单个数据的修正工作量确实与单个数据制作的工作量也差不多了)

3. 可行性分析

通过上述的分析,对于方法的实施是可以实现的,不过工作量会比较大(主要还是采取了人工标注的方式)。回过头来,其实主动学习可能反而会更好一些,应用场景就是在数据集很少的时候,选择性的标注一部分数据集。而人机交互这种方式,则是采取不断的修正,然后迭代训练,直到达到某个度量标准后停止。前者需要标注的数据集会更少一些,只关注那些模型分不清的数据,而后者则是来者不拒,通吃。相比之下,后者的工作量确实比较大,且效果可能没前者来的快。

4. 电子地图修正

分析完了上述与遥感影像识别所结合的两种方式,又回到最初的想法,利用电子地图来充当数据集。
回顾电子地图的其中一个缺点就是标注与真实地貌之间有差距,主要的分布为道路以及水域,原本较为宽广的水系或者公路表现为细长的标注路线。

在这里插入图片描述
那么我们能不能对电子地图做一定的图像后处理来提高其标注的质量呢?
在图像处理里面有涉及到图像膨胀这一方法,通过图像膨胀对于电子地图中的水系以及道路应该有一定的修正作用。当然这里面还需要涉及的问题,电子地图中哪些道路、水系需要膨胀,哪些不需要,这里需要去设计一个算法来做条件控制。

4.1 图像膨胀

图像膨胀实际上就是在图像的边缘添加像素值,使得整体的像素值扩张,进而使得图像形成膨胀的效果。具体原理就不详细在这里阐述了,简单将其应用在电子地图上看看效果。当然这里还未判断哪些地貌需要膨胀,就先看个效果。

这里的效果是利用opencv处理的,参考文章 图像腐蚀与图像膨胀(18)
下图是通过腐蚀函数将图像处理的效果,展示了腐蚀的迭代次数 i t e r a t i o n : 1 → 12 \mathrm{iteration}:1\to12 iteration:112 的变化,这里的原理我就不去展开了。
在这里插入图片描述
在这里插入图片描述
膨胀策略:

  1. 分开膨胀(按标签类别)
  2. 膨胀程度(个人想法:根据原图的像素分布)
  3. 膨胀后合并(优先级设置,道路 > 水系 > 建筑)

5. 下一步工作

有两个想法:

  1. 参考主动学习的思路去利用少量的数据训练模型,这里少量的数据也可以用到电子地图来制作数据
  2. 通过图像后处理的方式制作大量数据集进而用以训练模型

参考文献:
[1] 屈晓渊, 张永恒. 基于主动学习的遥感图像地块目标分类[J]. 计算机与现代化, 2021(11):7.
[2] Lin Y , Zhang Y , Chen J , et al. Suggestive Annotation: A Deep Active Learning Framework for Biomedical Image Segmentation[J]. 2017.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/709232
推荐阅读
相关标签
  

闽ICP备14008679号