结合主动光源和改进YOLOv5s 模型的夜间柑橘检测方法

2024-01-15 06:02熊俊涛霍钊威黄启寅陈浩然杨振刚黄煜华苏颖苗
华南农业大学学报 2024年1期
关键词:柑橘光源准确率

熊俊涛,霍钊威,黄启寅,陈浩然,杨振刚,黄煜华,苏颖苗

(华南农业大学 数学与信息学院,广东 广州 510642)

我国是最大的柑橘生产国,年产量占世界的四分之一[1]。随着农业机械化和信息化的发展,果蔬识别、机器人自动采摘和果实产量估计等成为近年来的研究热点[2]。水果自动化采摘对提高水果品质和市场竞争力具有重要意义[3-4]。目前,柑橘大多数是人工采摘,这种方式采摘效率低、成本高,并且采摘作业集中在白天。夜间环境下柑橘的精准识别是采摘机器人智能化全天候作业的关键,而夜间视觉系统的设计是实现采摘机器人夜间作业的重要前提[5-8]。因此,为了满足市场的需求,提高采摘效率并延长作业时间,有必要进行夜间环境下柑橘采摘机器人的研究。

在夜间环境下的目标检测,最关键在于光源的选择和视觉系统的设计,通过人工照明可以确保在稳定的光源下采集夜间图像,降低在白天太阳可变光照的影响[9-10]。近年来,针对夜间环境下果蔬识别的研究中,Xiong 等[11]利用改进的模糊聚类方法(FCM)与Otsu 算法结合,实现夜间荔枝果实的识别,在受图像阴影干扰的情况下,对荔枝的识别准确率为93.75%。Fu 等[12]为了研究夜间照明光强与猕猴桃视觉识别效果的关系,通过改变LED 灯的光照强度,采集不同光强下的猕猴桃图像,并采用Canny算法进行分割检测,当光强为30~50 lx 时识别效果最佳,准确率为88.3%。项荣等[13]通过对光源种类、布局,图像采集距离等因素进行试验,设计了番茄采摘机器人夜间照明系统,并通过Otsu 自动阈值图像分割算法验证了其有效性。赵德安等[14]通过对比不同光源对果实识别的影响,采用2 盏白炽灯作为光源采集夜间图像,消除了阴影影响,提出改进R-G 色差分割算法,并进行二次分割实现夜间苹果识别,果实的识别正确率达到83.7%。上述研究从光源的强度和种类出发来设计夜间光源系统,采集易于分割的图像,实现果实的识别,但对于重叠遮挡目标果实的识别准确率较低。

随着目标检测算法的发展,深度学习逐渐应用于农业的各个领域,Liang 等[15]采用YOLOv3 算法并结合U-Net 检测夜间环境的荔枝果实和果梗,识别准确率分别为96.30%和95.54%,该方法在一定程度上突破了传统方法的局限。王辉等[16]提出一种基于改进DarkNet-53 卷积神经网络并结合YOLOv3 的水果分类识别模型,平均识别精度为85.91%,实现了复杂背景下的水果识别。熊俊涛等[17]利用环形光源提出一种多尺度卷积神经网络Des-YOLOv3 算法,实现夜间环境下成熟柑橘的识别与检测,测试集平均精度达90.75%,检测速度达53 帧/s,但对于较小的果实,出现了部分漏检情况。吕石磊等[18]采用一种轻量化的网络模型对自然环境下的柑橘进行识别,在全部测试集上平均准确率达91.13%,该模型占用内存低,便于部署,但整体识别准确率较低。可以看出,深度学习算法具有较强的提取图像高维特征的能力,受环境干扰程度较低,相比传统方法,在自然环境下对果实的识别效果有较好的提升,但由于野外环境复杂,提高重叠遮挡果实的识别性能仍是目前的研究重点[19]。

夜间环境背景简单,采摘机器人能在较稳定的光照环境下识别并采摘果实,对于夜间环境水果采摘的研究,通常采用白光作为光源采集夜间图像,未针对目标果实颜色特征选择合适的光源设计视觉系统,而且照明不均匀导致的阴影使得树上部分果实特征不明显,对枝叶遮挡和较小果实的准确识别存在一定的困难[20]。因此,获取果实颜色特征明显的夜间图像,是实现夜间智能采摘精准识别的关键[21-23]。

