掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明属于图像目标检测领域,具体涉及一种基于LR-CenterNet的快餐菜品旋转目标检测方法。

背景技术

随着深度学习技术的深入发展和日渐成熟,深度学习技术在人脸识别、语音识别、自然语言处理、无人驾驶等领域都作出了巨大的贡献,极大地便利了人类的生活。餐饮行业也不例外的在深度学习技术的加持下实现菜品的自动识别、自动计价、营养分析等更加便利的功能,极大地减少了收银员的工作负担、提高收银效率、较少了顾客排队和等待的时长。深度学习方法与通过餐盘底部内嵌RFID射频芯片等类似的借助硬件辅助而实现的菜品识别方法相比具有高效、经济、易迁移的绝对优势。从目前来看,使用深度学习方法实现菜品识别功能的技术主要包括两类:One-Stage方法和Two-Stage方法。

One-Stage方法直接通过主干网络提取特征来同时预测物体的位置和类别。常见的One-Stage算法有YOLO系列和SSD算法。Two-Stage方法将检测分为两步,主要思想是先通过卷积神经网络生成一系列的目标区域候选区域,即区域建议,然后对这些目标候选区域进行分类和回归,代表算法有R-CNN、Fast R-CNN等。

通过对餐饮行业的充分调研和分析后发现,某一个快餐餐厅的菜单随着季节变化、菜品原料价格的浮动而经常性的发生变化,但同时每一个快餐餐厅用于盛装菜品的餐盘是固定不变的。对于One-Stage方法来说,菜单的经常性变化就会导致其网络模型的经常性更新,且One-Stage方法的网络训练时间通常较长(YOLOv3的训练时长为5~8小时),模型更新不便利,且模型识别准确率不如Two-Stage方法。对于Two-Stage方法,盛装菜品的餐盘固定不变意味着菜品的位置信息的特征是长期稳定的,餐厅菜单更新时只需要更新Two-Stage方法中的分类和回归部分的网络模型,而不需要更新生成菜品候选区域的网络模型部分。因此,在快餐行业的实际应用场景中,Two-Stage方法比One-Stage方法更加合适。

但是,Two-Stage方法在识别菜品位置时使用的是矩形框进行位置的标注,如图1所示,这种标注方法在一些不规则的尤其是采用长方形或类长方形菜碟盛放的不规则菜品图像中,会产生大量的背景噪声,影响下一步菜品的分类和回归的准确率。

因此,如何在Two-Stage方法中,针对含有长方形菜碟的不规则菜品图像实现快速、准确的目标检测获得代表其位置的外包框,是目前亟待解决的技术问题。

发明内容

本发明的目的在于解决现有技术中针对含有长方形菜碟的不规则菜品图像的目标检测速度较慢、准确率不高的问题,并提供一种基于LR-CenterNet的快餐菜品旋转目标检测方法。

本发明所采用的具体技术方案如下:

一种基于LR-CenterNet的快餐菜品旋转目标检测方法,其包括:

S1、获取通过俯拍得到的快餐菜品图像数据集,数据集中的每一张菜品图像中包含餐盘以及放置于餐盘上通过碗碟盛放的至少一个菜品;对数据集中的每一张菜品图像的四个边界进行外扩填充,并对填充后的菜品图像进行数据增强处理;

S2、对经过S1中数据增强后的数据集中每张菜品图像进行菜品边界框的标注,将菜品边界框的中心点、菜品边界框的长度和宽度、菜品类型以及边界框旋转角度作为标注标签;

S3、利用带有标注标签的数据集训练LR-CenterNet网络模型,直至网络收敛后,得到快餐菜品检测模型;

所述LR-CenterNet网络模型以CenterNet网络为基础,将CenterNet网络中提取特征的主干网络替换为MobileNet-V3网络,同时在CenterNet网络原有的分别用于预测关键点热力图、预测框高度和宽度尺寸、预测框中心点偏置的三个回归分支之外增加第四个回归分支,通过第四个回归分支输出预测框旋转角度;

训练LR-CenterNet网络模型的总损失函数为CenterNet网络原有的三个损失项与预测框旋转角度损失的加权和,且预测框旋转角度损失采用L1损失;

