浙江大学学报(工学版), 2021, 55(2): 377-385 doi: 10.3785/j.issn.1008-973X.2021.02.018

计算机与控制工程

基于改进DenseNet的水果小目标检测

徐利锋,, 黄海帆, 丁维龙, 范玉雷

浙江工业大学 计算机科学与技术学院,浙江 杭州 310023

Detection of small fruit target based on improved DenseNet

XU Li-feng,, HUANG Hai-fan, DING Wei-long, FAN Yu-lei

College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310023, China

收稿日期: 2020-09-2  

基金资助: 国家自然科学基金资助项目(61571400,61702456);浙江省自然科学基金资助项目(LY18C130012)

Received: 2020-09-2  

Fund supported: 国家自然科学基金资助项目(61571400,61702456);浙江省自然科学基金资助项目(LY18C130012)

作者简介 About authors

徐利锋(1983—),男,讲师,博士,从事植物虚拟建模及图像处理研究.orcid.org/0000-0003-4957-7559.E-mail:lfxu@zjut.edu.cn , E-mail:lfxu@zjut.edu.cn

摘要

针对自然环境中小目标水果的检测精度普遍较低的问题,提出基于DenseNet改进的水果目标检测框架. 构建以DenseNet为核心的多尺度特征提取模块,在DenseNet不同层级的稠密块中建立特征金字塔结构,加强网络层特征复用. 结合低层特征的高分辨率和高层特征的高语义性,实现准确定位和预测小目标水果存在的目的. 引入软阈值非极大值抑制(Soft-NMS)算法,改善簇状果实结构中检测框被误剔除的情况. 与常用的Faster R-CNN网络相比,所提出的框架在苹果、芒果和杏3个数据集中的平均检测速度大于40 FPS,F1值分别为0.920、0.928、0.831,实现了检测效率及精度的提升.

关键词: DenseNet ; 深度学习 ; 水果小目标检测 ; 特征金字塔网络 (FPN) ; 软阈值非极大值抑制 (Soft-NMS)

Abstract

An improved fruit detection framework based on DenseNet was proposed aiming at the problem that small fruit target detection always obtains low accuracy in natrual environment. A multi-scale feature extraction module was built with DenseNet. A feature pyramid structure was used in dense blocks at different scales of DenseNet in order to strength the network layer feature reuse. Low-level features with high resolution and high-level features with high semantics were combined to achieve accurate localization and prediction of the existence of small fruits. Soft non-maximum suppression (Soft-NMS) algorithm was introduced to avoid the case that detection boxes were mistakenly removed in the clustered fruit structure. In three datasets of apple, mango and almond, the detection speed came up to 40 FPS, and the F1 score reached 0.920, 0.928 and 0.831 with the proposed framework. The detection efficiency and accuracy were improved compared with the commonly used Faster R-CNN network.

Keywords: DenseNet ; deep learning ; small fruit target detection ; feature pyramid network (FPN) ; soft non-maximum suppression (Soft-NMS)

PDF (889KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

徐利锋, 黄海帆, 丁维龙, 范玉雷. 基于改进DenseNet的水果小目标检测. 浙江大学学报(工学版)[J], 2021, 55(2): 377-385 doi:10.3785/j.issn.1008-973X.2021.02.018

XU Li-feng, HUANG Hai-fan, DING Wei-long, FAN Yu-lei. Detection of small fruit target based on improved DenseNet. Journal of Zhejiang University(Engineering Science)[J], 2021, 55(2): 377-385 doi:10.3785/j.issn.1008-973X.2021.02.018

水果产量预测是现代农业生产中的重要问题,传统的水果种植及收获须消耗大量人力和物力,包括果实的采摘、分拣及后续加工过程. 在水果未成熟阶段对产量进行预估可以提前对劳动力和机器进行分配和采购,从而提高生产效率. 计算机视觉方法为水果产量检测提供了高效手段,通过检测每棵树的水果数量,预估整个果园的水果产量,评估单位面积效益. 另外,精确的水果定位也有利于自动化采摘系统的实现.

室外果园图像数据通常由安装了传感器的地面车辆收集,这给水果检测带来了额外的挑战. 采集果树图像的传感器的视野须跨越整棵树木,这使较小尺寸的果实识别、重叠和遮挡的果实识别、纹路颜色与环境相近的果实识别、以及会导致重复计数的多角度图像里的水果识别等成为水果检测的难解之题. 同时,由于绝大部分数据是在室外场景中采集的,采集条件存在显著的类内变化:光照条件、传感器到水果的距离、相机视点等,这些情况导致监督学习的过程更加困难,也使得水果检测的准确率达不到理想效果,高分辨率的图像也给特征学习的过程带来了算法和硬件上的额外负担.

早期研究多采用手工设计特征编码来区分水果与非果实区域的视觉属性,该类方法只适合于特定的数据集,同时特征编码方法限制了水果的种类及数据采集的条件. 随着计算机视觉的发展,手工设计特征分类[1-2]逐步转变为使用深度神经网络(deep neural network,DNN)[3]进行物体检测和图像语义分割. 经标注数据训练好的DNN能自动学习数据分布的特征来进行目标的识别和分类,并对未标注数据得到较好的识别和分类结果.

本研究对以Densenet为核心的深度学习检测器进行改进,对小尺寸及重叠遮挡果实的检测进行优化,设计适合室外场景下小目标水果图像检测的网络框架. 针对不同的水果数据集进行测试,包括苹果、芒果和杏. 1)改进DenseNet的网络层结构,使特征得到复用,即低层特征图的视觉特征信息能够有效传递;2)在改进的DenseNet架构中融入特征金字塔网络(feature pyramid network,FPN)结构,更好地利用低层特征的位置信息,加强对小目标的检测效果;3)添加软阈值非极大值抑制(soft-non-maximum suppression,Soft-NMS)算法,避免果实的重叠遮挡造成目标检测框被误剔除,减少假阳性(false positive)样本的出现概率.

