一种基于拍照的菜量测算方法技术

技术编号:19024471 阅读:52 留言:0更新日期:2018-09-26 19:20
本发明专利技术公开了一种基于拍照的菜量测算方法,包括以下步骤:步骤1:采集所有列表菜谱的密度信息;步骤2:采集待测算的菜谱图像并进行预处理;步骤3:对预处理后的图像进行图像分割获得菜品面积;步骤4:根据不同摄像头进行菜品实际面积的转换;步骤5:根据菜品实际面积对其体积进行建模获得菜品的体积;步骤6:根据步骤1得到的菜品密度和步骤5得到的菜品实际体积计算菜量。

【技术实现步骤摘要】
一种基于拍照的菜量测算方法
本专利技术属于视觉测算
,涉及一种基于拍照的菜量测算方法。
技术介绍
随着数字健康医疗信息产业的发展,人们也越来越注意自己的日常饮食。同时随着移动设备的普及,菜谱图像的获取日益便捷。大多数人在日常餐饮中对菜品的菜量没有一个大致的概念,不知道自己究竟摄入了多少的菜量所以不能良好的控制食量,同时无法清楚菜肴所对应的能量和其蕴含的营养物质,以至于无法合理安排膳食。这就需要对其饮食进行指导,实现合理的营养搭配。通过手机相机拍摄功能记录日常所吃的菜肴,通过图像识别来确定菜品的种类,然后获得菜量和其所含的营养成分,从而能够合理的安排接下来的饮食使其营养达到平衡。
技术实现思路
针对现人们对菜品的菜量没有具体概念的问题,本专利技术提供了一种基于拍照的菜量测算方法,从而帮助人们了解自己摄入的菜量。技术方案:本专利技术公开了一种基于拍照的菜量测算方法,其核心在与通过采集不同菜品的密度信息,通过菜谱图像分割,摄像头拍摄信息转换重建得到拍摄菜品体积,并根据菜品密度和体积得到菜品重量,达到菜量测算的目的。具体包含以下步骤:步骤1:采集所有列表菜谱的密度信息;步骤2:采集待测算的菜谱图像并进行预处理;步骤3:对预处理后的图像进行图像分割获得菜品面积;步骤4:根据不同摄像头进行菜品实际面积的转换;步骤5:根据菜品实际面积对其体积进行建模获得菜品的体积;步骤6:根据步骤1得到的密度信息和步骤5得到的菜品体积计算菜量。步骤1包括:对于列表菜谱中每一种菜品,用量杯和厨房秤分别测量菜品的体积V和重量M,然后计算出对应的密度ρ,例如对于糯米蒸排骨,测得的重量为767g,体积为575cm2,此时通过密度公式ρ=M/V计算得到其密度为1.333g/cm2;步骤2包括如下步骤:步骤2-1,距离菜品1尺拍摄菜谱图像,使菜品在图像的中央;步骤2-2,采集拍摄到的图像的尺寸大小和拍摄图像的镜头的相对焦距;步骤2-3,对拍摄到的图像进行裁剪,裁剪出一个600*600的菜品居中的正方形图像并缩放到250*250;步骤2-4,根据步骤2-3正方形图像,对其进行菜谱识别得出其菜品种类c。步骤2-4包括如下步骤:步骤2-4-1,构造神经网络模型;步骤2-4-2,初始化神经网络模型,使用Xavier方法初始化参数(引用文献:GlorotX,BengioY.Understandingthedifficultyoftrainingdeepfeedforwardneuralnetworks[J].JournalofMachineLearningResearch,2010,9:249-256.);步骤2-4-3,在网络上爬取N类菜谱图像,并对爬取到的图像进行筛选,去除其中与菜肴不对应的图像,对图像进行预处理:对长方形的图像进行裁剪,裁剪成正方形图像;将裁剪后的正方形图像缩放成250*250;对缩放后的正方形图像进行随机的翻转和裁剪,得到224*224的图像;对224*224图像做归一化处理(z-score标准化方法);用预处理后的正方形图像对神经网络模型进行训练,得到训练好的模型;步骤2-4-4,使用训练好的模型对步骤2-3得到的正方形图像进行菜谱识别得出其菜品种类c。步骤2-4-1包括:构造神经网络模型,该模型包含4种共33个构造块,卷积层1层,池化层2层以及softmax分类层1层,具体结构为:输入是大小为224*224*3的图像;第1层为卷积层,卷积核的大小是7*7,卷积核的数量是64;第2层为最大值池化层;接下来是3个输入为64维输出为256维的构造块;4个输入为128维输出为512维的构造块;23个输入为256维输出为1024维的构造块;3个输入为512维输出为2048维的构造块;然后为池化层,采用的池化操作是平均池化,最后一层为softmax分类层。构建构造块,对于每一个构造块,使用了三个叠加层,分别是1*1、3*3和1*1的卷积。步骤3中用grabcut函数对预处理后的菜品图像进行图像分割,分割出菜品图像得到其对应的像素数,即菜品面积,具体包括如下步骤:步骤3-1:设置一个与步骤2预处理后的正方形图像同等大小的掩码图像mask,将其全部置为3,即可能的前景;步骤3-2:将掩码图像mask的最外面一圈置为0,即该部分肯定为背景,此外将mask的1/3角都置为0;步骤3-3:设置迭代次数(一般为5次),得到分割后的掩码图像mask,统计其中为1和3的总数即为分割出菜品图像对应的像素数,从而得到菜品面积。步骤4包括如下步骤:步骤4-1,距离菜品1尺拍摄菜谱图像,使菜品在图像的中央,通过如下公式得到像距;其中f表示焦距,v表示像距,u表示物距;步骤4-2,用135相机当作参照,通过相似三角形变换得到135相机拍摄出的照片实际面积SrecipeArea,具体公式如下:SrecipeArea=hu*wu,其中,hv,wv分别表示胶卷画幅的高和宽,hu,wu分别表示实际场景的高和宽;步骤4-3,根据步骤2-2得到的相对焦距和图像的尺寸将135相机拍摄图像每像素实际体积转换成当前摄像头拍摄出照片每像素对应的实际面积SpixelArea:其中SrecipeArea为照片实际面积,h,w分别表示照片的高和宽;步骤5包括如下步骤:步骤5-1,根据步骤3得出的菜谱图像的像素点数用二维高斯分布对其深度进行建模,具体公式如下:其中σ是常数,x,y分别是二维图像的横坐标、纵坐标,f(x,y)为像素点重建的深度;步骤5-2,根据步骤4-3得出的菜谱图像的实际面积和步骤5-1得出的深度计算初步体积Voriginal,具体公式如下:Voriginal=SpixelArea*∑f(x,y);步骤5-3,根据步骤4-3得出的菜谱图像的实际面积在步骤5-2得出的初步体积上乘比例因子得到菜品体积Vpredict,e表示自然常数。步骤6中,根据步骤1中采集的密度信息,步骤2-4得到的菜品种类和步骤5-3得到的菜品体积计算菜量W,具体公式如下:W=ρc*Vpredict,其中ρc是对应菜品种类的密度。步骤3中用到的grabcut函数原型为voidcv::grabcut(InputArray_img,InputOutputArray_mask,Rectrect,InputOutputArray_bgdModel,InputOutputArray_fgdModel,intiterCount,intmode)其中:Img表示待分割的源图像,必须是8位3通道图像,在处理的过程中不会被修改;mask表示掩码图像,mask只能取以下四种值:GCD_BGD(0),背景;GCD_FGD(1),前景;GCD_PR_BGD(2),可能的背景;GCD_PR_FGD(3),可能的前景。Rect用于限定需要进行分割的图像范围,只有该矩形窗口内的图像部分才被处理;bgdModel表示背景模型;fgdModel表示前景模型;iterCount表示迭代次数;mode用于指示grabCut函数进行什么操作:GC_INIT_WITH_RECT(=0),用矩形窗初始化GrabCut;GC_INIT_WITH_MASK(=1),用掩码图像初始化GrabCut;GC_EVAL(=2),执行分割。菜量测算识别作为数本文档来自技高网...

