基于人工智能的食材检测方法、装置、设备和介质与流程

未命名 10-18 阅读:138 评论:0


1.本发明涉及人工智能、医疗健康技术领域,尤其涉及一种基于人工智能的食材检测方法、装置、设备和介质。


背景技术:

2.慢病的饮食管理是一个长期的、专业的工作,通常会由健康管理师(健管师)来负责查看患者的一日三餐是否合理,但由于我国慢病患者数量较多,健管师资源就显得严重不足,若能将餐食点评自动化就会大大缓解这方面的需求。
3.目前对于食物识别的模型,大多为分类模型,也就是通过模型检测图像中是哪种食物,细粒度是菜品级别,这种方式无法处理相同菜品不同食材的情况,对于慢病管理,需要知道吃下的食材中的营养素,而只是识别到菜品不能确定营养素的摄入情况,不能给出准确的营养建议,不能满足慢性病管理的需求。


技术实现要素:

4.基于此,有必要针对上述问题,提出了一种基于人工智能的食材检测方法、装置、设备和介质,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
5.第一方面,提供了一种基于人工智能的食材检测方法,包括:
6.对yolov5模型进行改进以获取食材检测模型,获取待识别菜品图片,将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;
7.获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议;
8.其中,所述食材检测模型包括主干网络、颈部网络和头部网络;
9.所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。
10.第二方面,提供了一种基于人工智能的食材检测装置,包括:
11.改进模块,用于对yolov5模型进行改进以获取食材检测模型;
12.图片模块,用于获取待识别菜品图片;
13.检测模块,用于将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;
14.结果模块,用于获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议;
15.其中,所述食材检测模型包括主干网络、颈部网络和头部网络;
16.所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。
17.第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算
机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述方法的步骤。
18.第四方面,提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上所述方法的步骤。
19.采用本发明实施例,具有如下有益效果:
20.对yolov5模型进行改进获取食材检测模型,食材检测模型的总损失函数相较于原始的yolov5模型取消了置信度损失,并引入了dfl(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性,从而使得食材检测模型的检测结果更加准确,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
附图说明
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.其中:
23.图1是一个实施例中人工智能的食材检测方法的应用环境图;
24.图2是本发明提供的基于人工智能的食材检测方法的一实施例的流程示意图;
25.图3是本发明提供的c2f结构模块示意图;
26.图4是"coupled head"和"decoupled head"的结构示意图;
27.图5是本发明提供的食材检测模型的结构示意图;
28.图6是本发明提供的基于人工智能的食材检测装置的一实施例的结构示意图
29.图7是一个实施例中计算机设备的结构框图。
具体实施方式
30.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.图1为一个实施例中基于人工智能的食材检测方法的应用环境图。该基于人工智能的食材检测方法应用于如图1的应用环境中。终端110和服务器120通过网络连接,终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110用于获取待识别菜品图片,并将菜品图片传输至服务器120,服务器120用于获取对yolov5模型进行改进而得到食材检测模型,将待识别菜品图片输入食材检测模型,获取食材检测模型输出的食材检测结果;获取用户的慢性病管理需求,基于慢性病管理需求和食材检测结果提出营养管理建议。
32.能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监
管的需求。
33.请参阅图2,图2是本发明提供的基于人工智能的食材检测方法的一实施例的流程示意图。本发明提供的基于人工智能的食材检测方法包括如下步骤:
34.s101:对yolov5模型进行改进以获取食材检测模型。
35.在一个具体的实施场景中,yolov5是一种基于深度学习的目标检测模型,主干网络、颈部网络和头部网络。它可以在图像中快速而准确地检测出多个不同类别的目标。作为当前先进的深度学习目标检测算法yolov5,已经集合了大量的tick,但是在处理一些复杂背景问题的时候,还是容易出现错漏检的问题。为了提升检测食材的准确性,对yolov5模型进行改进以获取食材检测模型。
36.在本实施场景中,可以改进yolov5模型的总损失函数,对于传统的yolov5模型,它的损失模块由分类的二元交叉熵(binary cross entropy,bce)损失、回归的ciou(complete iou)损失和置信度的损失组成。在训练过程中,分类和回归是分开计算的。分类损失用于衡量目标的类别概率与真实标签之间的差异,而回归损失用于衡量预测框与真实框之间的位置和尺度差异。然而,在测试阶段,分类和回归得分会乘在一起作为非极大值抑制(nms,non-maximum suppression)的判断依据。这是因为nms需要综合考虑目标的类别和位置信息,以选择最佳的预测框。对于负样本(即不包含目标的区域),它们在训练过程中没有对应的真实框,因此无法计算置信度的准确性。这可能导致在nms过程中顺序的错误。
37.为了解决这个问题,在本实施场景中取消了置信度损失,并引入了dfl(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练。通过使用dfl损失,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性。具体地说,食材检测模型取消了置信度损失,而在回归任务上增加了dfl损失。这样可以提高回归的准确性,并避免负样本在nms过程中的顺序错误。同时,通过将分类和回归得分相乘作为nms的判断依据,可以综合考虑目标的类别和位置信息,得到更准确的检测结果。
38.在传统的yolov5模型中,置信度损失用于衡量预测框与真实框之间的匹配程度,即预测框是否包含目标物体。然而,在食材检测任务中,我们关注的是准确识别菜品中的各种食材,而不是目标物体的包含与否。因此,在本实施场景中取消置信度损失可以避免对不包含食材的区域进行过多的优化,从而提高检测结果的准确性。dfl损失的引入可以使得食材检测模型更加关注目标物体的特征表示,而不仅仅是位置和尺寸的准确性。通过学习更好的特征表示,模型能够更准确地识别出菜品中的各种食材,从而得到更准确的营养建议。这对于满足慢性病监管的需求非常重要,因为准确的食材识别可以帮助监管机构提供更精确的营养指导和建议。因此,通过引入dfl损失,食材检测模型可以在准确性和实用性方面取得更好的性能。
39.在另一个实施场景中,对yolov5模型进行改进的内容还包括将yolov5模型中的主干网络中的c3结构修改为c2f结构,请结合参阅图3,图3是本发明提供的c2f结构模块示意图。c2f结构包括第一cba(convolutional layer-batch normalization layer-activation layer,卷积批量归一化激活)模块、分支模块、瓶颈模块、第二cba模块。cba模块是由一个卷积层(convolutional layer),一个批量归一化层(batch normalization layer)和一个激活模块层(activation layer)组成。这个模块用于提取输入特征的表示。
split(分支)模块用于将输入特征分成两个分支,每个分支都会经过不同的处理。bottleneck(瓶颈)块是一种常用的残差块结构,用于增加网络的深度和表达能力。
40.当菜品图片输入食材检测模型后会经过c2f结构的处理。通过第一cba模块获取待识别菜品图片的特征图,split模块分支模块将特征图分为至少两个分支,每个分支对应了不同的处理;再结合所多个bottleneck模块和第二cba模块针对每个分支中的特征图提取和组合特征。通过c2f结构的处理,食材检测模型能够更好地提取和表示输入图像的特征,从而提高目标检测的准确性和性能。
41.c3结构在利用梯度流信息方面的效率相对较低。为了改进这个问题,在该实施场景中将原有的c3结构改为c2f结构,从而获得更丰富的梯度流信息。将c3结构改为c2f结构,在保持模型轻量化的同时,能够获得更丰富的梯度流信息。这样可以提高backbone(主干)网络的特征提取能力,有助于改善目标检测的准确性和性能。总的来说,c2f结构是指将原有的c3结构中的第三个卷积层替换为两个连续的卷积层,即c2和cf层。其中,c2层用于进一步提取特征,cf层用于融合梯度信息。c2f结构通过将第三个卷积层拆分为两个层,增加了梯度的传播路径,从而获得更丰富的梯度流信息。这样可以有效地减缓梯度逐渐减弱的问题,使梯度信号能够更好地传递到更早的层,提供更多的反馈信号,增强网络的训练能力。通过引入c2f结构,可以增加网络的深度和复杂度,使网络能够更好地学习和表示输入图像的特征。更丰富的梯度流信息有助于提高模型的收敛速度和准确性,使得模型在目标检测、图像分类等任务上表现更好。
42.在另一个实施场景中,对yolov5模型进行改进的内容还包括将头部网络中的检测头由耦合检测头修改为解耦合检测头。在yolov5中,目标检测任务主要包括分类任务(预测目标的类别)和回归任务(预测目标的位置和大小)。原始的yolov5版本使用了一种称为"coupled head(耦合检测头)"的结构来处理这两个任务。
43.在"coupled head"结构中,分类任务和回归任务被放在同一条通路中进行处理。具体而言,通过一系列卷积和全连接层,将特征图映射到一个维度较高的特征空间,从这个特征空间中分别提取分类和回归的预测结果。然而,"coupled head"结构存在一个问题,即分类任务和回归任务在损失函数上存在冲突。分类任务的损失函数通常使用交叉熵损失,而回归任务的损失函数通常使用均方差损失。这两个损失函数的优化目标不同,可能会导致模型在训练过程中出现不稳定或收敛速度较慢的情况。
44.为了解决这个问题,在该实施场景中将原本的"coupled head"结构改为"decoupled head(解耦检测头)"结构。在"decoupled head"结构中,分类任务和回归任务被分别放在两条独立的通路中进行处理。具体而言,当使用"decoupled head"结构时,检测头被分为两个并行的分支:回归分支和分类分支。每个分支都有自己独立的子网络,用于处理回归任务和分类任务。在回归分支中,子网络负责预测目标的位置信息。这个子网络通常由一系列卷积层和全连接层组成,用于提取图像特征并进行位置回归。回归分支的输出通常是一个包含目标框的坐标信息,例如边界框的坐标、宽度和高度。在分类分支中,子网络负责预测目标的类别。这个子网络也由一系列卷积层和全连接层组成,用于提取图像特征并进行类别预测。分类分支的输出通常是一个包含目标类别的概率分布,表示每个可能类别的置信度。然后回归分支和分类分支的输出会被合并起来。通常,回归分支的输出会被用于调整先前预测的边界框,而分类分支的输出会被用于预测目标的类别。合并后的结果可以
用于生成最终的检测框和类别标签。
45.通过将检测头分为两个并行的分支,并在后续进行合并,"decoupled head"结构可以更好地处理分类和回归任务之间的信息交叉和干扰。每个分支可以独立地学习和优化与其任务相关的特征表示,从而提高模型的性能和准确性。
46.请结合参阅图4,图4是"coupled head"和"decoupled head"的结构示意图。
47.通过实验证明,将原本的"coupled head"改为"decoupled head"可以提高模型的精度并加快网络的收敛速度。这是因为"decoupled head"结构允许分类任务和回归任务独立地进行优化,使得模型能够更好地学习目标的类别和位置信息。同时,分类和回归任务在损失函数上的分离也有助于提高模型的稳定性和泛化能力。总的来说,"decoupled head"结构的改进取得了更好的目标检测性能。
48.在另一个实施场景中,将颈部网络中的锚点框由anchor-base机制修改为anchor-free机制。在yolov5中,原始的检测框(anchors)是提前预设好的,用于在特征图上生成候选框。然而,这种预设的检测框尺寸无法完全匹配食材检测任务中各种食材的尺度变化,可能导致检测精度下降。
49.为了解决这个问题,在该实施场景中引入了一种称为"anchor-free"机制的改进方法。在"anchor-free"机制中,不再使用预设的固定尺寸的检测框,而是将特征图上的每个网格视为一个独立的检测框。具体而言,"anchor-free"机制通过在特征图上的每个网格位置上生成候选框。然后,通过与标注框(ground truth)进行比较,选取所有符合条件的候选框作为正样本。这些条件包括:候选框的中心点在标注框内部,且与标注框的iou(交并比)大于设定的阈值。"anchor-free"机制可以根据具体的目标尺度变化,灵活地选取适合的候选框,并将其视为正样本用于目标检测。这样可以更好地适应不同尺度的食材,并提高检测的准确性。
50.总的来说,在菜品食材检测中,由于食材的形状和尺寸各异,传统的“anchor-based”方法需要使用大量的锚点框来覆盖不同的食材。而采用“anchor-free”机制可以避免锚点框的生成和调整,简化模型结构,减少计算量和模型复杂度。“anchor-free”机制可以更灵活地捕捉和预测不同形状和尺寸的食材。对于菜品图片中的食材,可能存在各种形状的食材,如切片、碎片、整体等。采用“anchor-free”机制可以更好地适应这些不规则形状的食材,提高食材检测的准确性。“anchor-free”机制可以更好地适应不同菜品图片中食材的变化。由于不受预定义锚点框的限制,可以更好地应对食材的尺寸变化、旋转变化和遮挡等问题,提高了食材检测的鲁棒性。采用“anchor-free”机制可以更好地适应不同菜品数据集和菜品种类的需求。不再受限于固定的锚点尺度和长宽比,可以更好地适应不同菜品图片中食材的分布和形状特征,提高了模型的泛化能力。
51.可以理解的是,在实际对yolov5模型进行改进以获取食材检测模型时,可以选择上述任意一种或者多种改进方法对食材检测模型进行改进。
52.在另一个实施场景中,请结合参图5,图5是本发明提供的食材检测模型的结构示意图。食材检测模型10包括主干网络11、颈部网络12、头部网络13。主干网络11包括依次连接的第一cbs模块111、第二cbs模块112、第一c2f模块113、第三cbs模块114、第二c2f模块115、第四cbs模块116、第三c2f模块117、第五cbs模块118、第四c2f模块119、空间金字塔池化快速模块11a和第五c2f模块11b。颈部网络12包括依次连接的第六c2f模块121、第六cbs
模块122、第七c2f模块123、第七cbs模块124、第八c2f模块125。头部网络13包括第一检测模块131、第二检测模块132和第三检测模块133。
53.空间金字塔池化快速模块11a的输出经第一上采样upsample后与第三c2f模块117的输出进行融合,获取第一融合输出;
54.第一融合输出经第五c2f模块11b处理后获取处理输出,处理输出再经第二上采样upsample后与第二c2f模块115的输出进行融合,获取第二融合输出;
55.第二融合输出经第六c2f模块121处理后生成第一检测信息,将第一检测信息输出至第一检测模块131,获取第一检测结果;
56.第一检测信息经第六cbs模块122与处理输出融合获取第三融合输出,将第三融合输出经第七c2f模块123获取第二检测信息,将第二检测信息输出至第二检测模块132,获取第二检测结果;
57.第二检测信息经第七cbs模块124处理和融合处理后,再经第八c2f模块125处理,获取第三检测信息,将第三检测信息输出至第三检测模块133,获取第三检测结果;
58.第一cbs模块111、第二cbs模块112、第三cbs模块114、第四cbs模块116、第五cbs模块118、第六cbs模块122、第七cbs模块124的卷积核(s)和步长(k)均相同;例如,s=2,k=3。
59.第二c2f模块115和第三c2f模块117的瓶颈模块数量(n)相同,例如,n=6。第一c2f模块113、第四c2f模块115、第五c2f模块11b、第六c2f模块121、第七c2f模块123和第八c2f模块125的瓶颈模块数量相同。例如,n=3。
60.使用食材检测模型来检测图像中出现的不同种类的食材。可以预先准备一个包含标注信息的训练数据集,其中包括图像和对应的食材标签。然后对食材检测模型进行训练,通过反向传播算法来优化模型的参数,使其能够准确地检测出食材。训练完成后,使用已经训练好的食材检测模型来对菜品图片进行食材检测。食材检测模型会输出食材检测结果,包括每个检测到的食材的位置和类别信息。
61.s102:获取待识别菜品图片。
62.在一个具体的实施场景中,待识别菜品图片可以由用户拍照上传,或者打开用户的摄像头实现自动监控获取待识别菜品图片。
63.s103:将待识别菜品图片输入食材检测模型,获取食材检测模型输出的食材检测结果。
64.在一个具体的实施场景中,将待识别菜品图片输入上述训练后的食材检测模型,食材检测模型对于待识别菜品图片进行分析,输出食材检测结果。食材检测结果可以包括食材的具体名称、位置、体积等信息。
65.s104:获取用户的慢性病管理需求,基于慢性病管理需求和食材检测结果提出营养管理建议。
66.在一个具体的实施场景中,获取用户的慢性病管理需求,可以是用户自己提供或者是由用户的医生或者家人提供,可以包括用户每日摄入的营养限制,例如淀粉不得超过xg,不能食用海鲜等。
67.在获取到慢性病管理需求,基于步骤s101中获取的食材检测结果获取营养具体含量,从而结合营养具体含量和慢性病管理需求进行分析,得出营养管理建议,例如,需要减少a食材的含量,或者需要增加b食材的含量。
68.在另一个实施场景中,基于慢性病管理需求获取慢性病类型、病情严重程度、医生的建议以及目前的治疗方案,然后确定营养管理的目标。例如,对于糖尿病患者,目标可能是控制血糖水平;对于高血压患者,目标可能是降低血压。基于食材检测结果获取每种食材的名称、数量和营养成分等信息。根据食材检测结果中的营养成分信息,分析每种食材的营养价值。了解每种食材所含的热量、蛋白质、脂肪、碳水化合物、维生素、矿物质等营养成分含量。
69.根据用户的慢性病管理需求、营养需求和食材检测结果,制定合理的饮食计划。这可以包括每日的饮食结构、食材选择、食物的烹饪方式和食用量等方面的个性化建议。
70.通过上述描述可知,在本实施例中对yolov5模型进行改进获取食材检测模型,食材检测模型的总损失函数相较于原始的yolov5模型取消了置信度损失,并引入了dfl(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性。从而使得食材检测模型的检测结果更加准确,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
71.此外,食材检测模型相较于原始的yolov5模型,将主干网络中的c3结构修改为c2f结构,c2f结构相较于c3结构在梯度流信息方面具有更短的路径,更少的参数和更高的特征重用性,这些优势有助于减少梯度消失和信息丢失,提高模型的性能和准确性。食材检测模型相较于原始的yolov5模型,将原本的"coupled head"改为"decoupled head"可以提高模型的精度并加快网络的收敛速度。"decoupled head"结构允许分类任务和回归任务独立地进行优化,使得模型能够更好地学习目标的类别和位置信息。同时,分类和回归任务在损失函数上的分离也有助于提高模型的稳定性和泛化能力。食材检测模型相较于原始的yolov5模型,将颈部网络中的锚点框由anchor-base机制修改为anchor-free机制。"anchor-free"机制将原本的固定尺寸的检测框改为了基于特征图上每个网格位置的候选框,通过与标注框的比较选择合适的候选框作为正样本。这种改进方法能够更好地适应食材检测任务中各种食材的尺度变化,提高检测的准确性和鲁棒性。进一步提升食材检测模型的检测结果的准确性。
72.请参阅图6,图6是本发明提供的基于人工智能的食材检测装置的一实施例的结构示意图。人工智能的食材检测装置20包括改进模块21、图片模块22、检测模块23和结果模块24。
73.改进模块21用于对yolov5模型进行改进以获取食材检测模型,图片模块22用于获取待识别菜品图片,检测模块23用于将待识别菜品图片输入食材检测模型,获取食材检测模型输出的食材检测结果;结果模块24用于获取用户的慢性病管理需求,基于慢性病管理需求和食材检测结果提出营养管理建议。
74.其中,食材检测模型包括主干网络、颈部网络和头部网络;食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。
75.通过使用dfl损失,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性。具体地说,食材检测模型取消了置信度损失,而在回归任务上增加了dfl损失。这样可以提高回归的准确性,并避免负样本在nms过程中的顺序错误。同时,通过将分类和回归得分相乘作为nms的判断依据,可以综合考虑目标的类别和位置信息,得到更准确的检测结
果。
76.在一实施例中,改进模块21具体用于将主干网络中的c3结构修改为c2f结构,c2f结构包括第一卷积批量归一化激活模块、分支模块、瓶颈模块、第二卷积批量归一化激活模块;分支模块连接第一卷积批量归一化激活模块,瓶颈模块数量为多个,连接分支模块,第二卷积批量归一化激活模块连接所有瓶颈模块。
77.在一实施例中,改进模块21具体用于通过第一卷积批量归一化激活模块获取待识别菜品图片的特征图;通过分支模块将特征图分为至少两个分支,每个分支对应了不同的处理;结合所多个瓶颈模块和第二卷积批量归一化激活模块针对每个分支中的特征图提取和组合特征。
78.在一实施例中,改进模块21具体用于将头部网络中的检测头由耦合检测头修改为解耦合检测头。
79.在一实施例中,改进模块21具体用于将检测头分成分类和回归两个并行分支,两个并行分支分别用于分类和回归任务,最后预测时再将其整合在一起。
80.在一实施例中,改进模块21具体用于将颈部网络中的锚点框由anchor-base机制修改为anchor-free机制。
81.食材检测模型的包括:
82.主干网络,包括依次连接的第一cbs模块、第二cbs模块、第一c2f模块、第三cbs模块、第二c2f模块、第四cbs模块、第三c2f模块、第五cbs模块、第四c2f模块、空间金字塔池化快速模块和第五c2f模块;
83.颈部网络,包括依次连接的第六c2f模块、第六cbs模块、第七c2f模块、第七cbs模块、第八c2f模块;
84.头部网络,包括第一检测模块、第二检测模块和第三检测模块;
85.其中,空间金字塔池化快速模块的输出经第一上采样后与第三c2f模块的输出进行融合,获取第一融合输出;
86.第一融合输出经第五c2f模块处理后获取处理输出,处理输出再经第二上采样后与第二c2f模块的输出进行融合,获取第二融合输出;
87.第二融合输出经第六c2f模块处理后生成第一检测信息,将第一检测信息输出至第一检测模块,获取第一检测结果;
88.第一检测信息经第六cbs模块与处理输出融合获取第三融合输出,将第三融合输出经第七c2f模块获取第二检测信息,将第二检测信息输出至第二检测模块,获取第二检测结果;
89.第二检测信息经第七cbs模块处理和融合处理后,再经第八c2f模块处理,获取第三检测信息,将第三检测信息输出至第三检测模块,获取第三检测结果;
90.第一cbs模块、第二cbs模块、第三cbs模块、第四cbs模块、第五cbs模块、第六cbs模块、第七cbs模块的卷积核和步长均相同;
91.第二c2f模块和第三c2f模块的瓶颈模块数量相同,第一c2f模块、第四c2f模块、第五c2f模块、第六c2f模块、第七c2f模块和第八c2f模块的瓶颈模块数量相同。
92.通过上述描述可知,基于人工智能的食材检测装置对yolov5模型进行改进获取食材检测模型,食材检测模型的总损失函数相较于原始的yolov5模型取消了置信度损失,并
引入了dfl(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性。从而使得食材检测模型的检测结果更加准确,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
93.此外,食材检测模型相较于原始的yolov5模型,将主干网络中的c3结构修改为c2f结构,c2f结构相较于c3结构在梯度流信息方面具有更短的路径,更少的参数和更高的特征重用性,这些优势有助于减少梯度消失和信息丢失,提高模型的性能和准确性。食材检测模型相较于原始的yolov5模型,将原本的"coupled head"改为"decoupled head"可以提高模型的精度并加快网络的收敛速度。"decoupled head"结构允许分类任务和回归任务独立地进行优化,使得模型能够更好地学习目标的类别和位置信息。同时,分类和回归任务在损失函数上的分离也有助于提高模型的稳定性和泛化能力。食材检测模型相较于原始的yolov5模型,将颈部网络中的锚点框由anchor-base机制修改为anchor-free机制。"anchor-free"机制将原本的固定尺寸的检测框改为了基于特征图上每个网格位置的候选框,通过与标注框的比较选择合适的候选框作为正样本。这种改进方法能够更好地适应食材检测任务中各种食材的尺度变化,提高检测的准确性和鲁棒性。进一步提升食材检测模型的检测结果的准确性。
94.关于基于人工智能的食材检测装置的具体限定可以参见上文中对于基于人工智能的食材检测方法的限定,在此不再赘述。上述基于人工智能的食材检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
95.图7示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图7所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现人工智能的食材检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行人工智能的食材检测方法。本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
96.在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
97.对yolov5模型进行改进以获取食材检测模型,获取待识别菜品图片,将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议.
98.其中,所述食材检测模型包括主干网络、颈部网络和头部网络;所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。
99.通过上述描述可知,在本实施例中对yolov5模型进行改进获取食材检测模型,食材检测模型的总损失函数相较于原始的yolov5模型取消了置信度损失,并引入了dfl
(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性,从而使得食材检测模型的检测结果更加准确,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
100.在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
101.对yolov5模型进行改进以获取食材检测模型,获取待识别菜品图片,将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议.
102.其中,所述食材检测模型包括主干网络、颈部网络和头部网络;所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。
103.通过上述描述可知,在本实施例中对yolov5模型进行改进获取食材检测模型,食材检测模型的总损失函数相较于原始的yolov5模型取消了置信度损失,并引入了dfl(dense feature loss)损失。dfl损失是一种基于特征的回归损失,它通过比较预测框和真实框之间的特征相似性来进行训练,模型可以更好地学习目标物体的特征表示,提高目标检测的准确性,从而使得食材检测模型的检测结果更加准确,能够准确识别出菜品中的各种食材,从而给出准确的营养建议,以满足慢性病监管的需求。
104.需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务器侧以及终端侧的相关描述,为避免重复,这里不再一一描述。
105.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
106.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
107.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。

技术特征:
1.一种基于人工智能的食材检测方法,其特征在于,包括:对yolov5模型进行改进以获取食材检测模型;获取待识别菜品图片;将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议;其中,所述食材检测模型包括主干网络、颈部网络和头部网络;所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。2.根据权利要求1所述基于人工智能的食材检测方法,其特征在于,所述对yolov5模型进行改进以获取食材检测模型的步骤,包括:将所述主干网络中的c3结构修改为c2f结构,所述c2f结构包括第一卷积批量归一化激活模块、分支模块、瓶颈模块、第二卷积批量归一化激活模块;所述分支模块连接所述第一卷积批量归一化激活模块;所述瓶颈模块连接所述分支模块,且数量为多个;所述第二卷积批量归一化激活模块连接所有所述瓶颈模块。3.根据权利要求2所述基于人工智能的食材检测方法,其特征在于,所述将所述待识别菜品图片输入食材检测模型的步骤之后,包括:通过所述第一卷积批量归一化激活模块获取所述待识别菜品图片的特征图;通过所述分支模块将所述特征图分为至少两个分支,每个分支对应了不同的处理;结合所多个瓶颈模块和第二卷积批量归一化激活模块针对每个分支中的特征图提取和组合特征。4.根据权利要求1所述基于人工智能的食材检测方法,其特征在于,所述对yolov5模型进行改进以获取食材检测模型的步骤,包括:将所述头部网络中的检测头由耦合检测头修改为解耦合检测头。5.根据权利要求4所述基于人工智能的食材检测方法,其特征在于,所述将所述头部网络中的检测头由耦合检测头修改为解耦合检测头的步骤,包括:将检测头分成分类和回归两个并行分支,两个所述并行分支分别用于分类任务和回归任务,然后将所述两个所述并行分支的输出整合在一起。6.根据权利要求1所述基于人工智能的食材检测方法,其特征在于,所述对yolov5模型进行改进以获取食材检测模型的步骤,包括:将所述颈部网络中的锚点框由anchor-base机制修改为anchor-free机制。7.根据权利要求1-6任一项所述基于人工智能的食材检测方法,其特征在于,所述食材检测模型的包括:所述主干网络,包括依次连接的第一cbs模块、第二cbs模块、第一c2f模块、第三cbs模块、第二c2f模块、第四cbs模块、第三c2f模块、第五cbs模块、第四c2f模块、空间金字塔池化快速模块和第五c2f模块;所述颈部网络,包括依次连接的第六c2f模块、第六cbs模块、第七c2f模块、第七cbs模
块、第八c2f模块;所述头部网络,包括第一检测模块、第二检测模块和第三检测模块;其中,空间金字塔池化快速模块的输出经第一上采样后与第三c2f模块的输出进行融合,获取第一融合输出;所述第一融合输出经所述第五c2f模块处理后获取处理输出,所述处理输出再经第二上采样后与第二c2f模块的输出进行融合,获取第二融合输出;所述第二融合输出经所述第六c2f模块处理后生成第一检测信息,将所述第一检测信息输出至所述第一检测模块,获取第一检测结果;所述第一检测信息经所述第六cbs模块与所述处理输出融合获取第三融合输出,将所述第三融合输出经所述第七c2f模块获取第二检测信息,将所述第二检测信息输出至所述第二检测模块,获取第二检测结果;所述第二检测信息经所述第七cbs模块处理和融合处理后,再经所述第八c2f模块处理,获取第三检测信息,将所述第三检测信息输出至所述第三检测模块,获取第三检测结果;所述第一cbs模块、所述第二cbs模块、所述第三cbs模块、所述第四cbs模块、所述第五cbs模块、所述第六cbs模块、所述第七cbs模块的卷积核和步长均相同;所述第二c2f模块和所述第三c2f模块的瓶颈模块数量相同,所述第一c2f模块、所述第四c2f模块、所述第五c2f模块、所述第六c2f模块、所述第七c2f模块和所述第八c2f模块的瓶颈模块数量相同。8.一种基于人工智能的食材检测装置,其特征在于,包括:改进模块,用于对yolov5模型进行改进以获取食材检测模型;图片模块,用于获取待识别菜品图片;检测模块,用于将所述待识别菜品图片输入所述食材检测模型,获取所述食材检测模型输出的食材检测结果;结果模块,用于获取用户的慢性病管理需求,基于所述慢性病管理需求和所述食材检测结果提出营养管理建议;其中,所述食材检测模型包括主干网络、颈部网络和头部网络;所述食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。

技术总结
本申请涉及人工智能、医疗健康技术领域,揭示了一种基于人工智能的食材检测方法、装置、设备和介质。基于人工智能的食材检测方法包括:对YOLOv5模型进行改进以获取食材检测模型,获取待识别菜品图片,将待识别菜品图片输入食材检测模型,获取食材检测模型输出的食材检测结果;获取用户的慢性病管理需求,基于慢性病管理需求和食材检测结果提出营养管理建议;其中,食材检测模型包括主干网络、颈部网络和头部网络;食材检测模型的总损失函数包括分布焦点损失、二分类交叉熵损失、完整的交并比损失。本发明可以准确检测出菜品图片中的食材,从而给出准确的营养建议。从而给出准确的营养建议。从而给出准确的营养建议。


技术研发人员:苏昊 欧秋雨
受保护的技术使用者:平安科技(深圳)有限公司
技术研发日:2023.06.30
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