1. 水果目标检测研究背景

现有研究人员对多种果园类型中的水果检测进行探索,通常将图像区域转换到特征空间并训练分类器,分类器将水果或背景对象(如树叶、树枝和地面)与特征相关联来执行检测. 基于计算机视觉的水果检测主要包括语义分割和目标检测2个步骤. 密集地执行语义分割操作,将图像按像素分类,并将感兴趣的对象分为相邻像素的组;使用低层图像特征的目标检测方法,即识别图像中的感兴趣区域(region of interest, RoI),如可能的果实区域,然后进行特征提取和分类.

基于区域的卷积神经网络(region based convolutional network,R-CNN)[4]将RoI方法与CNN结合起来,在PASCAL-VOC[5]检测数据集上产生当前最优的检测结果. RoI方法利用选择性搜索(selective search)[6]找到并合并超像素的感兴趣区域,CNN用于对区域进行分类,并直接回归区域中对象的边界框位置. 基于R-CNN的Faster R-CNN模型[7]将区域提取和对象分类定位合并为一个统一的深度目标检测网络,进一步提高了检测准确率,同时缩短了训练和预测时间.

Bargoti等[8]采用Faster R-CNN网络进行水果检测,对原始高分辨率图像进行分片来减少计算的消耗,并采用颜色空间转换、翻转位移、数据降维等方法进行数据增强,利用苹果、芒果、杏3个数据集进行验证均取得了不错的结果. 不过,Faster R-CNN是2-Stage的检测网络,检测速度较慢,且对小目标没有特殊的处理过程,导致杏数据的检测精度(77.5%)远低于苹果(90.4%)和芒果的(90.8%). 这种差距主要因为杏果实个体更小且多数为簇状结构,未成熟的杏果实呈青绿色,与树叶颜色接近,Faster R-CNN最后一步所采用的NMS方法会剔除部分真阳性(true positive)结果.

与基于区域的方法相比,基于回归的方法[9]取消了区域候选阶段,在卷积网络中同时完成目标框的定位以及对象类别的预测,速度相对前者具有较大优势,更有利于实现水果的实时检测. 其主要缺点在于精度不足,研究人员通过加深网络[10]和跨层连接[11]方法提升检测效果.

曾平平等[12]采用经典卷积神经网络模型LeNet-5结构,对苹果等5种水果进行分类,通过2个卷积层、2个池化层和2个全连接层的特征提取-分类方式在数据集中取得了较高的准确率. 但LeNet-5结构由于网络结构简单,难以应用于目标检测任务中复杂的水果图像. 薛月菊等[13]采用改进YOLOv2[14]网络实现对未成熟芒果的检测,使用Tiny-YOLO作为YOLOv2的基础网络,将第7卷积层替换为DenseNet的密集模块,减少了网络参数,使后续卷积层能接收密集连接块输出的多层卷积特征,并且采用人工标注被遮挡前景区域的方法实现数据增强,实验结果相对于Tiny-YOLO提升了0.90%,较Faster R-CNN提升了7.36%. 但人工进行前景标注过于繁琐,且该论文使用的芒果图像均为人工拍照获得,目标相对于整幅图像占比较大且居中. 因此,所提出的方法不适用于实际的自动化系统采集的图像数据. Wan等[15]考虑到自然光线中水果图像的特点和水果的悬挂状态,通过自适应直方图均衡方法和对图像进行水平镜像及旋转的方法进行数据增强,并对Faster R-CNN模型的卷积层和池化层进行优化,在苹果、芒果和柑橘数据集中取得了较高的精度. Mai等[16]提出具有分类器融合的Faster R-CNN模型,在区域候选阶段使用3个不用级别的特征来学习用于目标分类的3个分类器,其由一个简单的卷积层构成,并引入具有分类器相关系数的新型损失函数来训练区域候选网络,提高了Faster R-CNN网络在小目标水果检测中的可靠性.

水果检测精度不足主要由小个体果实的漏检造成,因此本研究针对水果图像中的小目标检测问题. 主流目标检测网络通常针对生活场景的多目标检测问题设计,须充分结合视觉特征和语义特征,用于对整个场景的构成进行分析,判断每种感兴趣对象出现在该位置的可能性. 水果检测场景较单一,仅须区分果实与背景(树枝、树叶). 主流网络通常兼顾不同大小目标的存在,并未对小个体的检测进行优化,导致其直接用于水果检测的效果不佳. 本研究采用基于回归的方法设计网络,添加FPN结构针对小个体果实的检测进行优化,并在一定程度上加强对重叠目标的筛选,在确保速度的前提下进一步提升检测精度.