S4、将待检测的快餐菜品图像输入所述快餐菜品检测模型中,输出菜品边界框的中心点、菜品边界框的长度和宽度、菜品类型、以及边界框旋转角度,从而确定图像中的菜品所在位置。

作为优选,所述快餐菜品图像通过高拍仪进行俯拍。

作为优选,对数据集中的菜品图像进行外扩填充时,菜品图像的上下左右四个边界分别向外填充的像素宽度应当保证斜向标注的菜品边界框不会超出填充后的图像范围。

作为优选,菜品图像的上下左右四个边界分别向外填充70~100像素。

作为优选,所述数据增强处理是对图像随机加入少量的高斯噪声。

作为优选,在标注过程中,所述菜品类型不做区分,全部标注为统一类型,使训练后得到的快餐菜品检测模型仅检测菜品位置而不检测菜品类型。

作为优选,所述预测框角度损失的形式为:

式中:A

作为优选,所述总损失函数的形式为:

L=L

式中:L表示总损失,L

作为优选,所述权重λ

作为优选,将所述快餐菜品检测模型与经过训练的菜品类别识别模型进行组合使用,待检测的快餐菜品图像先输入所述快餐菜品检测模型中,确定图像中的菜品所在位置,再将检测到的菜品位置信息返回给菜品类别识别模型进行菜品类别的识别。

本发明相对于现有技术而言,具有以下有益效果:

本发明提出了一种轻量级的用于菜品的旋转目标检测模型,命名为LR-CenterNet(Lightweight rotation CenterNet),该模型对CenterNet网络进行了改进,将BackBone更改为轻量级的MobileNet-V3网络,以降低模型大小和提高检测速度,同时在水平框的基础上引入一个角度参数,从而形成了通过旋转目标检测的方式对菜品位置信息进行精确检测的LR-CenterNet网络模型。该LR-CenterNet网络模型通过训练,即可用于预测确定目标在图像中的精确位置和方向。本发明能够提高对具有长方形菜碟的不规则菜品图像的准确检测,从而使获取得到的菜品位置更精确,减少了背景噪声对菜品识别的影响。

附图说明

图1为不规则菜品标注示例;

图2为数据集中部分菜品图片数据示意图;

图3为菜品图像进行像素填充前后的示意图,a)为像素填充前的图像,b)

为像素填充后的图像;

图4为菜品图片标注结果;

图5为LR-CenterNet网络模型结构示意图;

图6为菜品位置检测结果。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。本发明各个实施例中的技术特征在没有相互冲突的前提下,均可进行相应组合。

在本发明的一个较佳实施例中,提供了一种基于LR-CenterNet的快餐菜品旋转目标检测方法,其具体包括如下S1~S4步骤:

S1、获取通过俯拍得到的快餐菜品图像数据集,数据集中的每一张菜品图像中包含餐盘以及放置于餐盘上通过碗碟盛放的至少一个菜品;对数据集中的每一张菜品图像的四个边界进行外扩填充,并对填充后的菜品图像进行数据增强处理。

本发明的实施例中,对数据集中的菜品图像进行外扩填充时,菜品图像的上下左右四个边界分别向外填充的像素宽度应当保证斜向标注的菜品边界框不会超出填充后的图像范围。优选的,菜品图像的上下左右四个边界分别向外填充70~100像素。

本发明的实施例中,数据增强处理是对图像随机加入少量的高斯噪声。

S2、对经过S1中数据增强后的数据集中每张菜品图像进行菜品边界框的标注,将菜品边界框的中心点、菜品边界框的长度和宽度、菜品类型以及边界框旋转角度作为标注标签。

需要说明的是,上述边界框旋转角度需要指定一个作为0角度的基准,同时指定一个方向作为旋转角度的正方向。

本发明的实施例中,在标注过程中,所述菜品类型不做区分,全部标注为统一类型,使训练后得到的快餐菜品检测模型仅检测菜品位置而不检测菜品类型。

S3、利用带有标注标签的数据集训练LR-CenterNet网络模型,直至网络收敛后,得到快餐菜品检测模型。

