基于改进DenseNet的水果小目标检测
Detection of small fruit target based on improved DenseNet
收稿日期: 2020-09-2
基金资助: |
|
Received: 2020-09-2
Fund supported: | 国家自然科学基金资助项目(61571400,61702456);浙江省自然科学基金资助项目(LY18C130012) |
作者简介 About authors
徐利锋(1983—),男,讲师,博士,从事植物虚拟建模及图像处理研究.orcid.org/0000-0003-4957-7559.E-mail:
针对自然环境中小目标水果的检测精度普遍较低的问题,提出基于DenseNet改进的水果目标检测框架. 构建以DenseNet为核心的多尺度特征提取模块,在DenseNet不同层级的稠密块中建立特征金字塔结构,加强网络层特征复用. 结合低层特征的高分辨率和高层特征的高语义性,实现准确定位和预测小目标水果存在的目的. 引入软阈值非极大值抑制(Soft-NMS)算法,改善簇状果实结构中检测框被误剔除的情况. 与常用的Faster R-CNN网络相比,所提出的框架在苹果、芒果和杏3个数据集中的平均检测速度大于40 FPS,F1值分别为0.920、0.928、0.831,实现了检测效率及精度的提升.
关键词:
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:
本文引用格式
徐利锋, 黄海帆, 丁维龙, 范玉雷.
XU Li-feng, HUANG Hai-fan, DING Wei-long, FAN Yu-lei.
水果产量预测是现代农业生产中的重要问题,传统的水果种植及收获须消耗大量人力和物力,包括果实的采摘、分拣及后续加工过程. 在水果未成熟阶段对产量进行预估可以提前对劳动力和机器进行分配和采购,从而提高生产效率. 计算机视觉方法为水果产量检测提供了高效手段,通过检测每棵树的水果数量,预估整个果园的水果产量,评估单位面积效益. 另外,精确的水果定位也有利于自动化采摘系统的实现.
室外果园图像数据通常由安装了传感器的地面车辆收集,这给水果检测带来了额外的挑战. 采集果树图像的传感器的视野须跨越整棵树木,这使较小尺寸的果实识别、重叠和遮挡的果实识别、纹路颜色与环境相近的果实识别、以及会导致重复计数的多角度图像里的水果识别等成为水果检测的难解之题. 同时,由于绝大部分数据是在室外场景中采集的,采集条件存在显著的类内变化:光照条件、传感器到水果的距离、相机视点等,这些情况导致监督学习的过程更加困难,也使得水果检测的准确率达不到理想效果,高分辨率的图像也给特征学习的过程带来了算法和硬件上的额外负担.
本研究对以Densenet为核心的深度学习检测器进行改进,对小尺寸及重叠遮挡果实的检测进行优化,设计适合室外场景下小目标水果图像检测的网络框架. 针对不同的水果数据集进行测试,包括苹果、芒果和杏. 1)改进DenseNet的网络层结构,使特征得到复用,即低层特征图的视觉特征信息能够有效传递;2)在改进的DenseNet架构中融入特征金字塔网络(feature pyramid network,FPN)结构,更好地利用低层特征的位置信息,加强对小目标的检测效果;3)添加软阈值非极大值抑制(soft-non-maximum suppression,Soft-NMS)算法,避免果实的重叠遮挡造成目标检测框被误剔除,减少假阳性(false positive)样本的出现概率.
1. 水果目标检测研究背景
现有研究人员对多种果园类型中的水果检测进行探索,通常将图像区域转换到特征空间并训练分类器,分类器将水果或背景对象(如树叶、树枝和地面)与特征相关联来执行检测. 基于计算机视觉的水果检测主要包括语义分割和目标检测2个步骤. 密集地执行语义分割操作,将图像按像素分类,并将感兴趣的对象分为相邻像素的组;使用低层图像特征的目标检测方法,即识别图像中的感兴趣区域(region of interest, RoI),如可能的果实区域,然后进行特征提取和分类.
Bargoti等[8]采用Faster R-CNN网络进行水果检测,对原始高分辨率图像进行分片来减少计算的消耗,并采用颜色空间转换、翻转位移、数据降维等方法进行数据增强,利用苹果、芒果、杏3个数据集进行验证均取得了不错的结果. 不过,Faster R-CNN是2-Stage的检测网络,检测速度较慢,且对小目标没有特殊的处理过程,导致杏数据的检测精度(77.5%)远低于苹果(90.4%)和芒果的(90.8%). 这种差距主要因为杏果实个体更小且多数为簇状结构,未成熟的杏果实呈青绿色,与树叶颜色接近,Faster R-CNN最后一步所采用的NMS方法会剔除部分真阳性(true positive)结果.
曾平平等[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. 目标检测基础结构和算法
DenseNet网络主体由交替串联的稠密块(dense block)和过渡块(transition bock)构成,通过全局的增长率配置更加简单,而过渡块每次将通道数减半. DenseNet主干网络建立了不同层的连接关系,充分利用图像特征,并保证目标检测分支网络所使用的特征图的有效性,结构图如图1所示.
图 1
DenseNet的卷积使用ResNet改进版本的BN->Relu->Conv,每个卷积的输出通道数被称为增长率α,假设输出为out,且有n层,那么输出的通道数为α+out+n. 由于DenseNet采用了拼接的方法,每经过一次拼接,输出通道数可能会激增. 为了控制模型复杂度,引入过渡块部分,不仅将输入的长宽减半,同时也使用1×1卷积来改变通道数.
图 2
图 3
对于水果遮挡而产生的高度重叠的检测框,本应输出多个框表示每个水果的预测,但采用传统的NMS方法可能会把得分较低的框过滤掉(如果包含同一个目标的2个框重叠度iou低于设定的阈值
Soft-NMS[22]方法对与检测框M有重叠的相邻检测框的检测分数进行衰减(而非将其分数直接设置为0),因此与M高度重叠的检测框出现假阳性结果的概率更大,它们的分数衰减更严重. 以bi表示第i个检测框,其分数重置函数如下:
对式(1)进行调整,使其为连续函数,避免得到的检测框集合中的分数出现断层,得到
式中:σ为高斯惩罚函数的超参数,D为筛选后的检测框集合. 式(2)即为本研究中作为目标检测得分的重置函数.
2.2. 改进的结构和算法
水果小目标检测的主网络采用DenseNet + FPN,通过对FPN金字塔结构添加子网络,进行分层预测,分别进行目标的分类和检测框的回归,最后将得到的检测框作为Soft-NMS函数的输入,得到最终的检测结果,结构图如图4所示.
图 4
对于检测网络中的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
目标检测网络参数的设置如表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
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 |
采用DenseNet161作为主干网络,并组合上述Cov-Pool-Dense Block模块进行特征提取,并在每一组特征中生成Anchor Box,并对检测框进行位置的回归及目标分类. 完整结构如图6所示.
图 6
在对输入的图像进行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. 实验数据
表 2 水果数据集参数
Tab.2
水果种类 | 分辨率/像素 | 训练集个数 | 验证集个数/测试集个数 |
苹果 | 200×308 | 729 | 112/112 |
芒果 | 500×500 | 1154 | 270/270 |
杏 | 300×300 | 385 | 100/100 |
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 本研究方法与Faster R-CNN对比
Tab.3
水果 | 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 |
如图7所示为苹果、杏及芒果检测结果的展示. 可以看出,对于重叠较多的部分,Soft-NMS算法能有效保留检测框重叠区域超过阈值的部分,而对于小目标检测也有着明显的提升. 对于杏数据集,由于图像质量本身的问题及未成熟杏与树叶颜色的相似性,仍产生了一部分漏检及错误检测的情况.
图 7
4.2. 遮挡场景中水果检测结果
对于网络在遮挡场景检测的检测效果,在苹果和芒果数据中手动筛选50张图片进行实验,原因是苹果及芒果个体像素占比相对较高,在遮挡场景的果实检测中更容易得到多个检测框重叠的结果,将检测框与真实标注数据的重叠率及每个水果个体的得分作为检测的标准.
如图8所示,对筛选出的部分图片进行验证,上、下2行分别为苹果及芒果的检测结果,在该场景中,只选取有重叠或遮挡的近景部分进行计算. 图中,绿色实线框表示预测结果,红色虚线框表示真实标注数据,绿色数字表示每个水果的得分,此部分不计算图像中的小目标个体. 通过对检测框重叠率进行计算,所提方法在保证整体数据准确性的同时,在遮挡场景中也有较好的表现. 不过,在光线环境较为昏暗的区域以及水果本身由于成熟度与背景颜色相近的场景下,目标检测框的得分普遍低于0.85.
图 8
对于遮挡场景检测的优化,通常的做法是添加额外的检测手段,如训练一组针对遮挡的检测器[23],或在CNN网络中增加遮挡部分的检测模块以优化损失函数[24]. 本研究对遮挡场景的对策主要体现在增强特征来得到更优的候选目标框,以及在筛选阶段保留重叠区域的检测结果. 为了说明本研究方法在遮挡场景中的有效性,与文献[8]中的ResNet网络进行相同场景下的对比. 由于文献[8]只给出了平均准确率及F1值,采用其给出的部分训练参数来复现该网络,并在筛选出的图片中进行验证,此部分仅比较遮挡场景中的检测效果. 结果的对比采用分别计算2种网络所得到的检测框与真实标注的重叠率O,在手动剔除图像中的小目标水果(尺寸<5×5像素)后,通过检测框与真实标注的坐标计算. 同时针对包含遮挡苹果和芒果的图像,在2个网络中计算出检测的置信度C,结果如表4所示.
本研究所提出的方法在遮挡场景中的优势主要体现在以下2个方面:一是DenseNet与FPN结合所提供的融合特征能够增强检测器对水果目标定位的准确性,即当水果间重叠时,在一定程度上避免预测框向重叠区域的偏移;二是在遮挡场景中检测器对NMS的阈值较敏感,使用Soft-NMS能够进一步确保包围遮挡水果间的检测框不被抑制从而减少漏检现象. 本研究方法在水果相互重叠的环境,即类内遮挡场景下效果更佳. 对于类间遮挡,更强的特征只能解决一部分问题,当遮挡率超过35%时检测效果将大打折扣,使用更多数据或采用两阶段的检测网络能够得到更好的候选区域.
5. 结果与讨论
5.1. 原数据集网络复现
本研究另外采用基于ResNet的Faster R-CNN架构进行测试,由于Mxnet框架提供了在VOC数据集上预训练的模型,故并没有使用ImageNet数据集训练网络,而是直接使用该模型的参数进行水果数据集的迁移学习,其他数据增强的方法及超参数设置与VGG16版保持一致,实验结果如表5表示.
表 5 原数据集实验复现及F1值计算
Tab.5
水果 | F1 | ||
VGG16(文献[8]) | VGG16(本研究) | ResNet | |
苹果 | 0.904 | 0.879 | 0.887 |
芒果 | 0.908 | 0.880 | 0.892 |
杏 | 0.775 | 0.739 | 0.748 |
可以看出,对文献[8]中方法的复现均没有达到文献[8]的效果,原因可能有以下几方面:1)超参数的设置影响训练的结果,本研究复现使用的超参数完全凭经验设置,可能跟原文中存在差距;2)数据增强方法使用顺序及作用的图片可能与原论文不同;3)采用不同的深度学习框架最终取得的精度可能不同. 具体来说,凭经验设置的超参数会使最终的检测准确率及F1值产生一定范围内的波动. 这些波动主要体现在目标框与真实值的重叠率上,同时,波动范围受到参数和实验硬件条件两部分因素影响. 本研究的小目标水果及遮挡目标的检测准确率则主要受网络结构影响,因此,在保持参数统一的前提下,采用ResNet实现的架构较原版VGG16的准确率得到了提升.
5.2. FPN及Soft-NMS有效性验证
为了验证所提出结构的有效性,针对主网络中的FPN架构及Soft-NMS算法部分进行对比. 本实验将网络框架中金字塔结构的预测层及横向连接全部去除,只留下一条主干检测网络. 这样得到的网络结构类似于YOLO这种单级检测框架,采用最后一层提取的特征用于分类和边界框的回归. 结果如表6所示. 对于FPN结构的验证,只选用包含小目标较多的杏数据集进行测试.
表 6 有/无FPN结构的检测结果对比
Tab.6
算法工况 | P | R | F1 |
Faster R-CNN | − | − | 0.775 |
无FPN结构 | 79.77 | 78.40 | 0.791 |
有FPN结构 | 83.53 | 81.94 | 0.828 |
如表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
水果 | P | |
NMS | Soft-NMS | |
苹果 | 92.96 | 93.17 |
芒果 | 93.18 | 93.35 |
杏 | 84.07 | 84.42 |
可以看出,在采用Soft-NMS算法后,苹果、芒果、杏的检测精度分别提升了0.21、0.17和0.45,其中杏的检测精度提升最大,原因是杏图像数据中果实个体较小,容易造成多个果实只得到一个检测框的结果.
5.3. Soft-NMS稳定性验证
表 8 不同参数下Soft-NMS的提升率
Tab.8
水果 | 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 |
可以看出,在采用不同数据集和实验参数的情况下,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]中所使用的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等网络的实时性问题. 在接下来的研究中,将会针对其他水果数据集进行验证,并在网络层上添加进行遮挡检测的分支或重新设计损失函数以进一步提升检测的鲁棒性,高速度与高精度的模型将会逐渐应用于水果图像的实时采集与检测.
参考文献
Estimation of mango crop yield using image analysis: segmentation method
[J].DOI:10.1016/j.compag.2012.11.009 [本文引用: 1]
Deep fruits: a fruit detection system using deep neural networks
[J].DOI:10.3390/s16081222 [本文引用: 1]
Region-based convolutional networks for accurate object detection and segmentation
[J].
The pascal visual object classes (VOC) challenge
[J].DOI:10.1007/s11263-009-0275-4 [本文引用: 1]
Selective search for object recognition
[J].DOI:10.1007/s11263-013-0620-5 [本文引用: 1]
Faster R-CNN: towards real-time object detection with region proposal networks
[J].
基于卷积神经网络的水果图像分类识别研究
[J].
Classification and recognition of common fruit images based on convolutional neural network
[J].
未成熟芒果的改进YOLOv2识别方法
[J].DOI:10.11975/j.issn.1002-6819.2018.07.022 [本文引用: 1]
Immature mango detection based on improved YOLOv2
[J].DOI:10.11975/j.issn.1002-6819.2018.07.022 [本文引用: 1]
Faster R-CNN for multi-class fruit detection using a robotic vision system
[J].DOI:10.1016/j.comnet.2019.107036 [本文引用: 1]
Faster R-CNN with classifier fusion for automatic detection of small fruits
[J].
/
〈 |
|
〉 |
