?

面向慢性病人群的智能膳食評估系統

2021-04-28 06:35馬蘭芳薛怡蓉
首都醫科大學學報 2021年2期
關鍵詞:營養師營養素慢性病

馬蘭芳 薛怡蓉

(1. 北京郵電大學醫院院長辦公室,北京 100876;2. 北京郵電大學人工智能學院,北京 100876)

慢性病是嚴重威脅我國居民健康的一類疾病,已成為影響國家經濟社會發展的重大公共衛生問題[1]。隨著我國工業化、人口老齡化進程不斷加快,居民生活方式對健康的影響逐步顯現,慢性病患病及死亡人數不斷增加,群眾慢性病疾病負擔日益加重,這也給我國的醫療體系帶來沉重的壓力。不健康的飲食習慣是心血管疾病、糖尿病等一系列慢性病發生和發展的主要危險因素[2],而合理飲食與營養干預是治療慢性病的重要手段。一方面,營養干預投入的經濟和醫療資源都相對較少,患者易于接受,另一方面,也能有效降低多種慢性病并發癥的發生率和病死率,延長患者生存時間。

臨床常見的膳食調查方法有24 h膳食回顧法和食物頻率問卷法[3],營養師將通過患者每天記錄的攝入食物數量及種類,估算食物熱量及蛋白質總量,并進行膳食攝入情況的評估。此類方法操作簡單,但高度依賴于患者的有效合作與營養師的專業知識及經驗,且較為耗時,難以進行及時反饋。

由于手機等移動端設備的普及,食物圖像的獲取更為方便,這為智能營養評估提供了數據支持[4-5]。而隨著人工智能(artificial intelligence,AI)技術的發展,深度學習技術在食物圖像的識別分類與檢測領域取得了較大進展[6-8],使得膳食評估的智能化成為可能。

因此本研究基于慢性病患者每日攝入食物的圖像信息,使用深度學習技術與圖像分割算法,建立智能營養評估系統?;颊呖呻S時隨地上傳每日攝入食物的圖片,即可獲得食物的食譜、食材種類及對應的能量、蛋白質等營養素信息。整個過程方便快捷,且大大節省了評估時間。該系統能夠給予患者及時高效的反饋,一定程度上減輕了營養師的工作壓力,也可提高患者的依從性,方便患者進行每日膳食攝入的自我監督,有利于病情的改善。

1 資料與方法

1.1 數據來源