2. 果实图像小目标检测网络

水果目标检测数据集普遍表现为:目标数量多、个体小、簇状结构及重叠遮挡. 采用均匀网格划分图像方法YOLO,并预测边界框的网络,会造成较大的漏检率. 在网络的正向传播中,随着卷积-池化的推进,特征图的语义特征越来越强,而视觉特征,即小目标的可见性越来越弱. 水果目标检测的场景大多为二分类问题,即在多数情景下图像中只存在一种类型的水果,网络只须对前景(水果)和背景进行划分,所以在本研究中视觉特征相对于语义特征更为重要. 在设计目标检测网络时,可以适当减少网络的层数,并加强对低层特征的利用.

2.1. 目标检测基础结构和算法

选择目标检测主干网络时首先要考虑到网络深度带来的梯度弥散问题,因为随着网络层数的加深,梯度消失的问题会愈加明显. 很多学者针对这个问题提出了解决方案,如Highway Network[17],FractalNet[18]. 尽管这些算法的网络结构有差别,核心都是建立从网络低层到高层的短连接. DenseNet[19]延续了这种思路,在保证网络中层与层之间最大程度信息传输的前提下,直接将所有层拼接起来.

DenseNet网络主体由交替串联的稠密块(dense block)和过渡块(transition bock)构成,通过全局的增长率配置更加简单,而过渡块每次将通道数减半. DenseNet主干网络建立了不同层的连接关系,充分利用图像特征,并保证目标检测分支网络所使用的特征图的有效性,结构图如图1所示.

图 1

图 1   DenseNet网络结构

Fig.1   Structure of DenseNet


DenseNet的卷积使用ResNet改进版本的BN->Relu->Conv,每个卷积的输出通道数被称为增长率α,假设输出为out,且有n层,那么输出的通道数为α+out+n. 由于DenseNet采用了拼接的方法,每经过一次拼接,输出通道数可能会激增. 为了控制模型复杂度,引入过渡块部分,不仅将输入的长宽减半,同时也使用1×1卷积来改变通道数.

为了提升小目标的检测效果,本研究在DenseNet主干网络中添加了FPN[20]结构. 不同于R-CNN系列的单一尺度特征计算和SSD的多层特征图多尺寸目标预测,FPN结构从高层携带信息传递给低层,再分层预测,即使用特征金字塔,结构如图2所示. FPN结构在网络前向过程中将不改变特征图大小的层归为一个阶段(stage),并对特征图进行上采样(upsampling),通过横向连接将两者融合并进行卷积操作. 该结构可以同时利用低层特征高分辨率信息和高层特征高语义信息,通过融合这些不同层的特征达到预测的效果.

图 2

图 2   特征金字塔结构

Fig.2   Structure of FPN


非极大值抑制(non-maximum suppression,NMS)[21]是物体检测流程中重要的组成部分,该方法通过设置阈值来减少检测框的数量. 对于水果目标检测网络,计算得到的每个检测框均会产生检测分数,那么对于图片中的每个水果可能对应多个检测分数. 如图3所示,多个水果相互遮挡将导致生成的检测框重叠.

图 3

图 3   水果图像中检测框重叠现象

Fig.3   Overlapped boxes in fruit detection


对于水果遮挡而产生的高度重叠的检测框,本应输出多个框表示每个水果的预测,但采用传统的NMS方法可能会把得分较低的框过滤掉(如果包含同一个目标的2个框重叠度iou低于设定的阈值 $ {N}_{{\rm{t}}} $,重叠的第2个框就会被过滤掉),这样就会造成一定程度的漏检,使最终的召回率降低.

Soft-NMS[22]方法对与检测框M有重叠的相邻检测框的检测分数进行衰减(而非将其分数直接设置为0),因此与M高度重叠的检测框出现假阳性结果的概率更大,它们的分数衰减更严重. 以bi表示第i个检测框,其分数重置函数如下:

