模型越来越多,精度为什么不上去
论文里 F1 0.92 的模型,拿到项目上面积偏三成,这事我见过不止一次。
每次有人问是不是模型退化了。不是。是两个"精度"根本不是同一个东西。
你说的精度是哪个精度
学术上说的精度,通常是逐像元算的 OA 或者 F1,在一份精心构造的公开数据集上评,评的人是审稿人。
项目上要的精度,是"这块地是不是这块地""总亩数对不对",评的人是甲方,他手上拿的是一张承保清单。
这两件事的差距比想象中大。像元级 95% 的精度,完全可能对应"三成的地块边界是错的"——因为误差看着小,但全集中在少数地块的边界上,而甲方只关心地块。
一张图几百万个像元,错 5% 就是十几万个。这十几万个如果都落在边界上,那就是边界全错。
所以很多"高精度模型"一落地就现原形。不是模型不行,是尺子不对。
数据源的天花板,模型无解
先算笔账。一块 0.5 亩的地,333 平方米。
用 Sentinel-2 的 10 米影像,一个像元 100 平方米,这块地只装得下 3.3 个像元。3 个像元意味着什么?边缘那一圈全是混合像元,一半是地,一半是田埂或者邻地的作物。这种情况下谈"像元级分类精度"没有意义,因为图斑本身已经被边缘吃掉了。
换成 1 米影像,一个像元 1 平方米,333 个像元,这时候才谈得上形状和边界。
关系是:目标地块越小,对分辨率的要求是平方级上升,不是线性。地块缩小一半,需要的像元数掉到四分之一。
这是物理限制,换任何模型都绕不过去。分辨率不够的时候,模型能做的只有猜得更像一点。
时相:单期影像的上限很低
作物在可见光到近红外这个区间里,光谱高度重叠。
有个反直觉的事实:同一生育期的两种作物,光谱差异往往小于同一作物在两个生育期之间的差异。也就是说,光看一期的光谱,"这是玉米还是大豆"可能分不出来;但"这是同一块地的两个时间",反而一眼能看出。
作物能分开,主要靠生育期不同步——播期、抽穗、成熟的时间错开,时序曲线的形状就不一样。
所以只给一期影像,等于把最有效的证据抽走了。而时序又有自己的麻烦:关键那几期有云怎么办。作物最需要看的时候,往往也是雨季。
样本分布失真
公开数据集里的样本是挑过的:类别均衡、位置典型、边界清晰。
真实场景是另一副样子。玉米占七成,某个经济作物只占零点几个百分点;地块碎,边界曲折,中间还有机井房、树、坟头;小类样本少得可怜。
在精心挑的样本上训出来的模型,遇到真实分布就崩。这不叫过拟合,叫分布不匹配。两者的区别很重要:过拟合还能靠正则化、加数据救;分布不匹配只能重新采样,换模型没用。
项目里的约束,论文不写
还有一类限制,论文很少提,但项目里天天遇到。
时间,几天要出结果,重模型跑不动;可复核,甲方要能拿你的图去跟他的清单核对,黑箱不行;可复现,换个作业员跑一遍结果得对得上,不然没法交代;成本,标注和验证都是人力,标一亩地要多少钱心里得有数。
学术的激励方向是"在公开数据集上刷 SOTA",落地要的是"在这个县、这个年份上绝对可靠"。这两个方向并不一致。所以模型数量暴涨,不等于落地能力上涨。
那怎么办
换模型排最后。前面还有几件更管用的事。
先把评价口径从像元级换成地块级。 分类面积对上承保或统计面积,落在区间内;图斑跟参考图斑的叠合度够高。尺子对了,才知道到底行不行。
数据源先行,别硬调模型。 先算清楚"目标地块最小多大、需要多少有效像元、需要什么分辨率",如果数据源撑不住目标精度,调参是白费。
用物理约束替代算法技巧。 物候判据、地块边界约束、最小上图面积过滤,这些非模型手段在真实场景里往往比换个网络结构管用。大豆和玉米播期不同,时序曲线整体错位,这个判据比任何分类器都稳。
别给全局精度。 不要承诺"总体精度 92%",而是分层说:大块地能做到什么水平,小块地只能到什么程度,哪个作物可靠,哪个必须人工复核。分层承诺听着不漂亮,但它不会被打脸。
顺便给个判断标准:如果一个方案只跟你谈模型结构和 F1,不谈数据源、不谈交付口径、不谈验证方法,那它大概率落不了地。
在遥感这一行里,这三样比模型重要得多。