APP下载

基于颜色与果径特征的苹果树果实检测与分级*

2020-10-10樊泽泽柴洁玮杨晓峰李海芳

计算机工程与科学 2020年9期
关键词:分量卷积阈值

樊泽泽,柳 倩,柴洁玮,杨晓峰,李海芳

(太原理工大学信息与计算机学院,山西 晋中 030600)

1 引言

我国是世界上最大的苹果消费国,苹果是我国的第一大果品,是典型的高价值农产品,快速精确地检测苹果树上的果实并判断果实等级,有助于预估果园的经济收益,提高果业的现代化水平,具有重要现实意义。

GB/T-10651-2008“鲜苹果”国家标准[1]规定了鲜苹果进行等级划分的质量和外观要求。目前自然场景下对果实进行检测主要有基于传统方法和基于卷积神经网络2种方法。

基于传统方法的果实检测主要步骤为:转换图像颜色空间并提取使果实前景与背景差异明显的颜色分量,在颜色分量图上提取果实轮廓。如马正华等[2]提取苹果图像的R分量与G分量,获取R-G色差图。Lü等[3]转换苹果图像颜色空间至I1I2I3颜色空间并提取I2分量,结合最大类间方差法获取区分前背景的阈值,据此二值化图像获得果实轮廓。但是,这些方法仅适用于红色果实检测,且由于自然场景下拍摄的果树图像存在背景杂乱、光照不匀、果实自身着色有差异等情况,上述方法存在前背景间阈值选取不准确的问题,进而导致果实检测框不准确。

随着深度学习技术的发展,卷积神经网络被越来越广泛地应用于果实目标检测。Bargoti等[4]使用Faster R-CNN检测芒果、杏仁与苹果。麦春艳等[5]结合反向传播神经网络与霍夫圆变换算法检测苹果。Rahnemoonfar等[6]使用Inception- ResNet对果实进行计数。Dias等[7]结合卷积神经网络和支持向量机实现对苹果花的检测和计数。

由文献[8]可知,基于深度学习的目标检测主要分为基于候选区域的两阶段目标检测算法和基于回归的一阶段目标检测算法。两阶段目标检测算法首先根据区域选择算法生成样本候选框,再使用多层卷积网络对其提取特征并分类。如Girshick[9,10]和Ren等[11]提出的Region CNN(R-CNN)算法、Fast R-CNN算法和Faster R-CNN算法,Lin等[12]提出的FPN(Feature Pyramid Networks)算法、He等[13]提出的Mask R-CNN系列目标检测算法。基于回归的一阶段目标检测算法同时进行目标的定位与分类,实时性优于前者。如Redmon等[14,15]提出的YOLO、YOLOv2算法、Liu 等[16]提出的SSD(Single Shot multi-box Detector)以及通过多级预测方式改善小目标检测精度差的YOLOv3系列[17]目标检测算法。

上述算法针对的检测任务种类丰富,数据量大,用于苹果果实检测会导致过拟合和时空浪费,并且由于果实目标较小且分散,果实间重叠和被枝叶遮挡情况多,易出现小目标漏检问题。为克服上述不足,本文提出融合颜色与果径特征的苹果树果实检测与分级算法。构建卷积神经网络并在多个尺度的特征图上进行苹果检测,针对枝叶遮挡和果实重叠导致的小目标漏检问题,使用k-means算法对苹果训练数据集的检测框进行聚类,获取2组共6个不同尺度的先验框,分别应用于高分辨率和低分辨率的特征图上的果实位置回归。针对光线不匀和苹果个体着色差异导致的检测框位置不精确问题,将图像转至CIELAB颜色空间,其中,维度L*表示亮度,a*和b*分别表示红和绿、黄和蓝2个颜色对立维度,提取b*或(1.8b*-L*)颜色分量,采用最大类间方差法获得检测框内苹果与背景的最佳阈值,据此二值化图像并根据苹果外接矩形修正检测框。根据图像大小与物理尺寸映射公式计算苹果直径,根据“鲜苹果”国家标准实现果实分级。

2 相关理论

2.1 YOLOv3设计思想

YOLOv3是经典的单阶段目标检测网络,在检测精度和检测速度上均表现优异。YOLOv3检测网络的结构如图1所示,采用全卷积神经网络Darknet-53作为基础网络提取特征,使用残差组件加深网络层次并优化特征提取,以改变卷积核步长的方式代替池化操作,实现数据降维和张量尺寸变换,使用9个尺寸的原始框提供目标位置的先验信息,采用Sigmoid函数计算类别概率,在3个尺度的特征图上进行目标边框的位置回归和类别预测。

