研究组交付的全谱模型在实验室里指标很好看,产线工程师看完只问了一个问题:能不能用一台只带十几个滤光片的多光谱相机,把它复现出来?这个问题的答案不取决于相机,取决于那几百个波段里,哪些真正在为预测出力。纵横国际官网在讨论光谱 AI 时,把“怎样把波段减下来”和“减完以后怎样证明没有自欺”放在同等重要的位置。
一秒钟的全谱数据有多大?
先算一笔数据账。以下参数都是示意值:线扫描相机每行 1000 个空间像素,VNIR 400–1000 nm 按约 5 nm 间隔采样,大约 120 个波段,每个数值 2 字节,每秒扫 200 行。
- 全谱:1000 × 120 × 2 B ≈ 240 kB 一行,每秒约 48 MB。
- 只保留 12 个波长:1000 × 12 × 2 B ≈ 24 kB 一行,每秒约 4.8 MB。
数据量差了一个数量级,后面的传输、暗参考校正、预处理和推理都跟着变重,在高速分选线上,这几段直接决定结果来不来得及。窄波段进光量少,要覆盖全谱,还得配更强、更均匀的光源,成本同样不小。
相邻波段为什么像在互相抄作业?
光谱是一条连续曲线,相邻波长的反射率通常一起升、一起降,数值高度相关。真正影响任务的信息,常常集中在少数区间:与含水量相关的近红外吸收带(约 970、1200、1450 nm),或者与色素相关的可见光区间。其余的波段大多在重复讲同一件事。全谱两端的波段还有另一层问题:传感器灵敏度和光源辐射在那里都偏低,信噪比差,常常在正式选择之前就被先行剔除。
重复带来两个建模上的麻烦。其一是样品比变量少:假设建模集只有 150 个样品,每个样品却有 120 个波段变量(示意),模型有足够的自由度去记住噪声,换一批样品就掉分,这是过拟合。其二是共线性,回归系数会在相关的波段之间来回分配,微小的噪声就能让系数变号,既不稳定,也没法向质检人员解释“这个模型到底在看什么”。
挑波长的几种办法,各自在挑什么?
思路是先在全谱数据上做 Feature Selection(特征选择),再把留下的波长固化到更简单的设备里:
- 全谱数据
- 特征选择
- 关键波长
- 多光谱设备
- 更快的推理
四类常用办法的逻辑并不相同:
- CARS(竞争性自适应重加权采样):每一轮按回归系数的大小淘汰权重小的波长,最后在各轮留下的子集里,挑预测误差最小的一组。
- SPA(连续投影算法):从一个起点出发,每次加入一个与已选波长共线性最小的新波长,目标是让保留的波长彼此尽量不重复。
- UVE(无信息变量消除):先掺入随机噪声变量当对照,回归系数的稳定性不比噪声变量强的波长会被删掉。
- 遗传算法:把“选哪些波长”编码成一串 0 与 1,随机生成一批组合,用预测误差做适应度,通过选择、交叉和变异反复迭代。它的缺点是随机性:换一个随机种子,选出的波长组合可能不同。
选完以后,怎么知道不是碰巧?
这里最容易犯的错,是先在全部数据上把波长选好,再做交叉验证。选择过程已经“看过”了被拿来验证的样品,指标必然偏乐观。另一种常见的泄漏发生在划分样本时:同一颗果的多次扫描或多个像素被分到训练与验证两边,模型认得的是这颗果,没有学会这一类果。所以划分要以果为单位。正确的做法,是把波长选择放进每个训练折的内部,验证样品从头到尾不参与;更稳妥的,是再留一个独立采收批次或独立季节,作为最后的检验。评价用的指标,分类看漏检率、误剔率与召回,回归看 R²、RMSEP 和 RPD,只报一个 R² 远远不够。
2026 年 Journal of Food Science 上有一项研究(Khatun 等),用遗传算法结合可解释 AI 为苹果干物质含量挑选关键波长,再用偏最小二乘回归建模,摘要报告 R² 约 0.46、RMSE 约 0.70%。这个数字提醒我们:波长筛选解决的是数据太多的问题,任务本身的难度并不会因为波段少了而下降,预测能力仍然要靠标签质量、样品覆盖和模型来决定。
压缩成多光谱以后,失去了什么?
速度换来了,代价也随之而来。
- 灵活性:多光谱设备用滤光片或窄带光源,只取选定的那十几个位置。全谱设备可以回头重新选,固化后的硬件不行,换品种就得换滤光片。
- 冗余:全谱里的冗余在某些波段受噪声或光源波动影响时,还能提供备份;只剩十几个波长,每个波长的噪声都会直接进入结果。
- 设备差异:不同仪器之间的光谱响应不完全一致,在一台设备上建好的模型换到另一台,往往需要做校正模型转移。
- 任务类型:分类型的剔除任务通常比精细的定量回归更容易压缩,对精度要求高的含量预测要更谨慎。
关键波长依赖品种、季节和任务。多光谱、全谱和近红外点光谱之间该怎样取舍,可以先对照三种检测方式的适用范围。类似的道理也出现在农残场景:同一种农药换一种水果,模型可能就失效,见换水果以后模型为什么会失效。
上线前还要问哪几个问题?
- 全谱数据下模型达到多少?这是压缩前的上限,全谱指标都上不去,先检查标签和样品。
- 波长选择是否放在训练折内完成?有没有独立批次或独立季节的验证结果?
- 选出的波长有没有物理或化学上的解释?没有解释的组合要格外谨慎,它可能只是这批样品或这台仪器的特征。
- 换品种、换季节、换设备之后,指标下降了多少?下降幅度能否被产线接受?
- 速度收益是否真的需要?如果全谱设备在剔除窗口内已经来得及,压缩就不是必须的,应先回到RGB 与高光谱的基本差异,确认这项任务是否需要光谱。
比较稳妥的顺序是:全谱设备做研究,确定关键波长,在独立数据上验证,之后才决定要不要固化成多光谱。如果只有一个季节的数据,最诚实的结论也许是“这组波长在这个季节可用”,下一个季节到来之前,不要急着把它焊进硬件。