一种自动识别食物热量的估算方法及系统与流程

文档序号:16886262发布日期:2019-02-15 22:40阅读:604来源:国知局
一种自动识别食物热量的估算方法及系统与流程

本发明涉及计算机技术领域,尤其涉及一种自动识别食物热量的估算方法及系统。



背景技术:

随着社会的发展,人们的饮食越来越丰盛,对于食物热量的摄取增加也来越多,热量摄入过剩,则会在体内贮存为脂肪,脂肪在体内的异常堆积,会导致肥胖和机体不必要的负担,并可成为心血管疾病、某些癌症、糖尿病等流行性疾病的危险因素。加上科技的发达使人们户外劳动的减少,这种吃多动少的生活型态,让许多人的身材越来越呈现肥胖的趋向。

尽管现在有些应用程式提供每日摄取热量等计算方法,以让使用者了解每日进食状况。但是,因为操作方面通常较为复杂,且能够持续每日不断手动纪录的使用者非常少,因而使得使用者在身材控制上的成效并不是那么的显著。因此,如何发展一种自动热量计算以解决手动纪录上的不便等问题,以让使用者能更加准确地了解每日热量摄取量,实为目前各界极欲解决的技术问题。



技术实现要素:

本发明提供一种自动识别食物热量的估算方法及系统,解决现有人们对摄入食物需要手动计算热量,缺少自动识别食物热量的问题,能提高人们对食物热量计算的准确性和便捷性。

为实现以上目的,本发明提供以下技术方案:

一种自动识别食物热量的估算方法,包括:

获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,其中,所述深度信息包括:尺寸信息、形状信息、距离信息和点云数据信息;

将所述三维模型体素化生成设定规格的体素化模型,并根据所述体素化模型计算目标食物的体积;

获取目标食物的食物名称,并根据预设的食物名称与密度对应表查询得到目标食物的密度;

根据所述体积和所述密度,计算得到目标食物的质量,并查询预设的热量表得到该目标食物的热量。

优选的,所述获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,包括:

通过对目标食物进行图像识别以得到目标食物的特征点;

根据所述特征点形成所述点云数据信息和所述距离信息;

根据所述点云数据信息和所述距离信息生成三维模型。

优选的,所述获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,还包括:

获取目标食物的尺寸信息和形状信息;

根据所述尺寸信息、所述形状信息、所述点云数据信息和所述距离信息生成三维模型。

优选的,所述根据所述体素化模型计算目标食物的体积,包括:

将所述体素化模型分割成卡片模型,并统计卡片模型对应的格子数;

根据预设的格子的对应体积和所述格子数,计算得到目标食物的体积。

优选的,所述将所述三维模型体素化生成设定规格的体素化模型,包括:

将所述三维模型通过2d-cnn编码网络、3d卷积lstm网络和3d解码神经网络进地体素化,并生成32*32*32大小的体素化模型。

本发明还提供一种自动识别食物热量的估算系统,包括:

建模单元,用于获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,其中,所述深度信息包括:尺寸信息、形状信息、距离信息和点云数据信息;

体素化单元,用于将所述三维模型体素化生成设定规格的体素化模型;

体积计算单元,用于根据所述体素化模型计算目标食物的体积;

密度获取单元,用于获取目标食物的食物名称,并根据预设的食物名称与密度对应表查询得到目标食物的密度;

热量计算单元,用于根据所述体积和所述密度,计算得到目标食物的质量,并查询预设的热量表得到该目标食物的热量。

优选的,所述建模单元包括:

特征提取单元,用于通过对目标食物进行图像识别以得到目标食物的特征点;

深度信息生成单元,用于根据所述特征点形成所述点云数据信息和所述距离信息;

第一模型生成单元,用于根据所述点云数据信息和所述距离信息生成三维模型。

优选的,所述建模单元还包括:第二模型生成单元;

所述深度信息生成单元还用于获取目标食物的尺寸信息和形状信息;

所述第二模型生成单元,用于根据所述尺寸信息、所述形状信息、所述点云数据信息和所述距离信息生成三维模型。

优选的,所述体积计算单元还用于将所述体素化模型分割成卡片模型,并统计卡片模型对应的格子数,并根据预设的格子的对应体积和所述格子数,计算得到目标食物的体积。

优选的,所述体素化单元还用于将所述三维模型通过2d-cnn编码网络、3d卷积lstm网络和3d解码神经网络进地体素化,并生成32*32*32大小的体素化模型。

本发明提供一种自动识别食物热量的估算方法及系统,通过获取目标食物的深度信息以建立该目标食物的三维模型,并根据三维模型计算出该目标食物的体积,通过查表得到该目标食物的密度和单位热量值,进而计算得到该目标食物的质量和热量。解决现有人们对摄入食物需要手动计算热量,缺少自动识别食物热量的问题,能提高人们对食物热量计算的准确性和便捷性。

附图说明

为了更清楚地说明本发明的具体实施例,下面将对实施例中所需要使用的附图作简单地介绍。

图1:是本发明提供的一种自动识别食物热量的估算方法流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。

针对当前人们对摄入食物的热量需要手动计算,缺少根据食物自动计算热量的问题。本发明提供一种自动识别食物热量的估算方法及系统,通过获取目标食物的深度信息以建立该目标食物的三维模型,并根据三维模型计算出该目标食物的体积,通过查表得到该目标食物的密度和单位热量值,进而计算得到该目标食物的质量和热量。解决现有人们对摄入食物需要手动计算热量,缺少自动识别食物热量的问题,能提高人们对食物热量计算的准确性和便捷性。

