一种双目深度估计方法及装置与流程

文档序号:20785671发布日期:2020-05-19 21:40阅读:167来源:国知局
一种双目深度估计方法及装置与流程

本申请涉及计算机视觉与深度学习领域,特别是涉及一种双目深度估计方法及装置。



背景技术:

近年来,随着人工智能领域的不断兴起与发展,计算机图像识别技术得到越来越广泛的运用,其中计算机视觉技术的进步对计算机图像识别整体技术的发展显得尤为重要,计算机能够准确地学习深度信息并根据深度信息理解周围环境中物体的几何关系是计算机视觉技术中的关键点之一。

本申请的发明人发现,传统的双目深度估计方法和基于深度学习的单/双目深度估计方法存在泛化能力与鲁棒性较差且训练数据集较大的缺点。



技术实现要素:

本申请主要解决的技术问题是提供一种双目深度估计方法,既能够更加准确地学习深度信息,又能够显著提升鲁棒性和泛化能力,并且降低所需训练数据集的大小。

为解决上述技术问题,本申请采用的一个技术方案是:提供一种双目深度估计方法,所述方法包括:将接收到的左目视图和右目视图分别进行相同参数的卷积操作而得到左特征图和右特征图;将所述左特征图和所述右特征图进行组合而得到两帧的序列图像,而后将所述序列图像进行3d卷积操作而得到视差特征图;对所述视差特征图进行处理以得到深度图。

为解决上述技术问题,本申请采用的另一个技术方案是:提供一种双目深度估计装置,所述装置包括双目摄像头、处理器、存储器以及连接器,所述处理器分别耦接所述双目摄像头、所述存储器以及所述连接器,所述处理器通过执行所述存储器内的程序数据以实现上述双目深度估计方法中任一项的步骤。

本申请的有益效果是:本发明的双目深度估计方法或装置通过将接收到的左目视图和右目视图分别进行相同参数的卷积操作并将所得结果组合成序列图像,而后对序列图像进行3d卷积操作得到视差特征图,对视差特征图进一步处理从而输出深度信息图,该方法能够显著提升鲁棒性和泛化能力,并且降低所需训练数据集的大小。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为本申请双目深度估计方法一实施方式的流程示意图;

图2为图1所示的实施方式中对视差特征图进行处理以得到深度图的方法步骤流程图;

图3为本申请双目深度估计方法一实施方式的深度学习网络结构示意图;

图4为本申请双目深度估计装置一实施方式的结构示意图;

图5为图4所示双目深度估计装置中存储器一实施方式的装置结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参阅图1,图1为本申请双目深度估计方法一实施方式的流程示意图,结合图3,该双目深度估计方法的步骤包括:

s110:将接收到的左目视图1110和右目视图1120分别进行相同参数的卷积操作而得到左特征图1111和右特征图1121。

在上述步骤s110中,将左目视图1110进行卷积操作得到左特征图1111和将右目视图1120进行卷积操作得到右特征图1121的过程,可以等效为将接收到的左目视图1110和右目视图1120输入两个孪生分支中,孪生分支意味着对左目视图1110和右目视图1120使用完全相同的特征提取方法,孪生分支内对左目视图1110和右目视图1120使用的操作参数必须完全相同,并且在网络训练时两分支权重严格共享,即将左目视图1110和右目视图1120分别输入该孪生分支后在网络训练中最终学习出的卷积核完全相同。

在上述步骤s110中,将左目视图1110进行卷积操作得到左特征图1111和将右目视图1120进行卷积操作得到右特征图1121,该步骤中的卷积操作步长范围为{2,3,4},且不包含最大化池化操作,这里不设置最大化池化操作是为了放置特征位置漂移,从而使得下一部分的操作步骤能够学习到有效的视差信息,另外将卷积操作步长范围设置为{2,3,4},利用卷积步长大于一的卷积操作步骤逐步降低接收到的左目视图1110和右目视图1120的分辨率,以减小后续操作步骤的训练数据集大小,加快网络训练过程的计算速度,此处的卷积操作步长上限设为4可以防止输出的左特征图1111和右特征图1121结果过分偏离真实值。

当然在其他实施方式中,上述卷积操作步长范围也可以大于4,只需满足步长最小值大于一即可,这里不做具体限定。

s120:将左特征图1111和右特征图1121进行组合而得到两帧的序列图像1200,而后将序列图像1200进行3d卷积操作而得到视差特征图1300。