${S_i} = \left\{ \begin{array}{l} {S_i},\qquad\qquad\qquad\;{\rm{iou}}(M,{b_i}) < {N_{\rm{t}}}; \\ {S_i}(1 - {\rm{iou}}(M,{b_i})),\;{\rm{iou}}(M,{b_i}) \geqslant {N_{\rm{t}}} . \end{array} \right.$

对式(1)进行调整,使其为连续函数,避免得到的检测框集合中的分数出现断层,得到

${S_i} = {S_i}{\rm{exp}}\;\left( {{ - \textstyle\dfrac{{{\rm{iou}}(M,{b_i})}}{\sigma }}} \right);\;\forall {b_i} \notin {{D}}.$

式中:σ为高斯惩罚函数的超参数,D为筛选后的检测框集合. 式(2)即为本研究中作为目标检测得分的重置函数.

2.2. 改进的结构和算法

水果小目标检测的主网络采用DenseNet + FPN,通过对FPN金字塔结构添加子网络,进行分层预测,分别进行目标的分类和检测框的回归,最后将得到的检测框作为Soft-NMS函数的输入,得到最终的检测结果,结构图如图4所示.

图 4

图 4   改进网络结构图

Fig.4   Diagram representing structure of improved network


对于检测网络中的Dense模块,利用经过BN-ReLU-Conv处理后的特征图作为特征金字塔的各个层级,由于FPN架构只增加了一次2倍的上采样和一次1×1的卷积操作,这对本身参数量较少的DenseNet网络不会带来大量额外计算. 将DenseNet中每一个Dense Block-Conv-Pool视为同一个层级的模块,并在每次池化后保存特征图的上采样. 整个网络结构总共存在4组Dense Block,由于低层特征图分辨率较高,会显著增加计算量,从第2组Dense Block开始前的位置,即每次平均池化后进行3次上采样,作为金字塔各层级的特征. 网络中每个模块的具体结构如图5所示. 每次经过降采样操作得到的特征,首先作为并集传递到下面每一个输入层中,另外高层特征同时作为FPN的层级上采样并与低层特征融合. 拼接操作保证特征复用,网络中的每一层能够依赖之前层学习的特征,而融合操作增强了低层特征的语义信息,这样在分层单独预测时,可以保证特征图的鲁棒性. 输入的图像首先通过Conv-Pool-Dense Block进行第1次降采样及密集连接层的特征提取,并在Transition层的平均池化后,保存当前层的特征为初始的采样组. 在接下来的3组Dense Block后将得到的特征图依次上采样至初始组的分标率,作为最终的特征,并在每个层级都进行预测.

图 5

图 5   改进Dense模块

Fig.5   Diagram representing structure of improved Dense Block


目标检测网络参数的设置如表1所示. 为了实现果实在线检测,网络以每个Dense Block作为一个单位,当使用不同深度的网络时,仅须改变每个单位中Conv-Pool的数量. 以DenseNet161为例,网络中Conv1-6层均采用3×3/1的参数,为了实现多层特征复用和融合,仅考虑在4个Dense Block间嵌入FPN结构,即将每个Dense Block末端经过1×1卷积的特征分别作为金字塔的各个层级. 将最高层的Dense Block降采样得到共计5个特征层级,并通过上采样和横向连接得到完整的FPN结构.

表 1   目标检测网络参数

Tab.1  Parameters for object detection network

Dense 网络层 通道数 参数 输出尺寸/像素
阶段1 Conv 16 3×3/1 512×512
Pool 16 2×2/2 256×256
Conv 32 3×3/1 256×256
Pool 32 2×2/2 128×128
Dense Block 32 1×1/1 Conv 128×128
16 3×3/1 Conv 128×128
阶段2 Conv 64 3×3/1 128×128
Pool 64 2×2/2 64×64
Dense Block 64 1×1/1 Conv 64×64
32 3×3/1 Conv 64×64
阶段3 Conv 128 3×3/1 64×64
Pool 128 2×2/2 32×32
Dense Block 128 1×1/1 Conv 32×32
64 3×3/1 Conv 32×32
阶段4 Conv 256 3×3/1 32×32
Pool 256 2×2/2 16×16
Dense Block 256 1×1/1 Conv 16×16
128 3×3/1 Conv 16×16
Conv 512 3×3/1 16×16
Pool 512 2×2/1 16×16
Conv 1024 3×3/1 16×16
Conv 30 1×1/1 16×16

新窗口打开| 下载CSV


采用DenseNet161作为主干网络,并组合上述Cov-Pool-Dense Block模块进行特征提取,并在每一组特征中生成Anchor Box,并对检测框进行位置的回归及目标分类. 完整结构如图6所示.

图 6

图 6   目标检测网络结构

Fig.6   Structure of object detection network


在对输入的图像进行3个阶段的特征提取后,将不同层级的特征图进行上采样和拼接获得特征金字塔,在金字塔各层级生成的Anchor Box中进行回归分类,并将其输入Soft-NMS中进行回归框的剔除,得到最终目标检测的结果.

3. 实验设计

采用Bargoti等[8]提供的水果检测数据集,使用Mxnet框架实现DenseNet及FPN网络结构,服务器平台配置为Intel® Xeon® CPU E5-2678 v3 @ 2.50 GHz处理器,32 G运行内存,NVIDIA® GeForce RTX 2080Ti GPU,系统为Ubuntu 16.04.

3.1. 实验数据

使用的数据集包括3种水果:苹果、杏和芒果,详细参数如表2所示. 苹果数据集的原始标签采用圆形区域标注,为了更好地适应网络的参数传递,将其转换为含有4个顶点的矩形框表示. 按照文献[8]的研究数据分配训练集和测试集,并采用数据集中提供的集合来划分图像,以便后续的实验结果对比.

表 2   水果数据集参数

Tab.2  Parameters of fruit dataset

水果种类 分辨率/像素 训练集个数 验证集个数/测试集个数
苹果 200×308 729 112/112
芒果 500×500 1154 270/270
300×300 385 100/100

新窗口打开| 下载CSV


3.2. 数据增强

采用如下方法对3种水果数据集进行数据增强. 1)对全部图片采用左右镜像,为了避免部分图像中掉落的果实造成的检测误差,未采用上下翻转,将原始数据扩充为2倍;2)将全部图片转换为HSV色彩空间,以增强水果图像中前景和背景的对比度;3)在训练时采用随机裁剪,随机从原始图片中裁剪包含目标区域在内的50%~90%部分,并缩放至网络需要的大小,由于原数据集的分辨率较低,将随机裁剪的得到的图像数量控制在原先的1.5倍;4)经过以上的数据增强操作,3种水果数据集均扩增为原始大小的3倍.