【技术保护点】
1.一种基于拍照的菜量测算方法,其特征在于,包括以下步骤:步骤1:采集所有列表菜谱的密度信息;步骤2:采集待测算的菜谱图像并进行预处理;步骤3:对预处理后的图像进行图像分割获得菜品面积;步骤4:根据不同摄像头进行菜品实际面积的转换;步骤5:根据菜品实际面积对其体积进行建模获得菜品的体积;步骤6:根据步骤1得到的密度信息和步骤5得到的菜品体积计算菜量。

【技术特征摘要】
1.一种基于拍照的菜量测算方法,其特征在于,包括以下步骤:步骤1:采集所有列表菜谱的密度信息;步骤2:采集待测算的菜谱图像并进行预处理;步骤3:对预处理后的图像进行图像分割获得菜品面积;步骤4:根据不同摄像头进行菜品实际面积的转换;步骤5:根据菜品实际面积对其体积进行建模获得菜品的体积;步骤6:根据步骤1得到的密度信息和步骤5得到的菜品体积计算菜量。2.根据权利要求1所述的方法,其特征在于,步骤1包括:对于列表菜谱中每一种菜品,用量杯和厨房秤分别测量菜品的体积V和重量M,然后运用密度公式ρ=M/V计算出对应的密度ρ。3.根据权利要求2所述的方法,其特征在于,步骤2包括如下步骤:步骤2-1,距离菜品1尺拍摄菜谱图像,使菜品在图像的中央;步骤2-2,采集拍摄到的图像的尺寸大小和拍摄图像的镜头的相对焦距;步骤2-3,对拍摄到的图像进行裁剪,裁剪出一个600*600的菜品居中的正方形图像并将其缩放到250*250;步骤2-4,根据步骤2-3正方形图像,对其进行菜谱识别得出其菜品种类c。4.根据权利要求3所述的方法,其特征在于,步骤3中用grabcut函数对预处理后的菜品图像进行图像分割,分割出菜品图像得到其对应的像素数,即菜品面积,具体包括如下步骤:步骤3-1:设置一个与步骤2预处理后的正方形图像同等大小的掩码图像,将其全部置为3,即可能的前景;步骤3-2:将掩码图像的最外面一圈置为0,即该部分肯定为背景,此外将mask的1/3角都置为0;步骤3-3:设置迭代次数,得到分割后的掩码图像,统计其中为1和3的总数即为分割出菜品图像对应的像素数Npixel,从而得到菜品面积。5....

【专利技术属性】
技术研发人员:徐春蕾韩旭张云峰宋佳顾旭东郭延文
申请(专利权)人:徐州乐健天合健康科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1