如图1所示,一种自动识别食物热量的估算方法,包括:

s1:获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,其中,所述深度信息包括:尺寸信息、形状信息、距离信息和点云数据信息;

s2:将所述三维模型体素化生成设定规格的体素化模型,并根据所述体素化模型计算目标食物的体积;

s3:获取目标食物的食物名称,并根据预设的食物名称与密度对应表查询得到目标食物的密度;

s4:根据所述体积和所述密度,计算得到目标食物的质量,并查询预设的热量表得到该目标食物的热量。

在实际应用中,第一步,采集训练数据集。准备一个转盘和深度摄像头(intelrealsensesr300),将目标食物与参照卡片放置在转盘中央,旋转一周,利用摄像头生成当前时刻的点云数据,最后进行点云融合,生成三维模型。第二步,训练模型。一个或多个角度拍摄彩色图片作为输入,深度摄像头生成的三维模型转化为体素化模型作为输出。第三步,计算体积。分割出卡片模型,统计卡片长度方向的格子数,根据实卡片长度,计算出一个格子的真实长度,假定一个卡片的厚度为一个格子厚度,计算出一个格子的真实体积,然后统计食物的格子数,计算出真实食物的体积。第四步,计算热量。结合食物名称根据密度表换算出给定食物的质量,并查询热量表换算出食物的热量。通过自动识别食物热量能够提高人们更好控制食物的摄入和热量计算,进而提高热量计算的准确性和便捷性。

所述获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,包括:

s11:通过对目标食物进行图像识别以得到目标食物的特征点;

s12:根据所述特征点形成所述点云数据信息和所述距离信息;

s13:根据所述点云数据信息和所述距离信息生成三维模型。

具体地,基于图像的三维重建,较好的算法包括visualsfm,openmvg,经典的bundler,mve。使用sift、surf、fast提取每张相片的特征点,并计算各个特征点的描述子,然后对特征点进行匹配,并使用相机的内外参数估计每个特征点的空间位置。然后将所有照片的特征点匹配到一个三维点云中。

所述获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,还包括:

s14:获取目标食物的尺寸信息和形状信息;

s15:根据所述尺寸信息、所述形状信息、所述点云数据信息和所述距离信息生成三维模型。

所述根据所述体素化模型计算目标食物的体积,包括:

s21:将所述体素化模型分割成卡片模型,并统计卡片模型对应的格子数;

s22:根据预设的格子的对应体积和所述格子数,计算得到目标食物的体积。

所述将所述三维模型体素化生成设定规格的体素化模型,包括:将所述三维模型通过2d-cnn编码网络、3d卷积lstm网络和3d解码神经网络进地体素化,并生成32*32*32大小的体素化模型。

可见,本发明提供一种自动识别食物热量的估算方法,通过获取目标食物的深度信息以建立该目标食物的三维模型,并根据三维模型计算出该目标食物的体积,通过查表得到该目标食物的密度和单位热量值,进而计算得到该目标食物的质量和热量。解决现有人们对摄入食物需要手动计算热量,缺少自动识别食物热量的问题,能提高人们对食物热量计算的准确性和便捷性。

本发明还提供一种自动识别食物热量的估算系统,包括:建模单元,用于获取目标食物的深度信息,并根据所述深度信息建立该目标食物的三维模型,其中,所述深度信息包括:尺寸信息、形状信息、距离信息和点云数据信息。体素化单元,用于将所述三维模型体素化生成设定规格的体素化模型。体积计算单元,用于根据所述体素化模型计算目标食物的体积。密度获取单元,用于获取目标食物的食物名称,并根据预设的食物名称与密度对应表查询得到目标食物的密度。热量计算单元,用于根据所述体积和所述密度,计算得到目标食物的质量,并查询预设的热量表得到该目标食物的热量。

进一步,所述建模单元包括:特征提取单元,用于通过对目标食物进行图像识别以得到目标食物的特征点。深度信息生成单元,用于根据所述特征点形成所述点云数据信息和所述距离信息。第一模型生成单元,用于根据所述点云数据信息和所述距离信息生成三维模型。

更进一步,所述建模单元还包括:第二模型生成单元;所述深度信息生成单元还用于获取目标食物的尺寸信息和形状信息;所述第二模型生成单元,用于根据所述尺寸信息、所述形状信息、所述点云数据信息和所述距离信息生成三维模型。

所述体积计算单元还用于将所述体素化模型分割成卡片模型,并统计卡片模型对应的格子数,并根据预设的格子的对应体积和所述格子数,计算得到目标食物的体积。

所述体素化单元还用于将所述三维模型通过2d-cnn编码网络、3d卷积lstm网络和3d解码神经网络进地体素化,并生成32*32*32大小的体素化模型。

可见,本发明提供一种自动识别食物热量的估算系统,通过建模单元获取目标食物的深度信息以建立该目标食物的三维模型,并由体积计算单元根据三维模型计算出该目标食物的体积,通过密度获取单元查表得到该目标食物的密度,进而由热时计算单元计算得到该目标食物的质量和热量。解决现有人们对摄入食物需要手动计算热量,缺少自动识别食物热量的问题,能提高人们对食物热量计算的准确性和便捷性。

以上依据图示所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1