无痛减肥黑科技:拍照识热量

一直以来,横亘在减肥塑身的志士仁人面前的除了坚定的意志还有一道很难逾越的坎:每天的摄入热量怎么算?

对于统计每天步数和大致热量消耗的设备,我们有手环、watch、手机;但每天的热量摄入,怎么计算呢? 每次就餐带上纸、笔、记算器,不太现实。用热量计算app,需要手动输入每样食品吃了多少克,没有厨房称的帮助下,对大多数人来说,要感知50g和75g的区别比较困难。

当AI作为一个形容词,几乎可以应用在任何领域的时候,减肥这个领域,似乎还没有被充分开垦。


iDST数据实验室的算法同学,正致力于做一个小小的改变:

帮助用户,通过拍一张照片,识别照片里包含的食材和对应的营养成份;通过选择对应的份量,还可以算出大致热量。

到目前为止,已实现对大部分常见的食物:中餐各式菜肴、面点、水果、饮料的识别,覆盖了几千种南北食材。目前,该模型已经上线内测,我们也会努力尝试成为减肥界的一股清流。

ps,如果正在减肥的同学想抢先上手尝试,请直接拉到页面底部试用~

 

让手机镜头,识别面前的每一种食物,输出它们的营养、热量和做法,我们是怎么做的?

一、数据收集和处理:

首先是大量的数据收集和知识库的建设。
我们通过各类网站:搜索引擎、点评和外卖、淘宝商品和用户评价、获取了几千万张食物相关的图片。
根据解析到的实体标签以及映射到后台的知识库,把所有的图片分成对应为后台食材的3000个左右的叶子类。从实拍集和训练效果的角度,保证每一个叶子类有至少2000张以上的训练数据。

二、训练框架和方法:

食材识别的难点在哪里?

与通常的图像分类算法相比,通过拍照识别食材并估算热量是一个异常艰巨的任务。因为烹调食品是一个复杂且漫长的过程,期间各种食材会经历多种物理和化学甚至生物变化。

例如,刀工会使得食材发生物理变化。即使是标准的刀工,也会将原先的食材加工为片、丁、丝、条、茸、段、麦穗型、梳子型、菊花形、米状、末等完全不同的形状。即便是同样的片状,还会细分为指甲片、柳叶片、月牙片、骨牌片、象眼片、马牙片、秋叶片等不同的模样。形状的多变无疑增加了识别的难度。

烹饪中的化学反应进一步增加了识别的难度。例如,随着烹饪过程中化学反应的发生,食材的颜色通常会发生变化,有些食材的颜色会与烹饪之前有很大的反差。

有些食材例如蛋白质会从液态变为固态,有些水溶性的食材会从固态变为液态。涉及到发酵等生物反应的烹饪过程时,食材会进一步变的面目全非。

在实际的识别过程中,有些食材只露出小小的一角,而有些菜,如水煮鱼,看到的是上面的鱼片,用户会希望模型还有对应的知识,即鱼片的下面,其实铺满了豆芽。

由此,食材的识别和通常的图片识别和分类算法相比,有更多的困难。

我们的方法

针对食材识别的问题,我们的方法是:使用深度学习的方法,将黑盒的神经网络与白盒的烹饪领域知识结合起来,同时确保训练数据的数量和质量。

我们综合评估了:GoogleNet, AlexNet, VGG, GoogleNet+BatchNorm 以及Caffe和TensorFlow,从Top5 ACC (输出的前5个结果的准确率)的角度,上述框架没有存在显著的差异性。目前我们采用的是Caffe以及GoogleNet 和 ImageNet,更多的是从工程的可伸缩性,支持并发部署的角度来考虑的。


三、挑战和业界评测:

在饮食领域的图像识别和分类上面,业内一直有关注和研究,比如下面的paper:

Deep Learning Based Food Recognition 
DeepFood: Deep Learning-based Food Image Recognition for Computer-aided Dietary Assessment 
ChineseFoodNet: A large-scale Image Dataset for Chinese Food Recognition 
NutriNet: A Deep Learning Food and Drink Image Recognition System for Dietary Assessment
ChinFood1000: A Large Benchmark Dataset for Chinese Food Recognition
Learning Cross-modal Embeddings for Cooking Recipes and Food Images

对上述paper中的方法进行比较,基本上是 基于AlexNet,Vgg,Gnet,ResNet,今年CVPR的DenseNet做修改,细节有差异。

从数据集和分类目标两个层面,在启动之初,我们就站在比目前业界更高的起点上。 

上面是几个用于做公开测评的通用数据集的数据情况,我们可以看到上述通用测试集的分类较少,每一个分类的样本数量相对均匀。从千万级的数据规模和过千的分类数量上看, 我们的数据规模是比较庞大的。

从分类目标上,我们首先识别食材(而非菜名),进而解析出营养成分和热量,从场景上能够较完整地反映用户健康和饮食习惯。从食材的数量和烹饪方式上看,中餐的识别相较于西餐要困难,识别食材又比菜名更困难。

识别效果评测,目前业内的最好成绩是:

数据集名称

分类数量

数据集大小

准确率

备注

Food-101