Figure 1 Structure of YOLOv3图1 YOLOv3结构

2.2 CIELAB颜色空间

颜色是区分果实目标和背景的最直接特征,不同颜色空间对目标的敏感性各异。常用的颜色空间包括RGB、HSL、CIELAB等。RGB颜色空间与人类视觉系统类似,但该颜色空间依赖于设备,不同设备对特定RGB值的检测和重现可能出现不同;HSL颜色空间对色彩感知度更强;CIELAB颜色空间能包含所有人眼可见的颜色要素,且该颜色空间不依赖于设备和光线,可预测哪些光谱功率分布会被感知为相同颜色。

CIELAB颜色空间全称CIE L*a*b*,是由CIEXYZ颜色空间衍生的颜色空间,其中,维度L*表示亮度,L*= 0对应黑色,L*= 100对应白色;a*表示在品红色和绿色之间的颜色,a*=-128对应绿色,a*=127对应品红;b*表示在黄色和蓝色之间的颜色,b*=-128对应蓝色,b*=127对应黄色。通过式(1)将图像从RGB颜色空间转换到CIE XYZ颜色空间,再据式(2)和式(3)转至CIELAB颜色空间,其中,Xn、Yn、Zn是参照白点的CIE XYZ三色刺激值,默认取值为0.95,1.00,1.09。

(1)

(2)

(3)

2.3 图像大小与实际尺寸换算模型

本文采用如图2所示的尺寸测量与换算模型[18],将图像中苹果的宽高值映射至实际物理尺寸。

Figure 2 Distance conversion model图2 尺寸测量与换算模型

图2中,Oc为相机位置,P和Ow为固定物体位置,Z为相机与物体的水平间距,f为相机焦距,θ为摄像头与物体所在水平方向的夹角。P′为P在像素坐标系内的投影。u、v分别为物体水平和竖直方向在图像上的像素值。

物体的宽X、高Y的计算公式分别如式(4)和式(5)所示:

(4)

(5)

其中,dx、dy为一个像素分别在u轴和v轴方向上的尺度。

3 融合颜色与果径特征的苹果树果实检测算法

本文算法的总体流程如图3所示,分为3部分:(1)为提升模型训练速度,提高边框回归效率,使用k-means算法对训练数据集内苹果的检测框进行聚类分析,得到6个不同尺寸的原始框,结合该先验信息训练苹果检测网络模型,得到苹果的初次检测框。(2)对(1)所得初次检测框内图像进行自适应颜色分量提取,采用最大类间方差法获取检测框内果实与背景的分割阈值,进而二值化图像,获取二次边框,以提高准确率。(3)根据尺寸测量与换算模型和相机参数得到苹果检测框的宽高值与实际物理尺寸的映射关系,根据该映射关系由果实检测框计算实际的苹果直径,并根据果径对苹果分级。

Figure 3 Flowchart of the proposed algorithm 图3 本文算法流程图

3.1 果实检测网络结构

根据文献[19]使用k-means算法对训练数据集内果实边框进行聚类分析,得到2组共6个先验框,如图4所示,尺寸分别为:(12,16),(19,27),(31,38),(46,64),(77,99),(135,175),按照尺寸从小到大均分到2个不同尺度的特征图上,尺度较大的特征图对应较小的感受野,对小目标敏感,使用较小的先验框来获得更多的目标边缘信息,具体对应关系如图5所示。

Figure 4 Anchor box图4 先验框

本文提出的苹果树果实检测算法借鉴YOLOv3在多个尺度的特征图上进行目标边框回归和类别预测的思想,果实检测的网络结构如图5所示。

果实检测网络以416×416的RGB图像为输入,交替堆叠5层卷积层与池化层,卷积层采用大小为3×3,步长为1的卷积核进行卷积操作实现特征提取,使用批量归一化操作防止出现梯度弥散并加速神经网络收敛速度,使用Leaky ReLU激活函数对卷积层的输出做非线性转换,池化层采用大小为2×2的过滤器,步长为1的最大池化操作,以降低参数量。第5次卷积操作后获得26×26×256的特征图,持续卷积操作获得13×13×18的小尺度特征图。本文算法参数如图6所示,convk-c/maxkn-s表示该层卷积操作采用c个k×k, 步长为1的卷积核, 最大池化层采用kn×kn, 步长为s的卷积核。

Figure 5 Networks structure of fruit detection图5 果实检测网络结构

Figure 6 Parameters of the proposed algorithm图6 本文算法参数

