串番茄作为高经济价值果蔬,在我国农业生产中占据重要地位。面对串番茄收获这种劳动密集型的作业,智能机器人自动化采收正成为重要发展趋势[1-3]。在机器人自动化收获过程中,判断串番茄成熟度是一个关键环节。串番茄属于呼吸跃变型水果,虽然过早采收后仍会继续成熟,但其风味会大打折扣[4-5]。因此,快速而准确地评估串番茄成熟度对于机器人正确执行采摘任务至关重要。夜间串番茄成熟度识别是机器人执行夜间采收作业的前提条件。目前,设施农艺规范性种植,为机器人自动化收获提供了有利条件。机器人可以全天、无间歇地进行采收作业,来实现其利用率最大化[6-7]。为了满足这种工作方式,夜间环境下果实成熟度自动检测显得尤为重要,但同时也面临诸多挑战。目前已有夜间水果检测方法研究,比如芒果[8]、荔枝[9]、柑橘[10]等。学者们通过添加主动光源来获取夜间图像并利用深度学习模型来检测水果。然而,由于夜间环境下成像对曝光度敏感性高,图像易出现高噪声、颜色失真等问题[11-12]。对于芒果、荔枝、柑橘等水果的检测,由于果实与背景的特征差异明显,检测结果不易受到噪声和颜色失真的干扰。但是,对于同一水果不同成熟度类别,由于各类别之间差异较小,很容易受到果实表面颜色和纹理影响[13-14],导致成熟度分类出现误判。此外,串番茄是一种喜光植物,在设施种植中常需要进行夜间补光以促进果实发育与产量增收[15-16]。由于补光灯的颜色干扰(如红蓝混合补光灯),图像会出现严重色偏,这对于成熟度识别是一个巨大挑战。
为了满足货架期延长和销售链的需求,串番茄通常整串采摘。与单个番茄成熟度识别不同[17-18],需要把整串看作一个整体,判断其成熟度以达到收获标准。已有研究将其视为两阶段任务,即首先检测番茄串,再计算其中成熟果实像素面积比值来获取成熟度[19-20],这种方法存在误差累积,很容易造成成熟度误判。
针对上述问题,本文提出一个结合Deep White-Balance和Zero-DCE的图像预处理方案,以恢复图像真实色彩并增强纹理细节。同时,通过在YOLO v5s模型中构建深度残差收缩模块,对特征图进行软阈值化处理,改善图像高噪声对检测结果的干扰。此外,利用YOLO v5能同时检测不同尺度目标优势,一次性识别出所有串番茄和果实,然后通过边框匹配算法直接得到串番茄成熟度,以避免两阶段方法误差累积。
1.1.1 数据采集
针对夜间环境和补光环境共进行两轮实验数据采集。首轮实验于2023年4月20日19:00—23:00在北京市朝阳区明日农场进行,旨在拍摄夜间环境下串番茄图像。此次采集过程中,实验区域由主动光源照明。所使用设备包括Realsense L515型相机、便携式计算机、可调节和移动的自制相机支架。为了获得均匀光照,自制一个LED灯板用于实验,其四周对称贴有LED日光灯条,如图1a所示。第2轮实验于4月24日19:00—23:00在明日农场拍摄补光环境下串番茄图像。补光灯为彗控全光谱补光灯(红蓝光混合),光谱波长为400~750 nm,额定功率为36 W。同时温室采用冠层补光方式,补光灯均匀布置在番茄植株行间3 m高位置处,以提供足够光源来促进果实发育,如图1b所示。每次图像采集时,相机垂直于番茄垄面,并距离植株0.4~0.5 m,高度为1.2~1.4 m。保存为1 280像素×720像素的RGB图,同时包含与之对齐的深度帧。在夜间环境下,共获取364幅图像;在补光环境下,共获取153个图像对,其中每对图像包含1幅无色卡图像和1幅有色卡图像,无色卡图像通过有色卡图像来校正颜色,并作为后续深度白平衡(Deep White-Balance)任务的参考。采用国际标准的datacolor Spyder Checkr 24色卡。数据示例如图2a所示。
图1 数据采集设备与补光现场
Fig.1 Data acquisition equipment and lighting scene
图2 原始数据与成熟度注释类别
Fig.2 Original data and ripeness annotation categories
1.1.2 数据注释与划分
串番茄以整串中每个果实成熟度为标准来判断其是否应采收。为了降低复杂性同时满足不同销售模式的采摘需求,根据番茄成熟过程的生理特性变化与颜色表征[21],将果实分为Green、Pink、Red共3个成熟度类别,如图2b所示。Green阶段番茄表面呈绿色或浅绿色,此时将不再膨胀。Pink阶段番茄表面呈黄色或浅黄色,此时番茄正处于转色期,糖分开始累积。Red阶段番茄表面呈红色或暗红色,此时番茄已经成熟且质地开始软化,具有最佳风味。同时增加1个Tomato类别,用于检测番茄果串。所有数据均以当天日间的番茄果实颜色为参照,利用Labelimg工具标注出图像的Green、Pink、Red、Tomato边框,用于后续检测任务。将两种环境数据均分为训练集、验证集和测试集,训练集和验证集用于模型训练,测试集用于验证模型泛化性能。最终获得夜间环境下训练、验证、测试的样本边框数量分别为3 861、669、849,补光环境下分别为1 613、517、593。
1.1.3 深度白平衡模型数据集
在深度白平衡模型训练任务中,需要色彩正确的图像作为训练数据的参考真值,这可以通过手动获取。原始的偏色图像手动色彩校正主要分2个阶段:使用色卡中性灰区域作为参考来校正图像的极端色偏;利用色卡配套的Spyder Checkr专业工具对校正后图像色彩进一步精细调整。具体步骤是:首先在Lightroom中用吸管点击图像中色卡的中性灰区域,Lightroom自动对图像进行白平衡处理,使得点击的色卡中性区域RGB值趋于一致,从而获取到该场景下色彩校正矩阵利用该矩阵对图像对中另1幅无色卡图像进行白平衡处理来校正颜色,这时色彩校正矩阵基本可以还原图像真实色彩。然后裁剪出初步校正后的色卡区域,用Spyder Checkr工具计算出另一个色彩校正矩阵
利用此矩阵对上一步中初始白平衡处理后的无色卡图像再进行一次颜色校正得到最终微调后的图像,数据预处理流程如图3所示。
图3 深度白平衡模型数据集处理流程图
Fig.3 Dataset processing flowchart of Deep White-Balance model
所提方法主要包括图像预处理、目标检测和边框匹配3个模块,总体处理流程如图4所示。为改善图像质量,补光环境下图像需要经深度白平衡与光照增强预处理,而夜间环境下图像仅通过光照增强预处理即可。随后目标检测网络对增强后高质量图像提取目标特征,检测出果串和不同成熟度果实。最后将检测到的结果进行边框匹配和过滤,计算出果串成熟度。
图4 数据总体处理流程图
Fig.4 Overall data processing flowchart
1.3.1 深度白平衡
温室番茄种植通常会在夜间采用补光方式来提升果实风味和提高产量。这些补光灯通常具有特定光谱范围,且照射出的光线带有一定颜色,从而可以最大化植株对光线的利用率[22-23]。而相机自带的白平衡功能无法应对这种极端环境,最终相机获取到的图像具有严重色偏。这种由于相机错误白平衡造成的图像色偏会使得图像颜色分布趋于一致性,从而给深度神经网络特征提取带来巨大挑战[24]。特别是番茄成熟度判断这种高度依赖果实颜色特征的任务,模型在这种偏色和低对比度图像中很容易出现错误判断。深度白平衡处理可有效改善图像色偏,提升模型对成熟度识别的准确度。
深度白平衡基于相机白平衡原理,将输入的s-RGB图像编码为raw-RGB图像的潜在表示,然后用解码器将raw-RGB潜在表示解码为目标图像[25]。流程可表示为
(1)
其中f(·)为将输入图像编码为raw-RGB图像的潜在表示,gt(·)为将raw-RGB图像潜在表示解码为目标图像。解码器设置为gA、gT、gS 3种,分别对应生成正确WB(A)图、白炽灯WB(T)图、阴影WB(S)图。因本文仅需要正确的WB(A)图结果,裁剪掉其他2个解码器。为了在满足白平衡需求下进一步减少模型参数量,网络第4级的编码和解码层被舍弃。调整后的模型结构如图5所示。该网络采用U-Net结构[26],由1个3级编码器和1个3级解码器组成。同时在编码器与解码器不同尺度上增加了跳跃连接,以促进特征复用,减少细节丢失。
图5 深度白平衡网络结构图
Fig.5 Schematic of Deep White-Balance network structure
1.3.2 Zero-DCE光照增强
由于夜晚温室环境下相机曝光不佳、植株叶面遮挡等,串番茄图像易出现局部弱光或阴影问题。这种图像会引起检测网络难以捕捉到目标, 出现一些漏检现象。Zero-DCE是一种无监督学习的弱光增强算法[27],其核心思想是利用一组高阶曲线对低光图像进行不断自我迭代来实现图像增强。图像每个通道的每个像素对应一个独立的高阶曲线,迭代方式为
LEn(x)=LEn-1(x)+An(x)LEn-1(x)(1-LEn-1(x))
(2)
其中,n为迭代次数,LEn(x)为图像应用高阶曲线增强后的结果,An(x)为与图像尺寸相同的可学习参数图。参数An(x)通过一个轻量的卷积神经网络DCE-Net学习获得。DCE-Net结构和图像迭代流程如图6所示。网络由6个相同3×3卷积层组成且卷积操作后不改变特征图尺寸。最后一层特征图还需经过一次3×3卷积与Tanh激活,进而生成8组最终的参数图。每组参数图对输入RGB图像进行依次迭代。迭代完成的图像中值滤波后作为最终输出,以抑制增强带来的噪声扩大。
图6 Zero-DCE处理图像流程图
Fig.6 Zero-DCE image processing flowchart
DCE-Net可以在没有配对或不配对的数据集上进行训练,损失函数为
L=Lspa+Lexp+αLcol+βLtvA
(3)
其中Lspa为空间一致性损失值,用于保持增强图像空间一致性。Lexp为曝光损失值,用于控制曝光水平。Lcol为颜色恒常性损失值,用于防止图像增强后出现色偏。LtvA为光照平滑损失值,用于保持增强图像像素单调关系。α、β为权重。该模型具有参数量小、运行速度快等优点,并且能够在保持正常亮度区域同时增强阴影区域亮度、提高纹理细节。这对改善夜晚番茄图像质量,提升下游番茄视觉检测任务效果具有重要作用。
夜晚拍摄的串番茄图像中存在非常多噪声,这会使得网络提取到的特征图出现很多无用信息干扰。利用深度残差收缩模块的软阈值化思想,在YOLO v5s中嵌入类似模块来促进网络对噪声图像无用信息的抑制和有用信息的保留。
深度残差收缩网络是解决一维高噪声信号故障诊断问题的深度卷积神经网络[28]。深度残差收缩模块结构如图7a所示。其主要思想是在卷积层中嵌入一个类似SE注意力模块[29]分支来学习一组阈值,然后对主路径上的特征值进行软阈值化处理。软阈值化处理为
(4)
图7 不同深度残差收缩模块结构图
Fig.7 Different depth residual shrinkage module structure diagram
其中τ为设定的阈值。通过将绝对值小于某个阈值的特征值置为零来实现噪声抑制,同时保留信号的有用部分。
参考深度残差收缩网络思想设计出具有通道独立阈值的瓶颈模块RSBottleneck-CW,结构如图7b所示。该模块利用参数量更少、特征提取能力更强的ECA注意力模块[30]代替SE模块来学习阈值。输入特征图先经过2个卷积层,再通过ECA分支学习一组通道独立阈值。主路径上特征图的每个通道都对应有一个阈值,特征图再经过软阈值化处理后得到RSBottleneck-CW模块的最终输出。RSBottleneck-CW模块被嵌入到YOLO v5s的颈部来提升网络特征提取能力。
YOLO v5是一种基于锚框的单阶段目标检测器,得益于其颈部特征融合网络和3个不同尺度检测头的设计,YOLO v5可以很轻松地实现大、小目标的同时检测。基于这个优点,采用YOLO v5来同时检测出串番茄图像中目标尺寸差异较大的果实和果串。YOLO v5s网络中包含很多C3模块,这些C3模块由n个Bottleneck_False/True组成,这里将所有的Bottleneck_False模块替换为带软阈值化处理的RSBottleneck-CW模块,用于提升网络对噪声数据的适应性能。
串番茄整串采收要求将1串视为整体来判断其成熟度。通过YOLO v5检测出果串和果实边框后,需要进一步找到每个果串边框中包含的各成熟阶段的果实。此外,由于串番茄并行种植模式,采集的图像中具有背景果实干扰。在边框匹配同时,融入目标深度信息来进行相对深度阈值筛选,从而过滤掉背景误检边框。边框匹配整体算法流程为
Algorithm 1: Bounding boxes aligning
Input: B={b1, …, bN}, C = {c1, …, cN}, D = {d1, …, dN}, d, u
B is the list of detection boxes,
C contains corresponding detection categories,
D contains depth values of corresponding detection boxes,
d is the depth threshold,
u is the IoU threshold
Output: All truss boxes, each element contains multiple fruit boxes
1 T ← {} # trusses
2 F ← {} # fruits
3 m ← argmin D
4 for bi in B do
5 if (di-m)≤d then
6 if ci is Tomato then
7 T ← T+bi
8 else
9 F ← F+bi
10 end
11 end
12 end
13 Tf←{} # filtered trusses
14 for ti in T do
15 t←{ti+1, …, tm}, m←Len(T)
16 for tj in t do
17 iou = IoU(ti,tj)
18 if iou ≥ u then
19 Tf+Smin(ti,tj) # adding small area box
20 end
21 end
22 end
23 T ← T-Tf # trusses updating
24 O ←{}
25 for ti in T do
26 TF←{ti}
27 for fi in F do
28 c ← CenterPoint fi
29 if c∈Area ti then
30 TF ← TF+fi # adding fruits
31 end
32 end
33 O←O+TF
34 end
35 return O
先遍历所有检测结果,对每个结果进行相对深度阈值筛选。对相对深度小于某阈值的检测框进行保留,相对阈值筛选为
(5)
式中 di——相对深度
Di——每个框深度
Dmin——所有框中最低深度
dthre——筛选阈值
通过这种方法过滤可以不受镜头与垄面距离变化的影响。然后对相对深度阈值筛选后的边框结果分类别统计,且计算各果串边框的IoU值,对IoU值大于某阈值的边框进行剔除,以消除同一果串的多个检测结果。最后遍历所有果串,统计中心落在果串边框中的所有果实边框,完成果实果串匹配。最终计算出串番茄成熟度,即
(6)
其中NR、NP、NG分别表示Red、Pink、Green果实数量。为了避免在果实重叠时成熟度计算出现较大误差,没有采用计算像素面积比值来获取成熟度[19-20],而利用果实数量比值作为串番茄成熟度的方法,在面对不同成串姿态时具有更稳健的结果。
针对夜间和补光两种环境情况来讨论串番茄成熟度识别效果:对夜间照明环境仅采用光照增强预处理,补光环境则采用深度白平衡和光照增强预处理。所有情况均考虑使用深度残差收缩模块提升目标检测网络性能。
1.6.1 模型训练方法
对于深度白平衡模型,预训练模型是在12 000幅规模数据集上训练而成。这里需要在串番茄夜间补光环境数据集上进行迁移学习,以获得满足当前环境需求的白平衡模型。然后对原始图像进行九角切片来丰富模型采样范围和扩充数据。训练时从每幅输入图像上进行随机区域裁剪得到8幅128像素×128像素的图像作为模型训练输入数据,详细流程如图8所示。训练批次大小为32,训练轮次为50,优化器为Adam,学习率为0.000 1。
图8 深度白平衡模型训练方法
Fig.8 Training method of Deep White-Balance model
利用白天数据训练出的模型进行迁移学习可以有效提升夜间模型检测的性能[31]。所以本文夜间环境和全光谱环境下的目标检测模型均采用了迁移学习方法。预训练模型为温室白天不同天气和光照条件下的串番茄成熟度识别模型。迁移学习训练轮次均为200,在前20轮次对骨干网络进行冻结训练,学习率为0.01。同时在所有训练阶段采用mosaic数据增强,提升模型鲁棒性。最终保存在验证集上表现最好的模型进行测试评估。
所有模型训练和测试均在1台Intel(R) Core(TM) i7-10700KF CPU @ 3.80 GHz,10 GB NVIDIA GeForce RTX 3080 GPU,运行内存32 GB的计算机上完成。
1.6.2 结果评价方法
针对深度白平衡任务,对比迁移学习前、后以及使用图像九角切片后结果。以色差(ΔE)、平均角度误差(Mean angular error,MAE)、均方误差(Mean squared error,MSE)等指标来定量判断结果。
针对目标检测任务,分情况讨论夜间条件和补光条件下的模型检测效果。夜间条件下对比分析应用光照增强、RSBottleneck-CW模块前后的结果。补光条件下对比分析应用深度白平衡、光照增强、以及RSBottleneck-CW模块前后效果。目标检测时常用评价指标召回率(Recall,R)、精确率(Precision,P)、平均精度均值(mean Average Precision,mAP)、平均精度(AP)以及F1值定量评价检测任务。采用平均绝对误差评价最终的串番茄成熟度识别准确率。
深度白平衡测试结果如表1所示。ΔE、MAE与MSE的最小值均出现在使用了切片增强和迁移学习的模型结果中。直接采用文献[27]的预训练模型效果较差,这可能是因为预训练模型的数据集中包含较少的类似极端情况的偏色图像。经过对模型在特定数据集上进行微调后,各指标均出现显著改善,但是在部分果实区域仍存在一定偏色,如图9中的迁移学习模型结果所示(每行的第1列上下分别表示原始图像和参考图像)。这是由于模型训练时输入数据随机取样不足。通过对图像进行九角切片后,图像尺寸缩小,促进了随机取样的均匀性和丰富性。所以最终经过切片和迁移学习微调出来的模型可以恢复更真实的图像色彩。
表1 补光环境下深度白平衡结果
Tab.1 Deep White-Balance results under supplementary light environment
参数预训练模型迁移学习模型切片+迁移学习模型ΔE12.095.414.89MAE/(°)27.4812.269.14MSE629.85113.1189.90
图9 部分深度白平衡处理结果示例图
Fig.9 Some examples of Deep White-Balance processing results
优化前后YOLO v5s模型在夜间环境与补光环境下的检测结果如表2所示。从总体上来看,不管是在夜间环境还是补光环境下,优化后YOLO v5s-RSBottleneck-CW始终较原始YOLO v5s表现更佳。在两种环境下的最高P、R、mAP和F1值均来自YOLO v5s-RSBottleneck-CW,其中夜间环境与补光环境下最高mAP分别为0.902、0.868,均为边框过滤后的结果,较原始YOLO v5s分别提高0.009和0.017。
表2 夜间环境与补光环境下不同模型检测结果
Tab.2 Detection results of different models under night environment and supplementary light environment
环境预处理方法精确率召回率平均精度均值F1值Original0.757/0.7650.911/0.9290.882/0.9000.827/0.839夜间环境 En0.727/0.7540.924/0.9310.892/0.9010.813/0.833En & filtering0.744/0.7730.924/0.9310.893/0.9020.824/0.844Original0.744/0.7640.859/0.8490.811/0.8110.797/0.804补光环境WB0.713/0.7460.872/0.8850.835/0.8450.783/0.808WB & En0.709/0.7360.880/0.8990.849/0.8660.784/0.808WB & En & filtering0.735/0.7500.880/0.8990.851/0.8680.799/0.817
注:“/”符号左右分别表示YOLO v5s与YOLO v5s-RSBottleneck-CW结果,Original表示未预处理,En表示Zero-DCE增强处理,WB表示Deep White-Balance处理,filtering表示边框过滤处理。下同。
图像预处理在不同环境下的应用同样改善了模型的检测结果,如表2所示。在夜间环境下,Zero-DCE增强预处理增强了局部弱光下的纹理细节,使得模型能检测到更多目标,YOLO v5s的R提高0.013。但是同时也会点亮背景信息,使得模型误检到背景番茄,降低了P。而通过对结果边框过滤处理后,有效降低背景误检率而不影响召回率。在补光环境下,图像经过深度白平衡颜色校正后,同样使得模型可以检测到更多的目标。在深度白平衡基础上进行光照增强后,YOLO v5s捕获到更多阴影处的目标,R得以进一步提高,较未进行任何预处理的结果提升0.021。图像预处理方法Zero-DCE与Deep White-Balance对检测模型YOLO v5s与YOLO v5s-RSBottleneck-CW的mAP结果均有提升,特别是在补光环境下改善较明显,如图10所示。
图10 YOLO v5s与YOLO v5s-RSBottleneck-CW的mAP结果
Fig.10 mAP results of YOLO v5s and YOLO v5s-RSBottleneck-CW
表3为两种环境下每个类别的检测结果细节,其均由YOLO v5s-RSBottleneck-CW模型获得,并经过了边框过滤处理,其中夜间环境下图像进行了Zero-DCE增强处理,补光环境下图像进行了Deep White-Balance和Zero-DCE增强处理。从表3可以看到Tomato类平均精度总是最高,这是因为果串特征较明显,模型更容易检测到这些目标;而Pink类平均精度总是最低,这可能是因为Pink类中存在一些处于两种成熟度之间的果实,其颜色纹理等比较相似,某些情况下肉眼也很难分辨出来,而网络难以学习到这种非常细小的差异特征,导致类别判断失败。
表3 不同环境下每个类别检测结果
Tab.3 Detection results for each class in different environments
环境类别精确率召回率平均精度平均精度均值Green0.7870.9420.920夜间环境Pink0.7030.9020.8470.902Red0.7880.9190.890Tomato0.8130.9620.953Green0.6990.9150.877补光环境Pink0.6820.8630.8040.868Red0.7850.8740.861Tomato0.8350.9420.929
YOLO v5s夜间环境下结果如图11a所示。经过Zero-DCE增强处理的图像使得模型能够更多地捕捉到图中左下角弱光下的目标,但同时会带来一定的噪声扩大。噪声扩大引起模型将叶片错误检测为番茄果实。引入深度残差收缩模块的YOLO v5s-RSBottleneck-CW模型并未出现类似误检,其在扩大的噪声面前表现出更强的适应性。最后经过边框过滤,背景中误检结果和前景中重复检测的果串被消除。补光环境下结果如图11b所示。由于图像背景与果实颜色一致性和阴影问题,在原图结果中并未检测出图中左下角目标。Deep White-Balance处理后YOLO v5s和YOLO v5s-RSBottleneck-CW均检测到了图中左下角目标,但均出现更多的误检。再经过Zero-DCE增强处理后,植株茎秆与果实纹理细节增强,左下角目标捕获更加精准。同样的边框过滤进一步降低了背景误检。
图11 不同环境下YOLO v5s和YOLO v5s-RSBottleneck-CW结果示例图
Fig.11 Examples of YOLO v5s and YOLO v5s-RSBottleneck-CW results in different environments
表4为所提方法与不同YOLO系列模型的检测结果对比,所用数据均为深度增强后的图像。夜间环境下YOLO v8s具有最高的mAP值(0.919),但其参数量较YOLO v5s-RSBottleneck-CW也有所增加,计算成本会更高。补光环境下提出的YOLO v5s-RSBottleneck-CW模型在各方面均表现出最好的结果,这是由于补光环境下串番茄图像质量更差,经过偏色校正与光照增强处理后图像中噪声会更加显著,而YOLO v5s-RSBottleneck-CW能够很好抑制特征图噪声信息并保留有用信息,相较YOLO v6s和YOLO v8s表现出更强的噪声适应性能。
表4 不同YOLO模型结果对比
Tab.4 Comparison of different YOLO model results
环境模型精确率召回率平均精度均值参数量夜间环境YOLO v6s0.7690.9180.8931.850×107YOLO v8s0.7780.9280.9191.113×107YOLO v5sRSBottleneckCW0.7730.9310.9027.280×106补光环境YOLO v6s0.7230.8570.8011.850×107YOLO v8s0.7390.8590.8611.113×107YOLO v5sRSBottleneckCW0.7500.8990.8687.280×106
总的来说,Deep White-Balance校正了图像色偏,提升了目标检测模型召回率。Zero-DCE光照增强改善了图像弱光或阴影带来的对比度降低和细节丢失,促进了目标检测模型对目标的特征捕获。光照增强前后YOLO v5s提取的特征图如图12所示(其中,红色虚线强调的特征图中表现出输入图像黄色虚线区域的特征提取结果差异)。在黄色虚线标注区域中,增强后的图像使得模型更加有效地提取到了该区域特征。结合深度残差收缩模块的YOLO v5s-RSBottleneck-CW具有更强的特征提取能力,在结果中也表现得更加出色。特别是当光照增强时带来的扩大噪声,YOLO v5s-RSBottleneck-CW表现出了更强的鲁棒性。即使在背景点亮情况下,也能在一定程度上避免出现YOLO v5s类似的背景误检情况,如图11b中的WB &En结果所示。
图12 YOLO v5s网络第13层C3模块部分特征图
Fig.12 Partial feature diagram of C3 module on Layer 13 of YOLO v5s network
利用GradCAM[32]观察YOLO v5s优化前后对每个类别的关注情况,其中选择YOLO v5s的检测层进行激活可视化,以便更好地理解网络,结果如图13所示(其中,17、20、23分别表示YOLO v5第17、20、23检测层的输出结果,黄色虚线区域表现出模型的结果差异,Green与Pink中YOLO v5s出现误检,Red中出现漏检)。为了更好地分析YOLO v5s受噪声信息的影响,图13采用的是经过Deep White-Balance与Zero-DCE处理后的图像,因为光照增强会带来一定的噪声扩大。在Green类别中,可以明显看到YOLO v5s错误地关注到了叶片和背景果实,而YOLO v5s-RSBottleneck-CW则仅关注到了前景中的果实,表现出更强的适应性。在Pink类别中YOLO v5s部分错误地关注到了Red果实,而在Red类中又丢失了部分Red果实区域。这在YOLO v5s-RSBottleneck-CW中均得到了一定改善。最后在Tomato类中,模型大目标检测层表现出来的结果并无太大区别。总体来说,通过GradCAM热力图可以看到,改进YOLO v5s抗干扰性更强,关注区域更加集中,同时对于中小目标的类别判断上也更加准确。这表明嵌入深度残差收缩模块的YOLO v5s-RSBottleneck-CW面对具有挑战性的夜间环境可以表现出更佳的检测性能。
图13 GradCAM结果示例
Fig.13 Example of GradCAM results
为了进一步验证深度残差收缩模块嵌入方法在其他模型中的通用性,将其融合到其他流行的目标检测器中来测试其处理夜间高噪声图像的性能,结果如表5所示。表5中的对比模型采用以ResNet50作为骨干网络的RetinaNet与Faster R-CNN目标检测器,其中ResNet50的基本残差模块用本文所提出的深度残差收缩模块进行替换,对应分别生成了RetinaNet-RSBottleneck-CW与Faster R-CNN-RSBottleneck-CW模型。为了尽可能保证实验的一致性,对比模型均通过MMDetection开源工具库来实现网络的搭建与训练,训练数据采用了深度增强后的图像,同时训练的所有超参数保持相同配置,最后模型性能测试时均考虑使用边框深度过滤算法。由表5可知,不管是夜间环境还是补光环境,深度残差收缩模块的嵌入分别使得RetinaNet与Faster R-CNN出现了不同的性能提升,其中mAP与F1值结果均出现较为明显改善,但由于参数量增加,模型推理速度有一定下降。相较而言, YOLO v5s-RSBottleneck-CW依然保持着最好的检测性能,同时模型帧率达到101 f/s,具有很好的实时性能。总的来说,深度残差收缩模块对高噪声图像处理是有效的,其可以很好地拓展到其他模型中以提升高噪声环境下的目标检测性能。
表5 不同模型检测结果对比
Tab.5 Comparison of test results from different models
环境模型精确率召回率平均精度均值F1值帧率/(f·s-1)RetinaNet0.7310.9080.8410.81030Faster RCNN0.7410.9060.8290.81527夜间环境RetinaNetRSBottleneckCW0.7650.9230.8620.83724Faster RCNNRSBottleneckCW0.7430.9220.8560.82323YOLO v5sRSBottleneckCW0.7730.9310.9020.844101RetinaNet0.6940.8150.7580.75030Faster RCNN0.6980.8380.7730.76227补光环境RetinaNetRSBottleneckCW0.7060.8370.7830.76624Faster RCNNRSBottleneckCW0.7130.8660.8020.78223YOLO v5sRSBottleneckCW0.7500.8990.8680.817101
串番茄不同成熟度对应的最终成熟度识别平均绝对误差ER如表6所示,表头中的各成熟度阶段由式(6)结合单果类别标签计算获得。不管是在夜间环境还是补光环境下,当串番茄成熟度为90%~100%时ER总是最小,所提出的方法在该阶段成熟度识别准确率最高。成熟度90%~100%的串番茄基本上为已经成熟或即将成熟,这个阶段正值串番茄采收的最佳时期,而该阶段准确的成熟度识别更有利于机器人对待采摘目标的获取。图14为串番茄成熟识别部分结果示例,不管夜间环境或是补光环境下,基本上均能正确检测到果串与不同成熟度果实目标。特别是在果实出现重叠时,也能将果实检测出来并作为成熟度计算依据。由于串番茄成熟度计算时Green、Pink、Red 3种果实均参与了计算,在个别果实类别判断错误情况下,计算出来的串番茄成熟度不会发生较大偏差。总的来说在准确检测出果串与果实目标情况下,通过计算成熟果实类别比例的串番茄成熟度表征方法能很好地体现串番茄的生长阶段,同时为机器人采摘决策提供参考。
表6 不同成熟度阶段的串番茄成熟度识别平均绝对误差ER
Tab.6 Mean absolute error ER for ripeness recognition of tomato trusses at different ripeness levels
环境成熟度0%~25%25%~90%90%~100%夜间环境2.8718.3631.837补光环境3.3259.4791.067
图14 串番茄成熟度识别结果示例
Fig.14 Example of tomato trusses ripeness recognition results
(1)围绕夜间环境与补光环境两种情况进行讨论,针对图像阴影、偏色以及高噪声问题,提出了一种结合Deep White-Balance、Zero-DCE图像深度增强和RSBottleneck-CW模块特征抗噪的夜间串番茄成熟度识别方法,为机器人夜间作业提供了视觉技术支持。
(2)对于补光环境下图像严重色偏, Deep White-Balance实现了图像颜色恢复,测试集平均色差(ΔE)仅为4.89。对于夜间环境和补光环境下均存在的图像阴影或局部弱光现象,Zero-DCE光照增强提高了图像对比度,同时增强了弱光与阴影部分的纹理细节。增强后高质量图像给YOLO v5s带来了显著的性能增益,在夜间环境和补光环境下mAP分别达到0.892和0.849。
(3)对于图像高噪声问题,深度残差收缩模块的嵌入和软阈值化处理使得YOLO v5s-RSBottleneck-CW可以有效捕获特征图有用信息并抑制无用信息,从而提升网络检测效果。YOLO v5s-RSBottleneck-CW结合深度增强处理后,在夜间环境和补光环境下mAP分别为0.901和0.866,相对于YOLO v5s在未增强处理图像上的mAP分别提升0.019和0.055。
(4)边框匹配算法完成了果串与果实检测结果的配对,从而通过不同成熟度果实比例计算出了每串番茄串成熟度水平。同时结合深度信息融合策略,降低了背景误检率,进一步提高了检测结果准确性。在两种环境下经过图像深度增强和边框过滤的YOLO v5s-RSBottleneck-CW结果均获得了各自的最高mAP和F1值,其中夜间环境下最高mAP和F1值分别为0.902和0.844,补光环境下最高mAP和F1值分别为0.868和0.817。
[1] 刘继展,江应星.农业采摘机器人产业化进程分析与多臂高速化技术走向[J]. 农业机械学报,2024,55(10):1-17.
LIU Jizhan, JIANG Yingxing. Industrialization trends and multi-arm technology direction of harvesting robots[J]. Transactions of the Chinese Society for Agricultural Machinery, 2024,55(10):1-17. (in Chinese)
[2] 郑太雄, 江明哲, 冯明驰. 基于视觉的采摘机器人目标识别与定位方法研究综述[J]. 仪器仪表学报, 2021, 41(9): 28-51.
ZHENG Taixiong, JIANG Mingzhe, FENG Mingchi. Vision based target recognition and location for picking robot:a review[J]. Chinese Journal of Scientific Instrument, 2021, 41(9): 28-51. (in Chinese)
[3] WANG Z, XUN Y, WANG Y, et al. Review of smart robots for fruit and vegetable picking in agriculture[J]. International Journal of Agricultural and Biological Engineering, 2022, 15(1): 33-54.
[4] KARAPANOS I C, CHANDRA M, AKOUMIANAKIS K A, et al. The ripening and quality characteristics of cherry tomato fruit in relation to the time of harvest[C]∥Proceedings of the 5th International Conference on Postharvest Unlimited, 2014: 495-500.
[5] TOBARUELA E D, GOMES B L, BONATO V C D, et al. Ethylene and Auxin: hormonal regulation of volatile compound production during tomato (Solanum lycopersicum L.) fruit ripening[J]. Frontiers in Plant Science, 2021, 12: 765897.
[6] 姬伟, 吕兴琴, 赵德安, 等. 苹果采摘机器人夜间图像边缘保持的Retinex增强算法[J]. 农业工程学报, 2016, 32(6): 189-196.
JI Wei, LÜ Xingqin, ZHAO Dean, et al. Edge-preserving Retinex enhancement algorithm of night vision image for apple harvesting robot[J]. Transactions of CSAE, 2016, 32(6): 189-196. (in Chinese)
[7] 熊俊涛, 郑镇辉, 梁嘉恩, 等. 基于改进YOLO v3网络的夜间环境柑橘识别方法[J]. 农业机械学报, 2020, 51(4): 199-206.
XIONG Juntao, ZHENG Zhenhui, LIANG Jiaen, et al. Citrus detection method in night environment based on improved YOLO v3 network[J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(4): 199-206. (in Chinese)
[8] KOIRALA A, WALSH K B, WANG Z, et al. Deep learning for real-time fruit detection and orchard fruit load estimation: benchmarking of ‘MangoYOLO’[J]. Precision Agriculture, 2019, 20(6): 1107-1135.
[9] LIANG C, XIONG J, ZHENG Z, et al. A visual detection method for nighttime litchi fruits and fruiting stems[J]. Computers and Electronics in Agriculture, 2020, 169 : 105192.
[10] MIRHAJI H, SOLEYMANI M, ASAKEREH A, et al. Fruit detection and load estimation of an orange orchard using the YOLO models through simple approaches in different imaging and illumination conditions[J]. Computers and Electronics in Agriculture, 2021, 191: 106533.
[11] 徐新, 穆楠, 张晓龙. 一种鲁棒的夜间图像显著性对象检测模型[J]. 软件学报, 2018, 29(9): 2616-2631.
XU Xin, MU Nan, ZHANG Xiaolong. Robust salient object detection model for nighttime images[J]. Journal of Software, 2018, 29(9): 2616-2631. (in Chinese)
[12] MURUGAN R A, SATHYABAMA B. Object detection for night surveillance using Ssan dataset based modified Yolo algorithm in wireless communication[J]. Wireless Personal Communications, 2023, 128(3): 1813-1826.
[13] TU S, XUE Y, ZHENG C, et al. Detection of passion fruits and maturity classification using Red-Green-Blue depth images[J]. Biosystems Engineering, 2018, 175: 156-167.
[14] TANG C, CHEN D, WANG X, et al. A fine recognition method of strawberry ripeness combining Mask R-CNN and region segmentation[J]. Frontiers in Plant Science, 2023, 14: 1211830.
[15] TEWOLDE F T, NA L, KOUTA S, et al. Nighttime supplemental LED inter-lighting improves growth and yield of single-truss tomatoes by enhancing photosynthesis in both winter and summer[J]. Frontiers in Plant Science, 2016, 7: 448.
[16] PALMITESSA O D, LEONI B, MONTESANO F F, et al. Supplementary Far-Red light did not affect tomato plant growth or yield under mediterranean greenhouse conditions[J]. Agronomy, 2020, 10(12): 1849.
[17] HUANG Y P, WANG T H, BASANTA H. Using Fuzzy Mask R-CNN model to automatically identify tomato ripeness[J]. IEEE Access, 2020, 8: 207672-207682.
[18] SU F, ZHAO Y, WANG G, et al. Tomato maturity classification based on SE-YOLOv3-MobileNetV1 network under nature greenhouse environment[J]. Agronomy, 2022, 12(7): 1638.
[19] TENORIO G L, CAARLS W. Automatic visual estimation of tomato cluster maturity in plant rows[J]. Machine Vision and Applications, 2021, 32(4): 78.
[20] MIAO Z, YU X, LI N, et al. Efficient tomato harvesting robot based on image processing and deep learning[J]. Precision Agriculture, 2023, 24(1): 254-287.
[21] RADZEVIIUS A,
R, VI
KELIS P, et al. Tomato (Lycopersicon esculentum Mill.) fruit quality and physiological parameters at different ripening stages of Lithuanian cultivars[J]. Agronomy Research, 2009, 7(2): 712-718.
[22] 李军, 刘凤军, 徐君. 不同发光二极管(LED)光源补光对大棚秋番茄植株生长及果实产量和品质的影响[J]. 江苏农业学报, 2011, 27(6): 1339-1343.
LI Jun, LIU Fengjun, XU Jun. Effects of light emitting diode supplement on growth, fruit quality and yield of autumn tomato in greenhouse[J]. Jiangsu Journal of Agricultural Sciences,2011, 27(6): 1339-1343. (in Chinese)
[23] 魏守辉, 肖雪梅, 钟源, 等. 日光温室不同时段补光对番茄果实品质及挥发性物质影响[J]. 农业工程学报, 2020, 36(8): 188-196.
WEI Shouhui, XIAO Xuemei, ZHONG Yuan, et al. Effects of supplemental illumination in different periods on the quality and volatile compounds of tomato fruit in solar greenhouse[J]. Transactions of CSAE,2020, 36(8): 188-196. (in Chinese)
[24] AFIFI M, BROWN M S. What else can fool deep learning? Addressing color constancy errors on deep neural network performance[C]∥Proceedings of the IEEE/CVF International Conference on Computer Vision, 2019: 243-252.
[25] AFIFI M, BROWN M S. Deep white-balance editing[C]∥Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 1397-1406.
[26] RONNEBERGER O, FISCHER P, BROX T. U-net: convolutional networks for biomedical image segmentation[C]∥Proceedings of the Medical Image Computing and Computer-Assisted Intervention-MICCAI 2015: 18th International Conference, 2015: 234-241.
[27] GUO C, LI C, GUO J, et al. Zero-reference deep curve estimation for low-light image enhancement[C]∥Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 1780-1789.
[28] ZHAO M, ZHONG S, FU X, et al. Deep residual shrinkage networks for fault diagnosis[J]. IEEE Transactions on Industrial Informatics, 2019, 16(7): 4681-4690.
[29] HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]∥Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2018: 7132-7141.
[30] WANG Q, WU B, ZHU P, et al. ECA-Net: efficient channel attention for deep convolutional neural networks[C]∥Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2020: 11534-11542.
[31] XIAO Y, JIANG A, YE J, et al. Making of night vision: object detection under low-illumination[J]. IEEE Access, 2020, 8: 123075-123086.
[32] SELVARAJU R R, COGSWELL M, DAS A, et al. Grad-CAM: visual explanations from deep networks via gradient-based localization[C]∥Proceedings of the IEEE International Conference on Computer Vision, 2017: 618-626.