一种基于深度学习的双目深度估计方法技术

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

【技术实现步骤摘要】
一种基于深度学习的双目深度估计方法


[0001]本专利技术属于计算机视觉与深度学习相关
,具体涉及一种基于深度学习的双目深度估计方法。

技术介绍

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

技术实现思路

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

【技术保护点】

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

【专利技术属性】
技术研发人员:李红邢健飞苏星照严彩萍
申请(专利权)人:杭州启源视觉科技有限公司
类型:发明
国别省市:

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

1