一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于单深度图深度学习视图合成的食物体积估计方法与流程

2022-06-02 10:17:08 来源:中国专利 TAG:


1.本发明涉及饮食评估技术领域,更具体地说,它涉及基于单深度图深度学习视图合成的食物体积估计方法。


背景技术:

2.一个客观的饮食评估系统可以帮助使用者了解他们的饮食行为,并使有针对性的干预措施能够解决潜在的健康问题。为了准确量化饮食摄入,需要测量食物的重量或体积。
3.对于体积估计,以前的研究主要集中在使用基于模型或基于立体的方法,这些方法依赖于手动干预,或者要求用户从不同的视角捕获多个帧,操作方式比较复杂;此外,提出了各种基于计算机视觉的技术来解决定量食物部分的问题,食品体积测量技术可分为基于模型和基于立体的两大类技术,这些技术尽管表现出了良好的性能,但仍然存在以下几点问题:
4.(1)基于模型的技术通常涉及不同程度的人为干预,需要参与者轮换、转移,并缩放预先构建的食品模型,使其与图像中的食品相匹配;
5.(2)基于立体的方法要求参与者从不同的视角拍摄多幅食物图像,操作方式复杂;
6.(3)其他方法需要特征点提取和匹配。对于表面光滑或纹理不明显的食品对象,无法有效提取特征点,导致三维重建失败;
7.(4)当从不同的视角拍摄图像时,物体的反射光会发生变化,这影响了特征点匹配和三维重建的准确性;
8.(5)参考对象(如基准标记)通常需要放置在食品旁边,以便准确估计。


技术实现要素:

