一种基于改进YOLOv3的菜品识别方法技术

技术编号:27840728 阅读:42 留言:0更新日期:2021-03-30 12:25
本发明专利技术公开了一种基于改进YOLO v3的菜品识别方法,该方法使用基于深度学习的目标检测算法,识别出菜品的种类并回归出目标的边界框,为机器人打菜操作提供类别信息与相对位置信息。该方法基于One

【技术实现步骤摘要】
一种基于改进YOLO v3的菜品识别方法


[0001]本专利技术属于数据处理
,具体涉及一种基于改进YOLO v3的菜品识别方法。

技术介绍

[0002]目前国内众多快餐店、学校、工厂等单位的餐厅和食堂中打菜工作枯燥、人工需求大、劳动力成本高。利用机器人代替人工完成打菜操作成为一种解决方案之一。使用面向餐厅服务的智能机器人系统要完成打菜的操作,要求机器人能够完全代替人眼完成对菜品的识别,即需要识别输入图像中各个菜品的类别及其所属区域。
[0003]由于中餐菜品不仅种类繁多,不同菜品之间可能看起来很相似,且同一菜品每次烹制完成的色、形都存在差异,这些情况都增加了菜品识别的难度,导致菜品的识别率低,速度慢。现有技术对菜品的识别工作,是对已经盛放在如碗等的用餐工具中的菜品,并非直接对盛放在食堂盛菜盆等器皿中的菜品进行识别,这种识别方法还是需要工作人员提前将菜品盛入碗中,打菜过程依然需要人工参与。如果将该方法直接用于对盛菜盆中的菜品识别,由于每次盛菜后菜品的数量发生变化导致图像也发生变化,会降低识别的准确率。
[0004]近年来,随着神经网络与深度学习的快速发展,众多优秀的目标检测网络被提出,目标检测的两个关键任务是目标分类与目标定位。其中YOLO V3算法实现了在目标检测任务中速度与性能的较好平衡。由于YOLO V3的特征提取部分对于不同通道间特征的关注度是一样的,但是某些通道中的特征对于网络具有更大的价值,需要网络更多的关注这些通道的特征信息。同时,特征提取部分的标准卷积在输入特征图上只能进行固定几何形状的采样,而这样的卷积神经网络在几何形变的建模上将受到限制,不能很好的适应未知的形变。

技术实现思路

[0005]针对现有技术的不足,本专利技术提出了一种基于改进YOLO v3的菜品识别方法,对YOLO V3算法进行优化改进,将SE模块嵌入Darknet53的残差模块中,并引入可变形卷积DC,在无需人工参与的条件下完成对食堂盛菜盆中菜品的识别。
[0006]一种基于改进YOLO v3的菜品识别方法,具体包括以下步骤:
[0007]步骤一、数据采集
[0008]利用相机对餐厅打菜窗口盛有不同菜品的盛菜盆进行图像拍摄;
[0009]步骤二、图像预处理
[0010]对步骤一中采集到的图像进行分析处理以及数据增强;
[0011]作为优选,所述数据增强的方法为对图像随机加入少量的高斯噪声提升网络的推理与泛化能力。
[0012]步骤三、数据集划分
[0013]使用步骤二中增强处理后的图像制作数据集,对图像中的菜品类别以及边界框进行标注,将标注的菜品类别与边界框称为真实类别与真实框,再将标注后的数据集划分为
训练集、验证集与测试集;
[0014]步骤四、数据集分析处理
[0015]对标注后的数据集进行可视化分析,分别统计训练集、验证集与测试集中各个类别的真实框数量,对真实框数量少于所有类别真实框平均值一半的菜品图像进行数据扩充。所述数据扩充的方法为对真实框数量较少的菜品图像随机进行真实框图像扣出或整张图像选择,然后使用pix2pix图像风格迁移对扣出或选择的图像进行转化,将转化后的结果加入到数据集中完成数据扩充。
[0016]步骤五、构建特征提取与分类模型
[0017]YOLO v3网络包括特征提取部分和预测部分,对其特征提取部分进行优化、改进,构建用于特征提取与分类的神经网络结构。YOLO v3网络的特征提取部分为Darknet53,包含5个残差块,每个残差块由一个2倍下采样卷积层CBL和一组重复的残差单元组成,其中CBL由2D

Convolution、Batch Normalization和Leaky ReLU构成。本方法将SE模块嵌入到残差单元中,构成新的残差单元。新的残差单元的结构为:输入特征图x,经过(1
×
1,1)与(3
×
3,1)的两个CBL后输出特征图f,该输出特征图f经过由Global Pooling、FC+Relu与FC+Sigmoid构成的SE模块后得到的残差输出再与输出特征图f进行加权相乘,加权结果再与输入特征图x进行叠加,5个残差块中残差单元的重复次数依次为1、2、8、8、4;将最后一个残差块的输出与一层可变形卷积DC相连,组成网络的特征提取部分。
[0018]可变形卷积DC在标准卷积的操作基础上加入一个可学习的偏移参数

p
n
,偏移参数