3.3. 网络训练参数设置

训练阶段采用动量项为0.9的异步随机梯度下降,权值的初始学习率为0.001,衰减系数设为0.0005. 采用ImageNet数据集对DenseNnet网络进行训练,使用上述参数对检测网络进行初始化,考虑到水果数据的二元问题,对3个数据集分别训练模型,以提高分类的精确度,其中苹果和杏经过5000次迭代,芒果经过10000次迭代,调整参数训练至网络在验证集中收敛.

由于在验证阶段采用了Soft-NMS算法,只须对每种水果设定阈值参数. 经过实验验证,参数设置为0.3~0.4能够取得较好的结果. 若使用较高的阈值(如在Pascal VOC数据集中取0.5),小个体果实的漏检率将上升,部分目标被标记为假阳性结果. Soft-NMS算法的采用,会将重叠率超过阈值的检测框作为函数的输入,这样就无须对水果检测的一些特殊情况采用额外的惩罚参数,如单个水果目标的多框检测和多目标重叠时的单框检测.

4. 实验分析

本研究采用准确率(precision,P)、召回率(recall,R)、F1值(F1-score,F1)和检测速度验证FPN结构和Soft-NMS算法的有效性,并与提供原始数据集论文的结果[8]进行对比.

4.1. 改进网络DenseNet目标检测结果

改进网络架构对3种水果数据集的检测结果如表3所示,与文献[8]结果相比,精度与速度都得到了提升. 速度由7 FPS升至43 FPS;从F1值来看,苹果和芒果的检测精度分别提升0.017和0.020,杏提升较高,为0.056.

表 3   本研究方法与Faster R-CNN对比

Tab.3  Comparison of proposed method with Faster R-CNN

水果 P(Faster R-CNN) P(本研究) R(本研究) F1(本研究)
苹果 90.3 93.19 91.14 0.920
芒果 90.8 93.59 92.03 0.928
77.5 84.31 81.95 0.831

新窗口打开| 下载CSV


图7所示为苹果、杏及芒果检测结果的展示. 可以看出,对于重叠较多的部分,Soft-NMS算法能有效保留检测框重叠区域超过阈值的部分,而对于小目标检测也有着明显的提升. 对于杏数据集,由于图像质量本身的问题及未成熟杏与树叶颜色的相似性,仍产生了一部分漏检及错误检测的情况.

图 7

图 7   水果检测可视化结果

Fig.7   Visualization of fruit detection


4.2. 遮挡场景中水果检测结果

对于网络在遮挡场景检测的检测效果,在苹果和芒果数据中手动筛选50张图片进行实验,原因是苹果及芒果个体像素占比相对较高,在遮挡场景的果实检测中更容易得到多个检测框重叠的结果,将检测框与真实标注数据的重叠率及每个水果个体的得分作为检测的标准.

图8所示,对筛选出的部分图片进行验证,上、下2行分别为苹果及芒果的检测结果,在该场景中,只选取有重叠或遮挡的近景部分进行计算. 图中,绿色实线框表示预测结果,红色虚线框表示真实标注数据,绿色数字表示每个水果的得分,此部分不计算图像中的小目标个体. 通过对检测框重叠率进行计算,所提方法在保证整体数据准确性的同时,在遮挡场景中也有较好的表现. 不过,在光线环境较为昏暗的区域以及水果本身由于成熟度与背景颜色相近的场景下,目标检测框的得分普遍低于0.85.

图 8

图 8   苹果和芒果数据遮挡场景检测

Fig.8   Apple and mango detection in occlusion scenes


对于遮挡场景检测的优化,通常的做法是添加额外的检测手段,如训练一组针对遮挡的检测器[23],或在CNN网络中增加遮挡部分的检测模块以优化损失函数[24]. 本研究对遮挡场景的对策主要体现在增强特征来得到更优的候选目标框,以及在筛选阶段保留重叠区域的检测结果. 为了说明本研究方法在遮挡场景中的有效性,与文献[8]中的ResNet网络进行相同场景下的对比. 由于文献[8]只给出了平均准确率及F1值,采用其给出的部分训练参数来复现该网络,并在筛选出的图片中进行验证,此部分仅比较遮挡场景中的检测效果. 结果的对比采用分别计算2种网络所得到的检测框与真实标注的重叠率O,在手动剔除图像中的小目标水果(尺寸<5×5像素)后,通过检测框与真实标注的坐标计算. 同时针对包含遮挡苹果和芒果的图像,在2个网络中计算出检测的置信度C,结果如表4所示.

表 4   遮挡场景下本研究方法和文献[8]方法网络检测能力的对比

Tab.4  Comparison of detection capabilities between proposed method and literature [8] method in occlusion scenes