9.本发明的目的是提供基于单深度图深度学习视图合成的食物体积估计方法,解决背景技术中提到的技术问题。
10.本发明的上述技术目的是通过以下技术方案得以实现的:基于单深度图深度学习视图合成的食物体积估计方法,包括以下步骤:
11.1)将每个对象项放置在原点,通过方位旋转、仰角旋转、高度调整和中心移动四种运动方式来捕获不同视角的对象项深度图像;
12.2)将拍摄的图像进行分割和分类,使用多个外部摄像机参数随机渲染初始和对应的相反视角捕获的对象项的深度图像,并将捕获的深度图像渲染为训练数据集;
13.3)基于深度神经网络的视图合成方法将看不见的视角和使用看不见的对象项来预测使用输入图像的结果;
14.4)将初始深度图像和相对深度图像的相机坐标注册到同一世界坐标中,从而获得目标对象项的完整三维点云;
15.5)对步骤1)中的对象项深度图像进行预处理;
16.6)采用icp算法对步骤5)中预处理后的点云进一步优化,使初始点云和合成点云
融合在一起;
17.7)采用alpha形状方法对对象项进行网格划分并形成三维网格,从而得到对象项的体积。
18.进一步的,所述步骤3)中的深度神经网络的视图合成的具体步骤为:
19.a)针对不同对象项建立不同大小内核的初始层;
20.b)通过几个卷积层和完全连接的层形成图像编码器;
21.c)将深度图像的矢量表示引导到图像解码器的若干卷积层中;
22.d)输出图像。
23.进一步的,所述步骤4)中获得目标对象项的完整三维点云的具体步骤为:
24.a):将原点的位置移动到初始相机的中心,使深度图像重新投影到世界坐标中,所述世界坐标为:
[0025][0026]
其中u、v表示图像中的坐标,x、y和z表示世界坐标中的坐标,z是一个标量数,表示深度映射(u,v)和k∈r3x3是指固有的摄像机矩阵;
[0027]
b):分别通过旋转矩阵和平移矩阵执行180
°
相机旋转和平移,并将旋转矩阵和平移矩阵合成点云注册到相同的世界坐标中,得出相对相机的位置;
[0028]
沿x、y、z三轴的旋转矩阵为
[0029][0030]
其中θ是相机分别沿x、y、z三轴旋转的角度;
[0031]
平移矩阵是指初始和相对摄像机位置之间的平移。
[0032]
进一步的,所述步骤5)中预处理的具体步骤是:
[0033]
a)采用双边过滤器填充推断深度图缺失的空间信息;
[0034]
b)输入深度图并推断深度图中对象项被遮罩的轮廓,将相应的数据点重新投影到3d世界坐标中;
[0035]
c)使用统计离群值移除过滤器将离群值从数据点中移除。
[0036]
进一步的,所述步骤7)中alpha形状方法的步骤为:
[0037]
a)定义具有固定半径的球体,并从对象项的轮廓中选择起点;
[0038]
b)球体以其圆周围绕对象项从起点旋转,依次撞击轮廓上的每一个点,直到循环闭合,得到三维网格;
[0039]
c)通过步骤b)所得到的三维网格计算对象项的体积。
[0040]
一项所述的基于单深度图深度学习视图合成的食物体积估计方法的应用,将所述方法应用于膳食摄入的营养成分含量的估算。
[0041]
综上所述,本发明具有以下有益效果:
[0042]
(1)通过深度传感技术和深度学习视图合成的集成方法,可以在任何方便的角度获取单个深度图像;
[0043]
(2)通过采用网络结构和点云完成算法可以隐式地学习各种形状的三维结构,并能恢复食物中被遮挡的部分,提高体积估算的准确度;
[0044]
(3)将食物体积估计方法应用于膳食摄入的营养成分含量估算,可以帮助使用者了解他们的饮食行为,并有针对性的干预措施能够解决潜在的健康问题。
附图说明
[0045]
图1是本发明实施例1中通过四种运动类型的图像渲染生成的图像;
[0046]
图2是本发明实施例1中原始版本的培训和测试损失与迭代的关系图;
[0047]
图3是本发明实施例1中朴素版本的培训和测试损失与迭代的关系图;
[0048]
图4是本发明实施例1中使用初始层和外部参数评估网络的培训和测试损失与迭代的关系图;
[0049]
图5是本发明实施例1中使用初始层和外部参数评估网络的培训和测试损失与迭代的关系图;
[0050]
图6是本发明实施例2中对膳食成分分析的流程图。
具体实施方式
[0051]
以下结合附图1-6对本发明作进一步详细说明。
[0052]
实施例1:基于单深度图深度学习视图合成的食物体积估计方法,如图1至图5所示,包括以下步骤:
[0053]
1)将每个对象项放置在原点,通过方位旋转、仰角旋转、高度调整和中心移动四种运动方式来捕获不同视角的对象项深度图像;
[0054]
2)将拍摄的图像进行分割和分类,使用多个外部摄像机参数随机渲染初始和对应的相反视角捕获的对象项的深度图像,并将捕获的深度图像渲染为训练数据集;
[0055]
3)基于深度神经网络的视图合成方法将看不见的视角和使用看不见的对象项来预测使用输入图像的结果;
[0056]
4)将初始深度图像和相对深度图像的相机坐标注册到同一世界坐标中,从而获得目标对象项的完整三维点云;
[0057]
5)对步骤1)中的对象项深度图像进行预处理;
[0058]
6)采用icp算法对步骤5)中预处理后的点云进一步优化,使初始点云和合成点云融合在一起;
[0059]
7)采用alpha形状方法对对象项进行网格划分并形成三维网格,从而得到对象项的体积。
[0060]
所述步骤3)中的深度神经网络的视图合成的具体步骤为:
[0061]
a)针对不同对象项建立不同大小内核的初始层;
[0062]
b)通过几个卷积层和完全连接的层形成图像编码器;
[0063]
c)将深度图像的矢量表示引导到图像解码器的若干卷积层中;
[0064]
d)输出图像。
[0065]
所述步骤4)中获得目标对象项的完整三维点云的具体步骤为:
[0066]
a):将原点的位置移动到初始相机的中心,使深度图像重新投影到世界坐标中,所
述世界坐标为:
[0067][0068]
其中u、v表示图像中的坐标,x、y和z表示世界坐标中的坐标,z是一个标量数,表示深度映射(u,v)和k∈r3x3是指固有的摄像机矩阵;
[0069]
b):分别通过旋转矩阵和平移矩阵执行180
°
相机旋转和平移,并将旋转矩阵和平移矩阵合成点云注册到相同的世界坐标中,得出相对相机的位置;
[0070]
沿x、y、z三轴的旋转矩阵为
[0071][0072]
其中θ是相机分别沿x、y、z三轴旋转的角度;
[0073]
平移矩阵是指初始和相对摄像机位置之间的平移。
[0074]
所述步骤5)中预处理的具体步骤是:
[0075]
a)采用双边过滤器填充推断深度图缺失的空间信息;
[0076]
b)输入深度图并推断深度图中对象项被遮罩的轮廓,将相应的数据点重新投影到3d世界坐标中;
[0077]
c)使用统计离群值移除过滤器将离群值从数据点中移除。
[0078]
所述步骤7)中alpha形状方法的步骤为:
[0079]
a)定义具有固定半径的球体,并从对象项的轮廓中选择起点;
[0080]
b)球体以其圆周围绕对象项从起点旋转,依次撞击轮廓上的每一个点,直到循环闭合,得到三维网格;
[0081]
c)通过步骤b)所得到的三维网格计算对象项的体积。
[0082]
在本实施例中,在步骤2)中通过多个外部摄像机参数随机渲染初始视角的深度图像,对于每种食物,均需采用方位旋转、高程旋转、高度调整和中心移动四种方式从不同的视角渲染20000对深度图像进行训练;外部摄像机的参数范围如表1所示;
[0083]
表1
[0084]
[0085]
在深度神经神经网络的视图合成步骤中,输出的图像是尺寸为480*640的推断深度图像,深度图像预测的代价函数为:
[0086][0087]
其中,和d(u,v)分别指来自估计深度图像和深度图像的地面真值的像素,w和h分别表示图像的宽度和高度,λ是添加到代价函数中的正则化项,用于更好地训练神经网络,其中λ是根据经验确定的,λ的选择将影响网络的收敛速度(λ=10-3用于成本函数)。和t分别指估计的外部参数(平移矩阵)和外部参数的基本真值;
[0088]
以下为具体的实施例:
[0089]
从对象数据集中选择了形状不规则的3d模型,包括香蕉、橘子、梨、立方体、罐装肉罐、柠檬、金枪鱼罐和布丁盒,图像渲染技术用于渲染每个对象项的深度图像;使用了一种简单的交叉验证方法——保持法来评估模型的性能,其中70%(每个对象项20k图像)的渲染深度图像用于训练神经网络,视角不可见的图像分别被选为验证数据集和测试数据集;该验证方法的优点是,它显示了该方法的生成能力,而无需对大型卷积网络进行训练和重新训练,且计算成本不高;为了比较深度分析的结果,根据提出的体系结构和朴素版本,表2列出了训练和测试损失;
[0090]
表2
[0091][0092]
表2中b为成本函数,越低越好,从表2中可以看出,具有初始层和外部参数预测的拟议网络在训练集和测试集上都优于朴素版本和没有初始层的网络;将原始版本和朴素版本的培训和测试损失与迭代的关系图(带有初始层和外部参数)分别绘制在图2和图3中;图2和图3显示测试损失与训练损失相当,这表明训练模型是通用的,能够处理从看不见的视角捕获的图像,而无需过度拟合;两个模型的测试损失与迭代图一起绘制,以使用初始层和外部参数评估网络的改进,如图4所示;从图2-图4可以看出,朴素模型比提出的模型更快收
敛;但是,在数百万次迭代后,提出的模型的测试损失更低,而朴素模型饱和在训练过程中,从结果可以看出,具有不同内核大小和外部参数预测的网络可以更有效地隐式地学习对象细节,从而提高深度估计的精度;
[0093]
体积可用于定量评估所提出算法的性能;表3显示了本方法的体积估算结果与确定体积估算方法精度的地面真实值的比较;
[0094]
表3
[0095][0096]
给定yale