p
n
通过对输入特征层做卷积得到,根据公式(1)计算当前点p0对应的输出y(p0):
[0019][0020]其中R={(

1,

1),(0,

1),(1,

1),(

1.0),(0,0),(1,0),(

1,1),(0,1),(1,1)},w(p
n
)为卷积参数,x(p0+p
n
)为特征图输入,p0+p
n
对应从输入特征上采样的以p0为中心、向四周扩散的9宫格网络上的9个位置,p0+p
n
+

p
n
对应偏移后的9个位置。将输入的特征图上的每个点依次作为当前点p0计算其输出y(p0),即完成特征提取。
[0021]预测部分借鉴了FPN的思想,将特征提取网络中第3、4个残差块与最后一层DC的输出进行特征融合,产生52
×
52、26
×
26、13
×
13三个不同尺度的特征图,分别在这三个特征图上预测输出目标包围框中心点坐标(x,y)的调整参数、先验框宽度和高度(w,h)的调整参数以及类别置信度和预测概率。其中,13
×
13的特征图用于大目标的预测,26
×
26的特征图用于中等目标的预测,52
×
52的特征图用于小目标的预测。
[0022]步骤六、分类模型训练与优化
[0023]使用在大型数据集上充分训练过的模型进行预训练迁移,输入训练集对模型进行训练,在每次迭代结束后使用验证集对模型进行交叉验证,计算训练损失。采用学习率调整策略,使标签更平滑,再逐层精调网络;
[0024]学习率调整策略为在模型优化初期使用WarmUp策略,当训练损失下降变得平缓后使用余弦衰减策略,让学习率更加平滑,提供周期性变化的学习率使网络跳出局部最优;其中,损失包括中心点坐标(x,y)的损失、anchor的(w,h)损失、置信度损失和类别预测损失。
[0025]对网络进行逐层精调是指将整个网络分为特征提取网络以及三个YOLO预测分支层,冻结特征提取网络后再分别冻结三个YOLO预测层中的两个,对剩下的那个YOLO预测层
进行微调。
[0026]当达到设置的迭代次数时,完成模型的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进YOLO v3的菜品识别方法,其特征在于:具体包括以下步骤:步骤一、数据采集;利用相机对餐厅打菜窗口盛有不同菜品的盛菜盆进行图像拍摄;步骤二、图像预处理;对步骤一中采集到的图像进行分析处理以及数据增强;步骤三、数据集划分;使用步骤二中增强处理后的图像制作数据集,对图像中的菜品类别以及边界框进行标注,将标注的菜品类别与边界框称为真实类别与真实框,再将标注后的数据集划分为训练集、验证集与测试集;步骤四、数据集分析处理;对标注后的数据集进行可视化分析,分别统计训练集、验证集与测试集中各个类别的真实框数量,对真实框数量少于所有类别真实框平均值一半的菜品图像进行数据扩充;步骤五、构建特征提取与分类模型;将SE模块嵌入到YOLO v3网络特征提取部分的Darknet53网络5个残差块的残差单元中,构成新的残差单元;新的残差单元的结构为:输入特征图x,经过(1
×
1,1)与(3
×
3,1)的两个2倍下采样卷积层CBL后输出特征图f,该输出特征图f经过由Global Pooling、FC+Relu与FC+Sigmoid构成的SE模块后得到的残差输出再与输出特征图f进行加权相乘,加权结果再与输入特征图x进行叠加,5个残差块中残差单元的重复次数依次为1、2、8、8、4;将最后一个残差块的输出与一层可变形卷积DC相连,组成网络的特征提取部分;预测部分将特征提取网络中第3、4个残差块与可变形卷积DC的输出进行特征融合,产生52
×
52、26
×
26、13
×
13三个不同尺度的特征图,分别在这三个特征图上预测输出目标包围框中心点坐标(x,y)的调整参数、先验框宽度和高度(w,h)的调整参数以及类别置信度和预测概率;步骤六、分类模型训练与优化;使用在大型数据集上充分训练过的模型进行预训练迁移,输入训练集对模型进行训练,在每次迭代结束后使用验证集对模型进行交叉验证,计算训练损失;采用学习率调整策略,使标签平滑后,再逐层精调网络;当达到设置的迭代次数时,完成模型的训练优化,保存模型参数;步骤七、模型测试与结果分析;将测试集输入步骤六优化后的分类模型中,针对输出结果中出现分类置信度低、候选框冗余重复等问题,使用改进的NMS方法进行分析,包括以下步骤:s7.1、设置置信度阈值score_threshold、IOU阈值iou_threshold1和nIOU阈值iou_threshold2的取值为0.3~0.5,通过非极大抑制选择的框的最大数量max_output_size的值根据步骤四分析统计的每张图像真实框的数量进行设置;s7.2、剔除置信度低于score_threshold的检测框;s7.3、对步骤7.2筛选后的检测框采用NMS方法,剔除IOU值大于iou_threshold1的检测框,当保留的检测框数量达到设定的max_output_size的值时,将剩余的检测框全部剔除,进入步骤7.4,IOU值的计算方法如下:
其中,A表示剩余的检测框,B表示已经被保留的检测框;s7.4、对步骤7.2筛选后的检测框采用NMS方法,剔除nIOU值大...

【专利技术属性】
技术研发人员:高明裕石杰董哲康林辉品陈超
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1