综上,为了进一步提高对夜间重叠遮挡、小目标柑橘的识别性能,在野外夜间环境下快速精准地识别目标果实,本文采用一种可调节RGB 数值的灯光为夜间光源,通过试验确定最佳光源色来采集柑橘颜色显著的夜间图像,并通过改进的YOLOv5s目标检测模型对夜间柑橘进行精准识别,为夜间柑橘采摘机器人提供重要的视觉检测技术支持。

1 材料与方法

1.1 灯光设备和试验图像采集

试验灯光设备采用SuteFoto T6 光源,尺寸为96 mm × 65 mm × 18 mm,功率为8 W,CCT 色温为2 500~8 500 K,其中RGB 模式为0~255 可调节数值,具有1 600 万种组合色彩。试验图像采集地点为广东省广州市白云区百万果园农庄,采集时间为2021 年12 月18 日夜间,采集距离为100 cm,光照强度为346 lx;使用iPhone 相机进行图像采集,采集的图像为4 032 像素 × 2 268 像素的.jpg 格式。采集场景和灯光设备如图1 所示。

1.2 试验指标

夜间环境中柑橘的识别,最关键的是获取高质量的夜间图像,使在目标检测算法下能更好地提取柑橘的颜色特征。赵桂兰等[24]在光源色与物体色的研究中提到,光源颜色的变化会改变物体的颜色,物体显色性跟物体本身颜色以及光源色有关,高色温光源照射冷色调物体,低色温光源照射暖色调物体,显色更优,物体反射亮度更高。因此,为了能在夜间环境下采集柑橘果实颜色特征突出的图像,即果实与叶片颜色差距较大,首先要确定光源色。本文通过调节T6 光源RGB 模式下各数值来改变光源色,并结合HSV 颜色空间选取最佳光源色。通过HSV 颜色空间计算果实与叶片的颜色距离,颜色距离越小,两者颜色越接近,反之越远,由此选择使两者色距最大的RGB 数值作为采集夜间图像的最佳光源色。颜色距离计算流程及公式如下。

1)分别获取柑橘与叶片图像的RGB 数值,将图像的RGB 通道转为HSV 通道。

式中,R′、G′、B′代表分别将图像的R、G、B数值归一化,使其转为[0,1] 区间;Cmax、Cmin分别表示R′、G′、B′的最大值和最小值。

色相 (H)计算:

饱和度 (S)计算:

亮度 (V)计算:

2)计算HSV 颜色空间三维坐标:假设一个HSV锥的斜边长度R为100,底面圆半径为r,高度为h,以地圆中心为原点,以H=0 为x轴正方向建立坐标轴。色值是(H,S,V),点的三维坐标为(x,y,z)。

3)计算两图像之间的颜色距离(C):

式中,D表示坐标点间在不同坐标轴方向上的距离。

在前期试验过程中得知,RGB 模式下R决定柑橘颜色变化,B决定叶片颜色变化,然而G对叶片颜色产生加深效果,故不需要对G进行调节。因此,在0~255 的可调节数值下,采用二分法向上向下进行探测,以R=128、G=0、B=128 为中心点数值,分别以64、32、16、8 和4 为步长(分别为第1~5 轮)调节R、B数值,从而改变光源色来采集夜间柑橘图像,其中每轮采集9 张图像。

利用Photoshop 软件将柑橘果实以及叶片背景图像分别提取出来,将柑橘及叶片图像均另存为尺寸为126 像素×126 像素的PNG 格式图像。表1 为每轮柑橘和叶片图像的颜色距离。由表1 可知:在第1 轮中,当R=64、G=0、B=192 时,颜色距离为2.04,在第1 轮为最大,因此为第1 轮中最佳的RGB 数值,并作为第2 轮的初始值。在第2 轮中,当R=96、G=0、B=224 时,颜色距离为2.15,在第2 轮中为最大,为第2 轮最佳RGB 数值,并作为第3 轮的初始值。以此类推,当R=9 6、G=0、B=220 时,颜色距离为2.16,在第5 轮中为最大。因此选择该值作为最佳的夜间光源色,称为R 光。

表1 每轮柑橘和叶片HSV 颜色距离Table 1 HSV color distance between citruses and leaves in each round

1.3 图像数据采集及构建

