文章目录
前言
“民以食为天”,中华美食文化源远流长,现代生活“食”尚追求科学饮食,维生素、蛋白质、糖分热量都要计算,还要结合每天的运动量达到合理饮食,均衡膳食。面对五颜六色、琳琅满目的食材,到底该如何选择呢?本期技术内容来由中国科学技术大学赵振刚老师于 2023 Google 开发者大会分享,其团队开展了将 AI 和 TensorFlow 技术应用于美食相关方面的一些工作。
声明:本文由作者“白鹿第一帅”于 CSDN 社区原创首发,未经作者本人授权,禁止转载!爬虫、复制至第三方平台属于严重违法行为,侵权必究。亲爱的读者,如果你在第三方平台看到本声明,说明本文内容已被窃取,内容可能残缺不全,强烈建议您移步“白鹿第一帅” CSDN 博客查看原文,并在 CSDN 平台私信联系作者对该第三方违规平台举报反馈,感谢您对于原创和知识产权保护做出的贡献!
文章作者:白鹿第一帅,作者主页:blog.csdn.net/qq_22695001,未经授权,严禁转载,侵权必究!
一、关于 Google 开发者大会
1.1、什么是 Google 开发者大会?
Google 开发者大会旨在向开发者展示谷歌最新的技术、产品、应用和开发工具等,同时也给开发者们提供了一个交流互动的平台,让他们能够和谷歌公司的工程师和其他开发者进行交流和互动,分享创意,交流经验,探讨未来的发展方向和趋势,并共同探讨如何利用最新的技术和工具来推动互联网的发展和创新。大会内容涵盖了广泛的领域,包括机器学习、Web 技术、移动开发、云计算、物联网等,每年都会发布一系列重要的开发工具更新。
9 月 6 日 - 7 日,2023 Google 开发者大会在上海举办。
1.2、CSDN 上线 2023 Google 开发者大会专题页
CSDN 上线 2023 Google 开发者大会的专题页,无法亲临现场的开发者可以通过观看主旨演讲、专题演讲回放视频,全方位了解重磅技术更新和专业行业洞察https://marketing.csdn.net/p/8b1b4b3f5f0fe4c3cdf1c2d5e42a05c3
二、关于吃的话题
2.1、食物选择的普遍性
食物是人类赖以生存、繁衍的基础,关乎全人类的生存和命运。吃得饱是人们的基本需求,吃得好是人们的共同追求。在快餐盛行的今天,我们大多数人每天都面临着“吃什么”的选择。
2.2、探讨食物的重要性
“吃什么”不仅仅是个日常话题,也是科学家们关注的重要命题,“吃什么样的食物”或“吃得多少”与我们的健康密切相关,下图是 Nature 的子刊当中关于食物感知的相关研究,我们可以看到其中提到了关于“食材感知”的技术。
所谓食物感知,就是通过食物的图像、检验、指标等多个特征来分析食物的营养及其对人体系统的影响,食物感知可以帮助人们科学饮食、均衡膳食。
三、健康饮食中的食材感知与关联探讨
3.1、项目团队组建及研发进展
那么能否通过运用 AI 技术来实现食物感知,从而提高人们的生活质量呢?在这样的思考下,赵振刚老师团队的项目应运而生,在两年前的一次谷歌的技术交流会上,组建了项目的初始团队,并且启动了“益食”项目的开发。
理论方法:
- 数据集处理和小样本识别研究。
- 基于小样本的预训练 CNN 图像识别。
工程开发:
- 搭建食材数据库:广泛收集食材标本,设定训练集、测试集、验证集。
- 以 TensorFlow 2.0 框架搭建识别食材神经网络:深度学习训练神经网络,优化神经网络,提高食材的识别率。
实际应用:
- 基于 TensorFlow 的轻量级食材识别:一款食材与食谱搭配的 APP——益食。
3.2、基于小样本的预训练 CNN 图像识别
由于食物数据集相对较少,并且食物形态缺少结构化特征,团队选择了小样本学习方法。小样本方法是指通过几个样本来进行高质量识别,人类拥有单样本学习的能力,通过泛化一个例子就可以学习新的概念,对事物图像新类别的学习也同样可以借鉴。
例如在下图中有十几个我们常见的动物,当你看到右图动物的时候,很容易把它分辨出来,这是一只水獭,这是我们人类的所特有的智能认知能力,而小样本学习也正是模拟人类的这种认知水平。
在此方法指导下,团队先后研究了国外各种经典的食物数据集,并且实现在大规模数据集(many-shot)上预训练模型,使用该 CNN 模型的特征提取器得到食品图像的特征向量,再迁移到我们国内的有中华美食的数据集(few-shot)上训练分类器做食品图像识别,实现了特征相量化和就近相似度匹配。
在实验工作当中,团队实现了在 TensorFlow 的技术上有 96.3% 识别率,比同类方法高 2~3 个百分点。
3.3、食物感知 APP 开发
在基于小样本的预训练 CNN 图像识别基础上,团队通过 TensorFlow 构建了移动端智能 APP。
- 端侧部署:为了匹配移动端算力有限的限制,通过简化模型来实现端测部署。减少网络时延,缓解服务器压力,充分利用手机端算力。
- Mosaic 数据增强:考虑到手机拍摄时相机角度的随机性,引入 Mosaic 数据增强方法,将图像在不同角度下进行旋转。把不少于 4 张图片,通过随机缩放、随机截减、随机排布的方式进行拼接,扩充了数据集的数量,增加小样本的数量。
- 多帧缓冲:设计多帧缓冲来对数帧画面进行综合判定,解决了因画面抖动或环境复杂导致的识别异常问题。
- 同帧不同框:实现同一帧多食材识别,在同一帧画面中截处多块,使模型在同一画面多个目标食材条件下实现近实时推演速度。
下图是通过端侧部署、数据增强技术后不断提升的增强曲线以及同帧不同框下多食材同时识别的效果和通过多帧缓冲技术之后画面消抖实现的稳定识别效果。
第一版的益食 APP 对 25 种以上的核心食材实现了高达 97% 以上的识别率。
四、基于时空网络的膳食生成应用
4.1、不仅要吃得好,还要吸收得好
中国饮食讲究时令,有“不时不食”的说法,仅仅完成食材识显然不是团队的目的,对于健康饮食而言,和时间有非常强的相关性,这也是我们传统饮食、中医养生在长期民族文化中积累的精华。
4.2、时空图数据挖掘理论
在与专门研究时空图数据挖掘领域的项目团队讨论后,团队提出了基于时空网络的膳食生成应用技术路线图。团队采集了美食菜谱用户的饮食偏好等各类数据,结合时空建模,生成了基于 AI 的健康食谱推荐模型,在模型指导下,进一步积累并融合用户饮食的时空上下网信息,从而构建一个随时间变化的饮食时空网络,为用户推荐个性化食谱。
4.3、多维度推荐系统
之后团队进行了 TensorFlow 2.0 的相关移植和模型的调优,引入了时间相关维度,将一年 365 天量化为 24 个节气,即 24 个元素的向量,通过食材契合、标签匹配饮食偏好、营养结构分析和季节时令多个特征比对,实现精准的个性化健康饮食推荐。在这样的模型指导下,让“每天吃什么?”这个问题变得不再困难。
以知识图谱组织非结构化数据:
- 广泛收集食谱样本。
- 挖掘食材间关系。
以文本特征补偿图像分析结果:
- 常见食材搭配。
以 24 节气构建时间序列:
- 时令推荐。
融合饮食与运动记录:
- 短期个体因子。
为此团队进行了专项训练,构建除了智能膳食 APP 之外的单项维度测试网站,让更多学生、老师用户参与进来进行规模化训练。
下图是益食 2.0 版本,综合实现了食材识别、膳食推荐、食谱排行、运动社区、拼盘生成等几大功能,在 APP 指导下,用户可以完成在菜场买菜、做菜、烹饪等各个环节的指导工作。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!