水果 O /% C /%
本研究 文献[8] 本研究 文献[8]
苹果 90.37 86.48 92.46 90.75
芒果 88.14 85.91 90.83 89.10

新窗口打开| 下载CSV


可以看出,所提出的网络结构在遮挡场景中检测框的重叠率和置信度较文献[8]方法均有一定的提升. 在苹果数据集中,提升较为明显,由于在该数据集中苹果个体像素占比较大、遮挡率较高,文献[8]的网络在部分检测结果中将苹果遮挡程度较高的区块检测为2个以上的果实个体,且检测框不够完整;在芒果数据集中,由于遮挡程度不高且剔除了小个体,所提网络在重叠率和置信度上均提升较小.

本研究所提出的方法在遮挡场景中的优势主要体现在以下2个方面:一是DenseNet与FPN结合所提供的融合特征能够增强检测器对水果目标定位的准确性,即当水果间重叠时,在一定程度上避免预测框向重叠区域的偏移;二是在遮挡场景中检测器对NMS的阈值较敏感,使用Soft-NMS能够进一步确保包围遮挡水果间的检测框不被抑制从而减少漏检现象. 本研究方法在水果相互重叠的环境,即类内遮挡场景下效果更佳. 对于类间遮挡,更强的特征只能解决一部分问题,当遮挡率超过35%时检测效果将大打折扣,使用更多数据或采用两阶段的检测网络能够得到更好的候选区域.

5. 结果与讨论

5.1. 原数据集网络复现

表3中使用了文献[8]提供的数据,文献[8]提供了F1值的详细表格,而对于准确率和召唤率只给出了部分数据. 本研究采用Mxnet框架对文献[8]中使用的基于VGG16的Faster R-CNN网络进行复现,其中的数据增强方法和原文一致,而超参数由于原文没有给出,凭经验设置. 由于以上原因,本研究的实验结果与文献[8]的结果有一定的差距.

本研究另外采用基于ResNet的Faster R-CNN架构进行测试,由于Mxnet框架提供了在VOC数据集上预训练的模型,故并没有使用ImageNet数据集训练网络,而是直接使用该模型的参数进行水果数据集的迁移学习,其他数据增强的方法及超参数设置与VGG16版保持一致,实验结果如表5表示.

表 5   原数据集实验复现及F1值计算

Tab.5  Experiments recurrence of original dataset and F1 score calculation

水果 F1
VGG16(文献[8]) VGG16(本研究) ResNet
苹果 0.904 0.879 0.887
芒果 0.908 0.880 0.892
0.775 0.739 0.748

新窗口打开| 下载CSV


可以看出,对文献[8]中方法的复现均没有达到文献[8]的效果,原因可能有以下几方面:1)超参数的设置影响训练的结果,本研究复现使用的超参数完全凭经验设置,可能跟原文中存在差距;2)数据增强方法使用顺序及作用的图片可能与原论文不同;3)采用不同的深度学习框架最终取得的精度可能不同. 具体来说,凭经验设置的超参数会使最终的检测准确率及F1值产生一定范围内的波动. 这些波动主要体现在目标框与真实值的重叠率上,同时,波动范围受到参数和实验硬件条件两部分因素影响. 本研究的小目标水果及遮挡目标的检测准确率则主要受网络结构影响,因此,在保持参数统一的前提下,采用ResNet实现的架构较原版VGG16的准确率得到了提升.

5.2. FPN及Soft-NMS有效性验证

为了验证所提出结构的有效性,针对主网络中的FPN架构及Soft-NMS算法部分进行对比. 本实验将网络框架中金字塔结构的预测层及横向连接全部去除,只留下一条主干检测网络. 这样得到的网络结构类似于YOLO这种单级检测框架,采用最后一层提取的特征用于分类和边界框的回归. 结果如表6所示. 对于FPN结构的验证,只选用包含小目标较多的杏数据集进行测试.

表 6   有/无FPN结构的检测结果对比

Tab.6  Comparison of detection results with or without FPN structure

算法工况 P R F1
Faster R-CNN 0.775
无FPN结构 79.77 78.40 0.791
有FPN结构 83.53 81.94 0.828

新窗口打开| 下载CSV


表6所示,可以看出,即使没有添加FPN结构,采用DenseNet作为主网络的检测框架的F1值较Faster R-CNN仍有0.017的提升,说明DenseNet的密集连接有效减少了之前层的特征信息丢失. 在加入FPN结构之后,F1值进一步提升了0.037,可以看出多层金字塔特征拼接后的特征更适合表示小目标.

对于Soft-NMS算法的验证,选择采用将其替换为传统NMS方法来对3种水果数据集进行验证,结果由检测精度表示,如表7所示.

表 7   NMS与Soft-NMS检测精度的对比结果

Tab.7  Comparison of detection accuracy between NMS and Soft-NMS

水果 P
NMS Soft-NMS
苹果 92.96 93.17
芒果 93.18 93.35
84.07 84.42

新窗口打开| 下载CSV


可以看出,在采用Soft-NMS算法后,苹果、芒果、杏的检测精度分别提升了0.21、0.17和0.45,其中杏的检测精度提升最大,原因是杏图像数据中果实个体较小,容易造成多个果实只得到一个检测框的结果.

