一种基于深度学习的双目深度估计方法与流程

阅读: 评论:0



1.本发明属于计算机视觉与深度学习相关技术领域,具体涉及一种基于深度学习的双目深度估计方法。


背景技术:



2.深度估计一直是计算机科学方向的热门研究方向,双目深度估计基于三角测量原理利用两个摄像头获得的经过立体校正的图像,通过计算同名像点的视差来得到物体的深度信息,深度信息(物体离摄像头的距离)可以应用在许多领域,例如三维重建、人脸识别、虚拟现实等,现有方案分为传统的立体匹配方法和端对端的深度学习方法,一般分为匹配代价的计算、匹配代价聚合,视差计算和视差优化四个步骤,传统方法一般是利用一些以及设计好的匹配算法进行代价匹配,存在一定的局限性,在弱纹理区域、细小结构以及背景复杂区域匹配难度较大,而另一种使用端对端的深度学习方法一般都是使用人工神经网络训练彩(rgb)图来实现,通过构造视差代价体层来计算匹配代价,最后通过视差回归损失来监督网络学习。
3.现阶段的双目深度估计深度学习方法通过视差回归损失来监督网络学习,然而视差真值具有一定的误差以及噪音,难以保证匹配的准确度,其次,由于只对最后视差施加损失导致神经网络容易对中间层过拟合而忽略视差代价体层,这就导致了训练出的模型泛化性能很差。


技术实现要素:



4.本发明的目的在于提供一种双目深度估计方法,解决上面的技术缺陷,提高网络的泛化能力。
5.为实现上述目的,本发明提供如下技术方案:一种基于深度学习的双目深度估计方法,包括在双目深度估计网络中间层加入多尺度特征损失,防止网络对中间层过拟合,重构视差代价体,计算损失考虑匹配代价,改进损失函数;
6.所述方法具体如下:步骤一,输入经过极线校正的左右目图像;
7.步骤二,将输入的左右目视图进行一系列的卷积、实例归一化(instance)、relu、残差得到特征图;
8.步骤三,通过特征图构建视差代价体,采用多尺度的方法构建代价体,将特征图按通道分为3组,每一组用不同的方法构建代价体,第一组用左特征图减去右特征图(difference)的方式构建代价体,第二组用concat的方式构建代价体(利用cat函数将左右特征图在通道维度拼接),第三组用correlation方式(左右特征图在通道的乘积)构建代价体,输入视差d,通过不同的索引来得到代价,再将代价进行拼接得到最终的代价;
9.步骤四,设定初始视差为0,根据视差进行迭代,将左特征图以及当前视差得到的视差代价输入gru进行迭代n次,循环输出视差增量,得到更新的视差,根据视差将右特征图warp到左特征图用l1距离计算一个损失,循环迭代完得到最后的视差;
10.步骤五,计算损失。
11.优选的,所述步骤一在输入前经过数据增强,包括裁剪、resize、随机填充、随机遮挡等,提高模型的泛化能力。
12.优选的,所述步骤二中的卷积核尺寸为7*7、步长为2、填充为3的卷积对输入(左右目图像)进行处理,每个卷积核后面加上instance归一化、relu层,然后将输出放入2个残差网络结构,每个残差结构由2个(3*3卷积核步长为1填充为1)卷积、instance归一化、relu构成,最后输出为特征图。
13.优选的,所述步骤五是在视差回归损失的基础上加上视差代价构建损失函数,具体损失如下:
14.loss

=α*loss
回归
+β*loss
特征
[0015][0016]
loss
特征
=γ*loss
warp
+δ*loss
cov
[0017]
其中,x指ground truth,x指网络的预测结果,将ground truth不正确的或者缺失点的值换成0,不计算损失;α、β、γ、δ、μ为平衡权重系数,corr是指当前视差的匹配代价,loss
warp
为步骤四计算出的损失,loss
cov
为步骤二的协方差损失。
[0018]
与现有技术相比,本发明提供了一种基于深度学习的双目深度估计方法,具备以下有益效果:
[0019]
本发明多次使用instance归一化层而非bn层完成信息传递,并且增加协方差损失使模型减少对数据的依赖,提高模型的泛化能力,其次,在构建代价体时采用多尺度的方法对左右图像特征进行关联,并且将视差匹配的代价也加入损失计算,让网络将重点转移到视差匹配上来,减少了对之前层的过拟合风险,提高了网络模型的鲁棒性。
附图说明
[0020]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制,在附图中:
[0021]
图1为本发明提出的一种基于深度学习的双目深度估计方法结构示意图;
[0022]
图2为实景拍摄的示意图;
[0023]
图3为对图2使用传统立体匹配方法所获得的深度图结果;
[0024]
图4为对图2使用本发明所述方法得到的深度图结果。
具体实施方式
[0025]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]
请参阅图1-图4,本发明提供一种技术方案:一种基于深度学习的双目深度估计方法,方法具体如下:步骤一,输入经过极线校正的左右目图像;
[0027]
步骤二,将输入的左右目视图进行一系列的卷积、实例归一化(instance)、relu、残差得到特征图,在实例归一化层还增加一个特征损失,其目的就是控制特征协方差,将特征协方差控制在一个较小的范围内,让特征与特征之间的关联性变弱,这就防止网络对数据产生依赖;
[0028]
步骤三,通过特征图构建视差代价体,采用多尺度的方法构建代价体,将特征图按通道分为3组,每一组用不同的方法构建代价体,第一组用左特征图减去右特征图(difference)的方式构建代价体,第二组用concat的方式构建代价体(利用cat函数将左右特征图在通道维度拼接),第三组用correlation方式(左右特征图在通道的乘积)构建代价体,输入视差d,通过不同的索引来得到代价,再将代价进行拼接得到最终的代价;
[0029]
步骤四,设定初始视差为0,根据视差进行迭代,将左特征图以及当前视差得到的视差代价输入gru进行迭代n次,循环输出视差增量,得到更新的视差,根据视差将右特征图warp到左特征图用l1距离计算一个损失,循环迭代完得到最后的视差;
[0030]
步骤五,计算损失。
[0031]
所述步骤一在输入前经过数据增强,包括裁剪、resize、随机填充、随机遮挡等,提高模型的泛化能力。
[0032]
所述步骤二中的卷积核尺寸为7*7、步长为2、填充为3的卷积对输入(左右目图像)进行处理,每个卷积核后面加上instance归一化、relu层,然后将输出放入2个残差网络结构,每个残差结构由2个(3*3卷积核步长为1填充为1)卷积、instance归一化、relu构成,最后输出为特征图。
[0033]
所述步骤五是在视差回归损失的基础上加上视差代价构建损失函数,具体损失如下:
[0034]
loss