采用最佳夜间光源色(R=96、G=0、B=220),在2021 年12 月19 日夜间,于广东省广州市白云区百万果园采集夜间图像。对果园柑橘树进行不同角度(顺光、侧光)及不同果实分布情况(完整、遮挡、稀疏) 的多样性图像采集,其中图像采集距离为50~150 cm,光照强度为296~385 lx,分别采用iPhone、小米手机和Azure Kinect DK 相机采集图像,确保训练数据的多样性。共拍摄1 900 张柑橘图像,从中选出1 688 张具有代表性的图像,并使用标注工具lablelImg 将图像标记为PASCEL VOC 格式标签。采用8∶1∶1 的数量比例将数据集划分为训练集、测试集和验证集,其中1 352 张图像作为训练集,168 张作为测试集,168 张作为验证集。考虑到实时检测和采摘机器人的需求,本文采用YOLOv5s 模型的深度和宽度作为主要框架。

1.4 改进的YOLOv5s 模型

1.4.1 Coordinate attention(CA) 注意力模块 CA 模块是一种将位置信息嵌入到通道注意力中,在较少的计算量上获取更大区域信息的高效的注意力机制[25]。CA 模块将通道注意力分解为2 个不同方向的聚合特征进行特征编码,通过水平X以及垂直Y方向来捕获空间方向和位置信息,把所获取的信息在通道上进行加权融合,得到对方向感知的特征图,有助于网络更准确地定位到目标区域。CA 模块简单、灵活且高效,可捕捉生成对空间选择注意力重要的位置信息,对遮挡和较小目标检测效果的提升较明显。

1.4.2 双向特征融合网络 双向特征金字塔网络(Bi-directional feature pyramid network,Bi-FPN)由Tan 等[26]提出,通过重复应用自顶向下和自底向上的方式,对不同分辨率的输入图像进行快速有效的特征信息融合,可以更好地改善对遮挡、重叠和小目标的检测效果。其结构如图2 所示。

图2 Bi-FPN 网络结构Fig.2 Network architecture of Bi-FPN

在此结构中,对从Backbone 接收来的信息,中间层() 对上一层和同一尺度层进行信息融合,对于输出层(),在同一尺度之间添加一个跳跃连接,实现自上而下及自下而上多层级双向特征的融合。同时,在每次卷积后利用批量归一化和激活函数集成双向跨尺度连接,并完成快速归一化。相比PANet 结构[27],Bi-FPN 删除了3 层和7 层网络(C3、C7)输入边中间的节点,仅加入同尺度的特征信息,在保证准确率的同时减少多余的计算量,提高检测速度。

1.4.3 BI-YOLOv5s 模型 在夜间环境中,由于灯光亮度缘故,有较多区域不能很好地覆盖;同时柑橘树上存在枝叶遮挡,部分目标果实较小,导致果实识别难度加大。结合所采集图像的特点,为解决这些存在的问题,本文采用可以提取更多信息的Bi-FPN 双向特征融合替代YOLOv5s 中PANet 结构作为Neck,增强对目标果实颜色特征信息的提取能力。针对夜间图像存在较多小目标果实,借鉴Zhu 等[28]的方法提出THP-YOLOv5 思路,采用多尺度目标检测方法,添加小预测头,提高对小目标果实的识别能力。同时,将Backbone 及Neck 末端层C3 模块替换成融入Transformer encoder block 结构的C3TR 模块,减少浮点运算量并提高全局信息和丰富上下文信息。基于YOLOv5s 改进后的网络结构如图3 所示,将其命名为BI-YOLOv5s。

图3 BI-YOLOv5s 网络结构Fig.3 Network architecture of BI-YOLOv5s

在Backbone 中,对C3 模块剪切重复次数,减少卷积参数计算量,提高检测速度;将Backbone 中第2、4、6 层特征输入到Bi-FPN 结构中,对不同位置进行多次自上而下的双向特征信息融合来获得更丰富的特征,减少信息丢失的同时充分学习不同层级分辨率的特征信息。同时引入CA 注意力模块,提高对重要特征和位置信息的提取能力,帮助模型精准定位和识别感兴趣的目标和位置,提升对夜间自然环境下遮挡柑橘检测的性能。

2 模型训练与结果分析

2.1 试验配置环境

软硬件平台配置如下:CPU 为i7-11700K、3.60 GHz 主频、六核十二线程、内存32 GB,显卡GPU 为Nvidia GeForce GTX3090,操作系统为Windows10,并搭配环境CUDA 11.3、Cudnn 7.6、Python 3.8 版本的Pytorch 深度学习框架。

2.2 模型训练参数

采用YOLOv5 作者提供的预训练权重[29]作为模型训练的初始化权重参数,模型参数设置为通过随机梯度下降法优化器进行梯度更新,初始学习率为0.01,学习下降因子为0.005,动量因子为0.937,输入图像尺寸为640 像素×640 像素,以24 为1 个批处理量,最大迭代次数为100 次。

