想象一家特别忙碌的“地球体检中心”:几十颗卫星像移动的 CT 机一样,绕着地球一圈圈扫描,传回海量影像。这些影像里,有农田的涨势、有城市的扩张、有洪水漫过的痕迹——可问题是,光靠人眼盯屏幕,老医生看一整天也吃不消几百张片子,更别提每天新增几十 TB 的数据。这时候,AI 就像一位不知疲倦的“读片医生”,能在一小时内把全城的体检报告整理出来。这篇文章要讲的,就是这位读片医生的一整套工作流程:从认识影像数据的特点,到给影像“校准仪器、清除伪影”,再到对比前后两次体检找变化、辨认地物、锁定目标,最后在灾害来临时快速出“急诊报告”,以及支撑这一切的常用模型。放心,你不需要懂医学或航天,跟着这条“读片流水线”走一遍,就能明白卫星图像+AI 是怎么把像素变成决策的。

岗位关联

对 AI 从业者来说,遥感是少有的“数据充沛、需求明确、商业回报清晰”的视觉落地领域。掌握这套分析流程,等于给自己打开了一扇从互联网视觉转向物理世界感知的大门——机会往往藏在别人看不见的地方。

目录
  1. 可视化演示
  2. 遥感数据特点
  3. 影像预处理
  4. 变化检测
  5. 地物分类
  6. 目标识别
  7. 灾害评估
  8. 主流模型
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

地物分类语义分割 ——逐像素分类 植被:农田/林地/草地 水体:河流/湖泊 建筑:城市/道路 裸地:裸露地表 U-Net: Encoder-Decoder + Skip Connection

遥感数据特点

医院影像科里,同一台 CT 机会切换不同“序列”:有的序列突出骨骼,有的突出血管,有的突出软组织,医生不会只用一种照法看所有病。卫星相机也一样,传感器把光拆成多个波段来记录——红、绿、蓝、近红外、短波红外……每个波段就像一种“照法”,对地表物体各有所爱:叶子拼命反射近红外,却把红光吃得干干净净。

除了波段,还要看两个“分辨率”。空间分辨率指一个像素对应地面多大面积,10 米分辨率意味着 10×10 米的地块缩成一个小方格,能看清大路,看不清小汽车;时间分辨率指同一地区多久能被再看一次,决定你能多频繁地“复查”。波段、空间分辨率和时间分辨率互相打架:看得清的一般看得窄、重访慢,看得勤的往往看不细。

把这些波段的亮度值组合起来,就能设计出各种“生命体征指标”,最著名的就是 NDVI 植被指数。它利用“植被强烈吸收红光、强烈反射近红外”这对反差,把植被从土壤和水体里顶出来。

这一节就像教读片医生认识仪器:知道每种“照法”看什么、片子多清楚、多久能拍一张。这些参数决定了后面所有分析的边界——有时不是模型不够强,而是数据本身就不具备那样的信息。

NDVI=ρNIR−ρREDρNIR+ρRED\displaystyle \text{NDVI} = \frac{\rho_{\text{NIR}} - \rho_{\text{RED}}}{\rho_{\text{NIR}} + \rho_{\text{RED}}}
NDVI 值域是 [-1, 1]:越接近 1 植被越茂密,接近 0 是裸土,负值通常是水体。这是遥感里最经典的“绿色生命线”。
  1. 近红外减红光植被在近红外反射率很高、红光反射率很低,两者差值大自然代表叶子又多又健康,相当于“细胞密度”减“色素吸收”。
    ρNIR−ρRED\rho_{\text{NIR}} - \rho_{\text{RED}}
  2. 近红外加红光把两个波段加在一起做分母,用来归一化,抵消光照强度和大气条件的整体波动,让结果稳定可比。
    ρNIR+ρRED\rho_{\text{NIR}} + \rho_{\text{RED}}
  3. 归一化比值分子除以分母得到 NDVI 本身,比值比绝对值稳健,阴影、过曝的影响被压缩,数值稳定在 [-1, 1]。
    ρNIR−ρREDρNIR+ρRED\frac{\rho_{\text{NIR}} - \rho_{\text{RED}}}{\rho_{\text{NIR}} + \rho_{\text{RED}}}

影像预处理