5.3. Soft-NMS稳定性验证

在4.2节中进行Soft-NMS与普通NMS算法的对比,但由表4的结果可以看出,Soft-NMS算法带来的提升并不明显,在芒果数据集中甚至仅有0.1%. 如何证明Soft-NMS能在水果检测中带来稳定的提升效果,而不是实验产生的误差,采用多次实验取平均值的方法. 在对3种水果的训练集数量、超参数及预处理方法进行微调的情况下,对使用Soft-NMS算法的精度Ru进行记录,结果如表8所示.

表 8   不同参数下Soft-NMS的提升率

Tab.8  Upgrade rate of Soft-NMS under different parameters

水果 Ru /%
实验1 实验2 实验3 实验4 实验5
苹果 0.18 0.09 0.2 0.14 0.14
芒果 0.37 0.32 0.41 0.34 0.35
0.63 0.55 0.65 0.61 0.60

新窗口打开| 下载CSV


可以看出,在采用不同数据集和实验参数的情况下,Soft-NMS均有一定的提升效果,虽然在芒果数据中,最低仅有0.09%的提升效果,但在不增加网络复杂度的前提下其作用可以肯定. 对于杏数据,则有着不错的提升,稳定在0.55%~0.65%,说明Soft-NMS对高重叠率的预测效果较明显,高重叠率也符合簇状水果的普遍特点. 对于自然图像中像素占比较大、结构相对分散的水果,采用Soft-NMS的提升效果有限. 由于实际操作中目标水果的位置难以控制,且采集图像时拍摄的部位和角度各有不同,往往存在目标果实相互遮挡重叠的现象,此类图像更符合实际的应用场景. 因此,本研究算法的使用也能保证检测网络对各种水果图像的鲁棒性. 对于单级结构的检测网络来说,产生检测框的数量完全由网络自身的设置决定,并不涉及区域候选过程,所以多数量小区域的候选框的生成更容易导致最终得到的检测框重叠部分超过阈值,所以Soft-NMS对这类数据的提升更大. 正因为如此,对于图像中目标重叠本身较少、个体分散的芒果数据,Soft-NMS只能得到有限的提升,因为该算法只能改善NMS算法对真阳性结果的误剔除,而不能改变原始的目标检测过程. 对于水果的类内遮挡场景,合理的边框预测策略才能从根本上解决问题. 如预测框出现在2个真实标注的中间位置,这也是实际检测过程中最经常出现的误检行为,此时就须重新设计损失函数来进行抑制,如Wang等[25]在行人检测任务中提出的Repulsion Loss方法,能进一步提升遮挡场景下的检测效果.

5.4. 实验误差分析

参考文献[8]的方法,并在Mxnet框架中复现实验结果,目的是在使用相同数据集的情况下,证明本研究方法的有效性. 虽然在复现中没有达到文献[8]的精度,但在本研究方法的实验中,依然取得了较文献[8]更优的结果. 对于3种不同的数据集,与苹果和芒果相比,杏个体更小,在图片中多呈现出簇状结构,且未成熟的杏与周围树叶的颜色更接近,同时训练数据更少,导致Faster R-CNN检测的结果不够理想.

相较于提供数据集的文献[8]中所使用的Faster R-CNN的主干网络VGG16,本研究的主干网络DenseNet实现了多层特征的复用,高层网络中的小目标视觉特征更为鲁棒. 文献[8]提出,数据集中的原始图像由单张图捕获整棵树,再进行子图像的划分,因此杏的果实分辨率最低,须使用大于30 MP的果树图像才能使像素密度达到与苹果和芒果同样的级别,子图像的低分辨率导致手动标记数据集更加困难. 由于Faster R-CNN采用单层预测,即使用网络最后一层的预测作为目标检测结果的输出,小目标在网络高层的可见性较差导致了Faster R-CNN对杏的检测精度较苹果和芒果差距较大. 本研究采用FPN结构对高层特征图进行上采样并与底层特征图横向连接,根据低层特征图小目标的可见性,从高层到低层单独预测,高分辨率的特征图也使得网络能更多地关注小区域信息,所以杏数据集的检测结果较文献[8]有较大提升.

6. 结 语

提出基于DenseNet-FPN-Soft NMS的水果目标检测网络,与传统目标检测网络相比,更注重水果数据的小目标和高重叠率的特点,在苹果、芒果、杏3个数据集上,检测速度达到43 FPS,准确率分别为93.19%、93.59%和84.31%.

DenseNet与FPN的结合较好地提升了检测网络对小目标的鲁棒性. Soft-NMS的使用进一步完善了对高遮挡率与重叠个体的处理,使得本研究的方法在果园自动化检测中具有一定的优势.

所提出的方法仍存在不足,如在DenseNet训练时的高内存占用率问题及检测速度仍然达不到YOLO等网络的实时性问题. 在接下来的研究中,将会针对其他水果数据集进行验证,并在网络层上添加进行遮挡检测的分支或重新设计损失函数以进一步提升检测的鲁棒性,高速度与高精度的模型将会逐渐应用于水果图像的实时采集与检测.

