一种基于改进的YOLOV5网络的垃圾食品检测方法

文档序号:32603019发布日期:2022-12-17 17:40阅读:55来源:国知局
一种基于改进的YOLOV5网络的垃圾食品检测方法
一种基于改进的yolov5网络的垃圾食品检测方法
技术领域
1.本技术涉及深度学习目标检测领域,特别涉及一种基于yolov5改进网络模型的垃圾食品检测与识别方法。


背景技术:

2.随着社会社会经济的发展,人们生活水平越来越高,人们在对食物的追求越来越高,然而由于不良的一些饮食习惯,我们的肥胖相关的问题越来越严重。根据《中国居民营养与慢性病状况报告(2020年)》的最新数据,超重和肥胖已经成为国人的突出问题之一。肥胖是万病之源,焦虑、抑郁、非酒精性脂肪肝、高血压、冠心病、胃食管反流病、糖尿病、骨关节炎等疾病的发生都于肥胖有关。
3.垃圾食品是产生肥胖的重要原因之一,然而很多人并不是很清楚那些食物是垃圾食品,本发明将改进的yolov5检测运用到食品检测中,能够快速的检测辨别是否是垃圾食品,帮助人进行判断和识别,减少人对于垃圾食品的摄入量。此方法可以部署到边缘设备中,自动的识别多种垃圾食品,处理速度快,检测精度高。有一定的应用价值。


技术实现要素:

