3. 农业图像光照问题诊断与数据集构建

光照是农业图像质量的第一道关口。同一片番茄叶片,在正午直射下可能高光溢出、纹理全失,在阴天散射下却层次分明;同一台相机,逆光拍摄的冠层照片里果实只剩黑色剪影。光照校正算法的效果上限,很大程度上由数据集决定——如果训练数据没有覆盖真实田间会遇到的缺陷类型,模型在部署时就会失效。因此本节要解决两个问题:如何准确识别四类常见光照缺陷,以及如何围绕这些缺陷采集、标注并组织一个可用于光照校正的农业图像数据集。

四类光照缺陷的识别方法

诊断光照缺陷不能只靠肉眼"看着不对",需要把主观感受转化为可量化的判据。工程上通常先计算亮度直方图与局部统计量,再结合色彩信息做分类判断。

过曝的典型特征是像素值在传感器上限附近大量堆积。对8位图像,可统计灰度值≥250的像素占比,若超过5%且集中在果实、地膜、水面等高反射区域,基本可判定为过曝。过曝区域内部梯度趋近于零,叶脉、病斑等细节不可恢复,这类样本对校正算法是"死区",标注时应单独标记而非混入普通样本。

欠曝与过曝对称,统计灰度值≤5的像素占比即可。但农业场景中要注意区分"整体欠曝"和"阴影欠曝":前者直方图整体左移,后者是双峰分布,暗峰来自冠层内部或遮挡区域。二者校正策略不同,前者适合全局伽马调整,后者需要局部自适应。

不均匀光照最难用单一阈值描述。常用做法是将图像划分为若干网格(如16×16),计算各网格平均亮度,用网格亮度极差与均值的比值衡量不均匀程度;也可对低频亮度分量做拟合,观察其空间梯度。温室中靠近补光灯的一侧与远离光源的一侧亮度差常达2~3倍,这类样本必须保留,因为它是真实部署环境。

色偏则要看色彩通道关系。在标准灰板或白色参考物区域,若R、G、B三通道均值偏离接近中性灰的比例过大,说明存在色温偏移。农业场景的色偏常来自棚膜(偏黄或偏蓝)、LED补光灯(偏紫红)以及早晚低色温日光。判断时应在图像中寻找已知中性参考(如灰卡、白色标定板),否则容易把作物本身的绿色误判为色偏。

光照缺陷诊断 → 采集方案 → 标注策略 → 数据集组织 过曝 判据:灰度≥250 占比 > 5% 表现:高光区梯度≈0 常见:果实、地膜、水面 处理:标记为死区样本 欠曝 判据:灰度≤5 占比偏高 区分:整体欠曝 / 阴影欠曝 表现:直方图左移或双峰 处理:全局伽马 / 局部自适应 不均匀光照 判据:网格亮度极差/均值 表现:低频亮度存在空间梯度 常见:温室补光单侧、冠层遮挡 处理:必须保留真实样本 色偏 判据:中性参考区通道均值偏移 表现:R/G/B 比例失衡 常见:棚膜、LED、低色温日光 处理:需灰卡/白板作参考 田间采集方案要点 • 固定相机高度、角度与焦距,记录拍摄参数 • 每场景放置灰卡/白板,作为色偏与曝光参考 • 覆盖时段:清晨、正午、傍晚、阴天、补光 • 同一目标拍摄多曝光序列(如 -2/0/+2 EV) 标注策略要点 • 缺陷类型标签:过曝/欠曝/不均匀/色偏 • 区域级掩码:标出高光死区、阴影区 • 配对标注:原图 ↔ 参考校正图(成对样本) • 元数据:光照条件、时段、设备、灰卡读数 数据集组织:按缺陷类型分层 + 按作物/场景分组,训练/验证/测试按场景划分避免泄漏 目录结构示例: dataset/overexposed/ underexposed/ uneven/ colorcast/ paired_ref/ meta.csv

面向农业场景的采集方案

农业图像采集与通用计算机视觉数据集的最大区别在于:光照条件本身就是需要被记录和控制的变量,而不是随机噪声。一个可用的采集方案应包含以下要素。

首先是设备与参数的一致性。同一批数据尽量使用同一型号相机与镜头,固定光圈、ISO和白平衡模式(建议锁定为日光或手动色温),避免自动曝光在序列中来回跳动。若必须使用手机采集,应关闭自动HDR与美颜,并记录机型。拍摄高度与俯仰角要固定,例如冠层图像统一在距地面1.2米、俯角45°拍摄,保证不同样本间几何关系可比。

其次是光照条件的主动覆盖。不要只在"天气好"的时候采集。建议按时间段分层:清晨弱光、正午强光、傍晚低色温、阴天散射、温室补光开启与关闭各采集一批。每个场景至少放置一块灰卡或白色标定板,拍摄前先拍一张参考帧,用于后续色偏校正与曝光归一化。对于需要成对样本的监督学习任务,可在同一位置用不同曝光补偿(如-2 EV、0 EV、+2 EV)连拍,形成天然的"缺陷—参考"配对。

第三是场景与作物的多样性。数据集应覆盖至少3~5种作物(如番茄、黄瓜、小麦、柑橘)、多种栽培方式(露地、温室、果园)以及不同生长阶段。每个"作物×光照条件"组合建议不少于50张,否则分层统计时样本量不足,模型容易对某一类过拟合。

标注策略与数据集组织

光照校正数据集的标注与目标检测不同,重点不在框选目标,而在描述"光照状态"和"期望结果"。实践中可采用三层标注:第一层是图像级缺陷类型标签,一张图可多标签,例如"过曝+不均匀";第二层是区域级掩码,用多边形或像素级掩码标出高光死区、深阴影区,供局部校正模型使用;第三层是配对参考,即为缺陷图提供一张经过人工确认或高质量算法处理的参考图,作为监督信号。

元数据同样关键。建议为每张图记录采集时间、天气、光源类型、相机型号、曝光参数、灰卡读数、作物种类与生育期。这些字段在后续分析模型失败原因时非常有用——例如发现色偏校正误差集中在棚膜偏黄的样本上,就可以针对性补充数据。

数据集划分要防止场景泄漏。同一植株、同一棚室在不同时段拍摄的图像高度相关,若随机划分,验证集精度会虚高。应按"场景/植株"分组划分,例如80%的棚室用于训练,10%用于验证,10%用于测试,确保测试集中的光照条件在训练时未出现过。目录组织可按缺陷类型分层,同时保留原始配对关系,便于加载时构造成对样本。

诊断时先看直方图两端堆积,再看网格亮度极差,最后用灰卡验证色偏;三步顺序不要颠倒,否则容易把作物本身的颜色误判为色偏。
过曝区域一旦像素饱和,细节信息不可恢复。这类样本应标记为"死区"单独统计,不要与可校正的欠曝、不均匀样本混在一起评估算法效果,否则会低估校正模型的真实能力。

完成上述工作后,一个可用于光照校正的农业图像数据集应具备:明确的缺陷类型标签、区域掩码、成对参考图、完整元数据以及按场景分组的划分方案。它既是训练模型的输入,也是后续评估校正效果、定位失败案例的依据。