2.3 评价指标

在深度学习目标检测算法中,通常需要衡量算法的性能。本文评价算法性能和有效性的相关指标为精准率(Precision,P)、召回率(Recall,R)、F1 分数(F1 score)以及平均准确率(Average precision,AP),计算公式如下所示。

式中,TP 指预测为正类的正样本(真正例);FN 指预测为负类的正样本(假反例);FP 指预测为正类的负样本(假正例);P指在图像中所有预测的样本为正类的比例;R指预测正类的样本与所有正样本的比例;F1 分数为P与R的调和平均值,综合了两者的指标;AP 为P与R构成的P-R曲线下的面积,通常AP 越大,模型性能越好,是衡量目标检测模型性能的重要指标。综合衡量上述指标可以较好反映模型性能,此外,使用每秒帧数(Frame per second,FPS)来评估模型的检测速度。

2.4 结果与分析

2.4.1 消融试验结果 为了验证改进模型的效果,本文设置了消融试验,在同一模型参数和设备下进行训练,采用“2.3”的评价指标来衡量模型性能,表2为各模型在测试集上的表现。

表2 各个模型消融试验Table 2 Ablation experiment for each model

从表2 可以看出,添加了CA 注意力模块的YOLOv5s 模型,其精准率和平均准确率分别提升1.3 和1.0 个百分点,说明CA 注意力模块能提高从图像中提取空间位置信息和感兴趣区域的能力。然后采用Bi-FPN 结构替换YOLOv5s 的PANet 实现双向特征信息的融合,平均准确率比YOLOv5s 提升了1.4 个百分点。通过Bi-FPN 结构和CA 模块结合,其平均准确率比YOLOv5s 提升了2.0 个百分点,表明两者结合是有效的,可提升模型的检测准确率。从消融试验结果可看出,本文所提出的模型可以有效提升各方面表现性能,与YOLOv5s 相比,精准率和平均准确率分别提高了3.2 和2.3 个百分点;增加网络层数降低了检测速度,但模型的检测性能有了很大的提升。

2.4.2 不同模型的比较分析 为了充分验证本文模型的有效性,对ShuffleNetV2-YOLOv5s、GhostNet-YOLOv5s、YOLOv5s 与本文模型在相同的数据集下进行测试和对比分析,各模型在测试集上的各项性能结果如表3 所示。

表3 不同模型测试结果对比Table 3 Comparison of test results of different models

本文模型BI-YOLOv5s 的精准率、召回率、平均准确率及F1 分数均为最高;其中,平均准确率比YOLOv5s 提高了2.3 个百分点。与ShuffleNetV2-YOLOv5s、Ghostnet-YOLOv5s 相比,在检测速度降低幅度较小的情况下,本文模型的平均准确率分别提高了5.3 和3.9 个百分点。对比结果表明,本文模型的检测性能更优,有效实现双向特征信息融合,提升了各方面的性能,具有更高的精准率和平均准确率。虽然检测速度低于其他模型的,但已达到实时检测速度大于25 帧/s 的需求,满足水果采摘机器人的要求。图4 展示了各模型对密集遮挡以及稀疏果实的检测效果。在密集遮挡目标果实中,YOLOv5s 模型对遮挡较严重及距离远的小目标果实的识别效果较差,比本文模型漏检了6 个果实;在稀疏目标果实中,出现3 个果实在遮挡条件下漏检的现象。以ShuffleNetV2、GhostNet 为骨架的YOLOv5s 模型的检测速度较高于本文模型的,但识别准确率较低,均漏检了11 个果实,有较多遮挡的果实未能识别。本文模型可以准确地识别出目标果实,漏检现象较少。

图4 不同模型对不同果实分布的检测效果Fig.4 Detection effect of different models for different fruit distributions

上述结果表明,本文模型可以充分融合低层位置信息和深层丰富的语义信息,减少图像特征信息丢失,有效利用不同分辨率图像的特征,整体性能比其他模型更好,对夜间自然环境下柑橘的识别具有更强的鲁棒性。

2.4.3 不同果实状态检测性能 为了进一步验证模型对不同果实状态的识别能力,本文将原始测试集分为弱光照、小目标以及重叠遮挡3 种不同果实状态数据集,并分别使用改进前、后模型对3 种数据集进行测试,结果如表4 所示。改进前、后模型对3 种数据集的检测均有较高的平均准确率;改进后的BI-YOLOv5s 模型对3 种数据集的平均准确率比YOLOv5s 分别提高了2.0、1.7 和2.5 个百分点,说明本文模型对不同状态果实检测的准确度均有较明显的提升效果。

