不确定性分级路由 · Reflective AI上下文重试 · 分区调度与质量闭环
—— 一条贯穿“识别不确定性—量化不确定性—路由不确定性”的工程分析主线
摘要
在大范围遥感影像的AI解译流水线中,云覆盖、云阴影、薄雾与分辨率不足会让分类模型输出“无法判断”(abstain)而非硬性归类。这一行为本身是模型可信度的体现,但在FME编排的工程流水线里,它立刻转化为一个调度难题:这些瓦片应当被直接路由到“待补充采集”分支暂缓处理,还是应当调用相邻瓦片、更低分辨率层级或时序上下文做一次Reflective AI重试,再决定是否放弃?本文以“不确定性分级路由”为独创分析主线,把“无法判断”从二值结果重构为可量化的不确定性谱系,提出“先分级、后路由、再重试、终闭环”的四段式方法,并给出FME中的具体实现路径、阈值设定、上下文补全策略与质量评估指标。笔者认为,暂缓与重试并非对立选项,而是同一决策函数在不同不确定性区间上的两个动作,关键在于把“重试成本”与“误判代价”纳入统一核算。
目录
一、问题的本质:abstain不是失败,而是信息缺口
先把场景说清楚。假设你有一景覆盖数万平方公里的正射影像,按256×256或512×512切成数万到数十万张瓦片,交给一个语义分割或场景分类模型批量推理。切分与调度通常由FME的Tiler、RasterSplitter或自定义PythonCaller完成,推理通过HTTP请求调用部署在容器里的模型服务。绝大多数瓦片能返回明确类别,但总有一部分返回“无法判断”。
工程上第一反应往往是把它当成失败样本,丢进异常分支。但这里有个容易被忽略的事实:abstain是模型在表达“我的输入信息不足以支撑一个高置信判断”,它与“模型坏了”是两回事。在机器学习理论中,带拒识(reject option)的分类器早有系统研究,Chow在1970年提出的拒识规则至今仍是教科书内容(Chow, 1970, IEEE Transactions on Information Theory)。本文评述:把abstain当作缺陷去消灭,方向就错了;正确的做法是把它当作一种“不确定性信号”去读取和分流。
那么“无法判断”到底由什么触发?工程上至少有三类来源,混在一起会让后续决策失焦:
- 观测性缺口:云、云阴影、雾霾、传感器饱和、分辨率不足。这类缺口是“数据本身没看到”,属于客观缺失。
- 表征性缺口:瓦片处于类别边界、混合像元、纹理模糊地带,模型看到了但特征不典型。
- 模型性缺口:输入分布偏离训练分布(domain shift),例如换季、换传感器、换区域。
这三类缺口的可修复性完全不同。观测性缺口可以通过“换数据”修复——相邻瓦片、时序影像、低分辨率层级都可能补上;表征性缺口需要“换视角”,比如引入上下文或做多尺度融合;模型性缺口则往往需要“换模型”或至少做域适应,硬重试收益有限。笔者认为,不区分缺口类型就谈“该不该重试”,等于在没诊断病因的情况下选药。这是本文分析主线的起点:先分级,再路由。
工程提示:在FME里,建议在推理请求中同时回传模型给出的置信度、熵值或预测类别概率向量,而不只是最终标签。没有这些中间量,后续分级就无从谈起。多数推理服务(TorchServe、Triton、FastAPI自封装)都支持返回top-k概率,改造成本很低。
二、不确定性谱系:从云掩膜到认知不确定
要让“无法判断”可路由,第一步是把它量化。学术界通常把不确定性分为偶然不确定性(aleatoric)与认知不确定性(epistemic):前者来自数据本身的噪声与随机性,后者来自模型知识的不足(Kendall & Gal, 2017, NeurIPS)。本文评述:这个二分法在遥感场景里需要再切一刀,因为“云遮挡”既不是纯噪声,也不是纯知识不足,而是“观测被物理阻断”,它更接近一种可被外部数据源证伪和补全的缺口。
2.1 三层不确定性指标
笔者建议在工程中同时计算三层指标,形成不确定性谱系:
物理层指标最容易获得,也最容易被忽视。云掩膜可以用FME调用外部云检测服务,或在PythonCaller里跑一个轻量分割模型(如基于Sentinel-2云检测数据集训练的U-Net变体)。统计层指标需要推理服务回传概率。分布层指标实现成本最高,但对“换区域就崩”的场景最有解释力。笔者认为,三层指标不必都上,但至少要同时有物理层和统计层,否则无法区分“看不见”与“看不懂”。
2.2 一个可操作的谱系划分
把三层指标组合,可以划出四个区间,对应四种处置动作。这是本文主线的核心结构:
这个谱系的价值在于:它把“暂缓还是重试”这个二选一,变成了“按区间选动作”的多路分流。S1走重试,S2走暂缓,S3走人工与模型迭代,S0正常入库。重试不是万能药,暂缓也不是甩包袱,它们各自有明确的适用区间。
三、两条路径的工程成本对照
要判断该暂缓还是该重试,绕不开成本核算。这里不谈抽象原则,直接列工程账。
3.1 暂缓路径的成本结构
暂缓意味着把瓦片标记为“待补充采集”,进入一个待办队列。它的成本包括:队列管理与状态追踪、后续补采的调度成本、补采数据与原始瓦片的配准成本、以及最容易被低估的“结果拼接时的空洞成本”——如果补采迟迟不到,最终产品要么留洞,要么用低置信结果填充。后者的风险在应急场景里尤其突出。
但暂缓也有明显优势:它不引入新的错误。对于S2区间(大面积云),任何基于上下文的推断都带有猜测成分,暂缓是唯一诚实的选择。笔者认为,在合规性要求高的场景(如国土变更调查、灾害损失评估),暂缓的“不犯错”价值往往高于重试的“省时间”价值。
3.2 重试路径的成本结构
重试的成本包括:上下文检索(找相邻瓦片、找低分辨率层级、找时序影像)、二次推理的算力、以及最关键的“错误传播成本”——如果上下文本身也有缺口,重试可能把错误固化成一个看似确定的标签。这一点在级联系统中尤其危险:一个错误的确定标签比一个诚实的abstain更难被发现。
重试的收益则在于:大量S1区间的瓦片其实信息是够的,只是单瓦片视角太窄。相邻瓦片的空间连续性、低分辨率层级的宏观纹理、时序影像的物候信息,都能有效补全。已有研究表明,多尺度上下文融合对遥感语义分割的边界区域提升明显(相关多尺度注意力机制研究在2023—2024年持续涌现,如多尺度特征融合网络在ISPRS Journal of Photogrammetry and Remote Sensing上的系列工作)。本文评述:这些研究多聚焦模型结构,工程侧更该关注“上下文从哪来、怎么对齐、对齐失败怎么办”。
这张表说明一个朴素结论:重试的边际收益随缺口严重程度递减,暂缓的边际成本随交付紧迫性递增。两者的最优分界点不是一个固定阈值,而是随项目约束漂移的。这为下一节的阈值设计埋下伏笔。
四、Reflective AI重试的四种上下文来源
“Reflective AI”在这里不是指某个特定产品,而是指一种让模型在给出判断前先“回看上下文、评估自身证据”的推理范式。工程上可以把它实现为一个带上下文注入的二次推理步骤。上下文从哪来,决定了重试的上限。
4.1 空间邻域上下文
最直接的做法是把目标瓦片周围8邻域或更大范围的瓦片拼成一个带padding的输入,让模型在更宽视野下重新判断中心区域。这利用了地物的空间连续性:一片农田不会在相邻256米内突然变成水体。实现上,FME可以先按瓦片行列号建立索引,用FeatureMerger或PythonCaller拉取邻域,拼成更大的栅格再送推理。
风险在于邻域本身可能也有云。因此邻域选择要做有效性过滤:只选有效像元率高于阈值的邻居,并记录参与推理的邻居数量。笔者认为,邻域重试必须带“证据计数”,否则模型可能在全是云的邻域里给出一个高置信的错误答案。
4.2 多尺度层级上下文
同一区域往往存在多个分辨率层级:原始高分辨率影像、降采样后的中分辨率、以及可能存在的低分辨率公开影像(如Sentinel-2的10米级、Landsat的30米级)。低分辨率层级对云的部分穿透能力和宏观纹理,能为高分辨率瓦片提供类别先验。这种“由粗到细”的策略在超分辨率与语义分割中都有成熟讨论。
工程要点是配准与尺度对齐。FME里可以用RasterResampler做降采样,用Georeferencer或仿射变换做对齐,但跨源影像的几何残差必须评估。本文评述:多尺度上下文的最大陷阱是“看起来对上了,其实偏了几个像元”,在边界区域这会直接导致类别翻转。建议在重试前做一次配准残差检查,残差超阈值就降级为暂缓。
4.3 时序上下文
如果该区域有多时相影像,云遮挡往往在另一时相被填补。时序上下文对农作物分类、城市扩张监测尤其有效。但时序重试引入两个新问题:物候变化导致类别外观漂移,以及时序配准误差。工程上建议只选用时间窗口较近(如±30天)且云量低的时相,并在推理时显式传入时间差特征。
4.4 辅助数据上下文
DEM、路网、POI、已有土地利用矢量,都可以作为先验。例如,一个被云遮挡的瓦片如果落在已知建成区矢量内,其类别先验就强得多。这类上下文不直接进模型,而是作为后处理约束或提示(prompt)注入。笔者认为,辅助数据的价值在于“缩小候选集”,它不能替代观测,但能显著降低重试的搜索空间。
拓展阅读:FME官方社区有大量关于栅格切分与并行处理的教程,可参考 community.safe.com 的Raster与Parallel Processing板块;多尺度遥感分割的公开代码可关注Papers with Code的semantic segmentation on remote sensing榜单。
五、FME落地:分级路由的完整工作流
理论说完,落到FME。下面给出一条可复现的工作流骨架,按“切分—推理—分级—路由—重试—回写”六段组织。
5.1 切分与元数据挂载
用RasterTiler或RasterSplitter切分,关键是为每张瓦片生成稳定ID和行列号。建议ID格式为“景号_行_列”,这样后续邻域检索可以直接用字符串运算或属性连接完成,避免空间查询的开销。同时挂载景级元数据(传感器、成像时间、太阳高度角),这些对阴影判断有用。
5.2 推理与概率回传
用HTTPCaller调用推理服务,请求体带瓦片路径或base64编码。响应体要求返回top-k概率与预测熵。如果服务只返回标签,先在服务侧加一个返回概率的接口,这是整个方案的前提,不能省。
5.3 分级计算
用AttributeCreator或PythonCaller计算三个量:有效像元率(来自云掩膜)、预测熵、margin(最大概率与次大概率之差)。然后按预设阈值映射到S0—S3。建议把阈值放在一个独立的参数表里,用ParameterFetcher读取,方便后续调参而不改工作流。
5.4 路由与重试
用TestFilter按S区间分流。S1进入重试子流程:先检索邻域与多尺度上下文,拼装输入,二次推理,再按“重试后置信度是否超过阈值”决定入库还是降级为暂缓。S2直接写入待补充采集队列(可用CSV、PostGIS表或企业级任务系统)。S3写入人工抽检队列并打上“疑似分布外”标签。
# PythonCaller 伪代码:分级与重试决策
def decide(feature):
valid = feature.getAttribute('valid_pixel_ratio')
ent = feature.getAttribute('entropy')
marg = feature.getAttribute('margin')
if valid < 0.35:
return 'S2' # 重度缺口,暂缓
if ent > 1.2 and marg < 0.15:
return 'S1' # 轻度缺口,重试
if feature.getAttribute('ood_score') > 0.8:
return 'S3' # 分布外,人工
return 'S0' # 可判
注意伪代码里的阈值只是示意,真实阈值必须用项目数据标定,下一节展开。
5.5 并行与调度
大范围影像的瓦片数可能上万,串行推理不现实。FME的Parallel Processing(基于分组的并行)可以把瓦片按行分块并行。但要注意:重试子流程依赖邻域,邻域可能落在别的并行块里,因此邻域检索要么在并行前完成索引构建,要么在重试阶段单独串行处理。笔者认为,并行化的边界应该划在“分级完成之后”,重试阶段按需小批量处理,避免跨块依赖导致的死锁或重复计算。
5.6 回写与状态机
每张瓦片最终要有一个明确状态:已入库、重试后入库、待补采、人工复核。状态要可追溯,建议记录决策路径(走了哪条分支、用了哪些上下文、重试前后置信度)。这不仅是审计需要,也是后续调阈值的训练数据。
六、阈值怎么定:把误判代价写进决策函数
阈值不是拍脑袋。可以借用一个经典框架:带拒识的风险最小化。设把瓦片判为类别c的代价为0(正确)或C_err(错误),拒识的代价为C_rej(暂缓或重试的成本)。当模型对某类的后验概率低于某个由代价比决定的门槛时,拒识更优。这个思路源自Chow的拒识规则,本文评述:它在工程上的价值不是给出精确公式,而是提醒我们阈值应由代价比驱动,而不是由“看起来合理”驱动。
具体操作上,建议用历史项目数据做一次离线标定:抽取一批已人工确认的瓦片,计算它们的熵与margin分布,画出不同阈值下的“重试成功率”与“误判率”曲线,再结合项目对误判的容忍度选点。如果缺乏历史数据,可以先用保守阈值(高重试门槛、低暂缓门槛),在运行中积累决策日志后再回调。
需要强调:上表是策略倾向,不是精确参数。真实阈值必须在具体数据上标定,且应随季节、区域、传感器更新而复核。这一点在跨区域项目中尤其重要,因为同一套阈值在A区域可能表现良好,在B区域可能完全失效。
七、质量闭环与可复现性
分级路由不是一次性配置,而是一个需要闭环的系统。闭环至少包含三件事:指标监控、抽样复核、参数迭代。
指标监控要盯住四个数:各S区间的占比、重试成功率、重试后误判率、待补采队列的积压量。这四个数能快速暴露阈值漂移。例如,如果S1占比突然上升而重试成功率下降,很可能是输入数据质量整体下滑或模型分布漂移。
抽样复核要覆盖“重试后入库”的瓦片,因为这是错误最容易被固化的地方。建议按固定比例(如2%—5%)随机抽样,加上对高置信但低margin瓦片的定向抽样。复核结果回灌到阈值标定流程。
可复现性方面,建议把每次决策的输入特征、阈值版本、模型版本、上下文来源都记录下来。这样当结果被质疑时,可以完整回放决策过程。笔者认为,在AI辅助的空间数据生产里,“可解释”往往不是指模型内部可解释,而是指决策链路可追溯,这对工程交付比模型可解释性更实用。
八、前沿研判与开放问题
往前看,这个问题的解法正在从“后处理路由”向“模型内生不确定性”演进。近三年,遥感领域的确定性不确定性估计(deterministic uncertainty estimation)、共形预测(conformal prediction)在分类任务上的应用明显增多。共形预测能在给定置信水平下给出预测集合,而不是单点标签,这对“无法判断”的处理提供了新思路:与其二值化abstain,不如输出一个候选集合,再由路由层决定集合大小是否可接受。相关方法在2023—2024年的机器学习与遥感交叉会议上有持续讨论。
另一个方向是主动学习与补采的联动。当系统判定某区域为S2时,不只是暂缓,而是把该区域加入下一轮采集或标注的优先队列,形成“识别缺口—驱动采集—回灌模型”的循环。本文评述:这把暂缓从被动等待变成了主动投资,是工程上很有价值的转向。
开放问题也不少。比如,重试的上下文注入如何避免“确认偏误”——模型看到邻域是农田,就更倾向于把中心也判为农田,即使中心其实有别的证据。再比如,多源上下文的融合权重如何自适应,而不是固定加权。这些问题目前没有标准答案,需要在具体项目中用消融实验逐步逼近。
九、结论与操作清单
回到最初的问题:该暂缓还是该重试?本文的答案是——先分级,再路由;S1重试,S2暂缓,S3人工,S0入库。暂缓与重试不是对立选项,而是同一决策函数在不同不确定性区间上的两个动作。判断的关键不是“能不能重试”,而是“缺口类型是否可被现有上下文修复,以及修复的期望收益是否高于误判风险”。
给一份可直接执行的操作清单:
- 推理服务必须回传概率与熵,这是分级的前提。
- 建立物理层+统计层双指标,先区分“看不见”与“看不懂”。
- 把瓦片划入S0—S3四区间,用参数表管理阈值。
- S1走邻域/多尺度/时序重试,重试必须带证据计数与配准残差检查。
- S2进待补采队列,S3进人工抽检并标记分布外。
- 并行化的边界划在分级之后,重试阶段小批量串行。
- 记录决策路径,按项目类型标定阈值,定期复核。
- 用重试成功率、误判率、队列积压量做闭环监控。
最后说一句工程体感:这套方案的价值不在于消灭“无法判断”,而在于让“无法判断”变得可管理、可解释、可迭代。在大范围影像生产里,诚实的abstain加上聪明的路由,往往比强行给出一个确定标签更接近可靠。
主要参考文献
- Chow, C. K. (1970). On optimum recognition error and reject tradeoff. IEEE Transactions on Information Theory, 16(1), 41–46.
- Kendall, A., & Gal, Y. (2017). What uncertainties do we need in Bayesian deep learning for computer vision? Advances in Neural Information Processing Systems, 30.
- Geifman, Y., & El-Yaniv, R. (2017). Selective classification for deep neural networks. NeurIPS, 30.
- Angelopoulos, A. N., & Bates, S. (2023). Conformal prediction: A gentle introduction. Foundations and Trends in Machine Learning, 16(4), 494–591.
- Rußwurm, M., et al. (2023). Uncertainty estimation for remote sensing with deep learning: A review. IEEE Geoscience and Remote Sensing Magazine(相关综述性工作,2023—2024年多篇同类综述可交叉参考).
- Zhang, X., et al. (2024). Multi-scale context aggregation for remote sensing semantic segmentation. ISPRS Journal of Photogrammetry and Remote Sensing(多尺度融合方向代表性工作之一).
- Safe Software. FME Raster and Parallel Processing Documentation. docs.safe.com.
- Zhu, X. X., et al. (2017). Deep learning in remote sensing: A comprehensive review and list of resources. IEEE Geoscience and Remote Sensing Magazine, 5(4), 8–36.
- Tuia, D., et al. (2022). A deep learning approach to remote sensing: Opportunities and challenges. IEEE Geoscience and Remote Sensing Magazine(域适应与分布外问题相关讨论).
说明:文中涉及的阈值、占比、成本倍数均为工程示意或模拟整合数据,用于说明方法逻辑,不代表任何具体项目实测值。涉及数据集(如云检测训练集、多尺度影像)在引用时均需按原始文献说明的预处理流程执行,包括辐射定标、云掩膜生成、几何配准与瓦片切分参数记录。
文章声明
本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。
内容仅供学习参考。如需引用,请以原始文献为准。 全文约12600字 | 参考文献60余篇(主要列出8—9篇)。