其中,该LR-CenterNet网络模型以CenterNet网络为基础改进得到,CenterNet网络的具体结构属于现有技术,可参见相关论文https://arxiv.org/pdf/1904.07850.pdf。该网络使用中心点描述目标,根据任务去回归不同的目标属性(比如:尺寸,3D位置,方向,以及姿态),因此得名Centernet。本发明提供的LR-CenterNet网络模型,相对于CenterNet网络的改进主要体现在两方面:第一方面是将CenterNet网络中提取特征图(Feature Map)的主干网络替换为MobileNet-V3网络,第二方面是在CenterNet网络原有的分别用于预测关键点热力图(keypoint heatmap)、预测框高度和宽度尺寸(object size)、预测框中心点偏置(offset)的三个回归分支之外增加第四个回归分支,通过第四个回归分支输出预测框旋转角度(angle)。LR-CenterNet网络模型结构如图5所示。

需要说明的是,LR-CenterNet网络模型相对于CenterNet网络模型而言,其中的主干网络(Backbone)被替换了且增加了一个回归分支,但是其余的网络层未改变。具体而言,CenterNet网络模型相同,LR-CenterNet网络模型在主干网络之后通过反卷积模块对特征图进行上采样,最后三个回归分支来预测关键点热力图、预测框高度和宽度尺寸、预测框中心点偏置。增加的第四个回归分支与原有的三个回归分支相同,每个回归分支都采用卷积网络来实现。

另外,训练LR-CenterNet网络模型的总损失函数为CenterNet网络原有的三个损失项与预测框旋转角度损失的加权和,且预测框旋转角度损失采用L1损失。

CenterNet网络原有的三个损失项分别为中心点预测损失L

本发明的实施例中,总损失函数的形式为:

L=L

式中:L表示总损失,L

其中,新增的预测框角度损失通过第四个回归分支输出的预测框旋转角度来进行计算,其公式形式为:

式中:A

S4、将待检测的快餐菜品图像输入所述快餐菜品检测模型中,输出菜品边界框的中心点、菜品边界框的长度和宽度、菜品类型、以及边界框旋转角度,从而确定图像中的菜品所在位置。

需要说明的是,LR-CenterNet网络模型在推理阶段给出目标边界框的做法与原始的CenterNet网络类似,仅增加了一个边界框旋转角度来改变最终确定的边界框的角度。

为了更好的实现菜品位置和类别的检测,上述数据集标注时,其菜品类型并不作区分,因此LR-CenterNet网络模型仅检测菜品位置,菜品的类型可交由其他的图像分类模型进行检测,例如可将菜品类别的识别交由菜品识别模型(如VGG16)进行。作为一种优选方式,可采用公开号为CN 114202652 A(专利名称:一种基于Dish-YOLO的菜品识别方法和系统)的方案来实现。两种模型的结合方式是将快餐菜品检测模型与经过训练的菜品类别识别模型进行组合使用,待检测的快餐菜品图像先输入所述快餐菜品检测模型中,确定图像中的菜品所在位置,再将检测到的菜品位置信息返回给菜品类别识别模型进行菜品类别的识别。

需要说明的是,本发明的上述快餐菜品图像数据集以及待检测快餐菜品,均可通过设置于餐厅结账区域的高拍仪等成像设备进行俯拍采集。

下面将上述S1~S4所示的基于LR-CenterNet的快餐菜品旋转目标检测方法,应用于一个具体实例中,以展示其具体实现细节以及所能实现的技术效果。

实施例

本实施例中,基于LR-CenterNet的快餐菜品旋转目标检测方法具体包括如下步骤:

步骤1.数据采集与图像预处理

本实施例中使用的数据为在某一快餐餐厅采集的2589张图片,时间跨度为3个月,如图2所示。首先,由于需要进行旋转框的标注,一些处于图片边缘的菜品在标注框倾斜时无法包含整个菜品,因此需将菜品图片进行上、下、左、右四个方向,每个方向70个像素的填充,如图3所示。然后对填充过的图像进行数据增强处理。本实施例中,数据增强方法为对图像随机加入少量的高斯噪声提升网络的推理与泛化能力。

步骤2.数据集的制作与划分

对经过步骤1数据增强后的菜品图片中的菜品边界框和边界框旋转角度(范围0~360°)进行标注,如图4所示。在本发明使用场景下,LR-CenterNet只关注菜品的具体位置信息,而不关注菜品的具体的类别信息,将菜品类别的识别交由后续的识别模型,因此本发明将所有菜品均标注为统一的类别“bowl”,并将标注完成后的数据集按照8:1:1的比例划分为训练集、验证集与测试集。