表4 不同模型对不同果实状态数据集的测试结果Table 4 Test results of different models for data sets of different fruit states

通过比较2 种模型对3 种果实状态的检测效果,YOLOv5s 模型对不同果实状态的检测均存在较多漏检情况,共漏检16 个果实,而BI-YOLOv5s模型能检测到更多的小目标以及重叠遮挡的果实,检测效果有显著的改善(图5)。试验结果表明,改进后模型对不同果实状态的识别能力更强,具有较高的识别准确率,更适合在夜间复杂环境下的柑橘识别。

2.4.4 与白光环境的对比分析 为了进一步验证本文模型在夜间环境下使用R 光对柑橘的识别效果,本文采用同光源设备SuteFoto T6 的白光模式,在该模式光强为100%、色温为5 900 K 的光照条件下采集夜间柑橘图像,并筛选出R 光数据集相同数量的1 688 张图像,分别用于YOLOv5s 及BIYOLOv5s 模型训练,与R 光环境下模型进行对比分析。图6 为各模型训练集的损失和平均准确率曲线。R 光环境下,改进前、后的模型均优于白光环境下的模型,说明R 光在夜间环境下可以减少由光线不均匀产生阴影造成的影响,能够更好地突出柑橘的颜色特征,使模型检测性能更好,具有更高的识别准确度。选取稀疏、重叠和遮挡状态果实的图像在顺光和侧光条件下进行识别,并比较识别效果,2 种灯光在不同光照角度下对柑橘的识别效果和果实检测数量如图7 及表5 所示。

表5 2 种灯光不同光照角度下BI-YOLOv5s 模型检测的果实数量统计Table 5 Quantity statistics of detected fruit by BI-YOLOv5s model under different angles of two lights

图6 R 光(R)和白光(W)2 种灯光下不同模型对比曲线Fig.6 Comparison curves of different models under two conditions of R light (R) and white light (W)

结合图7 和表5 可看出,在顺光图像中,实际果实总数量为52 个,在白光环境下识别出44 个;在R 光下识别出50 个,相比白光,R 光对遮挡及小目标的识别能力较强。在侧光图像中,白光环境对侧光1 图像的识别效果较好,识别出所有目标果实;但对侧光2 和侧光3 图像共漏检了5 个果实,整体识别正确率为85.3%,其原因是枝叶遮挡及柑橘颜色特征不明显。而在R 光环境下,整体识别能力较好,但由于R 光灯色的特点,在侧光下使得个别果实颜色变暗,无法有效提取果实的颜色特征;同时一些树叶枯黄,在该光源色下呈现跟果实相同颜色,从而出现个别漏检和误检现象。

通过以上2 种灯光对比分析可知,R 光环境下BI-YOLOv5s 模型的整体识别正确率为95.3%,比白光环境下高10.4 个百分点,说明R 光能够更好地突出柑橘颜色特征,对枝叶遮挡和较小果实的检测性能更强。

3 结论

夜间自然环境中准确检测柑橘是实现机器人全天候采摘的重要前提,提高夜间图像的质量并获得准确的果实信息对于夜间果实识别至关重要。为此,本文采用了一种可以调节光源颜色的人工光源来采集柑橘夜间图像,从而有效突出夜间环境下柑橘的颜色特征,并提出了一种结合Bi-FPN 结构和CA 模块的BI-YOLOv5s 模型,实现了对遮挡和小目标柑橘的准确识别。该模型在测试集上的平均准确率为97.1%,检测速度为40 帧/s,为夜间采摘机器人提供了视觉技术支持。

通过改变光源设备的RGB 数值可以获得不同的光源色,可广泛应用于夜间环境下不同果实的检测,为快速准确地检测果实提供了新思路。本文提出的方法取得了良好的效果,但是由于该光源颜色的特性,在研究试验中出现一些果实误检和漏检的情况,未来将通过夜间获取具有更多果实信息的图像并提高目标检测模型的鲁棒性来进一步改进。

猜你喜欢
柑橘光源准确率
吃柑橘何来黄疸——认识橘黄病
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速公路车牌识别标识站准确率验证法
绿色光源
两种LED光源作为拟南芥生长光源的应用探究
柑橘大实蝇综合治理
“五及时”柑橘冻害恢复技术
柑橘实蝇防治一法