=α*loss
回归
+β*loss
特征
[0035][0036]
loss
特征
=γ*loss
warp
+δ*loss
cov
[0037]
其中,x指ground truth,x指网络的预测结果,将ground truth不正确的或者缺失点的值换成0,不计算损失;α、β、γ、δ、μ为平衡权重系数,corr是指当前视差的匹配代价,loss
warp
为步骤四计算出的损失,loss
cov
为步骤二的协方差损失;
[0038]
根据网络结构和损失训练模型,不断降低损失直到网络收敛从而得到最优模型;
[0039]
实际使用时输入校正好的图像通过网络输出视差然后根据三角测量原理得到最后图片中像素的深度值。
[0040]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:


1.一种基于深度学习的双目深度估计方法,其特征在于所述方法具体如下:步骤一,输入经过极线校正的左右目图像;步骤二,将输入的左右目视图进行一系列的卷积、实例归一化(instance)、relu、残差得到特征图;步骤三,通过特征图构建视差代价体,采用多尺度的方法构建代价体,将特征图按通道分为3组,每一组用不同的方法构建代价体,第一组用左特征图减去右特征图(difference)的方式构建代价体,第二组用concat的方式构建代价体(利用cat函数将左右特征图在通道维度拼接),第三组用correlation方式(左右特征图在通道的乘积)构建代价体,输入视差d,通过不同的索引来得到代价,再将代价进行拼接得到最终的代价;步骤四,设定初始视差为0,根据视差进行迭代,将左特征图以及当前视差得到的视差代价输入gru进行迭代n次,循环输出视差增量,得到更新的视差,根据视差将右特征图warp到左特征图用l1距离计算一个损失,循环迭代完得到最后的视差;步骤五,计算损失。2.根据权利要求1所述的一种基于深度学习的双目深度估计方法,其特征在于:所述步骤一在输入前经过数据增强,包括裁剪、resize、随机填充、随机遮挡等,提高模型的泛化能力。3.根据权利要求1所述的一种基于深度学习的双目深度估计方法,其特征在于:所述步骤二中的卷积核尺寸为7*7、步长为2、填充为3的卷积对输入(左右目图像)进行处理,每个卷积核后面加上instance归一化、relu层,然后将输出放入2个残差网络结构,每个残差结构由2个(3*3卷积核步长为1填充为1)卷积、instance归一化、relu构成,最后输出为特征图。4.根据权利要求1所述的一种基于深度学习的双目深度估计方法,其特征在于:所述步骤五是在视差回归损失的基础上加上视差代价构建损失函数,具体损失如下:loss

=α*loss
回归
+β*loss
特征
loss
特征
=γ*loss
warp
+δ*loss
cov
其中,x指ground truth,x指网络的预测结果,将ground truth不正确的或者缺失点的值换成0,不计算损失;α、β、γ、δ、μ为平衡权重系数,corr是指当前视差的匹配代价,loss
warp
为步骤四计算出的损失,loss
cov
为步骤二的协方差损失。

技术总结


本发明公开一种基于深度学习的双目深度估计方法,包括在双目深度估计网络中间层加入多尺度特征损失,防止网络对中间层过拟合,重构视差代价体,计算损失考虑匹配代价,改进损失函数;所述方法具体如下:步骤一,输入经过极线校正的左右目图像;步骤二,将输入的左右目视图进行一系列的卷积、实例归一化(instance)、relu、残差得到特征图;多次使用instance归一化层而非BN层完成信息传递,并且增加协方差损失使模型减少对数据的依赖,提高模型的泛化能力,其次,在构建代价体时采用多尺度的方法对左右图像特征进行关联,并且将视差匹配的代价也加入损失计算,让网络将重点转移到视差匹配上来,减少了对之前层的过拟合风险,提高了网络模型的鲁棒性。提高了网络模型的鲁棒性。提高了网络模型的鲁棒性。


技术研发人员:

李红 邢健飞 苏星照 严彩萍

受保护的技术使用者:

杭州启源视觉科技有限公司

技术研发日:

2022.10.11

技术公布日:

2022/12/30

本文发布于:2023-01-02 05:36:25,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/50550.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:视差   特征   代价   卷积
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图