技术领域
[0001] 本发明涉及目标检测领域,尤其是基于深度学习的目标检测领域,更具体的说,尤其涉及一种基于改进SSD算法的苹果目标检测方法。
相关背景技术
[0002] 苹果是我国种植面积最大、产量最高、经济地位最重要的水果,在发展我国农村经济、促进农民增收、改善生态环境、扩大出口方面均发挥了重要作用。并且我国是世界最大的苹果生产国和消费国。据FAO统计2017年我国苹果产量4450万吨,占世界苹果产量的58%,苹果消费3838万吨,占世界总额6458万吨的59%,产销量均居世界首位。
[0003] 苹果在成熟期间需要进行大量采摘,如果不在短时间内完成采摘,苹果就可能会掉落在地,造成损伤。但是采摘苹果是其中最耗时的环节之一,目前苹果采摘工作主要由人工完成。随着我国城市化的不断发展与推进,农村人口大量减少。以及人口老龄化不断加深,农村劳动力资源日趋紧张,急需自动化农业机械来改善这种状况。采摘机器人是一个混合农业科学、电子信息技术、计算机科学以及机械的设备。在自然环境中工作的农业机器人,所要面对的环境也不同于工业机器人需要充分考虑诸多影响因素。
[0004] 苹果目标识别与定位是苹果快速自动化采摘的关键技术之一,对实现苹果快速自动化采摘具有非常重要的意义。由于自然环境下的苹果采摘会受到自然光变换、果实颜色与树叶遮挡、树枝遮挡、果实之间相互遮挡等多种自然因素的影响,实现自然环境下生长苹果的目标检测算法就需要很好的泛化能力。
[0005] 特征金字塔网络(FPN)是Facebook提出的一种深度卷积神经网络,它主要解决的是目标检测的多尺度问题,通过对一些网络的改变,在基本不增加计算量的情况下,提高了小目标的检测准确率。
[0006] MobileNet是一款专注于在移动设备和嵌入式设备上的轻量级卷积神经网络,衍生有v1、v2、v3三个版本。其中,MobileNetV1是深度可分离卷积模型,它包括两个部分depth wiseconvolution和pointwise convolution,第一个部分是利用3×3的卷积对输入的通道进行滤波,不增加通道的数量,第二个部分是利用1×1的卷积对不同的通道进行连接,可以增加通道的数量,这样的设计方法可以大大的减少计算量。
[0007] SSD(Single Shot MultiBox Detector)算法是由北卡罗来纳大学的研究者提出的一种目标检测算法。它又叫单发多框检测算法主要由一个基础网络块和若干个多尺度特征块串联而成。其中基础网络块用来从原图像中抽取特征,一般会选取常用的深度卷积神经网络。用的比较多的是使用VGG,当然也有使用ResNet,本发明中采用的是MobileNetV1。SSD算法有一个比较显著的特点是可以检测不同大小的目标。由于SSD算法基于基础网络块和各个多尺度特征块生成不同数量和不同大小的锚框,并通过预测锚框的类别和偏移量检测不同大小的目标,因此SSD算法是一个多尺度的目标检测算法。
[0008] 但是原始SSD算法在检测苹果时,仍然存在识别率不够高,检测速度欠快的问题。
具体实施方式
[0052] 下面结合附图对本发明作进一步说明:
[0053] 如图1~8所示,一种基于改进的SSD算法的苹果目标检测方法,具体包括如下步骤:
[0054] 步骤一:样本数据采集
[0055] 在苹果收获季节前前往待检测的苹果种植园,使用移动时智能机器人搭载相机,拍摄待检测的苹果种植园内自然环境下树上苹果的图片;
[0056] 由于自然环境复杂多样性,分别采取如下七种情况下的苹果样本:树叶对苹果的遮挡、枝干对苹果的遮挡、苹果之间的相互遮挡、苹果的不同角度、不同时间苹果的图像、顺光与背光的苹果图像、混合遮挡;这七种情况下苹果样本采集的数量相同,且采集的所有情况下的苹果图片样本总数量超过10000张;
[0057] 步骤二:图像预处理
[0058] 为了克服自然环境中拍摄得到的图像中的噪声对图像特征提取过程的影响,同时为了保留苹果与背景的对比度和加快模型收敛速度,采用高斯滤波器对步骤一种采集到的所有苹果样本的图像进行滤波操作。
[0059] 所述步骤二中高斯滤波器对单张苹果样本图像进行的滤波操作是对整张图像进行加权平均的过程,苹果样本图像中每一个像素点的值都是通过该像素点的值与领域内的其他像素点的值加权平均后得到;对于单张苹果样本图像,高斯滤波是一个低通滤波操作,高斯函数如下:
[0060]
[0061] 式中,G0为新的像素值;A为幅值;ux、uy、σx和σy均为常数。
[0062] 步骤三:建立苹果图像库
[0063] 将步骤二中所有经过高斯滤波器进行滤波操作后的图像进行人工标注,人为的找出苹果在图像中所在的位置,在完成所有图像的标注之后,对图像进行随机抽取,将图像分为训练集和测试集;
[0064] 进一步的,所述步骤三中训练集和测试集的比例设置为3:1。
[0065] 步骤四:图像特征提取
[0066] 使用MobileNetV1特征提取网络提取步骤三中测试集的苹果图像的特征图,然后利用FPN将高层特征与上采样后的低层特征进行融合,并对原SSD算法中的锚框长宽比进行了适应于苹果形状的修改;
[0067] 进一步的,所述MobileNetV1是深度可分离卷积模型,它包括两个部分:depthwise convolution和pointwise convolution;其中,第一个部分是利用3×3的卷积对输入的通道进行滤波,不增加通道的数量;而第二个部分是利用1×1的卷积对不同的通道进行连接,可以增加通道的数量,这样的设计方法可以显著减少计算量;
[0068] 若输入图片大小为H×W×C,可以计算出经过一次传统卷积与MobileNetV1卷积的数据运算量。传统卷积的计算量为H×W×C×k×3×3;其中,k表示卷积核个数,3×3为卷积核大小;而MobileNetV1卷积的参数计算量为H×W×C×(3×3+k);可以发现,使用MobileNetV1进行卷积后,计算量显著降低,其压缩比如下式所示:
[0069]
[0070] 为了综合考虑大特征图与小特征图里的语义信息,采用FPN特征金字塔网络;先对特征图像进行卷积运算,进行多次下采样,然后再将下采样的最后一层进行上采样,使最后一层获得的小特征图变大,然后再与之前下采样获得的大特征图进行融合,融合后的特征图将具有更详细的语义信息和位置信息。
[0071] 需要说明的,在进行融合时要先对原先的大特征图进行1×1的卷积操作,来降低其维度。在融合操作之后也要用3×3的卷积核对每个融合结果进行卷积,消除上采样的混叠效应。
[0072] 利用MobileNetV1深度卷积神经网络与FPN网络的思想对SSD算法进行改进,然后再进行多尺度目标检测。其算法框架图如图3所示。
[0073] 要对图片中的目标进行精确地识别和定位依托于每个像素点产生的锚框,为了减小计算量,用均匀采样的方法减少锚框数量,具体原理在本发明中不再赘述。
[0074] 由于苹果是个球体,使用到的锚框长宽比接近正方形,因此将原SSD算法中锚框长宽比的比例ar∈{1,2,3,1/2,1/3}修改成了ar∈{1,4/3,3/2,3/4,2/3},让模型更快地收敛。
[0075] 步骤五:训练模型并预测
[0076] 选取训练集文件训练模型,设置训练参数,对于训练集使用小批量梯度下降法进行训练;训练得到的模型评价指标为AP,模型评价指标AP由精确率和召回率两部分组成,精确率表示预测的结果正确的数量,召回率表示找出的正确结果的数量,模型评价指标AP的计算公式如下:
[0077]
[0078] 式中,P(R)表示Precision-Recall(精确率-召回率)曲线;
[0079] AP即Average Precision,指的是平均精确度。
[0080] 进一步的,所述步骤五中AP的值越高则证明模型检测物体的准确率越高,即模型越好。
[0081] 上述实施例只是本发明的较佳实施例,并不是对本发明技术方案的限制,只要是不经过创造性劳动即可在上述实施例的基础上实现的技术方案,均应视为落入本发明专利的权利保护范围内。