为什么"AI 提取的地块"不能直接交差
为什么"AI 提取的地块"不能直接交差
一篇写给农险遥感从业者的精度评价入门 编号 A-001 | 2026-09
一、先说一件事:这个行业的精度数字,基本不可核
如果你接触过提供农业遥感服务的公司,你会看到很多漂亮数字。
随便翻几家的官网或宣传材料,大概率能看到这几句:
- "地块边界精准提取,精度 0.5–2 米"
- "作物类型识别准确率 95%+"
- "累计定损 X 亿亩"
- "理赔效率提升 85%"
我第一次看到"边界提取精度 0.5–2 米"的时候,愣了一下——这句话把两样完全不同的东西说成了同一样东西。
0.5–2 米,是影像的分辨率(GSD),指的是"一个像素代表地面上多大一块"。它是影像的属性,跟算法做得好不好没有关系。你把一张 2 米的影像交给任何人、任何算法,它的分辨率都是 2 米。
边界提取的精度,是一个比例,不是长度。 它衡量的是"你画出来的边界,跟真实田埂差多少",标准做法是 IoU(交并比)、Boundary F1、或者边界偏移的 RMSE。
说"边界精度 2 米",就像说"我的身高是 75 公斤"。 数字可能没错,但两个量纲根本没法放一起。
同一份材料里还有更典型的一句:把"作物类型识别准确率 95%+"和"赔付准确率 95%"并排放在一张列表里。这两个 95% 用的分母都不是一回事,并排放的暗示是"我们每一项都是 95%"。
所以第一个结论很朴素:看得见的精度数字,先问它是什么量纲。
二、行业标准 2025 年才落地,而它明确要求你做精度评价
这不是我个人的高标准。中国保险行业协会 2025 年 7 月发布的团体标准《农业保险遥感技术应用规范》(中保协发〔2025〕25 号),把精度评价写成了明文必做项。
以玉米部分(T/IAC CARMS 55.3—2025,2025-10-30 实施)为例,它规定的指标和阈值是:
作物种植分布解译(条款 8.1.4)——用剩余 30% 验证样本构建混淆矩阵,采用总体精度、F1 Score、Kappa 系数三项指标,其中:
总体精度达到 90% 以上时判定为合格,Kappa 系数与 F1 Score 作为参考指标。
灾害受灾分布解译(条款 9.1.4)——从灾害解译样本中预留 30% 作为验证样本:
总体精度达到 85% 以上时判定为合格。
样本量要求(条款 8.1.2)——这一条最容易被忽略:
若监测区域范围超过 100 km²,作物解译样本数量每 100 km² 应不少于 100 个……其中实地采样样本占比(含从承保验标照片中提取的作物解译样本)不少于 30%。
把这三个数字放进一个真实的县算一遍:一个 1500 km² 的县,需要约 1500 个样本,其中至少 450 个必须来自实地。如果做 5 期长势监测,就是 7500 个样本。
这就是行业真实的工作量。 你现在能理解,为什么那么多公司的宣传材料里,精度数字都是"宣称"而不是"报告"了——因为要做出来,成本是明摆着的。
顺便说一句,标准附录 C 里的 F1 计算公式是 1/r × Σ(r 个类别求和),这是 Macro F1,不是 Micro F1。这两者在你类别不平衡的时候能差出十几个点。如果你的报告里只写"F1 = 0.92",没说清是 Macro 还是 Micro,这个数在专业评审面前是没有意义的。
三、三种看起来像精度、其实不是精度的东西
这一节是这篇文章的核心。下面三种做法,都会产出一个"看着很像精度"的数字,但它们携带的准确率信息分别是:零、负、零。
第一种:拿承保数据当标准答案
这是行业里最普遍的做法,也是最危险的一种。
逻辑看起来很顺:保险公司给了我承保清单,上面写着"某村某户投保玉米 X 亩",我遥感提取出来"某村玉米 Y 亩",Y/X = 96%,于是写进报告——"提取精度 96%"。
这个推理有一个致命的隐含假设:承保数据是准确的。
它不是。
保险公司的承保量是投保登记量,它的来源是农户申报。这里面至少有三层偏差:
- 申报口径:农户可能按"习惯亩"申报,而习惯亩和标准亩的换算关系在不同地区、甚至不同村都不一样;
- 选择性投保:农户可能只保了自家一部分地块,而不是全部;
- 历史沿用:很多保单的面积是沿用往年的,没有重新测量。
所以承保量是"投保登记量",不是"实测地面真值"。 它跟真实的作物面积之间,存在一个方向不定、大小不定的偏差。
结论有两个方向,很多人只知道第一个:
方向一:提取/承保 ≈ 1 没有证明力。
你算出 96%,不能写"提取精度 96%",只能写"与承保量量级相符"。因为两者的偏差来源不同,凑巧一致不能证明你提得准。
方向二(更少人知道):提取/承保 ≠ 1 也没有否证力。
你算出 130%,不能就断定自己提错了。可能是农户少保了,可能是口径不同。分母本身就不干净,比值的任何结论都立不住。
这个判断不是我发明的,标准自己就是这么写的。看条款 8.1.4 b) 的原文:
b) 承保地块抽样验证。从承保验标地块中选取有效点位(该点位与实际种植作物一致)作为真值数据,与玉米种植分布解译结果进行比对……
注意括号里那半句——"该点位与实际种植作物一致"。
这句话的意思是:先用承保数据,但要先把"承保写了玉米、实际种的不是玉米"的点位剔掉,剩下的才算真值。
换句话说,标准明确不承认承保数据可以直接当作真值。 它承认的只是:承保数据里经过核实的那一部分。
行业里大量的人拿承保数据直接当分母算出一个"95%"并写进报告——这个做法,标准是不认的。
第二种:把结果调成跟承保一致,然后宣布命中
这一种更隐蔽,也更严重。
我见过这样的做法:提取出来比承保量多了,那就按承保配额把多出来的面积按比例削掉;少了,就补一点。调整完之后再看比值——1.00,完美吻合,精度 100%。
问题在于:这个 1.00 是你自己调出来的,不是测出来的。
用同一份数据既当答案、又当考卷,事后吻合是构造出来的结果,它携带的准确率信息是零。而且比"零"更糟——因为它会给决策者一个"已经验证过了"的错觉。
你要区分:为了满足合同约束而做的面积调整(这是交付要求,可以理解,但要标注清楚)和 拿调整后的结果去宣称精度(这是自欺,且会误导甲方)。
前者是工程,后者是造假。
第三种:用 AI 生成的样本来算准确率
现在生成式模型很火。用文生图模型生成"灾后倒伏玉米的遥感影像",用来扩充训练集——这件事是合理的,我支持做。
但不能用它生成验证样本。
你想想这个链路:生成模型产出样本 → 你用它算自己分类器的准确率。
这是自己给自己出考卷,而且是自己批卷。 生成模型见过什么、偏向什么分布,你不知道;它生成出来的"灾区影像"与真实现场的差距有多大,你也不知道。用这些数据算出来的精度,衡量的是"你的分类器和这个生成模型像不像",不是"你的结果和地面像不像"。
一句话记牢:
合成样本只能做训练增强,绝对不能当验证样本。
四、那怎样才能做出站得住的精度评价
回到标准。条款 8.1.4 给了两条路径,它是"循序进行"的——先用 a,再用 b:
路径 a · 样本一致性验证(主力):用剩余 30% 验证样本作为真值,与解译结果构建混淆矩阵,算总体精度 / F1 / Kappa。
关键在"剩余"两个字。这意味着样本集合必须在建模之前就分好——70% 用于训练、30% 留作验证,这 30% 在分类过程中从未参与。如果两类样本混在一起,或者验证样本是从分类结果里挑的,这套评价就作废了。
路径 b · 承保地块抽样验证(补充):从承保验标地块中选有效点位(即前文那个括号——实际种植与承保一致的点位),比对解译正确的点位比例。
两条路径的差别,本质是真值来源的独立性:a 来自你的实地/目视采样,b 来自承保数据里被核实过的那部分。a 的证明力强于 b。
还有一条底线:样本采集本身要合规。 标准 8.1.2 要求实地采样照片附带经纬度、拍照时间、拍照角度,单个样本不少于 3 个拍摄点位,并填写样本采集记录表(样本编号、位置、经纬度、作物类型、采集时间等)。
为什么要 3 个点位?因为一个点位只能证明"这个地方是什么",3 个点位才能证明"这个样本区域是什么"。 这是个很小的细节,但它决定你的样本能不能被复核。
五、几个必须记住的工程细节(跟精度同等重要)
精度评价做得再好,下面这几条错了,成果照样被打回。
① 面积必须在正确的投影下计算。
面积 = 几何面积 ÷ 666.6667,但这个"几何面积"必须落在高斯-克吕格 3° 带下量。带号按经度选:122°E 用 EPSG:4529(CM 123°E)、132°E 用 EPSG:4553(CM 132°E)。
为什么不能随便挑?用错带号会差 1.2%。
为什么不能用 EPSG:3857? 因为 Web Mercator 的面积不守恒,在高纬度按 1/cos²φ 虚高。这不是软件 bug,是投影的数学性质。
在约 41°N,虚高倍数 = 1/cos²(41°) ≈ 1.76。
也就是说,同一块地,用 3857 量出来的面积会比真实面积大 76%。 你自己拿计算器就能验算这个数——不需要相信我举的任何例子。
而 ArcGIS 的"计算几何"、QGIS 的 $area、Python 里裸调 .area,在图层是 3857 的时候全都会给出那个虚高的数。
还有一个更隐蔽的坑:只改元数据不改坐标。 有些工具里的 set_crs() 或 gdf.crs = ... 只改标签、不动坐标数值,结果是一个标着 4529、实际是 3857 坐标的图层,面积依然是虚的。真正做坐标转换的只有 to_crs()。
所以交付前一定要自证:真转一次 → 重算面积字段 → 读回来自检。不要靠"我记得改了"。
② 无效像元值要用 255。
标准 9.1.2 明确:受灾等级用 1、2、3、4、5 表示,像元无效值用 255。如果你惯用 15 或者 -9999,按标准验收时会被读成"第 15 级"或一个异常等级。
③ 报告必须包含精度评价章节和人员资质证明。
标准 10.1 规定报告应包含的内容里,有 d) 精度评价 和 g) 人员资质证明。这两节最常被漏。漏了,总包方拿去送审时直接不达标。
六、写给你的三条
如果你在做这一行,或者要验收这一行的成果,我把上面所有内容压成三句话:
1. 看到精度数字,先问量纲。 "2 米"和"95%"都是可疑信号——边界精度是比例不是长度,识别精度必须说明样本从哪来。
2. 承保比值只能做合理性核对,不能做精度结论。 相等不证明准,不等不证明错。它的正确用法是相对诊断——同一作物在跨乡镇、跨县上比值忽高忽低,指向的是类间混淆(保单口径解释不了局部塌方)。异常值给线索,正常值不给结论。
3. 精度只能来自独立于保单的证据。 多期物候曲线、邻接关系与图斑形态、独立样本混淆矩阵、实地或高分影像目视抽查。四者至少有一个,而且样本必须从影像里重新采,不能取自分类结果本身。
附:本文引用的标准条款
| 条款 | 内容要点 |
|---|---|
| 8.1.2 | 样本量:每 100 km² ≥100 个;实地采样占比 ≥30%;<100 km² 时不少于 50 个 |
| 8.1.4 a) | 剩余 30% 验证样本构建混淆矩阵;总体精度 ≥90% 合格;OA/F1/Kappa 三指标 |
| 8.1.4 b) | 承保地块抽样验证,真值须取"实际种植一致"的有效点位,命中率 ≥90% |
| 9.1.2 | 受灾等级 1–5,无效像元值 255;每 100 km² 各等级样本 ≥10 个 |
| 9.1.4 | 预留 30% 灾害样本;受灾分布总体精度 ≥85% 合格 |
| 10.1 | 报告须含 d) 精度评价、g) 人员资质证明 |
标准全称:《农业保险遥感技术应用规范》(T/IAC CARMS 55),中国保险行业协会,中保协发〔2025〕25 号,2025-07-30 发布施行;第 3 部分(玉米)T/IAC CARMS 55.3—2025,2025-10-30 实施。
*本文讨论的是方法论与判据,不涉及任何具体项目数据。文中的投影、面积口径问题具有普遍性,与地域无关。*