在上述步骤s120中,该步骤的目的在于通过3d卷积的操作学习视差信息。其中,将左特征图1111和右特征图1121进行组合而得到两帧的序列图像1200,该操作的具体做法是:将左特征图1111和右特征图1121在帧数维度上组合,即增加一维帧数维度,使左特征图1111和右特征图1121构成一个两帧的“短视频”,该“短视频”即为序列图像1200。

在上述步骤s120中,将序列图像1200进行3d卷积操作而得到视差特征图1300,其中3d卷积操作在帧数维度上步长为二且不包含最大化池化操作。由于本实施方式中序列图像1200在帧数维度上放置的是左特征图1111和右特征图1121,从而可使上述3d卷积操作中的3d卷积核学习左特征图1111和右特征图1121之间的位置变化,通过该位置变化信息即可学习得出与视差有关的信息并输出视差特征图1300,与此同时在同一个帧数维度上3d卷积操作中的3d卷积核也学习着序列图像1200中的2d特征。

s130:对视差特征图1300进行处理以得到深度图1700。

参阅图2,图2为图1所示的实施方式中对视差特征图进行处理以得到深度图的方法步骤流程图,结合图3,该处理方法的步骤包括:

s131:将视差特征图1300进行2d卷积操作。

在上述步骤s131中,上述2d卷积操作的次数大于等于一次,并且包含最大化池化操作,该步骤的目的在于通过多次2d卷积操作继续提取视差特征图1300中与视差信息有关的特征,包含最大化池化操作可以降低视差特征图1300的分辨率,使得后续操作步骤的训练数据集大小进一步减小,加快网络训练过程的计算速度。将视差特征图1300进行多次2d卷积操作后得到2d卷积操作后的视差特征图1310,2d卷积操作后的视差特征图1310处的分辨率降至整个网络最低。

s132:将进行2d卷积操作后的视差特征图1310扁平化为一维向量1400,并对该一维向量1400进行全连接操作,而后将全连接后的一维向量1400重新排列得到一通道二维特征图像1500。

在上述步骤s132中,将进行2d卷积操作后的视差特征图1310扁平化为一维向量1400的具体操作可以理解为将一个二维图像降维为一维向量,即将一张二维图像拆分为一条一条的一维向量,并将前一条向量的末端接上下一条向量的开端,依次拼接最终形成一条整体的一维向量1400。

在上述步骤s132中,对一维向量1400进行全连接操作具体可以拆分为一小一大的两个全连接层,全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来,并且该一小一大的两个全连接层均未添加神经元随机丢弃比例参数。全连接操作的主要目的为进一步学习2d卷积操作后的视差特征图1310中的全局信息、尺度经验等信息,整合卷积层与池化层中具有类别区分性的局部信息。

在上述步骤s132中,将全连接后的一维向量1400重新排列得到一通道二维特征图像1500,该步骤可以理解为上述将进行2d卷积操作后的视差特征图1310扁平化为一维向量1400操作的逆操作,即将一维向量1400拆分为一条一条的一维向量并重新排列组合成为一张一通道二维特征图像1500,该步骤中一通道二维特征图像1500的通道数限定为一,通道数限定为一的目的是为了训练一通道二维特征图像1500及之前的网络结构。

在一具体实施方式中,上述一通道二维特征图像1500及之前的网络,其网络损失函数为:

其中,y指groundtruth,y*指网络的预测结果,深度估计任务的groundtruth一般都有缺失点存在,缺失点的值为0,在这些位置上不进行损失的计算,即(1)式中y≤0的情况。在所有y>0的情况下,记录每幅图像所有的计算点的数量,记为n,并用(2)式计算平均损失

上述训练一通道二维特征图像1500及之前的网络结构,该网络结构训练步骤包括:在一通道二维特征图像1500处施加一个真实值图像groundtruth计算损失以训练一通道二维特征图像1500及之前的网络。该步骤的具体做法是:将真实值图像groundtruth的分辨率插值减少至与一通道二维特征图像1500分辨率相同,然后再与一通道二维特征图像1500计算损失,使用小学习率并且多次迭代,待一通道二维特征图像1500及之前的网络损失降低到一定程度后,在进行整个网络的训练。

当然在其他实施方式中,上述网络损失函数也可以采用其他的回归型的损失函数,这里不做具体限定。

s133:再次接收左目视图1110或右目视图1120,将再次接收的左目视图1110或右目视图1120进行2d卷积操作。

在上述步骤s133中,将再次接收的左目视图1110或右目视图1120进行2d卷积操作,其中该2d卷积操作步长大于一且不包含最大化池化操作。