cmu

berkeley对象数据集中对象项的尺寸(高度、宽度和长度),可以根据给定对象尺寸计算地面真实体积;对于具有一般形状的对象,例如橙色、立方体、金枪鱼罐头和布丁盒,可以根据几何计算轻松计算体积;但是,对于不规则对象,无法使用提供的尺寸精确计算体积;正是由于这个原因,我们使用平均估计体积vg作为另一个参考体积来评估所提出的算法在没有地面真实体积作为先验知识的情况下的性能;基于点云完成算法,使用图像渲染期间生成的已知外部参数计算平均估计体积vg;对每个目标项目进行15次试验;如表所示,基于点云完成的体积估计结果很有希望,误差仅为2.4%(准确率为97.6%);该误差是通过对具有地面真实体积的不同目标项目,采用基于点云完成的体积估计误差的平均值获得的;这种稳健的性能意味着,这种技术可以作为一种参考来测量物体的体积,而不需要地面真实性;根据icp算法,使用所提出的神经网络估计的外部参数计算平均估计体积v
p
,并通过icp算法进行优化;在提供地面真值体积的情况下,比较了地面真值体积与估计体积v
p
的误差;对于没有地面真值的目标项目,使用平均估计体积vg和平均估计体积v
p
计算误差;所提出算法的总体性能如表3所示;如图5所示,由于不同的初始视角,结果中可以发现误差的小标准偏差;同时,为了更好地可视化点云完成算法的性能,在所选对象项上进行3d重建,这些对象项具有未看到的捕获视角;此外,为了评估其实时可操作性,还检查了完成点云的处理时间;整个过程需要0.84
±
0.02秒来估计单个食物对象的体积,因此优于基于立体的体积估计方法;
[0097]
对对象进行三维重建的实验结果,该对象具有看不见的捕获视角;从两个观察角
度的深度图像分别用于完成点云,基于点云完成和icp算法对食品进行定量测量;
[0098]
其中表3所示,b是已知的外在参数根据点云完成的平均估计量;c是点云完成的估计音量的错误率;d是在事先不知情的情况下使用迭数最接近点算法的平均估计量;e是迭数最接近点算法估计量的错误率。
[0099]
实施例2:基于单深度图深度学习视图合成的食物体积估计方法的应用,将所述方法应用于膳食摄入的营养成分含量的估算。
[0100]
在本实施例中,如图6所示,通过体积估计方法得出了每一种膳食的体积后,可以根据数据库得出膳食中每一种成分的含量,从而帮助使用者了解他们的饮食行为。
[0101]
工作原理:通过深度传感技术和深度学习视图合成的集成方法,可以在任何方便的角度获取单个深度图像;通过采用网络结构和点云完成算法可以隐式地学习各种形状的三维结构,并能恢复食物中被遮挡的部分,提高体积估算的准确度;将食物体积估计方法应用于膳食摄入的营养成分含量估算,可以帮助使用者了解他们的饮食行为,并有针对性的干预措施能够解决潜在的健康问题。
[0102]
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献