本研究使用目前業界公認的中餐基準食譜數據集Vireo Food-172[9],進行食譜與食材的分析和識別;采用“美食天下”網站(https://home.meishichina. com/recipe.html)上的食譜數據并對其進行處理,用于構建質量參考庫;查詢《中國食物成分表》[10]中的食材信息,建立營養成分表,以上數據均可公開獲取。

1.2 數據集構建

Vireo Food-172數據集:是由香港城市大學陳晶晶團隊公開發布的食譜數據集,包含172種常見的中餐食譜及353種食材,共有110 241張食物圖片,尺寸均為256×256像素,平均每張圖片包含3種食材。該數據集已劃分好訓練集、驗證集與測試集,分別對應66 071張、11 016張與33 154張食物圖像,測試集可直接用于驗證本文模型在食譜與食材分類上的性能。

質量參考庫:處理“美食天下”網站上的食譜信息,得到與Vireo Food-172數據集中172類食譜相關的數據,具體包含食譜圖片、食材種類及質量;利用超像素分割算法計算每張食譜圖像的食物與餐盤面積比Ratio0,該數值用于后續的食材質量計算,接著將每類食譜中的圖片包含的食材種類、質量以及面積比取均值,得到172類食譜的食材質量參考值。具體示例如表1所示。

表1 質量參考庫示例Tab.1 Example of weight reference table

營養成分表:查詢《中國食物成分表》[10]的食材營養成分數據,獲取Vireo Food-172數據集中353種食材對應的營養素信息,建立營養成分表。具體示例如表2所示,表格中的數據表示100 g食材對應的營養素信息,Portion為食材的生物利用度,該數值用于計算食材的可食用質量,如100g排骨中僅有68 g可供人們食用。

表2 營養成分表示例

1.3 數據增強

為增加訓練樣本的數量及多樣性,提升模型魯棒性,本文模型針對食譜圖像實現數據增強,具體包括隨機長寬比例裁剪、隨機水平翻轉。模型的輸入圖像尺寸大小應一致,依據常見分類網絡的數據增強策略[11],原始食譜的圖像分辨率為256×256,將其隨機裁剪為224×224,此時一張圖可擴充為32×32張圖片,從而達到擴充樣本的目的。隨機水平翻轉是將原始圖像像素在位置空間上進行變換,從而增加樣本的多樣性。

1.4 模型算法

基于深度學習技術與圖像處理方法,構建針對慢性病患者的智能膳食評估系統。該系統將采用移動終端拍攝的食物圖像作為研究對象,首先采用卷積神經網絡對食譜及食材種類進行預測,得到圖像的食譜及食材信息,接著借助超像素分割方法與質量參考庫,計算出食材質量;最后查詢營養成分表,得到食譜的營養素信息,從而模擬出營養師對食物的營養素計算過程。具體流程如圖1所示。

圖1 智能營養評估系統框架圖Fig.1 Architecture of nutrient assessment systemDB:database.

該系統主要分為四大模塊:食譜與食材分類、食物分割、食材質量生成與營養估算。

食譜與食材分類模塊:本文采用高分辨率的卷積神經網絡[12](high-resolution network, HRNet),通過并行連接高低分辨率的子網絡保持圖像的高分辨率,同時采用重復的多尺度特征融合得到食物圖像豐富的多尺度特征,最終使用兩個獨立的全連接層分別進行食譜與食材的分類預測。

食物分割模塊:基于線性迭代聚類算法(simple linear iterative clustering,SLIC)對食物圖像進行超像素分割[13],利用圖像像素之間紋理、顏色、亮度等特征的相似性將像素分組,得到食物與餐盤的二值化圖像,圖2A表示食物原圖;圖2B圖為經過超像素分割提取到的食物部分,其中白色部分為食物;圖2C中的白色部分則為未被食物覆蓋的餐盤部分。

圖2 超像素分割示例Fig.2 Example of super-pixel segmentationA: original image of food; B: region of food (white part) extracted by simple linear iterative clustering algorithm; C: region of plate (white part) extracted by simple linear iterative clustering algorithm.

食材質量生成模塊:依據公式(1)計算食物分割模塊提取的食物圖(Food)與餐盤圖(Plate)面積之比(Ratio);查詢質量參考庫,獲取預測食譜種類對應的標準(Ratio0)與質量參考值(Weightrefk),依據公式(2)計算出預測的食材質量;其中k為預測的食材種類。

(1)

其中Foodi,j表示二值化食物圖Food坐標為(i,j)位置對應的像素值,非0即1。

(2)

營養估算模塊:考慮到排骨、玉米等食材的不可食用部分不必計入營養素的計算中,本模塊首先依據公式(3)計算食材的可食用部分質量(Weighteatk);接著查詢營養成分表,得到100 g食材的營養素信息(Nutrition0),即可計算出食材對應的營養素(Nutritionk),最終對所有食材的各個營養素進行累加,得到慢性病患者日常飲食中各種食材對應的營養素信息。

(3)

針對模型預測的食材種類及質量,慢性病患者可默認選擇系統自動生成的質量;而當患者認為食材種類與質量不夠準確時,系統也預留了修正接口,允許患者對結果進行增加、修改與刪除操作,使營養素的估計更加精準。

1.5 統計學方法與結果評價

為更加準確和全面地評估模型,本文將基于Python 3.7語言,使用深度學習分類評估方法與統計學的分位數統計方法對系統的食譜及食材分類結果、營養素評估結果進行評價。

1.5.1 食譜及食材分類評估

采用Top1、Top5準確率作為食譜分類的評估指標,其中Top1準確率是指對一張圖片,若預測概率最大的類別與圖片的真實類別一致,則認為分類正確;同理,Top5準確率是指對一張圖片,若預測概率前五名的類別中包含圖片的真實類別,則認為分類正確,目前Top1、Top5準確率也是圖像分類模型的常用評估指標。

在多標簽分類任務中,采用Micro-F1與Macro-F1作為食材分類的評估指標[9],其中Micro-F1表示所有食材類別的預測準確率,Macro-F1則單獨考慮每類食材的分類準確率,再進行加權平均。

Micro-F1計算公式如下:

(4)

其中micro-P表示所有圖像在食材分類任務中的精準率,micro-R表示所有圖像在食材分類任務中的召回率,二者的計算公式如下:

(5)

Macro-F1計算公式如下:

(6)

其中macro-P表示所有類別的精準率,macro-R表示所有類別的召回率,二者的計算公式如下:

(7)

1.5.2 營養素評估

由于Vireo Food-172數據集中的食物圖片未包含食材的質量信息,即無法得到食譜營養素的真實值,則難以對其評估結果進行客觀的量化。為解決該難題,本文則選取“美食天下”食物圖片作為測試樣本,平均每類食譜包含7張測試圖片,共計1 227張,依據圖片對應的真實食材種類及質量進行營養素的計算,并將其作為食物圖像的營養素真實值。針對系統最終輸出的營養素估算結果,計算估計值與真實值之間的絕對誤差,采用中位數(Median)和四分位數間距(interquartile range,IQR)進行評估。

1.6 模型訓練與測試

采用Python 3.7、OpenCV數字圖像處理庫與PyTorch深度學習框架進行模型訓練與測試。依據以上算法,建立針對慢性病患者的智能膳食評估模型;將經過數據增強后的圖像進行多輪迭代訓練,對不同參數進行調整測試,得到最優模型。

2 結果

2.1 食譜及食材分類預測

基于HRNet模型進行建模訓練并測試,將預測結果與測試集中的真實數據進行比較,最終得到模型分類性能評價。食譜分類Top1準確率達到89.72%,Top5分類準確率達到98.08%。 食材分類指標Micro-F1達到79.06%、Macro-F1達到64.28%,取得了目前最佳性能。

計算353種食材所對應的F1值,取F1值最高的前3類食材進行顯示,統計結果如表3所示。其中饅頭、螃蟹與小龍蝦的指標性能最好,精準率Pi與召回率Ri均達到97%以上,以上3種食材的形態相對固定,且顏色、形狀等特征較為明顯,樣本量也相對豐富,因此網絡對它們的識別能力較強。

表3 食材預測結果統計Tab.3 The statistical results of ingredients prediction

圖3 圖像分類結果可視化Fig.3 Visualized image classification A: true; B: predict.

為了說明模型的可解釋性,可視化模型中間結果如圖3所示。原圖像為圖3A,可視化特征圖如圖3B所示,紅色部分表示網絡特別關注的區域及特征,可以看出,食物部分對最終分類結果的“貢獻度”最高,說明網絡可以較好地提取食物的圖像特征,從而進行食譜與食材分類。圖3B下方為網絡預測的食譜與食材類別,均與圖像3A下方真實值一致,食材名稱右側為網絡預測的食材概率,概率值越大,說明網絡預測為該食材的可能性越大,也越接近真實標簽,即模型預測能力較好。

2.2 營養估計

依據2.1中模型預測的食譜及食材類別以及食物與餐盤面積比,對食物圖像進行營養素估算,統計模型估計結果與真實值之間的誤差,評估模型的營養素預測性能。詳見表4。

表4 各類營養素的誤差分布Tab.4 The error distribution of nutrients

結果顯示,系統對脂肪、蛋白質與碳水化合物的評估能力較好,這三者的絕對誤差相對較低,誤差中位數均小于10 g,而由于能量的度量單位與以上三者不同,其度量值也較大,導致能量的絕對誤差值較高;能量真實值的均值為439.35 Kcal,誤差中位數與該均值的比值為0.38,說明系統對能量的預測仍處于合理的范圍內。

3 討論

根據《中國居民營養與慢性病狀況報告》[14]顯示,高血壓、糖尿病、心腦血管病等慢性病的患病率在逐年上升,吸煙、過量飲酒、身體活動不足和高鹽、高脂等不健康飲食是慢性病發生、發展的主要行為危險因素,而對居民的營養改善是遏制慢性病高發態勢的重要手段之一。

對于病情較輕的慢性病患者來說,一般謹遵醫囑即可有效緩解慢性病的發展態勢,但由于營養學知識的匱乏,患者對營養師的建議理解可能存在偏差,往往會出現過度控制飲食以致出現營養不良等狀況;而對于病情較重的慢性病患者來說,一般則需要營養師對患者進行更為詳細和頻繁地指導,但目前高水平的營養師資源較為缺乏,患者難以得到有效的指導和監督[15],并且在這個過程當中,患者需親自記錄每日飲食攝入情況并不定期去醫院復查,與專業營養師進行溝通交流,整個過程較為繁瑣、耗時。

本研究建立的針對慢性病患者的智能膳食評估系統,則可以在一定程度上緩解患者營養學知識較為匱乏、營養師資源較為短缺的情況。一方面,本系統將食物圖片與營養學知識結合在一起,利用深度學習技術完成食物的膳食智能評估,提供患者每日飲食攝入的營養素參考信息,方便患者進行營養的合理搭配,從而緩解其營養不良或過剩的狀況;針對系統評估結果,本系統食譜準確率達到89.72%,食材分類評估指標Micro-F1相較于目前性能[9]提升了23.66%,Macro-F1提升了29.35%,以較高的準確率完成食譜與食材的預測,從而為食物營養素的智能評估奠定了基礎,最終的評估結果表明,脂肪、蛋白質與碳水化合物的預測值與真實值的絕對誤差較低,能量的誤差相對偏高,但仍處于合理的范圍內。另一方面,用戶隨時隨地拍攝食物圖像并將其上傳至系統,本系統即可在幾秒內完成食物的營養評估,整個過程方便快捷,且操作簡單,大大節省了評估時間與成本;營養素的評估信息也可上傳至云端,供營養師訪問與查看,方便營養師對患者日常飲食狀況進行監督及評估,隨時隨地給出膳食建議,降低對患者的反饋時間;雙方溝通時間的縮短能進一步增加營養師可管理的患者數量,隨著管理患者數量的增加,營養師仍可依據患者的病情與癥狀對患者進行分類管理,提升工作效率。

由于中餐食譜數據集的制作存在較大挑戰,如食譜類別難以劃分,不同食材組成的食譜可能誤分為同一類食譜,目前尚未有較完善的大規模中餐食譜數據集發布,因此本系統所采用的食譜數據集種類及圖片數量有限,仍需在更多食譜數據集上進行測試與驗證。在實際使用過程當中,系統可以以一種在線的方式收集用戶拍攝的大量食物圖像與用戶的反饋信息,從而擴充食譜訓練數據集,增強模型的泛化能力,使其識別得更為廣泛、精確。而對于食材質量預測來說,其準確性受質量參考庫的影響,而質量參考庫的建立需大量食譜的圖片、食材種類及質量等信息,目前這部分信息仍有待完善,導致營養素評估結果穩定性欠佳,因此后續仍需繼續擴充食譜數據量,完善質量參考庫,以期得到性能穩定的營養評估系統。

綜上所述,本研究提出了針對慢性病患者的高效便捷的智能膳食評估系統。該系統同樣適用于需合理控制每日飲食攝入的健康人群,可為他們提供及時的食物營養信息反饋,方便用戶依據營養素信息對食物攝入進行相應的調整,達到飲食攝入的每日監控目的,從而有效預防糖尿病、心血管疾病等慢性病的發生。后續隨著與專業營養師的進一步合作,本系統將基于患者的基礎信息、食物營養素信息以及營養師的專業知識智能給出膳食建議以及風險評估,進一步緩解營養師資源緊缺問題,改善慢性病患者的診療體驗,提高其健康水平。

猜你喜歡
營養師營養素慢性病
難忘的小小營養師演講比賽
肥胖是種慢性病,得治!
老年人護眼七大營養素
食物中的“有色”營養素
因人而異合理補充營養素
健康管理和健康教育在老年人慢性病控制中的應用
健康體檢常見慢性病及指標異常流行病學分析
揭秘“食品級”肌膚營養素
一直走在健康路上——記德馨康健(北京)健康管理有限公司營養師團隊
營養師:我的食客修煉之路
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合