101

101,000

88.28%

基于GoogleNet

UEC FOOD 100

100

9,060

81.45%

日餐为主

UEC FOOD 256

256

31,397

76.17%

基于GoogleNet

UNIMIB 2016

65

3616

86.39%

基于AlexNet

Paper作者自有集

520

220,000

86.72%

 

Paper作者实拍集

520

200

55%

 

从目前结果上看,我们的效果远远领先于MIT的CSAIL和业内在食物(中餐)上识别能力。


四、拍食物有什么用 

对大家日常饮食有什么用? 

当食物的营养和热量识别,简化成只需要轻点拍摄这一步之后,我们可以帮助用户记录日常的饮食摄入。

有了日常记录以后,可以从膳食结构角度,帮助用户分析摄入的营养和食材的均衡情况,基于中国居民膳食指南,同时参考美国、日本等居民膳食指南,给出饮食建议。这就是营养师口中的“营养干预”,帮助减肥、增脂、增肌都是这个范畴。

You are what you eat,人的健康除了先天、环境因素之外,最大的影响因子就是饮食习惯。

从模型训练和算法的角度,当学会识别食材以后,后续将学会识别菜谱名称,从而告诉你做法,以及,从千万个淘宝和天猫商品中,根据菜谱为你选出:主料、辅料、佐料。

从此以后,正确的美食打开方式应该是:

输入菜肴名称,看完菜谱做法以后,根据算法为你准备好的:主料、辅料、佐料,轻触点击,一键加入购物车。等着食材送上门以后一显身手吧。

切换成线下,到菜市场买菜也没问题,打开手机,拍一拍面前的生鲜食材,它叫什么,营养元素和热量,有哪些做法,可以搭配哪些食材一起烹饪,即时为你呈现。

 

作为iDST图像识别能力的输出,拍美食是“万物识别”项目的一部分,目标是致力于让AI使我们的生活越来越美好。如果希望体验上述技术,快捷传送门:

亲问app二维码

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据分析 人体健康信息 体重 身高 年龄 菜品信息 菜的名称 卡路里 蛋白质,脂肪等 推荐的食用量 某个人群对应的改善体质(减肥,塑性,增肌等)的方案 菜谱 运动方式 数据集和api 图像识别食物,获取卡路里: https://cloud.baidu.com/product/imagerecognition/fine_grained nutrition facts from food : https://www.kaggle.com/openfoodfacts/world-food-facts#en.openfoodfacts.org.products.tsv https://world.openfoodfacts.org/ 数据集官网 456赞,目前为止发现的最高的相关数据集 nutrition facts for McDonald’s : https://www.kaggle.com/mcdonalds/nutrition-facts Calories, fat, and sugar for every cheeseburger, fries, and milkshake on menu 更牛逼的食材分析和菜谱推荐: http://pic2recipe.csail.mit.edu/ 加强版百度API 莫须有数据集 糖尿病 时间-血糖含量关系数据 : https://archive.ics.uci.edu/ml/datasets/diabetes GPA和饮食习惯的关系 : https://www.kaggle.com/borapajo/food-choices 9种体质 //暂定 根据用户的体质来进行推荐菜谱与制定营养计划 —- 两种模式:9体模式和普通健身模式 用户可以随时输入自己当前吃的食物的名字与量 —- 随时记 动态爬虫——http://www.boohee.com/ 每种食材的卡路里等信息(优先kaggle) 卡路里累加器及其可视化、每天个人信息可视化 https://www.xinshipu.com/ 菜谱信息 通过照片提取出食物的卡路里等信息 百度api http://www.zyyssl.com/cookbook.html //中药食材信息、药膳信息、9体、各种病针对的药膳 照片菜帮 http://www.ttmeishi.com/CaiXi/YaoShan/ //病人对应的食谱 测算http://www.chinacaipu.com/zt/sccs.html 体质算法 11、http://www.chinacaipu.com/menu/jianya/ 特殊人群(压力之类的) 需求分析 登陆、注册 输入基本信息信息(身高、体重、性别、年龄) 额外信息(工作、周均运动时间、睡眠段、九体、病史) 针对没有填写额外信息的用户:选择减肥、增肌、塑形 、保持 可视化(自己的信息和目标标准的比较、根据上述选择改变)每天的量(手环、手机计步器),近几天的曲线 推荐菜谱:两个tab,一个定制菜谱,一个是随机智能推送 单一菜推荐 组合推荐 一周大菜谱推荐(根据每日你自己加的一些信息动态改变) 如果填了额外信息的,就是药膳推荐(一周药膳、周二普通、周三药膳。。。。)(注意可能不想减肥啥的) 百度api->动态录入每顿饭的信息(防抖处理,这里吹牛逼算法,推测吃了多少卡路里),识别后把,动态改变一周定制计划 做菜环节加入菜帮所有功能,并加入详细食材信息卡路里等 针对特殊人群,混到推荐里推送有利于健康的方法信息(敷黄瓜方法) 特殊病人群体每日相关东西的摄取量的一个限定区间显示 ocr体检单信息录入 针对照片中菜的数量分析吃了多少菜,包含多少卡路里
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值