4.本技术的目的在于提供一种基于改进的yolov5网络的垃圾食品检测方法,以解决上述背景技术中提出的如何快速检测辨别是否是垃圾食品,帮助人进行判断和识别,减少人对于垃圾食品的摄入量的问题。
5.为实现上述目的,本技术提供如下技术方案:包括以下步骤:
6.s1、采集图像,搜寻垃圾食品图像;
7.s2、对所述s1采集到垃圾食品图像进行标注,从而形成垃圾食品的样本库;
8.s3、将所述s1采集到的垃圾食品图像进行数据增强,对所述s2中的样本库进行锚框选择;
9.s4、将所述s3锚框选择后的样本库进行样本划分;
10.s5、构建改进的yolov5网络;
11.s6、构建检测网络模型;
12.s7、将所述s3中预处理好的垃圾食品的图片输入至所述s6中训练好的垃圾食品检测网络模型中,检测图片内垃圾食品的位置和种类并输出结果。
13.优选的,所述s1中的搜寻垃圾食品图像方法包括百度和谷歌的搜索引擎进行搜索相关图片以及编写python程序进行图片的爬取。
14.优选的,所述s2中标注的方法为:通过labelimg工具对采集的垃圾食品的图片进行标注。
15.优选的,所述s3中的数据增加方法包括图像进行随机旋转、图像进行随机剪裁,随机缩放以及随机排布。
16.优选的,所述s3的锚框选择具体为k-means的聚类方法。
17.优选的,所述s4中的样本划分将样本具体划分为训练集、验证集和测试集三种。
18.优选的,所述s5中构建改进yolov5网络的方法为:选用了基础的网络 yolov5,将原始的yolov5中darknet53主干提取网络中的c3模块替换为 shuffle block模块,对输入的图片进行特征提取;
19.将原yolov5结构的检测头中fpn结构和pan结构中的c3模块替换为 shuffle block模块,将所有的卷积模块替换为深度可分离卷积,对各层进行特征融合;
20.将原yolov5三个检测头的,增加一个可以检测小目标的检测头,另外对检测头中panet网络结构中通道数拼接操作改为通道值之间相加,降低的网络模型的参数。
21.优先的,所述s6构建检测网络模型的具体方法为:采用giou_loss作为位置的损失函数,采用二值交叉熵函数做为分类和置信度的损失函数来构建模型;
22.利用改进好的yolov5构建垃圾食品检测网络,将预处理的好的数据集经过gpu进行训练,然后选择一个在训练集得到最好效果的模型权重进行模型构建。
23.优先的,所述s7中的输出结果方式为:将模型预测的结果采用非极大值抑制的方法除去对多个冗余的检测框进行筛选。。
24.本技术的技术效果和优点:
25.1、本发明将改进yolov5网络应用在垃圾食品检测,能够识别准确的判断20种垃圾食品,处理速度快和检测精度高。并且与为改进前的模型相比,模型使用的参数大大下降,推理速度也进一步提升,模型能够部署在一些边缘设备上如手机等。对于垃圾食品检测方面,具有一定的应用和使用价值。
附图说明
26.图1为本技术的一种基于改进的yolov5网络的垃圾食品方法的方法流程图;
27.图2为本技术的一种基于改进yolov5网络的垃圾食品方法的原始yolov5 的c3结构结构图;
28.图3为本技术的一种基于改进yolov5网络的垃圾食品方法的shuffle block结构图;
29.图4为本技术的一种基于改进yolov5网络的垃圾食品方法的改进的新增分支panet尺寸变化图;
30.图5为本技术的一种基于改进yolov5网络的垃圾食品方法的改进yolov5 的整体结构图;
31.图6为本技术的一种基于改进yolov5网络的垃圾食品方法的训练数据的种类以及训练集、测试集、验证集的数量图。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.本技术提供了如图1-图6所示的一种基于改进的yolov5网络的垃圾食品检测方
法,参照图1,所述基于yolov5网络的垃圾食品检测的方法包括以下步骤:
34.步骤一、采集图像,对垃圾食品图像进行收集,对垃圾食品的收集,通过百度和谷歌的搜索引擎进行搜索以及编写python程序进行图片的爬取,并且所有收集到的图片都是没有进行处理。
35.步骤二、在采集图像中,进行标注,使用labelimg工具对图片进行标注,将图片标注为yolo格式,主要的标注信息有,图片中垃圾食品的种类、长宽尺寸,以及所在位置的坐标,通过标注来获得20个种类的垃圾食品,包括 biriyani(印度炒饭)、burger(汉堡)、chicken nuggets(炸鸡块)、 hot dog(热狗)、chips(炸薯条)、kabab(羊肉串)、cheese(奶酪)、 meatloaf(烘肉卷)、muffin(松饼)、nachos(烤玉米片)、cookie(曲奇饼干)、corndogs(玉米狗)、ice-cream(冰淇淋)、pizza(披萨)、cheesecake (小蛋糕)、crispy chicken(炸鸡)、sandwich(三明治)、waffles(华夫饼)、instant noodles(方便面),每个种类的图片大约200张,具体样本数据如图6所示。
36.步骤三、将采集的多种类别的垃圾食品图像进行数据增强,增强的方式包括:图像进行随机旋转、图像进行随机剪裁,随机缩放以及随机排布等,然后对增强的样本集进行锚框选择,具体k-means的聚类方法的步骤如下:
37.1、读取垃圾食品训练集中每张图片的长宽高以及所有标注的真实框的的宽高;
38.2、将垃圾食品每张图片中宽高的最大值等比例缩放到指定大小图片大小;
39.3、将垃圾食品图片标注的真实框从相对坐标改成绝对坐标;
40.4、筛选标注的真实框,保留宽高都大于等于两个像素的真实框;
41.5、使用k-means聚类得到9个锚框使用遗传算法随机对锚框的宽高进行变异,如果变异后效果变得更好就将变异后的结果赋值给锚框,如果变异后效果变差就跳过,默认变异1000次。
42.6、将最终变异得到的锚框按照面积进行排序并返回。
43.步骤四、然后进行样本划分,将样本划分为训练集、测试集和验证集,划分的比例为8:1:1。
44.步骤五、如图2所示,选定yolov5作为原始的基准网络模型,在原始的模型基础上,改进模型的结构,对模型的主干结构进行了替换,把原始yolov5 的主干结构中的c3模块进行改变原始的c3模块;
45.如图3所示,将原始的c3模块替换为shuffle block模块,对于标准步长为1的shuffle block结构,将输入的特征图分先通过通道分割,然后分成两个左右分支,左边分支不做任何操作输出,右边分支依次经过卷积层、bn 层与relu激活函数、深度可分离卷积、卷积层、bn层与relu激活函数然后输出,,两条分支输出进行合并,进行通道混合最终进行整体输出,对于标准步长为2的shuffle block结构,不进行通道分割,直接分成两个分支,左边分支依次经过深度可分离、卷积层、bn层与relu激活函数后输出,右边依次经过卷积层、bn层与relu激活函数、深度可分离、卷积层、bn层与relu 激活函数后输出,两条分支输出进行合并,进行通道混合最终进行整体输出;
46.将原yolov5结构的检测头中fpn结构和pan结构中的c3模块替换为 shuffle block模块,将所有的卷积模块替换为深度可分离卷积,对各层进行特征融合,需要说明的是fpn是feature pyramid networks的缩写,pan是 path aggregation network的缩写;
47.如图4和图5所示,为了能更好的检测较小的目标,将原yolov5三个检测头的,增加了一个检测小目标的检测头将检测头通道接改为通道数相加,可以很大程度降低的网络模型的参数。
48.步骤六、采用giou_loss作为位置的损失函数,采用二值交叉熵函数做为分类和置信度的损失函数来构建模型,然后利用改进好的yolov5构建多种类的垃圾食品检测网络,将预处理的好的数据集经过gpu进行训练,然后选择一个在训练集得到最好效果的模型权重进行模型构建。
49.步骤七、将模型预测的结果采用非极大值抑制的方法除去对多个冗余的检测框进行筛选,即设定一个阈值,然后把所有的检测框根据类别进行排序,选择得分最高的检测框,然后让这个检测框与其的框计算iou值,如果所计算的iou值大于其设定的值,则我们会除去该选择框,然后继续选择得分最高的,重复以上的步骤,找到所有保留的检测框,然后将其绘制在图片上,得到最终的结果。
50.最后应说明的是:以上仅为本技术的优选实施例而已,并不用于限制本技术,尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1