2021年 4月
第 42 卷 第 2 期
Ape.2021Voi.42 No.2
首都医科大学学报Journal  of  Capital  Medical  Uniweity
[doi : 10. 3969/j. issn  1006-7795- 2021- 02- 017]
-基础研究-
面向慢性病人的智能膳食评估系统
马兰芳1薛怡蓉2!
(1.北京邮电大学医院院长办公室,北京100876;2.北京邮电大学人工智能学院,北京100876)
$摘要】目的基于移动终端拍摄的食物图像对慢性病患者的日常饮食进行智能营养评估。方法构建基于人工智能的膳食
评估系统,利用深度学习技术与图像处理方法,实现食物图像的智能分割、识别与营养素估算,使慢性病患者仅依据智能手机拍 摄的食品图像即可得到食物的营养素信息。该系统同时支持172类中餐食谱与353种食材的细粒度识别,并在Vuee  Food-172
食谱数据集上得到了验证。结果 基于卷积神经网络模型的食谱预测准确率为89. 72%,食材评估指标微平均(mum-aw/gug ,
Mic/-E1)提升至79. 06%,宏平均(macro-averaging , Macrv-F1)提升至64. 28% ,在VUee  Food-172食谱数据集上取得了目前食材
分类的最佳性能;基于食谱与食材识别结果对食物营养素进行估计,估计值与参考值误差均处于合理的范围内。结论本系统
可实现针对慢性病人的智能膳食评估,便于患者进行每日饮食的自我监督,且有助于辅助营养师完成患者的日常饮食记录与 评估,具有实用价值与研究意义。
$关键词】 慢性病;食物图像;深度学习;超像素分割;图像分类;营养估计
$中图分类号】R151.4
An  efUcient  and  convepient  intelligepS  dietary  assessment  system  for  patients  with  chronic  diseases
Ma  Lanfeng 1, Xua  Yimng 2*
*基金项目:中央高校基本科研业务费专项资金资助(2020XD-F02-1 )& This  study  was  supposed  by  the  Fundamental  Research  Funds  for  the  Central  Universities  (2020 XD-F02-1).
* Cofesponding  authos , E-mail  :ymue643@bupt. edu. cn
网络出版时间:2021 -04 -12 15: 25 网络出版地址:https ://k*s. oikk  neUkcms/detaii/11.3662. R. 20210412. 1140.034. html
(1. Dean's  )fice , Beijing  Unwersito  of  Posts  and  Telecommunications  Hospital , Beijing  100876, China ; 2. School  )A rtificial  Intelligence ,
Beijing  Unwersito  of  Posts  and  Telecommunicatiof , Beijing  100876, China )
+ Abstract] Objective  To  built  a  diet  evaluation  system  based  on  artUicial  intelligence  to  evaluate  the  daily  diet  of  patients  with
chronic  diseases. Methods  Deep  learning  technology  and  tradikonai  image  processing  method  were  used  to  realize  intelligent
s3gm3niaioon , ecognoioon  and  nuieoni3siomaioon  oeeood  omag3, soihaipaioniswoih  cheonocdos3as3scouid  obiaon  ih3nuieonioneoemaioon  oeeood  doe3ciiywoih  oniyih3eood  omag3siak3n  bysmaeiphon3s.Th3sysim  aisosuppoeid  ih3eon3-geaon3d  e3cognoioon  oe172 Chon3s3
food  recipes  and  353 food  ingredUnts  which  had  been  verified  in  the  food  dataset  VUee  Food-172. Restlts  The  p/dictive  accuracy  of  the
eecopesbased  on  iheconeoiuioonaineueaineiwoek  modeiwas89.72% , ihemoceo-aeeeagong ( Moceo-F1 ) and  maceo-aeeeagong ( Maceo-F1 ) ooingeedienisimpeoeed  io79.06% and  64.28% eespeciieeiy.Thesiaie-oo-ihe-aeipeeooemanceooingeedieniseecogniiion  wasachieeed  on
oood  da  iase  iVi  eeo  Food-172; Theoood  nuieienisweeeesiimaied  based  on  iheeesuiisooeecipeciassioicaiion  and  ingeedieniseecogniiion , and  the  error  between  the  estimated  values  and  the  reference  values  was  within  a  reasonable  range. Conclusion  The  system  could  realize inie i genidieiaeya s e s meniooepaiieniswiih  cheonicdiseases , which  couid 
oaciiiiaiepaiienisioseio-supeeeiseiheiedaiiydieiand  assisi
nuieiiionisisiocompieieihedaiiydieieecoed  and  asse s meni.Iihad  peaciicaieaiueand  eeseaech  signioicance.
+ Key  woels  ] chronic  diseases ; food  biage ; deep  learning ; super-pixel  seymenta/on ; biage  classification ; nut/kon  estimation
慢性病是严重威胁我国居民健康的一类疾病,已 成为影响国家经济社会发展的重大公共卫生问题-1. &
随着我国工业化、人口老龄化进程不断加快,居民生
活方式对健康的影响逐步显现,慢性病患病及死亡人
数不断增加,众慢性病疾病负担日益加重,这也给
我国的医疗体系带来沉重的压力&不健康的饮食习
惯是心血管疾病、糖尿病等一系列慢性病发生和发展 的主要危险因素[2],而合理饮食与营养干预是慢 性病的重要手段& 一方面,营养干预投入的经济和医
疗资源都相对较少,患者易于接受,另一方面,也能有
第2期马兰芳等:面向慢性病人的智能膳食评估系统263
效降低多种慢性病并发症的发生率和病死率,延长患者生存时间。
临床常见的膳食调查方法有24h膳食回顾法和食物频率问卷法⑶,营养师将通过患者每天记录的摄入食物数量及种类,估算食物热量及蛋白质总量,并进行膳食摄入情况的评估。此类方法操作简单,但高度依赖于患者的有效合作与营养师的专业知识及经验,且较为耗时,难以进行及时反馈。
由于手机等移动端设备的普及,食物图像的获取更为方便,这为智能营养评估提供了数据支持[4-5]&而随着人工智能(artificial intelligence,AI)技术的发展,深度学习技术在食物图像的识别分类与检测领域取得了较大进展[6-8],使得膳食评估的智能化成为可能。
因此本研究基于慢性病患者每日摄入食物的图像信息,使用深度学习技术与图像分割算法,建立智能营养评估系统。患者可随时随地上传每日摄入食物的图片,即可获得食物的食谱、食材种类及对应的能量、蛋白质等营养素信息。整个过程方便快捷,且大大节省了评估时间。该系统能够给予患者及时高效的反馈,一定程度上减轻了营养师的工作压力,也可提高患者的依从性,方便患者进行每日膳食摄入的自我监督,有利于病情的改善&
1资料与方法
1.1数据来源
本研究使用目前业界公认的中餐基准食谱数据集Virea Food-172⑼,进行食谱与食材的分析和识别;采用$美食天下%网站(home,meishichina. com/recipe,html)上的食谱数据并对其进行处理,用于构建质量参考库;查询《中国食物成分表0[10]中的
食材信息,建立营养成分表,以上数据均可公开获取。
1.2数据集构建
Virea Food-172数据集:是由香港城市大学陈晶晶团队公开发布的食谱数据集,包含172种常见的中餐食谱及353种食材,共有110241张食物图片,尺寸均为256x256像素,平均每张图片包含3种食材。该数据集已划分好训练集、验证集与测试集,分别对应66071张、11016张与33154张食物图像,测试集可直接用于验证本文模型在食谱与食材分类上的性能。
质量参考库:处理“美食天下”网站上的食谱信息,得到与VGea Food-172数据集中172类食谱相关的数据,具体包含食谱图片、食材种类及质量;利用超像素分割算法计算每张食谱图像的食物与餐盘面积比Ratio,,该数值用于后续的食材质量计算,接着将每类食谱中的图片包含的食材种类、质量以及面积
比取均值,得到172类食谱的食材质量参考值。具体示例如表1所示。
表1质量参考库示例
Tab.1Example of weight refereecc table
Chinese pawley Name of recipe Ratio n NoodUs//Beef/g Radish/g
coriander/l
Lanzhou hand-
0.56831537455
pulled noodles
营养成分表:查询《中国食物成分表》[10]的食材营养成分数据,获取VGea Food-172数据集中353种食材对应的营养素信息,建立营养成分表。具体示例如表2所示,表格中的数据表示100y食材对应的营养素信息,Pawn为食材的生物利用度,该数值用于计算食材的可食用质量,如100y排骨中仅有68y可供人们食用。
表2营养成分表示例
Tab.2Example of nutrition facts
Name of Energy/
Kcal
Protein,/g Fat/g Carbohydrate/g ingredients
Portion
Beef10012519.9  4.22
Spaeeeibs6826418.320.4  1.7
1.3数据增强
为增加训练样本的数量及多样性,提升模型鲁棒性,本文模型针对食谱图像实现数据增强,具体包括随机长宽比例裁剪、随机水平翻转。模型的输入图像尺寸大小应一致,依据常见分类网络的数据增强策略[11],原始食谱的图像分辨率为256x256,将其随机裁剪为224x224,此时一张图可扩充为32x
32张图片,从而达到扩充样本的目的。随机水平翻转是将原始图像像素在位置空间上进行变换,从而增加样本的多样性。
1.4模型算法
基于深度学习技术与图像处理方法,构建针对慢性病患者的智能膳食评估系统。该系统将采用移动
264首都医科大学学报第42卷
终端拍摄的食物图像作为研究对象,首先采用卷积神经网络对食谱及食材种类进行预测,得到图像的食谱及食材信息,接着借助超像素分割方法与质量参考库,计算出食材质量;最后查询营养成分表,得到食谱的营养素信息,从而模拟出营养师对食物的营养素计算过程。具体流程如图1所示。
图1智能营养评估系统框架图
Fig.1Architecthrr of nutrient assessment system DB:database.
该系统主要分为四大模块:食谱与食材分类、食物分割、食材质量生成与营养估算。
食谱与食材分类模块:本文采用高分辨率的卷积神经网络-12.(high-resolution network,HRNet),通过
并行连接高低分辨率的子网络保持图像的高分辨率,同时采用重复的多尺度特征融合得到食物图像丰富的多尺度特征,最终使用两个独立的全连接层分别进行食谱与食材的分类预测。
食物分割模块:基于线性迭代聚类算法(sim­ple/near iterative clustering,SLIP)对食物图像进行超像素分割-13],利用图像像素之间纹理、颜、亮度等特征的相似性将像素分组,得到食物与餐盘的二值化图像,图2A表示食物原图;图2B图为经过超像素分割提取到的食物部分,其中白部分为食物;图2C中的白部分则为未被食物覆盖的餐盘部分。
图2超像素分割示例
F sg.2IExample of super-p sxel segmentat son
A:original iwage of food;B:reyion of food(white paS)extracted by simple linear iterative clustering algorithm;C:reyion of plate(white paS)extracted by simple linear iterative clustering algorithm.
食材质量生成模块:依据公式(1)计算食物分割模块提取的食物图!Fool)与餐盘图(Plate)面积之比(Rati);查询质量参考库,获取预测食谱种类对应的标准!Raho0)与质量参考值(Weight refk),依据公式(2)计算出预测的食材质量;其中Z为预测的食材种类。
n n
Foo f t
Rati=-------c1;1---------------------,n=256(1) n n n n
Food t;+Plate t o
t1J=1c1J=1
其中Food t;表示二值化食物图Food坐标为(i,;位置对应的像素值,非0即1&
⑷讪十Rt小”(2
)
第2期马兰芳等:面向慢性病人的智能膳食评估系统265
营养估算模块:考虑到排骨、玉米等食材的不可
食用部分不必计入营养素的计算中,本模块首先依据
公式(3)计算食材的可食用部分质量(Weighty);接
着查询营养成分表,得到100g食材的营养素信息
(NutritioOo",即可计算出食材对应的营养素(Nutri-
tioo Z,最终对所有食材的各个营养素进行累加,得到
慢性病患者日常饮食中各种食材对应的营养素信息。
Nutrigop k
Portioo
100
X Weight P t
NutrigoPo
~100-(3)
X恥劲%
针对模型预测的食材种类及质量,慢性病患者可默认选择系统自动生成的质量;而当患者认为食材种
类与质量不够准确时,系统也预留了修正接口,允许患者对结果进行增加、修改与删除操作,使营养素的估计更加精准。
1.5统计学方法与结果评价
为更加准确和全面地评估模型,本文将基于Python3.7语言,使用深度学习分类评估方法与统计学的分位数统计方法对系统的食谱及食材分类结果、营养素评估结果进行评价。
1.5.1食谱及食材分类评估
采用Topi、Top5准确率作为食谱分类的评估指标,其中Topl准确率是指对一张图片,若预测概率最大的类别与图片的真实类别一致,则认为分类正确;同理,Top5准确率是指对一张图片,若预测概率前五名的类别中包含图片的真实类别,则认为分类正确,目前Top1、Top5准确率也是图像分类模型的常用评估指标。
在多标签分类任务中,采用Micra-Cl与Macra-Cl 作为食材分类的评估指标⑼,其中Micra-Cl表示所有食材类别的预测准确率,Macra-Cl则单独考虑每类食材的分类准确率,再进行加权平均。
Miceo-F1计算公式如下:
Miceo-F12X micre-P X micre-R
micre-P+micre-P
(4)
其中m/ra-B表示所有图像在食材分类任务中的精准率,m/ra-R表示所有图像在食材分类任务中的召回率,二者的计算公式如下:_
TP
micra-B=-----------
TP+FP
TP
micra-R=(5)
TP[FN
tp-表示第i类食材被预测正确的个数,则所有
——1C
食材预测正确的平均数TP=C'TP-,其中C为食材的类别总数;DP-表示其他类食材误认为第i类食材的个数,则所有图像其他类食材误认为正样本的平
——1C
均数FP= C'FP-;FN-表示第-类食材被误认为其他类食材的个数,则所有图像的食材被误认为负样
——1C
本的平均数FN=头'FN-&
&=1
Maceo-F1计算公式如下:
Macra-Cl=2X皿呻X叱當(»
macro-H+macro-R
其中macra-P表示所有类别的精准率,macra-R 表示所有类别的召回率,二者的计算公式如下:
1C
macra-P=—'P s
i c
macra-R=—'R s(7)
Ch1
TP
第-类食材样本的精准率P-=Tp[Dp,第i类
TP
食材样本的召回率R-=Tp[fn&
1.5.2营养素评估
由于VGea Food-172数据集中的食物图片未包含食材的质量信息,即无法得到食谱营养素的真实值,则难以对其评估结果进行客观的量化。为解决该难题,本文则选取“美食天下”食物图片作为测试样本,平均每类食谱包含7张测试图片,共计1227张,依据图片对应的真实食材种类及质量进行营养素的计
算,并将其作为食物图像的营养素真实值。针对系 统最终输出的营养素估算结果,计算估计值与真实值之间的绝对误差,采用中位数(MePian)和四分位数间距!interqua/iia rangy,1QR)进行评估。
1.6模型训练与测试
采用Python  3.7、OpenCV数字图像处理库与PyTowh深度学习框架进行模型训练与测试。依据以上算法,建立针对慢性病患者的智能膳食评估模型;将经过数据增强后的图像进行多轮迭代训练,对不同参数进行调整测试,得到最优模型&
266
首都医科大学学报第 42 卷
2结果
2.1食谱及食材分类预测
基于HRNet 模型进行建模训练并测试,将预测
结果与测试集中的真实数据进行比较,最终得到模型 分类性能评价。食谱分类Ty1准确率达到
89- 72% ,Top5分类准确率达到98- 08% &食材分类
指标 MU/-F1 达到 79- 06%、Macm-F1 达到 64- 28% ,
取得了目前最佳性能。
计算353种食材所对应的F1值,取F1值最高的
前3类食材进行显示,统计结果如表3所示。其中馒
头、螃蟹与小龙虾的指标性能最好,精准率P g 与召回
率"均达到97 %以上,以上3种食材的形态相对固
定,且颜、形状等特征较为明显,样本量也相对丰
富,因此网络对它们的识别能力较强。
表3食材预测结果统计
Tab. 3 The  statistical  resnlts  of  ingrePients  prePiction
Food  ingredients  (Top3)
TP FP FN
P &
Small  locO  of  steamed  bread 254
540.9810.984
C/ytsh
215360.9860.973Crab
215
5
4
0.9770.982
micro-%0.842micro-R 0.745
macro-%0.732
macro-R
0. 573
MUm-Fl
0.791
Macro-Fl
0.643
TP : Uue  posikve  ; FP : false  positive  ; FN : false  neya/ve  ; : precision  of  th —-th  classes  of  ingredienU  ; #recall  of  th —-th  classes  of  ingredients  ;
micro-P : precision  of  test  images  * micro-R : recall  of  test  images  * macro-P : precision  of  all  cateyo/es  of  ingredients  * macro-R : recall  of  all  cateyo/es  of
ingredients  * Micro-F1: micro -a veraging  * Macro-F1: macro -c ve r aging.
为了说明模型的可解释性,可视化模型中间结果 如图3所示。原图像为图3A ,可视化特征图如图3B 所示,红部分表示网络特别关注的区域及特征,可 以看出,食物部分对最终分类结果的“贡献度”最高,
说明网络可以较好地提取食物的图像特征,从而进行 食谱与食材分类。图3B 下方为网络预测的食谱与食
材类别,均与图像3A 下方真实值一致,食材名称右侧
为网络预测的食材概率,概率值越大,说明网络预测
Recipe: Barbecued  pork  with  rice 0.999
0.9980.998
0.986
Recipe:
Barbecued  pork  with  rice  Ingredients:Black  sesame
Rice  Shanghai  cabbage  Barbecued  pork  slices
Rice
基于美食食谱网站的论文
Shanghai  cabbage Barbecued  pork  slices
Black  sesame
图3图像分类结果可视化
Fig. 3 VisnalizeP  image  dassiCcation
A : Uue  *
B : predict.
为该食材的可能性越大,也越接近真实标签,即模型
预测能力较好。
2.2营养估计
依据2.1中模型预测的食谱及食材类别以及食
物与餐盘面积比,对食物图像进行营养素估算,统计
模型估计结果与真实值之间的误差,评估模型的营养
素预测性能。详见表
表4各类营养素的误差分布
Tab. 4 The  error  distriCution  of  nutrients
Nut/ents
Meiian  (IQR )
Fat//  4.67(1.16 -17. 74)Protein//
8.66(3.48 -22.89)
Carbohydrate//9.18(3.36-28.29)
Eneryy/Kcal
166- 84(63. 83 -336.53)
IQR : interquartile  range.
结果显示,系统对脂肪、蛋白质与碳水化合物的
评估能力较好,这三者的绝对误差相对较低,误差中
位数均小于10 g ,而由于能量的度量单位与以上三者
不同,其度量值也较大,导致能量的绝对误差值较高;
能量真实值的均值为439- 35 Kcal ,误差中位数与该均 值的比值为0. 38,说明系统对能量的预测仍处于合理 的范围内