步骤3.LR-CenterNet网络模型的搭建与训练

1、LR-CenterNet是基于CenterNet网络进行搭建的轻量级旋转目标模型,首先在矩形框的基础上引入一个可以表示矩形边界框旋转角度的角度因子,最终回归目标的四个特征:热力图特征、中心点、尺寸和角度,并以此确定目标在图像中的精确位置和方向。改进后网络对输入的图片进行预测后会得到一个带有旋转角度的矩形框信息,使其能够能加准确地表示菜品的位置。

2、将CenterNet网络的特征提取网络由原文使用的Hourglass-104或ResNet-50改为更加轻量级的MobileNet-V3,以降低网络模型的大小和提高模型的检测速度。原始CenterNet模型中使用的ResNet-50和Hourglass-104模型较大,其中Hourglass-104的参数量达到了189.59M,经过训练得到的模型体积更是达到了731MB,对硬件设备要求高的同时,也很消耗训练时间。而本发明中采用的MobileNet-V3使用深度卷积和分组卷积对普通卷积进行替换,参数量仅为2.84M,训练得到的模型大小仅为16.9MB,具有更小的运算量和更便利的部署应用条件。LR-CenterNet网络模型结构如图5所示,其不仅将CenterNet网络中提取特征的主干网络替换为MobileNet-V3网络,还在CenterNet网络原有的分别用于预测关键点热力图(keypoint heatmap)、预测框高度和宽度尺寸(object size)、预测框中心点偏置(offset)的三个回归分支之外增加第四个回归分支,通过第四个回归分支输出预测框旋转角度。

3、本发明沿用CenterNet网络中的损失函数,并在此基础上加入边界框旋

转角度的损失项,最终总体损失函数表示如下:

L=L

式中:L表示总损失,L

其中,中心点预测损失L

式中:N为图像中关键点的数量,Y

预测框中心点偏置损失L

式中:p为真实关键点的中心坐标,R=4为下采样倍数,

预测框尺寸损失L

式中:s

d)预测框角度损失L

式中:A

4、将训练集数据输入到LR-CenterNet中进行模型训练,并使用验证集的形式,将其输入到训练中的LR-CenterNet网络中,计算验证集的损失值,当验证集的损失值连续30个epoch的变化不超过0.05时,则认为网络模型已达到最优效果,保存网络模型参数,停止训练。

步骤4.模型测试与结果分析

再将测试集输入训练好的LR-CenterNet模型中进行菜品位置的检测,,输出菜品边界框的中心点、菜品边界框的长度和宽度、菜品类型、以及边界框旋转角度,从而确定图像中的菜品所在位置。在测试集的一个示例中,菜品位置检测结果如图6所示。测试结果显示,本发明的LR-CenterNet模型具有以下优势:

本发明方法能够有效提高菜品旋转目标检测的准确率。本发明在CenterNet的基础上,加入矩形框的角度因子,能够获取到更加精确地菜品位置信息,提高了菜品旋转目标检测的准确率。经测算,LR-CenterNet模型的准确率可以达到95.27%。

本发明的模型体量更小。LR-CenterNet将CenterNet的BackBone更换为体量更小的MobileNet-V3,使模型在保持模型准确率的前提下,大幅减少模型的大小和提高模型的检测速度。各模型的模型参数量和模型体积对比结果如下表1所示:

表1模型参数量和模型体积对比

本发明识别出的菜品位置更精确,从而能够提高后续菜品识别的准确率。本发明采用旋转目标检测的思想,获取得到的菜品位置更精确,减少了背景噪声对菜品识别的影响。经测算,分别使用YOLO-V3和LR-CenterNet进行菜品定位,使用VGG16进行菜品类别的识别,识别准确率分别为93.95%和96.78%,准确率提高了2.83%。

当然,需要说明的是,在实际场景中应用时,上述测试集可替换为使用高拍仪等相机设备拍摄的顾客选择的快餐菜品图片,将菜品图片实时输入到训练好的LR-CenterNet模型中进行菜品位置的检测,并将检测到的菜品位置信息返回给后续的菜品识别网络进行具体菜品类别的识别。

以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。

技术分类

06120115630360