体检时护士会先校准血压计、让病人脱掉外套站直。要是仪器没校准、病人站歪了,拍出来的数据全是噪音。卫星影像也有自己的“歪”和“脏”:大气中的分子和气溶胶会散射、吸收光线,让传感器读数偏离真实地表反射率;卫星姿态抖动和地形起伏带来几何畸变;大片云和阴影直接盖住地面,让“体检单”缺了一块。

所以拿到影像的第一件事不是训练模型,而是预处理。辐射定标把传感器的原始计数转换成物理量——辐亮度;大气校正再把辐亮度还原成地表反射率;几何校正用卫星轨道参数和地面控制点把影像“摆正”到真实经纬度;云影去除则通过多时相拼接或掩膜填补被云盖住的区域。

大气校正最朴素的做法叫“暗像元法”(Dark Object Subtraction)。它假设影像里最暗的像元——比如深湖水、高山阴影——真实反射率接近零,传感器读到的亮度几乎全部来自大气散射,于是把这一“底噪”从所有像元里减掉。

预处理做完,两次体检的片子才具备对比的价值。此外,训练前还要做样本增强:随机旋转、翻转、裁剪、色彩抖动,让模型在标注样本有限时也能“举一反三”,不至于换个角度就不认识农田了。

R=π⋅d2⋅(L−Lhaze)E0⋅cos⁡θ\displaystyle R = \frac{\pi \cdot d^{2} \cdot (L - L_{\text{haze}})}{E_{0} \cdot \cos\theta}
R 是地表反射率,L 是传感器辐亮度,L_haze 是暗像元估计的大气散射,θ 是太阳天顶角,d 是日地距离,E₀ 是大气层顶的太阳辐照度。本质上就是“读数减零位、再统一刻度”。
  1. 原始读数 L传感器记录的辐亮度,相当于体温计上未经校准的读数。
    LL
  2. 调零 L − L_haze减去暗像元估计的大气散射,把仪器“零位”拨正。深水和阴影处测得的亮度全当作底噪。
    L−LhazeL - L_{\text{haze}}
  3. 尺度还原乘以 πd² 再除以 E₀cosθ,消除太阳高度角、日地距离和大气层顶辐照度的影响,把传感器读数换算成 0 到 1 的地表反射率。
    π⋅d2⋅(L−Lhaze)E0⋅cos⁡θ\frac{\pi \cdot d^{2} \cdot (L - L_{\text{haze}})}{E_{0} \cdot \cos\theta}
  4. 结果 R像“校准后的体温”,不同日期、不同季节的影像从此站在同一个亮度标尺上,可以直接相互比较。
    R∈[0,1]R \in [0, 1]

变化检测

最像“复诊对比”的任务来了。医生把两个月前的片子和今天的片子并排放到观片灯上,盯着同一位置来回看,哪里多了个结节、哪里阴影变大,一眼就锁定。AI 做变化检测的第一步也是这样:把同一地区两期影像逐像素相减。

只做差值还不够,光照、物候、配准误差都会产生“假变化”——就像两次体检仪器没统一校准,读数差异不一定是病情差异。于是有了三个升级路线:分类比较是分别对两期影像做地物分类,再看“农田→建筑”这类类别转移;时序分析把多期影像排成曲线,用断点检测找趋势突变,森林采伐、蝗灾爆发都是“曲线突然拐弯”的事件;深度变化检测则用孪生网络把两期影像同时送进两个共享权重的编码器,让网络自己学习“什么差异值得报警”。

三种方法对应不同场景:像素差值最快,适合初步筛查;分类比较稳健,适合季度到年度监测;深度方法最准,但需要高质量标注。好的读片医生既会快速扫一眼,也会借助 AI 逐层对比。

