基于YOLOv4模型和卷积神经网络的水果成熟检测方法和系统

文档序号:30300736发布日期:2022-06-04 23:23阅读:657来源:国知局
基于YOLOv4模型和卷积神经网络的水果成熟检测方法和系统
基于yolov4模型和卷积神经网络的水果成熟检测方法和系统
技术领域
1.本发明涉及水果检测技术领域,具体涉及一种基于yolov4模型和卷积神经网络的水果成熟检测方法和系统。


背景技术:

2.目前水果成熟度检测方法大多数是基于光谱检测或者超声检测,需要使用价格高昂的仪器。虽然检测结果准确,但仪器价格高,仪器不易携带,很难得到普及。日常生活中需要一种便携且简单的水果成熟检测方法和系统,在生活中应用于对水果成熟的检测,以方便对于水果的储存。
3.yolov4模型作为一种实时目标检测模型,虽然能判断出是否存在水果和水果的种类,但是它无法判断出水果的成熟情况,具有一定的缺陷。


技术实现要素:

4.本发明的目的在于针对现有技术无法准确判断水果成熟的问题,提供一种基于yolov4模型和卷积神经网络的水果成熟检测方法和系统,通过在yolov4模型上结合水果成熟检测模型并结合树莓派,摄像头等,以实现在日常生活中对水果是否成熟进行检测。
5.为实现上述目的,本发明的技术方案是:一种基于yolov4模型和卷积神经网络的水果成熟检测方法,包括:
6.步骤s1、将训练图片输入,训练水果识别模型;
7.步骤s2、将来自水果识别模型的训练数据集输入,训练水果成熟检测模型;
8.步骤s3、通过摄像头和树莓派拍摄图片并将图片输入水果识别模型,输出水果图像;
9.步骤s4、将水果图像输入水果成熟检测模型,输出水果是否成熟情况。
10.在本发明一实施例中,步骤s1中,水果识别模型采用yolov4模型,其训练方式为:从互联网采集训练图片数据集,通过landmark在训练图片上将水果的主要特征进行标注,而后将标注的图片输入yolov4模型进行训练。
11.在本发明一实施例中,步骤s2中,水果成熟检测模型采用基于卷积神经网络的深度学习模型,其训练方式为:将水果识别模型输出的训练数据集预处理后输入基于卷积神经网络的深度学习模型进行训练;训练过程中,梯度更新采用sgd梯度优化器:
[0012][0013]
θ表示基于卷积神经网络的深度学习模型中的相关参数,η表示学习率,表示梯度,x(i)表示样本,y(i)表示样本的标签;
[0014]
通过损失函数计算基于卷积神经网络的深度学习模型的预测结果与真实结果的误差,采用 crossentropyloss交叉熵损失函数,
[0015][0016]
l表示损失函数的总值,li表示每个训练样本的损失函数值,n表示训练样本的数量;
[0017]
yi表示样本i的标签,成熟的一类为1,不成熟的一类为0;
[0018]
pi表示样本i预测为成熟一类的概率。
[0019]
在本发明一实施例中,所述步骤s3,即首先通过摄像头拍摄的实时画面中提取图片并进行处理;而后将处理的提取图片输入水果识别模型,检测提取图片中是否存在水果,所述水果识别模型采用yolov4-tiny算法模型;具体的,将yolov4-tiny算法模型的输出值输入以下函数:
[0020]
p=-relu(sin(2πx))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0021]
公式(1)中,relu函数表达形式为f(x)=max(0,x),对输入到函数中的值进行单侧抑制; x为yolov4-tiny算法模型的输出值,p为输出的图片中是否存在水果的概率值;若p小于阈值,则表示提取图片中不存在水果,若p大于阈值,则表示提取图片中存在水果,输出水果图像。
[0022]
在本发明一实施例中,步骤s4中,所述水果成熟检测模型采用基于卷积神经网络的深度学习模型,将水果图像输入基于卷积神经网络的深度学习模型,输出水果是否成熟情况的具体实现方式如下:
[0023]
首先通过如下公式(2)、(3)圈出水果图像中的水果,并裁剪只包含相应水果的图片;
[0024]
x,y,size=get_boundingbox(image,width,height)
ꢀꢀꢀꢀ
(2)
[0025]
cropped_fruit=image[y:y+size,x:x+size]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0026]
公式(2)表示在水果图像中调用get_boundingbox函数圈出水果图像中的水果,公式(3) 表示裁剪水果图像,即以公式(2)中圈出的水果图像中的水果为基准,重新生成一张只包含相应水果的图片,其中公式(2)中image表示含有水果的图像,width和height分别表示含有水果的图像的宽度和长度(以像素为单位),公式(2)和公式(3)中的x,y分别表示含有水果的图像中水果的最小宽度和最小长度(以像素为单位),size表示含有水果的图像中水果的最大宽度和最小宽度的差值与最大长度和最小长度的差值中较大的一个,cropped_fruit表示函数公式(3)的输出为一张只包含相应水果的图片;
[0027]
而后将新图片通过基于卷积神经网络的深度学习模型,输出水果是否成熟的判断。
[0028]
在本发明一实施例中,所述基于卷积神经网络的深度学习模型包括四个卷积层、两个池化层、一个flatten层和若干全连接层;其中,卷积层用于提取特征,池化层用于降采样,flattten 层用于降维,全连接层起到分类器的作用,将输入的水果图片分为成熟和未成熟两类。
[0029]
本发明还提供了一种基于yolov4模型和卷积神经网络的水果成熟检测系统,包括:
[0030]
水果识别单元,通过识别摄像头拍摄的画面来识别画面中是否有水果出现,输出水果图像;
[0031]
水果成熟检测单元,对水果图像进行预处理,并基于卷积神经网络的深度学习模型对识别的水果图像进行检测,检测水果成熟情况;
[0032]
检测输出单元,输出是否检测到水果以及水果是否成熟的检测情况。
[0033]
在本发明一实施例中,所述水果识别单元采用yolov4模型;yolov4模型中识别网络采用轻量级yolov4-tiny结构。
[0034]
在本发明一实施例中,所述基于卷积神经网络的深度学习模型包括四个卷积层、两个池化层、一个flatten层和若干全连接层;其中,卷积层用于提取特征,池化层用于降采样,flattten 层用于降维,全连接层起到分类器的作用,将输入的水果图片分为成熟和未成熟两类。
[0035]
在本发明一实施例中,所述水果识别单元、水果成熟检测单元、检测输出单元在树莓派上运行。
[0036]
相较于现有技术,本发明具有以下有益效果:
[0037]
1、本发明在yolov4模型基础上结合水果成熟检测模型,以对水果的成熟进行检测,并使用轻量级yolov4-tiny结构作为yolov4模型中识别网络,以提高检测的精度和速度。
[0038]
2、本发明可运用于日常生活中水果成熟的检测,以方便对于水果的储存。
附图说明
[0039]
图1为本发明一实施例的基于yolov4模型和卷积神经网络的水果成熟检测系统的示意图。
[0040]
图2为本发明一实施例的水果成熟检测单元示意图。
[0041]
图3为本发明一实施例的基于yolov4模型和卷积神经网络的水果成熟检测方法的示意图。
[0042]
图4为本发明一实施例的水果成熟检测模型示意图。
具体实施方式
[0043]
下面结合附图1-4,对本发明的技术方案进行具体说明。
[0044]
本发明一种基于yolov4模型和卷积神经网络的水果成熟检测方法,包括:
[0045]
步骤s1、将训练图片输入,训练水果识别模型;
[0046]
步骤s2、将来自水果识别模型的训练数据集输入,训练水果成熟检测模型;
[0047]
步骤s3、通过摄像头和树莓派拍摄图片并将图片输入水果识别模型,输出水果图像;
[0048]
步骤s4、将水果图像输入水果成熟检测模型,输出水果是否成熟情况。
[0049]
本发明还提供了一种基于yolov4模型和卷积神经网络的水果成熟检测系统,包括:
[0050]
水果识别单元,通过识别摄像头拍摄的画面来识别画面中是否有水果出现,输出水果图像;
[0051]
水果成熟检测单元,对水果图像进行预处理,并基于卷积神经网络的深度学习模型对识别的水果图像进行检测,检测水果成熟情况;
[0052]
检测输出单元,输出是否检测到水果以及水果是否成熟的检测情况。
[0053]
所述水果识别单元、水果成熟检测单元、检测输出单元在树莓派上运行。
[0054]
以下为本发明具体实施过程。
[0055]
如图1、2所示,本发明一种基于yolov4模型和卷积神经网络的水果成熟检测系统,包括水果识别单元,水果成熟检测单元,检测输出单元。该系统还包括一些硬件设备,如树莓派,摄像头等。
[0056]
摄像头通过实时拍摄获取画面,树莓派运行程序驱动水果识别单元、水果成熟检测单元和输出单元;水果识别单元通过识别摄像头拍摄的画面来识别画面中是否有水果出现;水果成熟检测单元对检测到的水果图像进行检测,检测水果成熟情况;检测输出单元显示是否检测到水果以及水果成熟的检测情况。
[0057]
如图3所示,本发明一种基于yolov4模型和卷积神经网络的水果成熟方法,具体包括如下步骤:
[0058]
s1、将训练图片输入基于yolov4模型的水果识别单元。
[0059]
本实施例中,yolov4模型须经过训练,从互联网采集数据集,通过landmark将水果的主要特征标注出来,以方便在训练过程中将水果与其余的背景信息区分开。
[0060]
s2、将来自水果识别单元的训练数据集输入水果成熟检测单元以训练水果成熟检测单元中基于卷积神经网络的深度学习模型。
[0061]
本实施例中,基于卷积神经网络的深度学习模型须经过训练,输入获取的训练数据集,通过图像处理模块对训练数据集的图像进行预处理,将图像输入深度学习模型对卷积神经网络进行训练。在训练过程中,梯度更新采用stochastic gradient descent(sgd)梯度优化器,
[0062][0063]
θ表示基于卷积神经网络的深度学习模型中的相关参数,η表示学习率,表示梯度, x(i)表示样本,y(i)表示样本的标签;
[0064]
通过损失函数计算基于卷积神经网络的深度学习模型的预测结果与真实结果的误差,采用 cross entropy loss交叉熵损失函数,
[0065][0066]
l表示损失函数的总值,li表示每个训练样本的损失函数值,n表示训练样本的数量;
[0067]
yi表示样本i的标签,成熟的一类为1,不成熟的一类为0;
[0068]
pi表示样本i预测为成熟一类的概率。
[0069]
s3、通过摄像头和树莓派拍摄图片并将图片输入水果识别单元。
[0070]
本实施例中,使用轻量级yolov4-tiny结构作为yolov4模型中识别网络,yolov4-tiny 相比于yolov3-tiny有比较大的提升。v4表示这是yolo系列的第四代结构。yolov4-tiny 结构是yolov4的精简版,属于轻量化模型,参数只相当于原来的十分之一,使得检测速度大大提升。
[0071]
s4、将图像输入水果成熟检测单元,输出是否成熟。
[0072]
本实施例中,将训练完成的yolov4模型输出的图像通过水果成熟检测单元中的图像处理单元调整为32*32pixel大小并进行一系列的图像处理,之后输入水果成熟检测模型。如图4所示,水果成熟检测模型包括四个卷积层,两个池化层,一个flatten层和若全连接层。卷积层用于提取特征,池化层用于降采样,flattten层用于降维,全连接层用于起到分类器的作用,将输入的水果图片分为成熟和未成熟两类。
[0073]
本实施例中,采取4块geforcertx2080ti显卡进行训练yolov4-tiny和水果成熟检测模型。通过测试集进行测试,能达到67.75%的准确度。
[0074]
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1