由于大尺度特征图含有更多的位置信息,而小尺度特征图包含更多高层语义,对第10层所得小尺度特征图进行上采样,调整特征图尺寸使其与第5层特征图尺寸相同,将特征图沿深度级联,结合低层特征提供的较准确的位置信息,弥补多次下采样和上采样操作导致的定位信息误差,经过卷积操作后得到一组待处理的26×26×18的大尺度特征图。分别将2组先验框按照尺寸大小用于2组不同尺度的特征图,其中,(12,16),(19,27),(31,38)先验框为26×26×18的特征图提供先验信息,(46,64),(77,99),(135,175)先验框为13×13×18的特征图提供先验信息。如图7所示,对各尺度特征图的每个单元格输出3个检测框,每个检测框使用Sigmoid函数预测中心坐标值(tx,ty)、检测框的宽高(tw,th)以及目标处于检测框内的置信度Po。由于本文检测类别互斥,即是否为苹果,选用Softmax函数计算分类概率P,在2组特征图上完成检测框的位置回归和类别预测。

3.2 果实边框修正

本文在使用果实检测网络获取初次检测框的基础上,将原始RGB图像依据式(1)~式(3)转换至CIELAB颜色空间,提取颜色分量,如图8所示,果实目标颜色主分量为红(首行)和黄(次行)时分别在b*分量和1.8b*-L*分量图像上前背景差异明显。

Figure 7 Predicion feature map图7 预测特征图

Figure 8 Color component diagram comparison图8 颜色分量图对比

由Otsu[20]提出的最大类间方差法是经典的阈值分割算法,该算法具有较高的分割精度与很强的自适应性。结合3.1节中初次检测框的坐标值对检测框内小范围的果实图像使用最大类间方差法,遍历[0,255]寻找最佳灰度值作为前景与背景的分割阈值,灰度值小于该分割阈值的像素点被划分为果实前景,反之则为背景,使得依据式(6)获取的目标和背景间类间方差最大。

(6)

其中,g为前景和背景的类间方差,w0为划分为前景的像素点在图像中所占比例,h0为前景的平均灰度值,h为背景的平均灰度值。

设置果实前景的灰度值为0,背景灰度值为255,将初次检测框内的图像二值化,使用形态学开运算去除噪点,以苹果的最小外接矩形得到更准确的二次检测框。本节的果实检测框修正算法伪代码如算法1所示。

算法1根据颜色分量修正检测框

输入:初始检测框、图像宽度和图像高度。

输出:二次检测框。

1. 转换图像颜色空间至CIELAB;

2.fori=0to初始检测框个数do

3.if前景颜色分量为红then

4. 提取b*分量图像

5.else

6. 提取1.8b*-L*分量图像;

7.endif

8. Otsu检测框内的图像,得到前背景的最佳分割阈值;

9. 根据分割阈值将图像二值化;

10. 以苹果最小外接矩形修正检测框;

11.endfor

3.3 果径计算

采用Sony ICLE6000相机拍摄图像,焦距为20 mm,最高分辨率为6000×4000,相机传感器尺寸为23.5×15.6 mm,可得相机内参矩阵如式(7)所示:

(7)

为验证果径计算方法的有效性,不控制光照等环境因素,相机与苹果的水平间距参照苹果示范园区果树行距,设定为3 m,即Z=3000 mm,为确保实验用苹果样本涵盖各等级,选用果径在60~100 mm的苹果,因此摄像头至苹果的夹角约为0°,即θ= 0°,如图9所示。

Figure 9 Shooting diagram图9 拍摄示意图

将Z和θ代入式(4)和式(5)可得图像内苹果的宽高值与实际物理尺寸的映射关系,如式(8)和式(9)所示:

(8)

(9)

4 实验结果分析

4.1 实验环境与数据集

本文实验运行环境如表1所示。

Table 1 Experimental environment表1 实验环境

实验数据来自山西省临猗县苹果示范园区内处于结果期的果实图像2 933幅,如图10所示,以留出法将数据集以6∶1的比例划分为互斥的训练集和测试集。样本多样性高,各类图像都有,近景、远景、枝叶遮挡、果实重叠、光照差异明显、主分量为红/黄/绿的各类图像的数量如图11所示。

Figure 10 Dataset图10 数据集

Figure 11 Number of images in different categories图11 各类图像数量

综合采用准确率(Precision)、召回率(Recall)和F1-score指标评估算法的性能。

各指标的计算公式如下所示:

(10)

(11)

(12)

其中,TP表示正样本被预测为正样本的数量;FP表示负样本被预测为正样本的数量;FN表示正样本被预测为负样本的数量。

苹果检测算法的训练参数设置如表2所示。

