公开/公告号CN112949761A
专利类型发明专利
公开/公告日2021-06-11
原文格式PDF
申请/专利权人 东莞中国科学院云计算产业技术创新与育成中心;
申请/专利号CN202110349381.4
申请日2021-03-31
分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构44224 广州华进联合专利商标代理有限公司;
代理人方高明
地址 523000 广东省东莞市松山湖高新技术产业开发区科汇路1号
入库时间 2023-06-19 11:22:42
技术领域
本申请涉及三维图像处理技术领域,特别是涉及一种三维图像神经网络模型的训练方法、装置和计算机设备。
背景技术
随着深度学习技术、硬件技术的发展,三维神经网络技术快速发展,已广泛应用于多个领域,如工业中引导机器人控制、辅助智能汽车自动驾驶以及三维工件的缺陷检测等领域。例如,当工业机器人搭载工业相机抓取目标遇到遮挡时,可以使用三维生成网络生成出目标未被遮挡的状态,以引导机器人完成操作。当无人车自动驾驶时突然有另一台车的部分驶入视野范围,可以通过三维生成网络预测生成驶入车辆可能的行驶路径,以辅助无人车提前减速。
三维图像神经网络在使用之前需要经过训练以提高神经网络生成的准确性。传统技术中的图像神经网络训练所得到的神经网络模型生成的预测图像精度不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高三维图像预测精度的三维图像神经网络模型的训练方法、装置和计算机设备。
一种三维图像神经网络模型的训练方法,包括:
获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
在其中一个实施例中,获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像,包括:
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像,第一时刻、第二时刻和第三时刻是三个连续时刻;
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息;
根据拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息,对拍摄对象在第一时刻、第二时刻和第三时刻的样本图像进行三维重建,得到第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
在其中一个实施例中,根据平均绝对误差损失、姿态损失和位置损失得到综合损失,包括:
将平均绝对误差损失、姿态损失和位置损失进行加权求和,得到综合损失。
在其中一个实施例中,平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差;姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值;位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
一种三维图像生成方法,包括:
获取两个连续时刻的三维图像;
将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
在其中一个实施例中,方法还包括:
获取两个连续时刻之后的下一个时刻的真实三维图像;
根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分;
若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
一种三维图像神经网络模型的训练装置,装置包括:
样本获取模块,用于获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
样本预测模块,用于将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
损失获取模块,用于比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
损失计算模块,用于根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
权重调整模块,用于根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
一种三维图像生成装置,装置包括:
图像获取模块,用于获取两个连续时刻的三维图像;
图像预测模块,用于将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取两个连续时刻的三维图像;
将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取两个连续时刻的三维图像;
将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
上述三维图像神经网络模型的训练方法、装置和计算机设备,通过获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;根据平均绝对误差损失、姿态损失和位置损失得到综合损失;根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。本方案使用样本图像对三维图像神经网络模型进行训练时,能够结合平均绝对误差损失、姿态损失和位置损失得到综合损失,同时调整三维图像神经网络模型的权重,从而使得训练收敛后的三维图像神经网络模型输出的预测三维图像更加准确,达到提高三维图像的预测精度的目的。
附图说明
图1为一个实施例中一种三维图像神经网络模型的训练方法的流程示意图;
图2为一个实施例中一种三维图像神经网络模型的结构示意图;
图3为一个实施例中获取样本三维图像的流程示意图;
图4为一个实施例中一种三维图像生成方法的流程示意图;
图5为一个实施例中的输出预测三维图像的流程示意图;
图6为一个实施例中工业环境中一种三维图像生成方法的场景示意图;
图7为一个实施例中驾驶环境中一种三维图像生成方法的场景示意图;
图8为一个实施例中一种三维图像神经网络模型的训练装置的结构框图;
图9为一个实施例中一种三维图像生成装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种三维图像神经网络模型的训练方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
具体的,处理器获取第一时刻、第二时刻和第三时刻的样本图像,根据第一时刻、第二时刻和第三时刻的样本图像,建立第一时刻、第二时刻和第三时刻的样本图像的样本三维图像。其中,第一时刻、第二时刻和第三时刻是三个连续的时刻。在计算机视觉中,建立三维图像是指根据单视图或者多视图的图像重建三维信息的过程。单视图的信息不完全,因此根据单视图进行三维重建需要利用经验知识。而多视图的三维重建(类似人的双目定位)相对比较容易,其方法是先对摄像机进行标定,即计算出摄像机的图像坐标系与世界坐标系的关系,然后利用多个二维图像中的信息重建出三维信息。
步骤104,将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像。
具体的,将三个连续时刻中,前两个连续时刻的样本三维图像输入初始三维图像神经网络模型中,初始三维图像神经网络模型输出第三个连续时刻的预测三维图像。
步骤106,比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失。
具体的,平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差;姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值;位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
步骤108,根据平均绝对误差损失、姿态损失和位置损失得到综合损失。
具体的,将平均绝对误差损失、姿态损失和位置损失进行加权求和得到综合损失。
步骤110,根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
具体的,三维图像神经网络模型是根据样本三维图像提取的训练集训练获取的。训练集的样本越多,训练完成后的三维图像神经网络模型的精度越高,三维图像神经网络模型输出的预测三维图像越准确。三维图像神经网络模型可以是由单个神经网络构成,例如三维卷积长短期记忆网络;也可以是由多个神经网络组成的复合神经网络,例如由多个三维卷积长短期记忆网络和三维反卷积长短期记忆网络组成的复合神经网络。
例如,三维图像神经网络模型包括依次串联的输入层、不少于一个注意力层、不少于一个三维卷积长短期记忆网络层、不少于一个三维反卷积长短期记忆网络层和输出层;注意力层用于对接收到的图像特征执行卷积注意力计算得到注意力图像特征。三维卷积长短期记忆网络层和三维反卷积长短期记忆网络层用于根据接收的图像特征进行三维图像预测。
如图2所示,为一个实施例中三维图像神经网络模型的网络拓扑图,图2中的三维图像神经网络模型中依次串联输入层Input、卷积注意力层ConvAttention、三维卷积长短期记忆网络层ConvLSTM3D、卷积注意力层ConvAttention、3个三维卷积长短期记忆网络层ConvLSTM3D、2个三维反卷积长短期记忆网络层ConvLSTM3DT、卷积注意力层ConvAttention、三维反卷积长短期记忆网络层ConvLSTM3DT、卷积注意力层ConvAttention、2个三维反卷积长短期记忆网络层ConvLSTM3DT和输出层Output。图2包含网络基本配置及处理后张量的尺寸(网络中每层处理后的输出成为张量)。“2*2*2*64”指卷积核的尺寸是2*2*2,步长是2,卷积核个数是64,每层都需要进行补零操作。例如,“[l/2,w/2,h/2,64]”指的是经过处理的张量的尺寸。三维卷积长短期记忆网络层与三维反卷积长短期记忆网络层结合的结构因本身是时序结构,能更好地学习目标三维图像的运动时序关系。引入卷积注意力层能促进网络更关注三维图像的主要部分,提升网络学习和预测三维图像的能力。
例如,假设输入2个三维图像,其尺寸都为[l,w,h,c],l、w、h、c分别指的是长、宽、高和通道数目。经过连接和ConvAttention处理后得到张量尺寸为[l,w,h,c*2],经过64个2*2*2卷积核步长为2的ConvLSTM3D处理后得到张量尺寸为[l/2,w/2,h/2,64],经过ConvAttention处理和128个卷积核的ConvLSTM3D处理后得到张量尺寸为[l/4,w/4,h/4,128],经过256个2*2*2卷积核步长为2的ConvLSTM3D处理后得到张量尺寸为[l/8,w/8,h/8,256],经过512个2*2*2卷积核步长为2的ConvLSTM3D处理后得到张量尺寸为[l/16,w/16,h/16,512],经过1024个2*2*2卷积核步长为2的ConvLSTM3DT处理后得到张量尺寸为[l/8,w/8,h/8,1024],经过512个2*2*2卷积核步长为2的ConvLSTM3DT处理后得到张量尺寸为[l/4,w/4,h/4,512],经过ConvAttention处理和256个卷积核的ConvLSTM3DT处理后得到张量尺寸为[l/2,w/2,h/2,256],经过ConvAttention处理和128个卷积核的ConvLSTM3DT处理后得到张量尺寸为[l,w,h,128],经过c个2*2*2卷积核步长为2的ConvLSTM3DT处理后得到张量尺寸为[l,w,h,c],输出该张量。
上述三维图像神经网络模型的训练方法,通过获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;根据平均绝对误差损失、姿态损失和位置损失得到综合损失;根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。本实施例中使用样本图像对三维图像神经网络模型进行训练时,能够结合平均绝对误差损失、姿态损失和位置损失得到综合损失,同时调整三维图像神经网络模型的权重,从而使得训练收敛后的三维图像神经网络模型输出的预测三维图像更加准确,达到提高三维图像的预测精度的目的。
在一个实施例中,如图3所示,获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像,包括:
步骤302,获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像,第一时刻、第二时刻和第三时刻是三个连续时刻。
具体的,通过图像采集装置对拍摄对象采集连续时刻图像。图像采集装置可以是摄像头或者相机。相机搭载在机器人系统上,机器人系统通过相机采集的信息完成多目标识别,机器人系统可以是指包括智能驾驶汽车、服务机器人、工业机器人等;拍摄对象可以指汽车、人、工业零件等。光照条件、相机的几何特性等对后续的图像处理造成很大的影响。
步骤304,获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息。
具体的,通过深度相机同时采集样本图像的深度信息和颜色信息。
步骤306,根据拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息,对拍摄对象在第一时刻、第二时刻和第三时刻的样本图像进行三维重建,得到第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
具体的,基于深度信息和颜色信息确定拍摄对象在不同时刻的三维点云信息,对拍摄对象进行三维重建,获取全局点云信息。然后选取与全局点云信息对应的区域存在重叠区的局部区域进行测量,获取局部点云信息再进行配准并更新全局点云信息,重复此过程直至完成所有表面区域的测量,最后对测量完成后更新的全局点云数据进行全局优化处理,得到点云模型。
可选的,根据拍摄对象的图像进行三维重建,获取重建后的三维图像通常包括摄像机标定、特征提取、立体匹配和三维重建。
在一个实施例中,根据平均绝对误差损失、姿态损失和位置损失得到综合损失,包括:将平均绝对误差损失、姿态损失和位置损失进行加权求和,得到综合损失。
具体的,根据公式L
在一个实施例中,平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差;姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值;位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
具体的,平均绝对误差损失、姿态损失和位置损失的计算方法如下:
平均绝对误差损失
姿态损失
位置损失
在一个实施例中,如图4所示,提供了一种三维图像生成方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤402,获取两个连续时刻的三维图像。
具体的,相机获取两个连续时刻的图像,处理器对两个连续时刻的图像进行三维重建,得到两个连续时刻的三维图像。
步骤404,将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像。
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
具体的,将三个连续时刻中,前两个连续时刻的三维图像输入训练后的三维图像神经网络模型中,训练后的三维图像神经网络模型输出第三个连续时刻的预测三维图像。
上述三维图像生成方法,通过获取两个连续时刻的三维图像;将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像。利用时序信息对目标进行连续时刻的三维图像预测,从而达到提高三维图像预测精度的目的。
在一个实施例中,如图5所示,三维图像生成方法还包括:
步骤502,获取两个连续时刻之后的下一个时刻的真实三维图像。
具体的,真实三维图像中可能存在被遮挡部分或阴影部分。
步骤504,根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分。
具体的,比较两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,采用遮挡判断算法,判断两个连续时刻之后的下一个时刻的真实三维图像中是否存在被遮挡部分或阴影部分。
其中,目前存在多种遮挡判断算法,例如迭代次数判定法:在当前帧图像中运用Kalman滤波算法预估其在下一帧的位置,得到估计位置,在估计位置处设置跟踪窗口,在跟踪窗口内用Mean Shift算法搜索与导弹弹标模板最相似的位置作为导弹弹标的精确位置,根据Mean Shift算法的迭代次数判断目标是否发生遮挡或丢失,对算法的迭代次数进行限制,如果在限制次数内找到目标,则没有丢失,直接给出位置;如果在限制次数内没有找到目标,则发生遮挡或丢失,扩大窗口宽度重新寻找。还例如相似度判定法:对于第k帧图像,给定阈值Th,如果Bhattacharyya系数ρ(yk)≥Th,则没有遮挡,正常跟踪;反之如果ρ(yk)<;Th,则表示发生遮挡;还例如残差判定法:在当前帧中,根据Kalman滤波器关于目标位置的估计值与由Mean Shift算法得到的Kalman滤波器的测量值之间残差的大小来判断是否出现了大比例的遮挡。本实施例中,根据不同的实施场景,选择适合的遮挡判断算法。
步骤506,若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
具体的,若两个连续时刻之后的下一个时刻的真实三维图像中存在被遮挡部分或阴影部分,则需要对该时刻的原三维图像进行预测处理,生成无遮挡无阴影的三维图像,故输出两个连续时刻之后的下一个时刻的预测三维图像。若两个连续时刻之后的下一个时刻的真实三维图像中不存在被遮挡部分或阴影部分,则无需对该时刻的原三维图像进行预测处理,直接输出两个连续时刻之后的下一个时刻的真实三维图像。
本实施例中,通过获取两个连续时刻之后的下一个时刻的真实三维图像;根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分;若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。利用时序信息对目标进行连续时刻的三维图像预测,并判断原三维图像中是否存在遮挡或者阴影,然后在判断原三维图像中存在遮挡或阴影时,根据判断结果选择输出预测三维图像,从而达到进一步提高三维图像预测精度的目的。
上面主要阐述了如何训练三维图像神经网络模型,当训练好三维图像神经网络模型后可以通过三维图像神经网络模型预测三维图像。因此本申请实施例还提供了一种三维图像生成方法。该三维图像生成方法包括:获取两个连续时刻的三维图像;将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
进一步的,获取两个连续时刻之后的下一个时刻的真实三维图像;根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分;若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
具体的,在实际应用场景中,往往需要预测的连续时刻大于三个连续时刻,需要对当前时刻之后的连续时刻进行连续的预测生成三维图像,直到输出预设最后时刻的预测三维图像。
可选的,如图6所示,图6是在工业环境中,工件在传送带上移动,工件在t2时刻发生遮挡,本实施例可以通过t0和t1时刻采集的三维图像预测出t2时刻工件的三维预测图像。由于t2时刻确实发生了遮挡,所以输出t2时刻工件的三维预测图像。然后根据t1时刻采集的三维图像和t2时刻预测的三维预测图像预测出t3时刻工件的三维预测图像,判断t3时刻采集的三维图像是否存在被遮挡部分或阴影部分,输出t3时刻的三维图像或三维预测图像;例如t3时刻采集的三维图像不存在被遮挡部分或阴影部分,则输出t3时刻的三维图像。进一步,根据t2时刻工件的三维预测图像和t3时刻的三维图像可以得到t4时刻的三维预测图像,例如t4时刻采集的三维图像存在阴影部分,则输出t4时刻的三维预测图像。接着根据t3时刻工件的三维图像和t4时刻的三维预测图像得到t5时刻的三维预测图像,若t5时刻是预设最后时刻,则判断t5时刻采集的三维图像是否存在被遮挡部分或阴影部分,输出t5时刻的三维图像或三维预测图像,若t5时刻不是预设最后时刻,则继续进行下一时刻的预测。本实施例中,工业机器人可以通过生成的三维预测图像引导到被遮挡的位置完成操作。
可选的,如图7所示,图7是在智能辅助驾驶环境中,刚开始只有汽车2在汽车1前面驾驶,汽车3逐渐驶入汽车1的相机视野范围。在t0时刻,汽车3在汽车1视野范围内只有局部三维图像数据。到t1时刻,随着各个汽车的行驶,汽车3在汽车1视野范围内占比进一步扩大。通过t0时刻汽车1采集到的汽车3的三维图像i0和t1时刻汽车1采集到的汽车3的三维图像i1以预测t2时刻汽车3被汽车1所采集的三维图像i3,进一步的,在连续时刻中进行预测图像的连续生成,得到i4、i5、i6……。本实施例中,连续预测得到的汽车3被汽车1所采集的图像可以提示汽车1提前减速,保证驾驶安全。
本实施例中,通过获取两个连续时刻的三维图像;将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;获取两个连续时刻之后的下一个时刻的真实三维图像;根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分;若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。能够利用时序信息对目标进行连续时刻的三维图像预测,并判断原三维图像中是否存在遮挡或者阴影,然后在判断原三维图像中存在遮挡或阴影时,根据判断结果选择输出预测三维图像,从而达到提高三维图像预测精度的目的。
应该理解的是,虽然图1、3-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1、3-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种三维图像神经网络模型的训练装置800,包括:样本获取模块801、样本预测模块802、损失获取模块803、损失计算模块804和权重调整模块805,其中:
样本获取模块801,用于获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
样本预测模块802,用于将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像。
损失获取模块803,用于比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失。
损失计算模块804,用于根据平均绝对误差损失、姿态损失和位置损失得到综合损失。
权重调整模块805,用于根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
在一个实施例中,样本获取模块801包括:
样本图像获取子模块,用于获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像,第一时刻、第二时刻和第三时刻是三个连续时刻。
样本图像信息获取子模块,用于获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息。
样本三维图像建立子模块,用于根据拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息,对拍摄对象在第一时刻、第二时刻和第三时刻的样本图像进行三维重建,得到第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
在一个实施例中,损失计算模块804包括:
综合损失计算子模块,用于将平均绝对误差损失、姿态损失和位置损失进行加权求和,得到综合损失。
在一个实施例中,损失获取模块803包括:
平均绝对误差计算子模块,用于计算平均绝对误差,平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差。
姿态损失计算子模块,用于计算姿态损失,姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值。
位置损失计算子模块,用于计算位置损失,位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
在一个实施例中,如图9所示,提供了一种三维图像生成装置900,包括:图像获取模块901和图像预测模块902,其中:
图像获取模块901,用于获取两个连续时刻的三维图像。
图像预测模块902,用于将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像。
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
在一个实施例中,三维图像生成装置900还包括缺失判断模块903和图像输出模块904,其中:
图像获取模块901,还用于获取两个连续时刻之后的下一个时刻的真实三维图像。
图像判断模块903,用于根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分。
图像输出模块904,用于若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
关于三维图像神经网络模型的训练装置的具体限定可以参见上文中对于三维图像神经网络模型的训练方法的限定,在此不再赘述。上述三维图像神经网络模型的训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种三维图像神经网络模型的训练方法和一种三维图像生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像,第一时刻、第二时刻和第三时刻是三个连续时刻;
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息;
根据拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息,对拍摄对象在第一时刻、第二时刻和第三时刻的样本图像进行三维重建,得到第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将平均绝对误差损失、姿态损失和位置损失进行加权求和,得到综合损失。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差;姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值;位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取两个连续时刻的三维图像;
将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取两个连续时刻之后的下一个时刻的真实三维图像;
根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分;
若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像;
将第一时刻的样本三维图像和第二时刻的样本三维图像输入初始三维图像神经网络模型进行预测,得到第三时刻的预测三维图像;
比较第三时刻的预测三维图像和第三时刻的样本三维图像,得到平均绝对误差损失、姿态损失和位置损失;
根据平均绝对误差损失、姿态损失和位置损失得到综合损失;
根据综合损失调整初始三维图像神经网络模型的权重,继续训练,满足预设条件时,得到训练后的三维图像神经网络模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像,第一时刻、第二时刻和第三时刻是三个连续时刻;
获取拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息;
根据拍摄对象在第一时刻、第二时刻和第三时刻的样本图像的深度信息和颜色信息,对拍摄对象在第一时刻、第二时刻和第三时刻的样本图像进行三维重建,得到第一时刻的样本三维图像、第二时刻的样本三维图像和第三时刻的样本三维图像。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将平均绝对误差损失、姿态损失和位置损失进行加权求和,得到综合损失。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
平均绝对误差损失为第三时刻的预测三维图像中的像素值与第三时刻的样本三维图像中的像素值之间的平均绝对误差;姿态损失为第三时刻的预测三维图像中目标的像素值和第三时刻的样本三维图像中目标的像素值一样的个数与第三时刻的预测三维图像或第三时刻的样本三维图像中目标所包含像素值的个数的比值;位置损失为第三时刻的预测三维图像和第三时刻的样本三维图像的三系位置坐标差值的绝对值的和。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取两个连续时刻的三维图像;
将两个连续时刻的三维图像输入到训练后的三维图像神经网络模型进行预测,得到两个连续时刻之后的下一个时刻的预测三维图像;
其中,三维图像神经网络模型是根据综合损失进行调整权重得到,综合损失是根据样本三维图像与对应预测三维图像之间的平均绝对误差损失、姿态损失和位置损失确定。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取两个连续时刻之后的下一个时刻的真实三维图像;
根据两个连续时刻之后的下一个时刻的真实三维图像和预测三维图像,检测两个连续时刻之后的下一个时刻的真实三维图像中是否存在缺失部分,缺失部分是指被遮挡、有阴影或超出视野范围的部分;
若两个连续时刻之后的下一个时刻的真实三维图像中存在缺失部分,输出两个连续时刻之后的下一个时刻的预测三维图像。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
机译: 神经网络模型训练方法和装置,计算机设备和存储介质
机译: 神经网络模型的训练方法和装置,计算机设备以及存储介质
机译: 神经网络模型的训练方法和装置,计算机设备以及存储介质