Change(x,y)={1,∣I1(x,y)−I2(x,y)∣>T0,otherwise\displaystyle \text{Change}(x, y) = \begin{cases} 1, & |I_{1}(x, y) - I_{2}(x, y)| > T \\ 0, & \text{otherwise} \end{cases}
I₁ 和 I₂ 是两期影像在同一位置的亮度值,T 是阈值。超过阈值判为变化,否则视为未变化。关键在于 T 怎么定:设高了漏报真实变化,设低了被噪声淹没。
  1. 像素差值两期影像逐像素相减并取绝对值,变化大的位置数值自然大,相当于“两次片子叠在一起找阴影差异”。
    ∣I1(x,y)−I2(x,y)∣|I_{1}(x, y) - I_{2}(x, y)|
  2. 阈值判断把差值与阈值 T 比较,超过 T 的被当成真实变化,否则算作相机噪声或轻微光照差异。
    ∣I1(x,y)−I2(x,y)∣>T|I_{1}(x, y) - I_{2}(x, y)| > T
  3. 二值输出输出一张 0/1 变化掩膜图,1 表示“这里变了”,供后续制图和统计直接使用。
    Change(x,y)∈{0,1}\text{Change}(x, y) \in \{0, 1\}

地物分类

分类任务就是给地球“染色”。医生看解剖图,能认出哪里是肝脏哪里是肠道;AI 看卫星影像,要认出哪个像素是农田、水体、建筑、林地、裸土——这叫语义分割:输出逐像素的类别标签,而不是整张图一个标签。

遥感语义分割的“标配”是 U-Net。它长得像字母 U:左边编码器一层层下采样,把影像压成很小的特征图,视野越来越大、语义越来越抽象;右边解码器再一层层上采样,把分辨率还原回来;中间用跳跃连接把编码器每一层的浅层细节“抄近路”拼给解码器,把下采样抹掉的边缘信息补回来。这就像实习医生对照解剖图谱,既看全局位置,又核对局部细节。

训练 U-Net 时,给每个像素定义一个标准答案——独热标签,模型输出每个像素属于各类别的概率,然后用交叉熵损失衡量“标答和预测的差距”。

分类精度通常用 mIoU 评估——所有类别 IoU 的平均值。如果训练集里农田占 80%、水体占 2%,模型光猜农田也有 80% 的像素准确率,所以不能只看准确率,要像医生考核一样“每种病都得会认”。类别不均衡和边界模糊的混合像元,正是遥感分类比自然图片分类更难的根源。

L=−1N∑i=1N∑k=1Kyi,klog⁡pi,k\displaystyle \mathcal{L} = -\frac{1}{N} \sum_{i=1}^{N} \sum_{k=1}^{K} y_{i,k} \log p_{i,k}
N 是像素总数,K 是类别数,y 是真实标签(1 表示该像素属于类别 k),p 是模型预测的概率。预测越接近真实,损失越小。
  1. 独热标签 y真实类别转成 one-hot 形式,只有正确的那个类别位置是 1,其余是 0,相当于标准答案的“对勾”。
    yi,ky_{i,k}
  2. 预测概率取对数模型输出像素 i 属于类别 k 的概率,取对数后,概率越小负值越大、惩罚越重。
    log⁡pi,k\log p_{i,k}
  3. 类别方向加权求和先对类别 k 求和,只有真实类别那一项在起作用,等价于“标准答案 × 预测概率的置信度”。
    ∑k=1Kyi,klog⁡pi,k\sum_{k=1}^{K} y_{i,k} \log p_{i,k}
  4. 像素平均并取负对所有像素求平均,再乘负号,让“预测越准、损失越小”成为优化方向。
    −1N∑i=1N∑k=1Kyi,klog⁡pi,k-\frac{1}{N} \sum_{i=1}^{N} \sum_{k=1}^{K} y_{i,k} \log p_{i,k}

目标识别

如果说语义分割是“每个像素染什么色”,目标检测就是“圈出可疑目标”——像影像科医生在片子上画个圈:这里有个小结节。遥感里常见的检测目标有船只、飞机、车辆、储油罐、建筑物。与自然图像不同,卫星是俯视视角,目标朝向任意:一艘船在影像里可能横着、竖着、斜着停。

目标检测返回的是“框 + 类别 + 置信度”。普通检测框是轴对齐矩形,但船是斜的,用水平框会框进一大片水面,所以遥感常用旋转框让框跟着目标转。评估检测质量用 IoU——预测框和真值框的重叠程度。

遥感检测的老大难是“小目标”:10 米分辨率下,一艘 20 米的船只占 4 个像素,没有纹理、只有一点点亮度差;经过网络几层下采样,这 4 个像素可能直接被压没了。对策包括把影像切成小块训练、用高分辨率分支、用特征金字塔在不同尺度上找目标,以及在后处理时用 NMS 非极大值抑制合并同一目标的重叠框,避免“一个结节被圈了五遍”。检测结果还要转成经纬度、叠加到地图上,就像医生圈完病灶还要写定位描述,方便外科医生精准下刀。

IoU=area(Bpred∩Bgt)area(Bpred∪Bgt)\displaystyle \text{IoU} = \frac{\text{area}(B_{\text{pred}} \cap B_{\text{gt}})}{\text{area}(B_{\text{pred}} \cup B_{\text{gt}})}
IoU 是“交并比”:两个框重叠面积除以合并面积。IoU 等于 1 表示完全重合,等于 0 表示毫不相干,通常 IoU ≥ 0.5 算一次命中。
  1. 交集面积预测框与真值框重叠区域的面积,好比两个圈套在一起共同罩住的部位。
    area(Bpred∩Bgt)\text{area}(B_{\text{pred}} \cap B_{\text{gt}})
  2. 并集面积两个框覆盖的总面积,减去重叠部分,相当于“两个圈一共罩住的范围”。
    area(Bpred∪Bgt)\text{area}(B_{\text{pred}} \cup B_{\text{gt}})
  3. 比值计算交集除以并集,得到一个 0 到 1 的相似度分数。
    area(Bpred∩Bgt)area(Bpred∪Bgt)\frac{\text{area}(B_{\text{pred}} \cap B_{\text{gt}})}{\text{area}(B_{\text{pred}} \cup B_{\text{gt}})}
  4. 阈值判定IoU 超过 0.5 就认为检测命中,用来统计精确率和召回率。
    IoU≥0.5⇒hit\text{IoU} \geq 0.5 \Rightarrow \text{hit}

灾害评估

灾害评估是影像科的“急诊绿色通道”。地震、洪水、台风过后,一切流程都要让位于一个字:快。光学影像常被云雾挡住,急诊需要的是“先来个超声看个大概”——SAR 雷达影像就是那个超声,它主动发射微波,能穿透云雾、昼夜成像。

洪水中的第一要务是提取水体范围。水体在绿光波段反射稍强,在短波红外几乎完全吸收,这与植被和土壤恰好相反,于是有了 mNDWI 指数。

提取出水体后,叠加行政区划、人口和路网,就能回答“哪些村庄被淹、多少居民受影响、救援路线上哪里断了”。建筑损毁评估则再获取一版灾后影像,用“变化检测 + 目标检测”的组合拳识别倒塌房屋,给街区打损毁等级。快速制图的产出是标准化灾情专题图,几小时内送到指挥中心,整套流程叫应急响应链。

急诊的逻辑是“先救命后治病”:灾害评估宁可有一定误报,也不能漏掉真正的受灾点,所以更看重召回率;模型部署追求快和稳。AI 在这里不是炫技,而是把过去几天才能完成的影像判读压缩到几小时,让救援决策赶得上黄金窗口。

mNDWI=ρGreen−ρSWIRρGreen+ρSWIR\displaystyle \text{mNDWI} = \frac{\rho_{\text{Green}} - \rho_{\text{SWIR}}}{\rho_{\text{Green}} + \rho_{\text{SWIR}}}
mNDWI 叫改进型归一化差异水体指数。水体在绿光反射较强、短波红外吸收极强,所以计算值偏正;土壤和植被相反,计算值偏负,一个阈值就能把水切出来。
  1. 绿光反射率水体在绿光波段还有一点反射,像“水面泛起的波光”,是识别水体的正向信号。
    ρGreen\rho_{\text{Green}}
  2. 短波红外反射率水体对短波红外几乎全吸收,而土壤、植被仍会反射,形成了强烈反差。
    ρSWIR\rho_{\text{SWIR}}
  3. 归一化差值绿光减短波红外再除以两者之和,把反差放大成 [-1, 1] 的指数值。
    ρGreen−ρSWIRρGreen+ρSWIR\frac{\rho_{\text{Green}} - \rho_{\text{SWIR}}}{\rho_{\text{Green}} + \rho_{\text{SWIR}}}
  4. 阈值分割mNDWI 大于 0 判为水体,配合 SAR 影像相互印证,可得到淹没范围二值图。
    water if mNDWI>0\text{water if mNDWI} > 0

主流模型

前面各节反复提到“读片”,真正支撑读片的是医生的基本功和工具箱。AI 这边的基本功是一系列骨干网络和结构设计,它们共同决定模型“看得多深、看得多细、跑得多快”。

深度残差网络(ResNet)是近年遥感模型的骨干。研究发现网络一味加深反而会退化——训练误差不降反升。ResNet 的残差块让网络只学习“变化量”,输入 x 直接跳连到输出。

特征金字塔 FPN 解决“目标大小悬殊”:把高层语义和底层细节逐级融合,大轮船和小皮划艇各有各的检测通道。注意力机制(Transformer)更进一步,让每个像素都能“望向”整幅影像,建模全局关系,在分割和检测上正与 CNN 平分秋色。部署端则讲究轻量化:深度可分离卷积、剪枝、量化、知识蒸馏,把数亿参数的模型压到能在星载设备甚至手机上实时推理——应急无人机、在轨卫星都等着“便携超声”级的模型。

像医生不是只会用一种仪器一样,遥感工程师的功力在于按任务选模型:要快选轻量 CNN,要全选带 FPN 的检测器,要细选 U-Net 系分割,要新选 Transformer。工具在升级,但“先理解数据、再设计流程”的原则始终不变。

y=F(x,{Wi})+x\displaystyle y = \mathcal{F}(x, \{W_{i}\}) + x
F 是残差块里的卷积和激活运算,x 是输入特征。即使 F 学不到任何东西,网络也能退化成恒等映射,于是深层网络变得容易训练。
  1. 残差映射 F网络要学习的“增量”,目标是真实输出与输入的差,而不是完整的映射关系。
    F(x,{Wi})\mathcal{F}(x, \{W_{i}\})
  2. 恒等映射 x输入通过跳线直接传到输出端,像“备用的直通管道”,保证信息不丢失。
    xx
  3. 逐元素相加把学习到的增量和原始输入加起来得到输出,网络只需拟合变化部分,训练难度大幅降低。
    y=F(x,{Wi})+xy = \mathcal{F}(x, \{W_{i}\}) + x
  4. 梯度回传对 x 求导得 1 加上 F 的导数,哪怕深层梯度很小,残差路径也能把梯度稳定传回去,缓解梯度消失。
    ∂y∂x=1+∂F∂x\frac{\partial y}{\partial x} = 1 + \frac{\partial \mathcal{F}}{\partial x}

AI 应用场景

农业种植结构普查与长势监测

阶段:影像预处理 → 地物分类 → 时序变化检测

解决的问题:传统人工目视解译几万块田需要数月,且不同人看图结果不一致;AI 用多光谱分类把水稻、玉米、大豆一次分完,再靠 NDVI 时序曲线定位长势异常的田块。

具体案例:东北某农业保险公司在春播后获取 12 期哨兵影像,训练 U-Net 分割地块,再对每块地的 NDVI 曲线做时序断点检测,自动识别“疑似绝收”地块,定损周期从两个月压缩到两周。

城市违法建设动态巡查

阶段:变化检测 + 目标识别与后处理

解决的问题:违建变化快、隐蔽性强,人工巡查效率低、容易漏;AI 定期对比前后两期影像,自动标记新增建筑轮廓,把巡查从“地毯式”变成“工单式”。

具体案例:某市城管部门每周获取 0.5 米商业影像,用旋转框检测新出现的建筑,叠加房屋普查数据自动生成“疑似违建工单”,外勤人员按工单上门核实,问题发现覆盖率提升数倍。

洪涝灾害应急快速制图

阶段:灾害评估 + 快速制图

解决的问题:灾后 72 小时是黄金救援期,但光学影像常被云雾遮挡,传统人工解译来不及;需要 SAR 与光学协同,快速提取淹没范围。

具体案例:某省级应急部门在台风登陆后 6 小时,基于哨兵 SAR 影像提取水体,叠加乡镇边界与人口分布生成受灾图层,直接推送救援直升机调度系统,辅助确定优先投送点。

Python 演示

python56 行
import numpy as np def make_base_image(n=64, seed=0):    rng = np.random.RandomState(seed)    img = rng.rand(n, n) * 0.25 + 0.5    img = (img + np.roll(img, 1, axis=0) + np.roll(img, -1, axis=0)           + np.roll(img, 1, axis=1) + np.roll(img, -1, axis=1)) / 5.0    return img def remove_small_regions(mask, min_size=12):    h, w = mask.shape    visited = np.zeros_like(mask, dtype=bool)    out = mask.copy()    for i in range(h):        for j in range(w):            if not mask[i, j] or visited[i, j]:                continue            stack = [(i, j)]            visited[i, j] = True            region = []            while stack:                x, y = stack.pop()                region.append((x, y))                for dx, dy in ((-1, 0), (1, 0), (0, -1), (0, 1)):                    nx, ny = x + dx, y + dy                    if 0 <= nx < h and 0 <= ny < w and mask[nx, ny] and not visited[nx, ny]:                        visited[nx, ny] = True                        stack.append((nx, ny))            if len(region) < min_size:                for x, y in region:                    out[x, y] = False    return out t1 = make_base_image(seed=1)t2 = make_base_image(seed=1) + np.random.RandomState(7).rand(64, 64) * 0.04t2[42:56, 42:56] += 0.5t2[np.random.RandomState(99).rand(64, 64) > 0.98] += 0.8 diff = np.abs(t2 - t1)raw_change = diff > 0.3change_map = remove_small_regions(raw_change) truth = np.zeros((64, 64), dtype=bool)truth[42:56, 42:56] = True def f1_report(mask, truth_map):    inter = (mask & truth_map).sum()    prec = inter / mask.sum() if mask.sum() else 0.0    rec = inter / truth_map.sum()    f1 = 2 * prec * rec / (prec + rec + 1e-9)    return f1, prec, rec f1_raw, _, _ = f1_report(raw_change, truth)f1_clean, prec, rec = f1_report(change_map, truth)print("原始差值 F1:", round(float(f1_raw), 3))print("去噪后   F1:", round(float(f1_clean), 3), "精确率:", round(float(prec), 3), "召回率:", round(float(rec), 3))
目的:模拟两期卫星影像,用“像素差值 + 阈值”做变化检测,再用连通域过滤小噪点,最后用 F1 评估前后效果——对应正文“变化检测”一节的完整流程。
  1. t2 = make_base_image(seed=1) + np.random.RandomState(7).rand(64, 64) * 0.04给第二期影像加一点随机噪声,模拟大气扰动带来的亮度波动。
  2. t2[42:56, 42:56] += 0.5人为制造一块“新建城区”作为真实变化,模拟两期影像之间的地物新增。
  3. t2[np.random.RandomState(99).rand(64, 64) > 0.98] += 0.8撒少量椒盐噪声,制造孤立假变化点。
  4. diff = np.abs(t2 - t1)逐像素差值,变化大处数值大,是变化检测的第一步。
  5. raw_change = diff > 0.3阈值分割,把超过 0.3 的像素标记为候选变化。
  6. change_map = remove_small_regions(raw_change)连通域过滤,把面积小于 12 像素的孤立噪点删掉,相当于后处理去噪。
  7. f1 = 2 * prec * rec / (prec + rec + 1e-9)F1 是精确率和召回率的调和平均,同时惩罚误报和漏报。

常见误区

误区“卫星影像分辨率越高越好,10 米分辨率肯定不如 0.5 米的好用,预算够就买最贵的。”

正解分辨率、覆盖幅宽、重访周期和成本四者是互相制约的。0.5 米影像幅宽小、价格高、重访慢,而农业监测、洪水评估这类任务用 10 米哨兵影像绰绰有余。就像体检“看得细”不等于“看得全”,急诊抢救要先保命再说精细检查。选影像应该从任务需求倒推,而不是盲目追高分辨率。

为何常见:大家习惯了手机相机“像素越高越好”的直觉,直接把消费电子的逻辑搬到了遥感领域。

误区“从公开数据源下载的 L1 级影像,直接丢给深度学习模型训练就行,预处理是浪费时间。”

正解原始影像含有大气散射、传感器响应和几何畸变,不同时期影像的亮度不在同一尺度。没有辐射定标和大气校正就做变化检测,会产生大量“假变化”——就像两次体检的血压计没统一校准,读数差了 10 毫米汞柱,其实是仪器漂移而不是病情变化。至少要做大气校正和几何配准,再用增强样本喂模型。

为何常见:很多公开数据集已经替用户处理好了影像,让初学者误以为原始数据本来就这么“干净”。

误区“只要上了深度网络,传统方法全都可以扔掉,阈值分割、指数计算都是过时的东西。”

正解深度模型依赖大量高质量标注,而在少样本、灾害应急、星上实时处理等场景,NDVI/mNDWI 指数和阈值分割速度更快、可解释性更强、无需标注。地震当晚要快速出淹没图,一个 mNDWI 阈值比等三天标注再训练网络靠谱得多。工具箱里螺丝刀和电钻各有用途,组合使用才是工程常态。

为何常见:媒体大量宣传“AI 取代一切”,而遥感项目里最贵的往往是标注成本,传统方法在冷启动阶段价值巨大。

误区“分割模型输出了每个像素的类别,把结果图导出 PNG,这个项目就算交付了。”

正解业务上还需要一整套后处理:去除孤岛噪点、矢量化成面图层(GeoJSON/Shapefile)、叠加行政边界、统计面积、人工复核,最终交付的是 GIS 图层和分析报告,而不是一张彩色图片。就像医生看完片子还要写病历、定方案,片子上圈的红圈只是起点。

为何常见:学校课程和开源项目通常止步于模型评估指标,没有接触到完整的工程交付链路。

误区“标注样本越多模型越准,质量差一点没关系,反正量大能覆盖。”

正解遥感标注边界模糊——云影边缘、混合像元、水陆交界处,同一个像素不同标注员可能给出不同类别。标注员之间的不一致会直接变成训练噪声,几份错误标签的破坏力可能需要十几份正确样本来抵消。工程上先做标注一致性校验(多标注员投票、专家抽检),再谈扩充数据量,宁缺毋滥。

为何常见:直觉认为深度学习是“数据喂大的”,忽略了标签噪声是监督学习的上限瓶颈,遥感恰恰是标签噪声最严重的领域之一。

面试题

Q1. NDVI 植被指数通常由哪两个波段计算得到?

单选题 · easy

  • A.红光与近红外波段← 正确答案
  • B.蓝光与绿光波段
  • C.热红外与微波波段
  • D.可见光与紫外波段

答案:A。植被叶绿素强烈吸收红光、细胞结构强烈反射近红外,所以用“红光 + 近红外”这对反差最大的组合计算 NDVI。类比体检:红光像“摄氧量检测”,近红外像“细胞密度检测”,两个指标一对比,植被健康程度一目了然。蓝绿波段看水色,热红外看温度,微波看粗糙度,都不是植被指数的核心。

Q2. 最基础的像素级变化检测方法是?

单选题 · easy

  • A.逐像素相减再阈值分割← 正确答案
  • B.对单期影像直方图均衡
  • C.用全连接网络做回归
  • D.对影像做高斯模糊降噪

答案:A。把两期影像逐像素相减取绝对值,超过阈值就判为变化,这是变化检测的“地基”。就像医生把前后两次片子叠在观片灯上,哪里不一样一眼就看到了。直方图均衡只是增强显示,高斯模糊只是去噪,它们都不涉及“两期比较”这个核心。

Q3. U-Net 最核心的结构特点是?

单选题 · mid

  • A.编码器解码器加跳跃连接← 正确答案
  • B.纯全连接层的堆叠结构
  • C.只编码不解码的骨干网络
  • D.递归神经网络的循环结构

答案:A。U-Net 左侧编码器下采样提取语义,右侧解码器上采样恢复分辨率,中间用跳跃连接把浅层细节拼给深层,补齐小目标的边界信息,成为遥感分割标配。就像实习医生一边看解剖图谱一边对照真实影像,全局和细节两手抓。全连接堆叠无法保留空间结构,只编码不解码拿不到逐像素结果。

Q4. 卫星影像上的小目标(如船只)检测难,最直接的原因是?

单选题 · mid

  • A.目标仅占几个像素且纹理信息少← 正确答案
  • B.目标太大导致显存占用过高
  • C.模型训练迭代轮数设置太少
  • D.卫星影像没有颜色通道信息

答案:A。10 米分辨率下,一艘 20 米长的船约占 4 个像素,几乎只有亮度信息、没有形状纹理;经过网络多层下采样后,特征可能被彻底抹掉。就像急诊医生在 CT 上找小病灶,目标太小一不留神就漏掉了。显存、训练轮数、通道数都不是小目标难检测的根本原因。

Q5. 洪水提取评估时,常用哪个指标兼顾漏报与误报?

单选题 · mid

  • A.F1分数是精确率与召回率的调和平均← 正确答案
  • B.只看精确率而忽略召回率的影响
  • C.只看召回率而忽略精确率的影响
  • D.用模型参数量衡量效果好差

答案:A。洪水中漏报一块淹没区可能危及生命,误报太多又会让救援力量扑空。精确率惩罚误报、召回率惩罚漏报,F1 是二者的调和平均,同时兼顾两头。就像急诊分诊既不能错过危重病人,也不能把小感冒都拉进抢救室,两个方向的错误都要罚。

Q6. 两期影像未做辐射定标与大气校正就直接做差值变化检测,会导致?

单选题 · hard

  • A.产生大量与真实变化无关的假变化← 正确答案
  • B.让两期影像亮度可比没有影响
  • C.只会改变影像文件的大小格式
  • D.使目标检测框变得更大更准确

答案:A。大气条件、太阳高度角不同,会让同一地物在两期影像里的亮度不同。未校正直接相减,亮度差会被误判成地物变化,全是“假阳性”。好比两次体检的仪器没统一校准,血压差 10 毫米汞柱其实是仪器漂移而不是病情变化。这正是预处理最关键的原因。

Q7. 特征金字塔(FPN)在遥感模型里主要解决什么问题?

单选题 · hard

  • A.融合多尺度特征增强小目标检测← 正确答案
  • B.把图像压缩四倍降低计算开销
  • C.删除高层语义只保留底层纹理
  • D.把卷积全部替换成全连接结构

答案:A。FPN 从顶层向下逐级融合语义与细节,让大轮船和小皮划艇在不同特征层级上都能被读到,是破解“目标大小悬殊”的关键结构。好比医生既用低倍镜看全肺、又用高倍镜看小结节,最后把两套观察整合成一份报告。压缩图像和替换结构都不是 FPN 的设计目标。

Q8. 下列哪些属于遥感影像预处理的典型步骤?

多选题 · mid

  • A.辐射定标与大气校正处理← 正确答案
  • B.几何配准与云影去除操作← 正确答案
  • C.股票行情预测与经济分析
  • D.样本裁剪与数据增强策略← 正确答案

答案:ABD。辐射定标和大气校正恢复真实反射率,几何配准保证多期影像对齐,云影去除删掉无效区域,样本裁剪与数据增强属于训练数据准备——这些都是“把影像洗干净、把样本备足”的预处理环节。股票行情预测与遥感毫无关系。

Q9. 关于基于时间序列的卫星图像变化检测,下列说法正确的有?

多选题 · extreme

  • A.多期影像构成回归时间序列← 正确答案
  • B.通过趋势突变识别变化时刻← 正确答案
  • C.单帧影像做直方图拉伸就行
  • D.结合指数与深度模型做异常← 正确答案

答案:ABD。把同一地区多期影像按时间排列,可以拟合 NDVI 等地表指数曲线,突变点往往对应森林砍伐、城市化等事件;把序列输入 LSTM 或 Transformer 也能做异常检测。只用单帧做直方图拉伸属于单影像增强,没有利用时间维度,自然不能算时序变化检测。

Q10. 灾害应急制图场景下,下列哪些说法是正确的?

多选题 · mid

  • A.响应时效要求小时级快速← 正确答案
  • B.需要准确锁定受灾区域← 正确答案
  • C.只追求模型参数量最大
  • D.常与救援调度协同工作← 正确答案

答案:ABD。洪水地震后应急决策以小时计,制图必须快;图上标错位置会直接误导救援;制图结果通常要叠加人口、路网等数据供指挥中心调度。模型参数量大反而拖慢推理,与应急需求背道而驰,轻量化才是正确方向。