资讯动态

弱监督语义分割在遥感影像中的应用:从标注困境到技术路线

发布时间:2026/10/14 13:30:18 来源:尧图企业网站定制
1. 从标注不起说起弱监督语义分割到底在解决什么遥感影像的语义分割说白了就是给卫星或航拍图上的每一个像素贴标签——这是建筑、那是道路、左边一片是水体、右边一片是林地。全监督的做法很直接准备一大批影像再配上一批同样大小的掩膜图每个像素都标好类别然后喂给网络去学。问题在于这种像素级标注的成本高得离谱。一张高分辨率遥感图动辄几千乘几千像素让标注员一个像素一个像素去抠标一张图可能就要几个小时标一个数据集可能要几个月甚至几年。更麻烦的是遥感影像本身专业性强标注的人还得懂地物类型不是随便拉个人就能干的。弱监督语义分割就是为了绕开这个成本黑洞。它的核心思路是不给你精细的像素级掩膜只给你更廉价的监督信号比如图像级标签这张图里有建筑、有道路但不告诉你具体在哪、点标注在目标上点几个点、涂鸦标注在目标上画几笔、边界框框出目标大概范围。用这些弱信号去训练一个能输出像素级结果的分割模型这就是弱监督语义分割要干的事。放到遥感场景下这件事的难度又上了一个台阶。遥感影像有几个天然特点目标尺度差异极大一栋小房子可能只占十几个像素而一大片农田可能占半张图类间差异小比如草地和农田在光谱上很接近类内差异大同一条河流在不同季节、不同光照下长得完全不一样还有大量的小目标密集分布。这些特点决定了直接把自然图像上的弱监督方法搬过来效果往往打折扣。我读这一批论文的时候最大的感受是弱监督语义分割在遥感领域的价值不只是省钱更在于它让很多原本因为标注成本而做不了的应用变得可行。比如灾害应急场景地震或洪水发生后需要快速从遥感图上分割出受损建筑、淹没区域这时候根本没有时间去做精细标注弱监督方法能用少量粗标注快速上线。再比如大范围的土地覆盖制图全国甚至全球尺度全监督标注根本不可能弱监督是唯一现实的选择。这篇博文我会围绕弱监督语义分割在遥感场景下的几条主流技术路线展开把每类方法的核心机制、为什么这样设计、实际复现时容易踩的坑讲清楚。适合已经了解语义分割基础、想进入弱监督方向的研究生也适合做遥感应用、想降低标注成本的工程同学。我不会堆公式重点讲清楚这个方法为什么work和我实际跑的时候遇到什么。2. 图像级标签路线从分类网络里抠出定位信息2.1 类激活图为什么能当分割的种子图像级弱监督最经典的做法是用类激活图CAM来生成伪标签。原理其实不复杂一个分类网络在训练时为了判断这张图里有建筑它必须学会关注建筑所在的区域。把分类网络最后一层卷积特征拿出来对每个类别做加权求和就能得到一张热力图高亮区域大致就是该类别的响应位置。我第一次跑CAM的时候觉得挺神奇——明明只给了图像级标签网络居然能大致圈出目标在哪。但很快发现它的毛病CAM倾向于只激活目标最具判别性的那一小块比如一栋建筑它可能只高亮屋顶而把整栋楼的轮廓漏掉。这在自然图像上还能忍在遥感上就致命了因为遥感目标往往是大面积连片的CAM只激活一小块分割结果就是一堆碎片。针对这个问题后续论文提出了不少改进。一类思路是改网络结构比如用扩张卷积扩大感受野让响应区域更完整另一类是在训练时做文章比如对特征图做随机擦除逼网络关注目标的其它部分。我实测下来扩张卷积那套改动小、见效快适合作为baseline的第一步改进。2.2 种子区域生长把零散响应连成完整目标拿到CAM之后下一步是把它变成可用的伪标签。最直接的做法是设个阈值响应高于阈值的算前景低于的算背景。但这样得到的伪标签往往很碎目标内部有空洞边缘也不准。种子区域生长是解决这个问题的常用手段。思路是把CAM里高置信度的区域当作种子然后根据影像本身的光谱或纹理相似性把种子向周围扩展直到遇到明显的边界。这招在遥感上特别管用因为遥感地物通常有较好的空间连续性同一块农田内部光谱很一致生长算法能顺着这种一致性把整块地圈出来。我复现的时候踩过一个坑生长阈值设得太松结果种子从建筑蔓延到了旁边的道路因为两者在光谱上有时很接近。后来改成结合边缘信息来约束生长效果才稳定下来。这里的关键经验是遥感影像的光谱相似性不能单独用一定要叠加空间或边缘约束否则很容易过生长。2.3 迭代精炼让伪标签自己长大单次生成的伪标签质量有限于是有了迭代精炼的思路。做法是用当前伪标签训练一个分割网络用这个网络重新预测一遍把预测结果和原伪标签融合得到更准的伪标签再训练如此循环。这个思路听起来很美但实际跑起来有个经典问题——错误累积。如果第一轮伪标签在某个类别上错得离谱后续迭代会把这个错误不断强化最后越跑越偏。我见过一个案例模型把大片裸地误判成建筑迭代几轮后裸地全被标成了建筑而且置信度还越来越高。缓解这个问题有几个实用技巧。一是用类别平衡的采样避免某个类别主导训练二是引入一致性约束让模型对同一图像的不同增强版本给出一致的预测三是在融合伪标签时对低置信度区域保持谨慎宁可标成忽略也不要强行给标签。这几点在遥感场景下尤其重要因为遥感类别不平衡非常严重建筑、道路这些类往往像素占比很小。3. 点与涂鸦标注用极少的人工介入撬动精度3.1 点标注的性价比为什么最高点标注是弱监督里性价比很高的一种形式。标注员只需要在每个目标上点一下一张图可能就点十几个点几秒钟搞定。相比涂鸦要画线、边界框要拉框点标注的操作成本最低。但点标注的难点在于点太稀疏了网络怎么知道一个点代表多大范围这就需要用点的位置信息去引导分割。常见做法是把点当作必须属于某类的硬约束然后结合图像的其他信息比如超像素分割、区域生长去推断每个点的作用范围。我读的一篇论文用了个挺巧妙的思路先用点标注训练一个分类器得到粗略的响应图再用响应图去指导超像素的合并。超像素是把图像预先切成小块每块内部颜色纹理相近。点落在哪个超像素里就大致认为这个超像素属于该点对应的类别然后把相邻的同类超像素合并逐步扩展成完整目标。这个方法的妙处在于它把点和区域通过超像素这个中间层连接起来了既利用了点的强监督信号又利用了图像本身的空间结构。3.2 涂鸦标注在点的基础上多给一点边界线索涂鸦标注比点标注多给了一些信息——标注员在目标上画几笔这几笔是有走向和范围的。相比点涂鸦能更好地表达目标的形状和延展方向尤其对细长目标比如道路、河流特别有用。涂鸦的核心挑战是涂鸦只覆盖了目标的一部分剩下的部分要靠算法补全。主流做法是把涂鸦当作部分标注用半监督或自训练的方式去扩展。具体来说先用涂鸦训练一个初始模型用模型预测未标注区域把高置信度的预测加入训练集反复迭代。遥感场景下涂鸦有个特殊优势遥感目标往往有规则形状比如农田是规整的矩形建筑是矩形组合道路是长条。标注员画涂鸦时即使只画一小段算法也能根据形状先验去推断整体。我在一个农田分割的实验里发现涂鸦标注配合形状约束效果比纯点标注好不少尤其是对大面积规则农田。3.3 弱监督信号的融合别把鸡蛋放一个篮子实际项目里单一弱监督信号往往不够。图像级标签信息量太少点标注太稀疏涂鸦覆盖不全。于是有了多信号融合的思路同时利用图像级标签、点、涂鸦甚至少量像素级标注让它们互相补充。融合的关键是设计好不同信号的权重和交互方式。图像级标签适合做全局约束防止模型跑偏点标注适合做局部强约束锚定关键位置涂鸦适合做形状引导。我见过一个做法是把这些信号统一到一个损失函数里图像级用分类损失点用部分交叉熵涂鸦用带掩膜的损失联合优化。这里有个实操经验不同信号的权重不能拍脑袋定最好根据标注量和可靠性来调。如果点标注很准但很少权重可以高一些如果图像级标签噪声大权重就要压低。我在一个项目里一开始把图像级损失权重设得和点损失一样结果模型被图像级标签里的噪声带偏后来把图像级权重降到三分之一效果明显改善。4. 遥感场景特有的坑尺度、光谱与类别不平衡4.1 多尺度问题一个模型吃不下所有目标遥感影像的尺度跨度极大。同一张图里可能有几十像素的小车也有占半张图的大片水体。弱监督方法在这种尺度差异下特别容易翻车因为CAM或点响应往往偏向某一尺度。解决多尺度问题的常规手段是特征金字塔或空洞空间金字塔池化。原理是让网络同时在多个尺度上提取特征小目标用高分辨率特征大目标用低分辨率但语义强的特征。我在复现时发现单纯加个金字塔还不够还得在伪标签生成阶段做多尺度融合——把不同尺度的响应图对齐后加权平均这样小目标和大目标都能被照顾到。另一个实用技巧是分块推理。遥感图太大直接缩放到网络输入尺寸会丢失小目标。把大图切成有重叠的小块分别推理再拼接能显著提升小目标的分割质量。重叠区域的作用是消除拼接缝一般重叠四分之一到三分之一比较合适。4.2 光谱相似性带来的类间混淆遥感影像里不同类别在光谱上可能非常接近。比如草地和农田、裸地和建成区在某些波段下几乎分不开。弱监督方法因为监督信号弱更容易被这种相似性误导。应对这个问题一个方向是引入额外的模态信息比如把高程数据、多光谱波段一起输入。高程信息对区分建筑和裸地特别有用因为建筑有高度。另一个方向是在损失函数里加类间距离约束逼模型把容易混的类别在特征空间里拉开。我踩过的一个坑是直接用RGB三通道训练草地和农田几乎分不开分割结果一片糊。后来加了近红外波段两类一下就分开了。这提醒我遥感任务里波段选择不是小事弱监督本来就信息不足再丢掉有用的波段就是雪上加霜。4.3 类别不平衡小类别被淹没的困境遥感数据集的类别分布极度不平衡。道路、建筑这些类可能只占几个百分点而背景、植被占大头。弱监督方法在这种分布下往往直接忽略小类别因为模型发现全预测成背景就能拿到不错的整体精度。解决类别不平衡常用手段有重采样、重加权、focal loss等。但在弱监督下这些手段要慎用。重采样可能让稀有类别的弱标签被过度放大引入噪声focal loss对难样本的聚焦在弱监督下可能聚焦到错误样本上。我的经验是弱监督下的类别不平衡最好从伪标签生成阶段就介入。比如在生成CAM时对稀有类别做响应增强保证它们在伪标签里有足够的存在感。另外评估指标一定要看每类的IoU不能只看整体精度否则小类别的崩溃会被平均值掩盖。5. 复现与实验我实际跑下来的一些体会5.1 数据集选择与预处理的门道做弱监督遥感分割数据集选择很关键。公开的遥感分割数据集不少但带弱标注的不多很多时候要自己从全监督数据集里退化出弱标签。比如把像素级掩膜转成图像级标签有该类就标1或者随机采样生成点标注。预处理阶段有几个容易忽略的点。一是影像的辐射归一化不同传感器、不同时相的影像亮度差异很大不归一化的话模型很难学。二是数据增强要贴合遥感特点普通的翻转旋转可以但颜色抖动要小心因为遥感的光谱信息是有物理意义的乱抖可能破坏类别可分性。三是注意影像的位深有些遥感图是16位的直接当8位处理会丢信息。我在一个实验里因为没做辐射归一化模型在训练集上表现很好一到测试集就崩排查了半天才发现是两批影像的亮度分布差太多。这个坑很隐蔽因为归一化这步太基础容易被跳过。5.2 伪标签质量怎么评估弱监督方法的核心是伪标签伪标签质量直接决定最终效果。但伪标签没有真值怎么评估我的做法是留一小部分有像素级标注的验证集专门用来评估伪标签的精度和召回。如果伪标签在验证集上精度低说明生成环节有问题得回去调。另一个实用指标是伪标签的覆盖率——有多少像素被赋予了标签。覆盖率太低说明模型太保守很多区域没敢标覆盖率太高但精度低说明模型太激进乱标。理想状态是覆盖率和精度都过得去具体阈值看任务一般精度能到70%以上、覆盖率60%以上就值得继续迭代。我还习惯可视化伪标签直接看图。数字指标有时会骗人但图不会。我见过指标还行但伪标签在空间上碎成渣的情况这种伪标签训出来的模型边界会很差。5.3 训练策略从warm-up到自训练弱监督分割的训练通常分阶段。第一阶段是warm-up用弱监督信号训一个初始模型这个阶段学习率要小避免模型过早过拟合到噪声标签。第二阶段是伪标签生成用warm-up模型预测生成伪标签。第三阶段是自训练用伪标签当监督重新训练这个阶段可以用正常学习率。自训练阶段有个技巧是加一致性正则。对同一张图做不同增强要求模型预测一致。这在弱监督下特别有用因为它相当于给模型加了额外的约束缓解伪标签噪声的影响。我实测下来加了一致性正则后模型在边界区域的分割质量提升明显。还有一个经验是别急着端到端。很多人想一步到位直接弱监督信号训到底结果往往不好。分阶段虽然麻烦但每阶段目标明确出问题好定位。我宁愿多花点时间分阶段调也不愿意端到端跑完发现效果差却不知道哪出了问题。6. 这条路线接下来还能怎么走弱监督语义分割在遥感上的研究我觉得有几个方向值得关注。一是多模态弱监督把光学、雷达、高程等不同模态的数据和弱标签结合互相补足信息。遥感的多模态数据其实很丰富但现有弱监督方法大多只用光学浪费了其它模态。二是跨域弱监督在一个区域训练的模型迁移到另一个区域这在遥感上很实际因为不同地区的地物外观差异大重新标注成本高。三是弱监督和基础模型的结合现在视觉基础模型的特征很强用它们来提升伪标签质量是个自然的思路。我自己接下来想试的是把弱监督和主动学习结合。主动学习的思路是让模型主动挑出最有价值的样本请人标注这样能把有限的人工标注用在刀刃上。弱监督负责铺量主动学习负责提质两者结合可能比单纯弱监督更实用。不过这只是个想法具体怎么设计查询策略、怎么和伪标签迭代配合还得慢慢试。最后分享一个小心得做弱监督研究别只盯着方法创新数据侧的功夫往往更决定成败。弱标签怎么生成、增强怎么做、类别怎么平衡这些看似不起眼的细节实际影响可能比换个损失函数大得多。我见过不少论文方法很花哨但数据预处理一塌糊涂结果还不如老老实实调数据的baseline。遥感这个领域尤其如此影像本身的特性太强脱离数据谈方法容易空中楼阁。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