s134:将一通道二维特征图像1500与进行2d卷积操作后的再次接收的左目视图/右目视图1140进行通道组合1600而得到组合图1610。

在上述步骤s134中,通道组合1600时需将一通道二维特征图像1500线性插值至与进行2d卷积操作后的再次接收的左目视图/右目视图1140的分辨率一致,通道组合1600操作的具体方法为将一通道二维特征图像1500与进行2d卷积操作后的再次接收的左目视图/右目视图1140在通道数上组合,即组合图1610的通道数为一通道二维特征图像1500的通道数加上进行2d卷积操作后的再次接收的左目视图/右目视图1140的通道数,由于一通道二维特征图像1500的通道数限定为一,则最终组合图的通道数y=1+x,其中x为进行2d卷积操作后的再次接收的左目视图/右目视图1140的通道数。

s135:将组合图1610进行2d卷积操作。

在上述步骤s135中,将组合图1610进行2d卷积操作,其中该2d卷积操作的次数大于等于一,并且包含最大化池化、激活函数、批标准化。

s136:将进行2d卷积操作后的组合图1620进行反卷积操作而输出深度图1700。

在上述步骤s136中,将进行2d卷积操作后的组合图1620进行反卷积操作而输出深度图1700,其中该反卷积操作的步长大于一且不包含最大化池化、激活函数和批标准化,该步骤在具体操作时需调节反卷积操作的步长参数使输出图像的分辨率与上述再次接收的左目视图1110或右目视图1120的分辨率一致,即输出的深度图1700的分辨率与与上述再次接收的左目视图1110或右目视图1120的分辨率一致。

本实施方式中,上述s133-s136的步骤可以统称为一个超分辨率卷积操作,该操作的主要目的在于对一通道二维特征图像1500进行去噪和优化,使最终输出的深度图1700分辨率恢复至输入的左目视图1110和右目视图1120的分辨率大小。

参阅图4,图4为本申请双目深度估计装置一实施方式的结构示意图,该装置结构包括:

双目摄像头2200、处理器2100、存储器2300以及连接器2400。其中,处理器2100分别耦接双目摄像头2200、存储器2300与连接器2400,双目摄像头2200用以接收上述左目视图1110和右目视图1120,处理器2100通过执行存储器2300内的程序数据实现上述双目深度估计方法实施方式中任一项的步骤,连接器2400用于实现上述双目深度估计装置与外部设备的连接。

在一应用场景中,多个上述双目深度估计装置通过连接器2400连接到与其对应的多台轮式运载型无人机上,轮式运载型无人机具有装卸运载货物的功能,当多台轮式运载型无人机同时在放置有货物的一定空间范围内工作时,单台轮式运载型无人机通过双目摄像头2200实时接收周围一定空间范围内的左右目视图并将左右目视图信息数据输入存储器2300中,处理器2100执行存储器2300内的程序数据实现上述双目深度估计方法实施方式中任一项的步骤,单台轮式运载型无人机通过连接器2400接收上述双目深度估计装置最终输出的深度图信息,根据得到的深度图信息单台轮式运载型无人机对周围环境中物体的空间几何关系做出判断,周围环境中物体包括其它轮式运载型无人机、障碍物、货物等,从而使该轮式运载型无人机具备智能化空间感知的功能。

在另一应用场景中,上述双目深度估计装置通过连接器2400连接到一勘探设备上,双目摄像头2200实时接收周围一定空间范围内的左右目视图并将左右目视图信息数据输入存储器2300中,处理器2100执行存储器2300内的程序数据实现上述双目深度估计方法实施方式中任一项的步骤,勘探设备通过连接器2400接收上述双目深度估计装置最终输出的深度图信息,根据深度图信息该勘探设备建立周围空间几何环境的三维模型,从而实现该设备的勘探功能。

参阅图5,图5为图4所示双目深度估计装置中存储器一实施方式的装置结构示意图,该存储器2300存储有程序数据2310,程序数据2310能够被上述处理器执行上述双目深度估计方法实施方式中任一项的步骤。

总而言之,本申请的双目深度估计方法或装置通过将接收到的左目视图和右目视图分别进行相同参数的卷积操作并将所得结果组合成序列图像,而后对序列图像进行3d卷积操作得到视差特征图,对视差特征图进一步处理从而输出深度信息图,该方法能够显著提升鲁棒性和泛化能力,并且降低所需训练数据集的大小。

以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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