跨模态注意力机制的食品营养成分含量预测方法及系统

    专利查询2022-07-07  157



    1.本发明涉及食品营养评估技术领域,特别是涉及一种跨模态注意力机制的食品营养成分含量预测方法及系统。


    背景技术:

    2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
    3.针对食品营养含量的评估,专业的食品营养评估人员对食品营养含量估计的准确性略有欠缺,同时专业人员不能够满足人们日常食品营养评估的需求。因此,为缓解营养评估专业人员短缺,提高营养评估的准确性和高效性等问题,出现大量智能手机图像的膳食评估应用程序、食品营养估计系统等,例如fatsceret、bitesnap、keenoa,虽然能够粗略的计算卡路里的含量,但是需要人为的称重并手动输入份量等信息,这个过程繁琐、耗时,同时容易出现错误,而且食品种类的识别、重叠以及份量估计都会影响到营养估计的准确性,所以这些应用程序和系统在准确性和高效性上仍然欠缺。
    4.目前,一些端到端的食品营养估计的方法,基于单张rgb图像进行营养含量的估计,或者是将rgb和深度图像进行简单的相加,以预测卡路里、质量、碳水、蛋白质以及脂肪的含量。虽然证明了基于食物图像进行营养评估的可行性,但是未能充分挖掘用于营养预测的图像特征,没有得到更鲁棒性的预测结果。再者这些方法需要一系列复杂的操作,存在步骤繁琐、速度慢等问题。在营养评估准确度、速度等方面,现有的方法不能够满足端到端的、快速有效的营养评估的要求。


    技术实现要素:

    5.为了解决上述问题,本发明提出了一种跨模态注意力机制的食品营养成分含量预测方法及系统,通过提取食品图像的多模态特征;同时采用注意力多模态特征融合的方式进行营养成分含量的预测,提升预测精度与速度。
    6.为了实现上述目的,本发明采用如下技术方案:
    7.第一方面,本发明提供一种跨模态注意力机制的食品营养成分含量预测方法,包括:
    8.对食品图像样本集标注营养成分及含量,以此对预测模型进行训练;
    9.对待测食品图像进行多模态特征提取,对每个模态的特征映射图进行注意力映射,得到权重映射图,将任意一个模态的特征映射图与其他模态的权重映射图进行外积,将外积结果与该模态的特征映射图进行相加,以此进行特征融合;
    10.根据融合后的特征图,采用预测模型得到待测食品图像中每种营养成分的含量。
    11.作为可选择的实施方式,对待测食品图像进行多模态特征提取的过程包括,采用resnet-101网络为主干网络,提取到四个层级的rgb模态特征和深度模态特征。
    12.作为可选择的实施方式,对待测食品图像进行多模态特征提取的过程包括,将提
    取的多模态特征经1
    ×
    1的卷积层降维后,每个模态特征经两个残差卷积单元得到特征映射图。
    13.作为可选择的实施方式,对每个模态的特征映射图进行注意力映射的过程包括,将特征映射图经全局平均池化、1
    ×
    1卷积重组和激活函数后得到权重映射图。
    14.作为可选择的实施方式,将每个模态分支下的融合特征经过卷积层后进行相加,得到最终的融合特征图,将融合后的特征图经链式残差池进行上下文信息的捕获。
    15.作为可选择的实施方式,所述营养成分包括卡路里、质量、脂肪、蛋白质以及碳水。
    16.作为可选择的实施方式,使用平均绝对误差和平均绝对误差的百分比评估营养成分含量预测的准确度。
    17.第二方面,本发明提供一种跨模态注意力机制的食品营养成分含量预测系统,包括:
    18.训练模块,被配置为对食品图像样本集标注营养成分及含量,以此对预测模型进行训练;
    19.特征处理模块,被配置为对待测食品图像进行多模态特征提取,对每个模态的特征映射图进行注意力映射,得到权重映射图,将任意一个模态的特征映射图与其他模态的权重映射图进行外积,将外积结果与该模态的特征映射图进行相加,以此进行特征融合;
    20.预测模块,被配置为根据融合后的特征图,采用预测模型得到待测食品图像中每种营养成分的含量。
    21.第三方面,本发明提供一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
    22.第四方面,本发明提供一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
    23.与现有技术相比,本发明的有益效果为:
    24.本发明提供一种跨模态注意力机制的食品营养成分含量预测方法及系统,可以快速准确的预测食品中质量、卡路里、脂肪等营养素的含量,以端到端的方式进行预测,在精度与速度两个方面均能高效的预测营养素含量,满足对高效快捷的营养评估方法的需求,显著提升食品营养评估方法的检测速度和准确度,有效改善食品营养评估应用在日常生活的稳定性与可行性。
    25.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
    附图说明
    26.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
    27.图1为本发明实施例1提供的跨模态注意力机制的食品营养成分含量预测方法流程图;
    28.图2为本发明实施例1提供的跨模态注意力特征融合结构图;
    29.图3为本发明实施例1提供的注意力结构图;
    30.图4为本发明实施例1提供的训练过程中单次迭代的流程图。
    具体实施方式
    31.下面结合附图与实施例对本发明做进一步说明。
    32.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
    33.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
    34.在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
    35.实施例1
    36.本实施例提供一种端到端的跨模态注意力机制的食品营养成分含量预测方法,旨在借助深度学习的方法,结合食品图像中rgb和depth等多模态信息进行食物识别、分类以及卡路里、常量营养素含量预测。如图1所示,具体包括;
    37.对食品图像样本集标注营养成分及含量,以此对预测模型进行训练;
    38.对待测食品图像进行多模态特征提取,对每个模态的特征映射图进行注意力映射,得到权重映射图,将任意一个模态的特征映射图与其他模态的权重映射图进行外积,将外积结果与该模态的特征映射图进行相加,以此进行特征融合;
    39.根据融合后的特征图,采用预测模型得到待测食品图像中每种营养成分的含量。
    40.在本实施例中,在不同环境场景下采集食品图像,使采集的食品图像能够包含用户在正常就餐环境下存在的不同类型的干扰,以代表真实的餐厅环境;
    41.将食品图像进行尺寸归一化,将图像尺寸统一为600
    ×
    400,以增量的方式逐个食品的往餐盘中添加、称重,以记录每类食品的质量,依次记录食品的名称、质量;
    42.参照食品营养数据库中每种食品每克所含有的卡路里、蛋白质、碳水、脂肪含量等营养成分含量,以进行真实值的标注,方便后续生成模型的训练目标;
    43.对食品图像进行营养成分标注及营养营养含量的标注后,将食品数据集进行训练集和测试集的划分,以对预测模型进行训练。
    44.在本实施例中,所述预测模型包括图像特征提取网络、注意力多模态特征融合网络(attentive multi-modal feature fusion,amffnet)和特征细化网络(refinenet),采用resnet-101网络提取食品图像的多模态特征,将提取的四个层级的rgb特征和深度特征通过amffnet网络进行融合,经过refinenet进一步将融合特征进行细化,得到细节信息和语义信息丰富的特征图。
    45.在本实施例中,图像特征提取网络采用resnet-101网络为主干网络,将提取到的四个层级的rgb和深度特征作为amffnet网络的输入,即将四个残差块conv2、conv3、conv4、conv5的输出作为amffnet网络的输入,然后经过refinenet网络对amff网络的输出进行进
    一步的融合。
    46.在本实施例中,为了充分的融合多尺度特征,利用含有残差学习的refinenet进行多层级的特征融合。refinenet网络包括refinenet-1、refinenet-2、refinenet-3、refinenet-4,除了refinenet-4之外,其他的refinenet模块都接收来自amff的融合特征和前一模块的细化特征;refinenet-1输出最终的融合特征,该特征包含更多的细节信息和语义信息,以便后续更好的进行营养估计。
    47.为获得更加有力的特征,除了普通的特征提取过程外,多模态特征融合是非常必要的。现有的多模态融合的方法大多遵循较晚的融合方式,未能进行充分的融合。针对不同模态的特征图跨模态的应用注意力机制,在视觉任务中是互补的。当强烈期望的目标在某一种模态中出现在某个位置时,对该位置的判断不仅在预期模态中有所改善,而在另一种模态中也有所改善。对于多模态数据的处理,跨模态注意力机制显示出了其有效性。为了更加充分的挖掘rgb特征和深度特征,本实施例提出一种高效的多模态特征融合网络。
    48.本实施例采用跨模态注意力机制,通过建模各个通道的重要程度,针对不同的任务增强或者抑制不同的通道,在确保维度不变的情况下,有效的捕获了通道之间的信息。
    49.注意力多模态特征融合网络采用amffnet网络,如图2所示,将提取的多模态特征先经过1
    ×
    1的卷积层降低维度,同时减少计算量,方便后续的训练;每个模态特征再经过两个残差卷积单元(residual convolution unit,rcu)得到特征映射图,将特征映射图经注意力模块(channel attention module,cam)进行注意力映射。
    50.在rgb模态下,深度模态分支的特征映射图进行注意力映射得到权重映射图,即将深度模态的特征映射图经过全局平均池化、1
    ×
    1卷积重组、激活函数后得到权重映射图,将权重映射图与rgb分支的特征映射图相乘(element-wise multiplication),将相乘结果与rgb分支的特征映射图相加(element-wise addition),得到跨模态注意力机制融合后的特征图;
    51.深度分支做同样的处理后,将两个分支输出的结果经过卷积层后进行相加,得到融合后的特征图;最后,将融合后的特征图经过链式残差池(chained residual pooling)捕获大范围的上下文信息。
    52.如图3所示,经残差卷积单元rcu后得到的特征映射图为f={f1,f2,
    ……
    fc},f∈rh×w×c;在注意力模块cam中,首先将特征映射图应用全局平均池化得到输出o∈rh×w×c,h和w分别表示特征映射图的宽度和高度,c表示通道数量;
    [0053][0054]
    其中,k是输出o中第k个通道,ok是经过全局平均池化之后得到的输出。
    [0055]
    然后,再经过1
    ×
    1的卷积层学习各个通道之间的关系,得到与输出o相同通道的输出;对输出的结果采用sigmoid激活函数,不仅增加网络的非线性,同时每个特征通道的权重限制在[0,1]之间。
    [0056]
    假设经过激活函数后输出的结果为ω∈rh×w×c:
    [0057][0058]
    其中,σ表示sigmoid函数,表示c个通道的1
    ×
    1卷积操作。
    [0059]
    将特征映射图和相对模态下的权重映射图执行外积,得到的外积输出再与相应分支的原始特征映射图相加,得到最终输出y∈rh×w×c表示如下:
    [0060][0061][0062]
    其中,表示外积,表示对应元素相加,f
    rgb
    表示经过rcu模块输出的rgb分支对应的特征映射图,f
    depth
    表示经过rcu模块输出的深度分支对应的特征映射图,ω
    rgb
    和ω
    depth
    分别表示经过注意力模块各个分支得到的对应通道的权重。
    [0063]
    通过上述操作,特征映射图f转变成新的特征图y,相比f包含了更多对预测有用的信息。
    [0064]
    在本实施例中,假设当前特征图为y∈rh×w×c,将其通过多尺度预测、全局平均池化、全连接层得到营养成分含量的预测结果。考虑到营养估计和端到端的方法输出的结果是数值型的,本实施例采用平均绝对误差mae和平均绝对误差的百分比值衡量营养成分预测的准确度。
    [0065]
    营养成分包括卡路里、质量和常量营养素,常量营养素包括碳水、脂肪和蛋白质;卡路里的值是以千卡为单位,质量以及常量营养素的值是以克为单位。平均绝对误差的百分比表示平均绝对误差与所有真实值的平均值的百分比。每个评估指标的平均绝对误差的百分比值越低,代表营养含量评估的准确度越高。
    [0066]
    表示如下;
    [0067][0068]
    其中,是给定测试图像的i的预测值,yi是图像i的真实值。
    [0069]
    在本实施例中,总损失函数采用多损失函数,总损失函数整合质量损失、卡路里损失以及常量营养素损失,采用平均绝对误差作为质量、卡路里以及常量营养素的回归损失,通过优化算法进一步优化损失函数在更新中存在的摆动幅度过大的问题,加快网络的收敛速度。
    [0070]
    总损失函数由五个回归损失共同组成,质量损失、卡路里损失以及常量营养素损失(碳水、脂肪和蛋白质)三部分组成总损失函数,定义多任务的总损失如式(6)所示:
    [0071][0072]
    其中,ym、y
    cal
    、是质量、卡路里和常量营养素的真实值,m包含碳水、脂肪和蛋白质总的含量,是网络对质量、卡路里、常量营养素的预测值。
    [0073]
    通过计算损失函数,不断进行梯度反向传播更新预测模型参数,反复迭代并评估,得到最优预测模型,单次迭代网络的训练流程如图4所示。
    [0074]
    本实施例提供一种跨模态注意力机制的食品营养成分含量预测方法及系统,提供一种端到端的网络结构,首先使用rgb和depth图像作为网络的输入,以resnet网络作为骨干网络,提取食品图像的多模态特征;将提取到的四个层级的特征基于注意力多模态特征
    融合和特征细化进行融合,使得特征图具有更丰富的细节信息和语义信息;最后经过多尺度预测、全局平均池化、全连接层输出最终的卡路里、质量、脂肪、蛋白质以及碳水的含量。满足对健康、营养饮食的追求,通过理解和跟踪所吃食物的营养成分,让用户做出更科学合理的饮食选择,进而解决营养专业人员短缺、营养评估准确性不高等多方面的问题。
    [0075]
    实施例2
    [0076]
    本实施例提供一种跨模态注意力机制的食品营养成分含量预测系统,包括:
    [0077]
    训练模块,被配置为对食品图像样本集标注营养成分及含量,以此对预测模型进行训练;
    [0078]
    特征处理模块,被配置为对待测食品图像进行多模态特征提取,对每个模态的特征映射图进行注意力映射,得到权重映射图,将任意一个模态的特征映射图与其他模态的权重映射图进行外积,将外积结果与该模态的特征映射图进行相加,以此进行特征融合;
    [0079]
    预测模块,被配置为根据融合后的特征图,采用预测模型得到待测食品图像中每种营养成分的含量。
    [0080]
    此处需要说明的是,上述模块对应于实施例1中所述的步骤,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
    [0081]
    在更多实施例中,还提供:
    [0082]
    一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例1中所述的方法。为了简洁,在此不再赘述。
    [0083]
    应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
    [0084]
    存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
    [0085]
    一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例1中所述的方法。
    [0086]
    实施例1中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
    [0087]
    本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
    [0088]
    上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范
    围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
    转载请注明原文地址:https://tc.8miu.com/read-1146.html

    最新回复(0)