参考文献

NUSKE S, ACHAR S, BATES T, et al. Yield estimation in vineyards by visual grape detection [C]// 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems. San Francisco: IEEE, 2011: 2352-2358.

[本文引用: 1]

PAYNE A B, WALSH K B, SUBEDI P P, et al

Estimation of mango crop yield using image analysis: segmentation method

[J]. Computers and Electronics in Agriculture, 2013, 91: 57- 64

DOI:10.1016/j.compag.2012.11.009      [本文引用: 1]

INKYU S, ZONGYUAN G, FERAS D, et al

Deep fruits: a fruit detection system using deep neural networks

[J]. Sensors, 2016, 16 (8): 1222

DOI:10.3390/s16081222      [本文引用: 1]

GIRSHICK R, DONAHUE J, DARRELL T, et al

Region-based convolutional networks for accurate object detection and segmentation

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 38 (1): 142- 158

[本文引用: 1]

EVERINGHAM M, GOOL L V, WILLIAMS C K I, et al

The pascal visual object classes (VOC) challenge

[J]. International Journal of Computer Vision, 2010, 88 (2): 303- 338

DOI:10.1007/s11263-009-0275-4      [本文引用: 1]

UIJLINGS J R R, SANDE K E A V D, GEVERS T, et al

Selective search for object recognition

[J]. International Journal of Computer Vision, 2013, 104 (2): 154- 171

DOI:10.1007/s11263-013-0620-5      [本文引用: 1]

REN S, HE K, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (6): 1137- 1149

[本文引用: 1]

BARGOTI S, UNDERWOOD J. Deep fruit detection in orchards [C]// 2017 IEEE International Conference on Robotics and Automation. Singapore: IEEE, 2017: 3626-3633.

[本文引用: 26]

REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 779-788.

[本文引用: 1]

SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition [J/OL]. [2020-08-16]. https://arxiv.org/abs/1409.1556.

[本文引用: 1]

HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016: 770-778.

[本文引用: 1]

曾平平, 李林升

基于卷积神经网络的水果图像分类识别研究

[J]. 机械设计与研究, 2019, 35 (1): 23- 26

[本文引用: 1]

ZENG Ping-ping, LI Lin-sheng

Classification and recognition of common fruit images based on convolutional neural network

[J]. Machine Design and Research, 2019, 35 (1): 23- 26

[本文引用: 1]

薛月菊, 黄宁, 涂淑琴, 等

未成熟芒果的改进YOLOv2识别方法

[J]. 农业工程学报, 2018, 34 (7): 173- 179

DOI:10.11975/j.issn.1002-6819.2018.07.022      [本文引用: 1]

XUE Yue-ju, HUANG Ning, TU Shu-qin, et al

Immature mango detection based on improved YOLOv2

[J]. Transactions of the Chinese Society of Agricultural Engineering, 2018, 34 (7): 173- 179

DOI:10.11975/j.issn.1002-6819.2018.07.022      [本文引用: 1]

REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 7263-7271.

[本文引用: 1]

WAN S, GOUDOS S

Faster R-CNN for multi-class fruit detection using a robotic vision system

[J]. Computer Networks, 2020, 168: 107036

DOI:10.1016/j.comnet.2019.107036      [本文引用: 1]

MAI X, ZHANG H, JIA X, et al

Faster R-CNN with classifier fusion for automatic detection of small fruits

[J]. IEEE Transactions on Automation Science and Engineering, 2020, PP (99): 1- 15

[本文引用: 1]

SRIVASTAVA R K, GREFF K, SCHMIDHUBER J. Training very deep networks [C]// Advances in Neural Information Processing Systems. Montreal: Curran Associates, 2015: 2377-2385.

[本文引用: 1]

LARSSON G, MAIRE M, SHAKHNAROVICH G. Fractalnet: ultra-deep neural networks without residuals [J/OL]. [2020-08-16]. https://arxiv.org/abs/1605.07648.

[本文引用: 1]

HUANG G, LIU Z, VAN DER MAATEN L, et al. Densely connected convolutional networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 4700-4708.

[本文引用: 1]

LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 2117-2125.

[本文引用: 1]

NEUBECK A, VAN GOOL L. Efficient non-maximum suppression [C]// 18th International Conference on Pattern Recognition. Hong Kong: IEEE, 2006, 3: 850-855.

[本文引用: 1]

BODLA N, SINGH B, CHELLAPPA R, et al. Soft-NMS: improving object detection with one line of code [C]// Proceedings of the IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 5561-5569.

[本文引用: 1]

MATHIAS M, BENENSON R, TIMOFTE R, et al. Handling occlusions with franken-classifiers [C]// Proceedings of the IEEE International Conference on Computer Vision. Sydeny: IEEE, 2013: 1505-1512.

[本文引用: 1]

NING C, MENGLU L, HAO Y, et al. Survey of pedestrian detection with occlusion [J/OL]. Complex and Intelligent Systems. https://doi.org/10.1007/s40747-020-00206-8

[本文引用: 1]

WANG X, XIAO T, JIANG Y, et al. Repulsion loss: detecting pedestrians in a crowd [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 7774-7783.

[本文引用: 1]

/