Table 2 Training parameters setting表2 训练参数设置

4.2 果实检测算法测试

如图12所示,3条曲线依次为准确率、F1-score和召回率在本文算法训练过程中的变化趋势,随着迭代次数增加,在1 000次时各项指标趋于稳定,最终准确率为0.92,召回率为0.84,F1-score值为0.88,实现收敛。

Figure 12 Training process of the proposed algorithm图12 本文算法训练过程

图13为原始RGB图像,图14a和图14b分别表示对图13整幅图和初次检测框内图像提取b*分量的灰度直方图,使用最大类间方差法所得的整幅图和单个检测框中苹果与背景的分割阈值分别为100和106,以100和106为阈值划分果实与背景得到二值化图像,以苹果的最小外接矩形修正检测框,如图15所示。相比于基于整幅图像选取前背景的阈值,在初次检测框内,即基于每个果实及周围背景的小范围内进行阈值选取可在一定程度上削弱光照不匀等因素带来的影响,获得更为准确的前背景分割阈值,使得果实边界更准确,二次检测框的准确率更高。

Figure 13 Image in RGB color space图13 RGB图像

Figure 14 Gray histograms of the whole image and the image in the detection box图14 整幅图和检测框内图像b*分量灰度直方图

Figure 15 Comparison of detection box before and after threshold adjustment图15 阈值调整前后检测框对比

表4对比了苹果数据集在经典的目标检测网络YOLOv3及其精简版Tiny YOLO、传统算法和本文算法上测试的各项指标值与最终模型的大小,检测结果显示本文算法训练所得的最终模型最小,并且在Precision和F1-score指标上有较好的表现,分别为91.60%和87.62%。这表明加深网络层数在一定程度上能够提升检测性能,但更需要结合实际任务综合考虑过拟合和计算成本问题,设计最适配的网络。

图16为YOLOv3、Tiny YOLO、传统算法和本文算法分别在光照不匀、果实重叠较多、枝叶遮挡较多、多为青果、黄果、红果的各类果实图像子数据集上的准确率对比。传统算法会将部分小目标、

Table 3 Comparison of different methods表3 训练结果对比

遮挡和重叠等导致的非完整目标误认为成噪点而去除,但是传统算法中根据颜色区分果实和背景有借鉴性,神经网络对重叠、遮挡等目标有较好的检出效果。本文算法结合二者优势,检测效果提升明显。

Figure 16 Precision of different algorithms on different types of dataset图16 各算法在不同子类数据上准确率对比

图17为本文算法、YOLOv3以及传统算法的检测结果对比。本文算法与YOLOv3相比,小目标的检出率提高,与传统方法相比,解决了果实重叠时多个苹果被检测为单个的问题,同时结合传统算法果实边缘对颜色的敏感性,提升了检测框的准确率。

Figure 17 Detection results of the proposed algorithm, YOLOv3, and traditional algorithm图17 本文算法与YOLOv3、传统算法的检测结果

4.3 苹果分级测试

本文对与相机固定距离为3 m的30个苹果进行宽高值检测,根据式(4)和式(5),相机焦距f=20 mm,像素在u轴方向上的尺度dx=0.0039,像素在v轴方向上的尺度dy=0.0038,结合果实检测框的宽高值进行计算,所得果径准确率为89%,参考GB/T-10651-2008 “鲜苹果”国家标准中果径分级方法对苹果分级,分级情况如表4所示,总体预测准确率为90%。

Table 4 Apple grading test表4 苹果分级测试

5 结束语

本文提出了一种对自然场景下苹果树果实图像的目标检测与分级算法,在卷积神经网络提取的多个尺度的特征图上对果实位置进行回归预测,依据颜色分量进一步校正检测框位置。结合距离映射方法计算果径并实现苹果分级。实验表明,通过迁移学习、多尺度特征图预测、先验框调整以及应用颜色分量二次修正检测框的方式,可提高小目标、光照不均匀和个体颜色差异大情况下果实的检测框准确率,与已有算法相比有更好的表现。参照苹果分级标准根据苹果直径对苹果分级,分级准确率达90%。在未来工作中将进一步研究苹果常见缺陷判别方法,提高果实分级的准确性,促进现代化农业的快速发展。

猜你喜欢

分量卷积阈值
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤
小波阈值去噪在深小孔钻削声发射信号处理中的应用
从滤波器理解卷积
基于CS-TWR的动态阈值贪婪算法成像研究
基于自适应阈值和连通域的隧道裂缝提取
论《哈姆雷特》中良心的分量
基于傅里叶域卷积表示的目标跟踪算法