这是一篇开放获取的文章,根据创作共用署名许可协议(https://creativecommons.org/licenses/by/4.0/)的条款发布,允许在任何媒介上不受限制地使用、分发和复制,前提是正确引用了首次发表在JMIR Formative Research上的原创作品。必须包括完整的书目信息,http://formative.www.mybigtv.com上的原始出版物的链接,以及此版权和许可信息。
最近的研究导致了许多信息技术支持的卫生保健控制系统的发展,包括从食物图像估计营养的系统。捕捉饮食和运动数据的系统对糖尿病患者和仅仅在节食的人都很有用。持续监测是有效饮食控制的关键,需要使用简单并能激励用户注意饮食的系统。不幸的是,目前大多数系统都很复杂,或者没有激励作用。这样的系统需要一些手动输入,比如选择图标或图像,或者输入用户食物的类别。反馈给用户的营养信息并不是特别有用,因为通常只提供膳食中所含的估计的详细营养价值。
在本文中,我们介绍了膳食健康作为一个更有用和有意义的通用标准,并提出了一种新的算法,可以从膳食图像中估计健康,而不需要人工输入。
我们提出了一个系统,使用提取特征的深度神经网络和使用由人类饮食专家准备的数据集学习饮食健康程度之间关系的排名网络来评估膳食健康程度。首先,我们研究了注册营养师是否可以仅通过使用一个小数据集(100顿饭)查看膳食图像来判断膳食的健康程度。然后,我们根据一名注册营养师观看的餐食图像集(850顿餐食)的比较生成了排名数据,并训练了一个排名网络。最后,我们估计了每餐的健康评分来检测不健康的饮食。
所提出的网络估计的排名与根据营养师判断的健康排名相关(相关系数为0.72)。此外,通过使用公开可用的大型膳食数据集进行预训练来提取网络特征,能够克服特定健康数据的有限可用性。
我们提出了一个基于图像的系统,可以根据构成膳食的菜肴的整体健康程度对膳食进行排名。由所提出的方法获得的排名与营养师基于营养价值的排名有良好的相关性。然后,我们提出了一个网络,该网络允许对判断膳食图像很重要的条件,提取消除背景信息且与位置无关的特征。在此条件下,实验结果表明,该网络比传统的图像排名方法获得了更高的健康排名估计精度。这个检测不健康饮食的实验结果表明,我们的系统可以用来帮助医护人员为需要选择健康饮食建议的糖尿病患者制定饮食计划。
最近,许多以资讯科技为支援的医疗保健系统已被开发出来,其中包括使用影像膳食评估来治疗肥胖症和糖尿病的系统[
然而,有两个问题会导致人们停止使用该系统。第一个问题是,目前大多数技术都需要用户操作才能实现餐点图像识别[
第二个问题是系统输出与用户理解之间的脱节。与Dialbetics用户的访谈显示,部分用户认为营养师提供的建议过于冗长和多余[
这似乎是一个安全的假设,“膳食图像”,一顿饭中所有菜肴的单一图像,包含一些视觉线索,可以估计这顿饭的健康程度。使用膳食图像,我们的目标是在用户和系统之间提供一个简单的界面,提供清晰的反馈,激励用户继续关注他们的膳食,并通过一种方式筛选那些需要注册营养师建议来改善膳食的人。之前的一项研究是关于一个系统,该系统允许根据图像分享其他用户的用餐反馈[
近年来,许多食物图像识别系统已被提出[
与这些通过识别食物或成分类别来评估营养的传统方法相比,我们提出了一种通过查看整个膳食图像来预测一顿饭是否健康的新方法。我们的方法避免了非常困难的确定食物绝对值的食物图像识别任务。相反,我们的健康评估方法使用了一个排名网络和通过比较许多对膳食图像生成的排名数据。我们将一个由食物数据集和食物区域掩码训练的识别网络与一个排名网络融合在一起。这种方法允许从包含多个菜肴的餐点图像中提取食物特征,从而能够对整个餐点做出准确的判断。在这里,我们报告了一项试点研究的结果,以突出我们提出的系统从生成健康膳食排名数据到不健康膳食检测的管道。
可用于数据间比较的机器学习算法统称为机器学习排序算法(MLRAs)。提出了几种基于支持向量机(SVM)或CNN算法的MLRAs。众所周知,CNN在识别任务中提供了高性能,基于CNN的秩算法已被应用于估计图像的各种属性。一项研究证明了从城市景观图像中估计城镇属性[
防止神经网络学习健康与食物本身以外的因素之间的关系也很重要。为此,我们的排名网络被构建为仅使用食物区域来估计排名,通过使用空间选择区域进行学习,在训练阶段使用感兴趣区域的掩码来实现。然后根据Dubey et al[的排序方法,用许多有序的图像对来训练我们的网络。
虽然网络可以在线训练,但我们采用了离线学习方法。我们首先建立了一个排名数据集,然后在训练网络时输入数据集中的图像对。我们使用这种方法是因为需要排名数据来计算排名得分的偏差值,这是我们系统的输出,直观地表达了膳食的健康程度。我们的数据库不是通过众包,而是由一位专家(注册营养师)注释的。提前建立排名数据集对专家是有帮助的,这使他们可以在任何方便的时间工作,如果需要可以重做工作。一旦建立了排名数据,我们只需从这个数据集中生成一组对的排名。
Rank-SVM [
我们提出了一个基于图像的系统,可以根据构成膳食的菜肴的整体健康程度对膳食进行排名。首先,我们生成了一个膳食图像数据库,由观看图像的注册营养师进行排名。然后,我们构建了一个网络,该网络保持了判断膳食图像的重要条件,同时提取了消除背景信息和那些与位置无关的特征。网络的输出,<我talic>
健康,而营养师的判断预期具有较高的相关系数。系统的工作流程如图所示
为需要注册营养师建议改善膳食的人士提供健康膳食筛选系统及影像资料库的工作流程。
我们的系统提取<我talic>
健康得分,即与平均健康度的偏差,让使用者可以评估自己的饮食与平均健康度的差距,从而了解自己的饮食在健康度分布范围内是否属于健康选择。在
我们的基于图像的膳食评级系统执行以下过程:(1)检查注册营养师是否可以仅通过查看小数据集(100餐)中的膳食图像来判断膳食的健康程度;(2)由注册营养师查看膳食图像,根据一组膳食图像(850餐)的比较生成排名数据;(3)基于排名来训练一个网络(特征提取子网络,在被我们的排名数据集训练之前由食物数据集预训练,以及排名估计子网络)来估计健康指标;(4)估计每餐的得分,以及估计每餐得分的领域适应性,最终基于健康指标检测不健康膳食。
Ground truth由图像集及其相关的秩组成。基本真理可以通过烹饪样餐来发展。注册营养师会使用经测量的营养价值的食材烹煮样餐,以便利用经证实的营养公式准确计算总营养价值[
这种方法是资源密集型的,在实际情况下,由于资源限制导致数据集较小。因此,我们需要更大的数据集来训练网络。因此,我们扩大了地面真相集,使用专家仅基于图像对健康排名进行主观评估。为了建立该方法的有效性,我们验证了注册营养师专家可以通过查看膳食图像来适当地判断健康等级。我们请营养师检查基本真相集中的图像,并根据它们的营养价值对它们进行排名。判断餐食图像的营养师与为ground truth数据集烹饪并拍摄餐食样本的营养师是不同的。然后,我们评估了营养师观看食物图像所给出的排名与基于营养测量的真实排名之间的关系。基于营养测量的基本真相排名是根据日本的食物成分标准值计算的[
为了生成包含图像和每张图像中隐含的健康指标的数据集,我们使用了一个自定义应用程序,该应用程序显示了一组由营养师根据健康状况从“最好”到“最差”进行排名的多餐图像。一位营养学家被告知,排名应该表明菜肴是否可以恰当地构成一顿饭,还被告知,只看每顿饭的图像就能尽可能准确地做出判断。如果很难区分两餐,那么对多餐进行相同的分级也是可以接受的。为了减少营养师的工作量,我们的应用程序在每一步只显示4张图片。应用程序界面如图
App界面生成排名数据。一组4餐图像被展示出来,注册营养师将这些图像从1到4进行排序。
排序算法如
我们使用Dubey等人提出的方法训练网络输出随机选择的图像对的正确排序顺序[
膳食的健康程度应仅从所含食物或配料来判断。因此,含有相同成分但在不同背景或盘子上拍摄的食物应该被认为具有相同的健康程度。为了确保这种连续性,我们修改了排名层,使像素特征只包含在感兴趣的区域中,消除了食物放置或背景(如表格)的任何可能影响。在训练阶段,我们通过使用一个掩码来指示食物的区域,防止网络学习健康与食物本身以外的因素之间的关系。掩模只是在食物区域使用1值,在其他地方使用0值,因此原始图像和掩模的逐像素乘法会产生一个图像,其中食物区域与原始图像相同,并且图像中食物区域以外的任何部分都被赋予0值。掩码是在提议的系统之外手动生成的。仅当数据用于训练时才应用掩码;一旦网络被训练好,屏蔽就不再需要了。
预测健康的网络是使用注册营养师生成的扩展地面真相排名数据进行训练的。在训练过程中输入成对的图像和它们的相对排名,所有成对的图像都被标记为哪个比另一个更健康。重复的网络被用来预测健康状况。它们的输出被用来计算损失,其定义为:
在哪里<我talic> x<年代ub>我, x<年代ub>j 这是一对图像吗<我talic> 我,<我talic> j对于训练,∈是所有标记的图像对的集合,和<我talic> f (x)图像是否正常<我talic> x.<我nline-graphic xlink:href="//www.mybigtv.com/formative/2020/10/e18507/formative_v4i10e18507_fig9.png" xlink:type="simple" mimetype="image">而且<我nline-graphic xlink:href="//www.mybigtv.com/formative/2020/10/e18507/formative_v4i10e18507_fig10.png" xlink:type="simple" mimetype="image">ground truth是否健康,与方程(2)中图像的ground truth顺序是否有关系<我talic> x<年代ub>我 而且<我talic> x<年代ub>j .
我们分配<我talic> 我而且<我talic> j得到满足的一对图像<我nline-graphic xlink:href="//www.mybigtv.com/formative/2020/10/e18507/formative_v4i10e18507_fig11.png" xlink:type="simple" mimetype="image">.由于(1)式损失函数的值随着估计阶数的减小而减小<我talic> f (x<年代ub>我)而且<我talic> f (x<年代ub>j)是<我talic> f (x<年代ub>我)><我talic> f (x<年代ub>j)在图像之间真实有序关系的条件下<我talic> 我而且<我talic> j是<我nline-graphic xlink:href="//www.mybigtv.com/formative/2020/10/e18507/formative_v4i10e18507_fig11.png" xlink:type="simple" mimetype="image">,训练排序预测器,使所有数据的损失最小化。当<我talic> f (x<年代ub>我)><我talic> f (x<年代ub>j),这是真的,而且<我talic> l会得到一个接近0的值。当估计秩的顺序<我talic> f (x<年代ub>我)而且<我talic> f (x<年代ub>j)是<我talic> f (x<年代ub>我)<<我talic> f (x<年代ub>j),它是假的,和<我talic> l会给出一个很大的值。
作为特征提取的网络,我们采用了与金字塔场景解析网络(PSPNET)相同的架构[
我们使用UEC FOOD-100数据集[
提出了训练餐点排名数据的系统。特征提取层由卷积神经网络(CNN)和金字塔场景解析网络(PSPNet)组成[
由于网络对健康性的断言本身没有意义,我们将偏差定义为健康性值,其计算方法为与方差归一化后的网络输出的均值之间的距离。我们称这个方差为<我talic> 健康得分,这与<我talic> 排名.
专家(注册营养师)必须从图像中推断出成分和食物。
然后,我们确认了基于观看图像的排名与根据预先测量的营养价值排名的排名之间的关系,使用注册营养师基于图像的排名来创建我们实验中的扩展事实集。
我们在实验中考虑了配对比较和排名估计、不健康餐点检测以及餐点图像的域适应性。
我们使用了2型糖尿病患者的原始膳食图像数据库(参见下面的一般排名数据部分,了解排名注释的详细过程)和UEC食物数据集[
为了对CNN进行预训练和评估排序估计的领域适应性,我们使用了UEC Food Dataset中的图像。
我们在不同条件下评估了健康排名的准确性:(1)使用和不使用特征提取层预训练,(2)使用和不使用由语义分割生成的掩码,(3)在训练和测试阶段使用CNN+FC(使用连接CNN和Rank-SVM的全卷积层)或Rank-SVM作为输出层,以及(4)使用基于排名的CNN [
我们进行了实验,以检查预先训练CNN对特征提取的贡献,与使用Rank-SVM相比,使用CNN进行输出层的端到端结构,并与Dubey等人提出的原始基于排名的CNN相比,检查我们的方法的性能[
评价指标为比较错误率<我talic> E<年代ub>p 和平均顺序误差<我talic> E<年代ub>o 确定如下。
当估计分数之间的顺序关系<我talic> 年代<年代ub>我 而且<我talic> 年代<年代ub>j 一对测试图像的<我talic> 我<年代ub>我 而且<我talic> 我<年代ub>j 是否与分数对之间的顺序关系相同<我talic> ŝ<年代ub>我 而且<我talic> ŝ<年代ub>j 由注册营养师指定<我talic> 我<年代ub>我 而且<我talic> 我<年代ub>j ,为对的得分估计结果<我talic> 我而且<我talic> j被认为是真的,<我talic> C(<我talic> 我,我) = 1。
对所有测试图像进行配对排序的准确性计算。被证明正确的计数之比就被作为比较的错误率<我talic> E<年代ub>p 对的。
其中Ω是所有其他测试样本对的集合(<我talic> 我<年代ub>我 ,<我talic> 我<年代ub>j ), (<我talic> 我,我∈{<我talic> 我<年代ub>1,我<年代ub>2 、……<我talic> 我<年代ub>N }),<我talic> N是测试样本的数量。
我们根据两个分数对测试样本进行排序,得出了两个排名:由建议方法估计的分数和由注册营养师分配的分数。然后我们比较了顺序<我talic> o<年代ub>我 的<我talic> 我<年代ub>我 按顺序<我talic> o<年代ub>我 由注册营养师,并计算误差之间<我talic> o<年代ub>我 而且<我talic> o<年代ub>我 作为<我talic> e<年代ub>我 =∣<我talic> o<年代ub>我 - - - - - -<我talic> o<年代ub>我 ∣;<我talic> o<年代ub>我 是根据估计的秩对图像进行排序得到的。
顺序的平均误差<我talic> E<年代ub>o 的平均值是多少<我talic> e<年代ub>我 ;Ω为测试样本集合{<我talic> 我<年代ub>1,我<年代ub>2 、……<我talic> 我<年代ub>N },<我talic> N是测试样本的数量。
该系统可用于检测不健康饮食。它可以自动识别哪些患者倾向于选择不健康的饮食,并引发健康专家的监督。为了证实这一点,我们进行了一项不健康饮食检测实验。
为了测试我们方法的领域适应性,我们估计了一个公开可用的数据库UEC食品数据集[
根据食物的营养测量和营养学家观看食物图像给出的排名。
方法间健康错误率的评价。
方法 | 训练模型的条件 | 排名错误率(<我talic> Eo) | 成对排序的错误率(<我talic> Ep) | ||
|
屏蔽 | Pretraining | 排序法 |
|
|
该方法 | 是的 | 是的 | 美国有线电视新闻网<年代up>一个 | 13.94 | 16.40% |
是的 | 没有 | 美国有线电视新闻网 | 14.59 | 17.16% | |
没有 | 是的 | 美国有线电视新闻网 | 16.6 | 19.5% | |
是的 | 是的 | Rank-SVM<年代up>b | 16.2 | 19.1% | |
基于排名的CNN [ |
是的 | 没有 | 美国有线电视新闻网 | 15.44 | 18.15% |
一个CNN:卷积神经网络。
b支持向量机:支持向量机。
根据营养师的判断得出的健康排名与用所提方法估计的排名之间的关系如所示
比较注册营养师的标准化排名和排名估计的输出提出的方法。
不健康膳食检测的准确性评价。
方法 | 训练模型的条件 | 不健康膳食检测的准确性 | ||
|
屏蔽 | Pretraining | 排序法 |
|
该方法 | 是的 | 是的 | 美国有线电视新闻网<年代up>一个 | 76.5% |
是的 | 没有 | 美国有线电视新闻网 | 73.9% | |
没有 | 是的 | 美国有线电视新闻网 | 72.5% | |
是的 | 是的 | Rank-SVM<年代up>b | 70.3% | |
基于排名的CNN [ |
是的 | 没有 | 美国有线电视新闻网 | 72.86% |
一个CNN:卷积神经网络。
b支持向量机:支持向量机。
曲线
不健康膳食检测的受试者工作特征曲线。横轴为假阳性率(FP),纵轴为真阳性率(TP)。每条曲线显示TP与FP的值集,当不健康膳食的定义是其排名低于k% (k= 50,60,70)的所有膳食时。
所提出的方法所确定的样本图像及其健康度值如图所示
我们的实验结果表明,基于营养师判断的健康排名与通过所提方法估计的排名之间存在一定的关系(
对于错误率较大的图像(
在
虽然这些食物是在不同的时间烹制的,包含的食材也略有不同,但一些视觉线索与健康状况有关,我们可以假设提出的系统使用这些视觉线索来评估健康状况。
在这项工作中,我们训练网络学习一个基于营养师定义的模型。通过使用我们的排名GUI工具建立训练数据并训练其他模型,将来可以提供多个指数。
基于配对比较和秩估计,我们发现掩蔽和预训练都是学习饮食健康的有效方法。使用排序层的端到端结构的结果优于使用特征提取层和Rank-SVM得到的结果。这表明,排名层使用的端到端方法比Rank-SVM使用的基于特征的提取方法获得了更好的性能。提出方法的等级与营养师给出的等级之间的相关系数为0.72,不是特别高;但是,这种相关性和成对比较预测的错误率为16.4%(准确率为83.6%)与之前的工作是一致的,包括原始排名方法的准确性(从城市形象对城市的安全性进行排名)[
不健康饮食检测的结果表明,可以设置一些适当的阈值来平衡假阳性和真阳性。例如,当每天上传60张餐点图片(来自30个用户的2张餐点图片)时,通过将“不健康”定义为所有餐点中排名较低的50%的餐点,可以选择一个阈值,以便自动检测出排名较低的30张图片,只包括一些健康餐点。对排名估计的域适应性评估表明,我们的方法具有域适应性,因此在各种条件下(即在家里或餐馆)拍摄的用餐图像将是可接受的。
由于我们的膳食图像数据库是由2型糖尿病患者的真实膳食照片组成的,数据库规模不大,食物种类也有限。此外,用于训练排名模型的实际有效数据集甚至更小,因为我们允许营养师在注释膳食图像的排名时使用并列排名。对膳食图像数据库的一部分进行培训的营养师数量也有限。目前,我们有来自两位营养师的数据。在这项工作中,由于数据集规模较大,我们只使用了一位营养师的数据。由于这些限制,我们的实验结果必须根据初步研究的背景来解释。生成一个包含更多餐食类别的更大的数据库将有助于提高排名估计的准确性。
我们使用机器学习方法生成了排名估计模型,假设膳食图像的外观和营养师给出的排名之间存在联系。然而,如果有更大规模的数据集,我们就有可能将膳食分为健康膳食和不健康膳食的多个类别。
我们提出了一个基于图像的系统,可以根据构成膳食的菜肴的整体健康程度对膳食进行排名。首先,我们发现排名与基于营养价值的排名有良好的相关性。然后,我们提出了一个网络,该网络允许对判断膳食图像很重要的条件,同时提取消除背景信息且与位置无关的特征。在此条件下,实验结果表明,该网络比传统的图像排名方法获得了更高的健康排名估计精度。虽然训练数据集的大小对于纯训练解决方案来说还不够大,但使用食物数据集引入特征提取网络的预训练使系统能够产生与专家排名高度相关的估计排名。
这个检测不健康饮食的实验结果表明,我们的系统可以用来帮助医护人员为糖尿病患者制定饮食计划,他们需要选择健康饮食的建议。未来的工作将包括使用多个注册营养师的排名数据创建一个更大的数据集,并提高推断的准确性。
生成排名数据集的算法。
由营养师提供的膳食健康等级的Bland-Altman图和提出的方法。
Bland-Altman图的平均值和基于营养测量的真实排名和由营养师观看食物图像给出的排名之间的差异。
采用本文方法估计的膳食图像样本和健康度偏差值(上),以及错误率较大的膳食图像样本(下)。
来自UEC-Food Dataset的膳食图像样本及其健康评分(a)较高评分和(b)较低评分的膳食通过所提出的方法估计。
卷积神经网络
机器学习排序算法
金字塔场景解析网络
支持向量机
这项工作得到了日本科学促进协会(JSPS) KAKENHI基金(16K09163)的支持。
SK和KW是无处不在健康信息学部门的成员,该部门参与了东京大学和NTT DOCOMO之间的合作项目。