我有次兴冲冲跑了个水体识别模型,结果一看输出图差点笑出声——山被云盖住的那片区域,模型一本正经地标了一大片"湖泊"。云的影子黑乎乎一团,在模型眼里跟水面长得太像了。估计做过遥感的朋友都踩过这种坑:云雾和阴影,简直是模型的天敌。

为啥它们这么能骗人?说白了,模型学的是"像素长什么样",而不是"这东西到底是什么"。云又白又亮,跟积雪、浅色屋顶在光谱上撞脸;云的阴影又冷又暗,跟水体、裸地傻傻分不清。模型没有物理常识,只认统计规律——训练时见过的"暗色块"大多被标成了水,那它看到阴影自然往水上猜。
更坑的是训练数据本身。我们标样本时,往往下意识挑干净、晴朗的影像,云雾场景要么被剔除,要么标得马马虎虎。模型见得少,自然就不会认。这就好比只让小孩看晴天照片,突然塞给他一张阴天图,他当然懵。
还有个绕不过去的物理现实:光学遥感靠可见光成像,而可见光穿不过云。云一挡,地面信息直接丢失,阴影区域的光照条件也全变了。这不是模型不够聪明,是喂给它的数据本身就缺斤短两。
踩过几次坑之后,我现在固定这么做:第一,预处理别偷懒,大气校正这类步骤该做就做,先把大气带来的干扰压一压。第二,别把希望全押在一张光学图上,雷达能穿云,阴雨天照样干活,光学加雷达融合起来,模型稳得多。第三,让模型输出置信度,云雾重的区域天然置信度低,把这些地方标出来安排实地核查,比让模型硬猜靠谱太多。
最后说句实在的:云雾阴影误导模型,本质上不是模型的错,是我们给它的数据和方式存在盲区。承认这一点,然后该融合融合、该核查核查,比一味堆模型规模管用得多。
参与讨论
暂无评论,快来发表你的观点吧!