基于注意力机制的无监督单目深度估计方法转让专利

申请号 : CN202110676865.X

文献号 : CN114119698B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张小刚凌传武陈华王炼红王绍源

申请人 : 湖南大学

摘要 :

基于注意力机制的无监督单目深度估计方法,包括以下步骤:步骤S1:将KITTI数据集调整至同一分辨率大小后,划分为训练数据集、验证数据集和测试数据集;步骤S2:对训练数据集和验证数据集中的数据进行数据增广;步骤S3:构建单目深度估计神经网络;步骤S4:利用训练数据集训练单目深度估计神经网络得到相应的权重与偏置,即网络模型参数,将得到的网络模型参数代入验证数据集,保存使得验证数据集损失函数最小的网络模型参数;步骤S5:使用损失函数最小的网络模型参数,对测试数据集进行测试,得到测试数据集的预测值。本发明能有效提高单目深度估计的精度。

权利要求 :

1.一种基于注意力机制的无监督单目深度估计方法,其特征在于,包括以下步骤:步骤S1:将KITTI数据集调整至同一分辨率大小后,划分为训练数据集、验证数据集和测试数据集;

步骤S2:对训练数据集和验证数据集中的数据进行数据增广;

步骤S3:构建单目深度估计神经网络;

步骤S4:利用训练数据集训练单目深度估计神经网络得到相应的权重与偏置,即网络模型参数,将得到的网络模型参数代入验证数据集,保存使得验证数据集损失函数最小的网络模型参数;

步骤S5:使用损失函数最小的网络模型参数,对测试数据集进行测试,得到测试数据集的预测值;

所述步骤S4,包括以下步骤:

步骤S4‑1:设置初始化迭代次数I=0,最大迭代次数为Imax;使用Xavier初始化神经网络各层权重参数;

步骤S4‑2:使用网络中编码器进行特征提取;

步骤S4‑3:使用网络中解码器预测视差图;

步骤S4‑4:通过扭曲操作,得到多次合成的视图;

步骤S4‑5:计算网络损失函数;

步骤S4‑6:计算使验证数据集损失函数最小的网络模型参数;

所述步骤S4‑4,通过扭曲操作,得到多次合成的视图的具体方法如下:在每个尺度下,将预测的左视差图dl和双目图像对中的右图Ir通过扭曲函数得到合成左图其中(x,y)为像素坐标;w(.)为扭曲函数,定义为:w((x,y),d(x,y))=(x+d(x,y),y)将合成左图 与预测的右视差图dr通过扭曲函数得到二次合成的右图将二次合成的右图 与预测的左视差图dl通过扭曲函数得到三次合成的左图,将三次合成的左图与预测的右视差图dr通过扭曲函数得到四次合成的右图;依次类推,通过对合成的视图进行扭曲操作,得到n次合成的视图;

所述步骤S4‑5,包括以下步骤:

步骤S4‑5‑1:计算多层扭曲视图重构损失;

其中Il/r代表双目图像对中的左图/右图, 是一次合成的左图/右图, 是三次合成的左图/右图,i是像素索引,N是图片像素的个数,α是权重超参数,SSIM是结构相似性损失;

步骤S4‑5‑2:计算视差平滑损失:

其中 和 是对左/右视差图分别求水平和垂直方向的梯度, 和 是对双目图像对中的左图/右图分别求水平方向和垂直方向的梯度;i是像素索引,N是图片像素的个数;|.|代表求绝对值操作,e为自然常数;

步骤S4‑5‑3:计算视差图一致性损失:

左视差图一致性损失如下式所示:

右视差图一致性损失如下式所示:

对于每一个尺度s,整体损失函数如下式所示

其中λap,λds,λc是三个超参数权重;

步骤S4‑5‑4:计算网络最终的损失函数,网络最终的损失函数为4个尺度下的整体损失函数之和:

2.如权利要求1所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S2中,对数据进行数据增广的方法如下:步骤S2‑1:图像水平翻转;概率为0.5;

步骤S2‑2:图像伽马校正,校正系数范围为0.8‑1.2;概率为0.5;

步骤S2‑3:图像亮度偏移,偏移系数范围为0.5‑2.0;概率为0.5;

步骤S2‑4:图像RGB通道偏移,偏移系数范围为0.8‑1.2;概率为0.5。

3.如权利要求1或2所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S3中,构建的单目深度估计神经网络包括编码器和解码器,编码器与解码器相连,编码器包括第一卷积层、第一注意力层、Resnet50网络层,第一卷积层与第一注意力层相连,第一注意力层与Resnet50网络层相连;解码器包括第二注意力层、上采样层、第一卷积‑上采样层、第二卷积‑上采样层、第三卷积‑上采样层、第四卷积‑上采样层、第五卷积‑上采样层和第二卷积层;第二注意力层与上采样层相连,上采样层与第一卷积‑上采样层相连,第一卷积‑上采样层与第二卷积‑上采样层相连,第二卷积‑上采样层与第三卷积‑上采样层相连,第三卷积‑上采样层与第四卷积‑上采样层相连,第四卷积‑上采样层与第五卷积‑上采样层相连,第五卷积‑上采样层与第二卷积层相连,Resnet50网络层与第二注意力层相连。

4.如权利要求1所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S4‑2,包括以下步骤:步骤S4‑2‑1:第一卷积层对输入图像X进行处理,得到图像X1:X1=conv1(X)

其中conv1代表第一卷积层,图像X的维度为3×H×W,即输入的三通道RGB图像,H为图像X的高度,W为图像X的宽度;X1的维度为C1×H×W,其中C1是第一卷积层中卷积核的个数;输入图像X是双目图像对中的左图Il;

步骤S4‑2‑2:第一注意力层对图像X1进行处理,输出Fout;

步骤S4‑2‑3:通过Resnet50网络层提取Fout中深度图的高层特征。

5.如权利要求4所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S4‑2‑2,包括以下步骤:步骤S4‑2‑2‑1:图像X1输入到第一注意力层的通道注意力层,通道注意力层中,分两路avg分别对图像X1沿着空间维度进行全局平均池化和全局最大池化,生成两个通道描述子:Fcmax avg max和Fc ;将两个通道描述子Fc 、Fc 经过一个共享参数的两层卷积网络,并依次经过逐像素加法和非线性激活函数处理,得到通道注意力图Fc:其中scn是共享参数的两层卷积网络;σ(x)是非线性激活函数, e是自然常数; 代表逐像素相加操作;

步骤S4‑2‑2‑2:通道注意力图Fc与输入图像X进行逐像素相乘,得到通道注意特征图,通道注意特征图输入到第一注意力层的空间注意力层,空间注意力层中,分两路分别对通道avg注意特征图沿着空间维度进行全局平均池化和全局最大池化,生成两个空间描述子:Fsmax avg max和Fs ;将两个空间描述子Fs 、Fs 进行拼接,输入到一个卷积层中并通过非线性激活函数处理得到空间注意力图Fs:其中conv代表单个卷积层;σ(x)是非线性激活函数, e是自然常数;[x;y]代表对x和y沿着通道维度进行拼接;

步骤S4‑2‑2‑3:空间注意力图Fs与通道注意特征图进行逐像素相乘,第一注意力层最终输出为:其中, 代表逐像素相乘操作。

6.如权利要求1所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S4‑3,包括以下步骤:步骤S4‑3‑1:通过解码器的第二注意力层对Fout中深度图的高层特征进行全局细化;

步骤S4‑3‑2:依次通过上采样层、第一卷积‑上采样层、第二卷积‑上采样层、第三卷积‑上采样层、第四卷积‑上采样层、第五卷积‑上采样层、第二卷积层对全局细化后的高层特征进行低分辨率特征上采样,得到4个尺度下预测的四组视差图,每组视差图包括左视差图dl和右视差图dr;4个尺度对应4个分辨率;第三卷积‑上采样层输出第一视差图,第四卷积‑上采样层输出第二视差图,第五卷积‑上采样层输出第三视差图,第二卷积层输出第四视差图,第四视差图为最终的输出视差图。

7.如权利要求1所述的基于注意力机制的无监督单目深度估计方法,其特征在于:所述步骤S4‑6,计算使验证数据集损失函数最小的网络模型参数的具体方法如下:使用Adam优化算法寻找网络损失函数的误差对每个网络权重参数的反向传播梯度,并通过参数更新过程获得新的网络权重参数,增加迭代次数I=I+1,保存使验证数据集损失函数最小的网络模型参数。

说明书 :

基于注意力机制的无监督单目深度估计方法

技术领域

[0001] 本发明涉及计算机视觉领域,具体是涉及一种基于注意力机制的无监督单目深度估计方法。

背景技术

[0002] 图像深度估计在场景理解与重构、图像重聚焦等许多计算机视觉任务中起着非常重要的作用。与主动式深度测量装备(例如激光雷达、深度相机)相比,基于图像的深度估计方法具有更广的适用范围。在基于图像的深度估计方法中,单目深度估计的目标是从单张图片中估计场景的深度信息。相比双目和多目深度估计方法,单目深度估计由于只需要提供单个相机用于图像获取,系统搭建更为便捷。
[0003] 近年来,随着深度学习技术的发展,使用深度卷积神经网络来进行单目深度估计受到了广泛的关注。有监督的深度神经网络的训练需要有大量的训练数据。构建足够大的训练数据集是非常耗时且昂贵的。越来越多的研究人员开始转向研究无监督(或称自监督)的单目深度估计方法,通过视频帧对或者双目图像对之间的视图重构损失为网络的训练提供监督信号,从而避免了真实深度标签的使用。
[0004] 以基于双目图像对的单目深度估计技术为例:首先,将双目图像对分为源视图和目标视图,网络会对源视图进行视差估计;然后,根据估计出来的视差图和源视图合成目标视图;第三,根据合成的目标视图与真实的目标视图之间的重构误差来对网络进行训练;最后,根据已知的相机参数,可以将估计的视差转换为深度图。对于深度估计任务来说,单个像素的深度值与像素的上下文密切相关,因此需要足够大的感受野。在现有这些方法中,由于网络中卷积层受限于有限的卷积核大小,难以获得足够大的感受野范围,导致图像中一些细节区域的估计的精度不高。因此,需要设计一种能够解决上述问题的方法。

发明内容

[0005] 本发明所要解决的技术问题是,克服上述背景技术的不足,提供一种基于注意力机制的无监督单目深度估计方法,能够捕获特征空间中的全局感受野,估计精度高。
[0006] 本发明解决其技术问题采用的技术方案是,一种基于注意力机制的无监督单目深度估计方法,包括以下步骤:
[0007] 步骤S1:将KITTI数据集调整至同一分辨率大小后,划分为训练数据集、验证数据集和测试数据集;
[0008] 步骤S2:对训练数据集和验证数据集中的数据进行数据增广;
[0009] 步骤S3:构建单目深度估计神经网络;
[0010] 步骤S4:利用训练数据集训练单目深度估计神经网络得到相应的权重与偏置,即网络模型参数,将得到的网络模型参数代入验证数据集,保存使得验证数据集损失函数最小的网络模型参数;
[0011] 步骤S5:使用损失函数最小的网络模型参数,对测试数据集进行测试,得到测试数据集的预测值。
[0012] 进一步,所述步骤S2中,对数据进行数据增广的方法如下:
[0013] 步骤S2‑1:图像水平翻转;概率为0.5;
[0014] 步骤S2‑2:图像伽马校正,校正系数范围为0.8‑1.2;概率为0.5;
[0015] 步骤S2‑3:图像亮度偏移,偏移系数范围为0.5‑2.0;概率为0.5;
[0016] 步骤S2‑4:图像RGB通道偏移,偏移系数范围为0.8‑1.2;概率为0.5。
[0017] 进一步,所述步骤S3中,构建的单目深度估计神经网络包括编码器和解码器,编码器与解码器相连,编码器包括第一卷积层、第一注意力层、Resnet50网络层,第一卷积层与第一注意力层相连,第一注意力层与Resnet50网络层相连;解码器包括第二注意力层、上采样层、第一卷积‑上采样层、第二卷积‑上采样层、第三卷积‑上采样层、第四卷积‑上采样层、第五卷积‑上采样层和第二卷积层;第二注意力层与上采样层相连,上采样层与第一卷积‑上采样层相连,第一卷积‑上采样层与第二卷积‑上采样层相连,第二卷积‑上采样层与第三卷积‑上采样层相连,第三卷积‑上采样层与第四卷积‑上采样层相连,第四卷积‑上采样层与第五卷积‑上采样层相连,第五卷积‑上采样层与第二卷积层相连,Resnet50网络层与第二注意力层相连。
[0018] 进一步,所述步骤S4,包括以下步骤:
[0019] 步骤S4‑1:设置初始化迭代次数I=0,最大迭代次数为Imax;使用Xavier初始化神经网络各层权重参数;
[0020] 步骤S4‑2:使用网络中编码器进行特征提取;
[0021] 步骤S4‑3:使用网络中解码器预测视差图;
[0022] 步骤S4‑4:通过扭曲操作,得到多次合成的视图;
[0023] 步骤S4‑5:计算网络损失函数;
[0024] 步骤S4‑6:计算使验证数据集损失函数最小的网络模型参数。
[0025] 进一步,所述步骤S4‑2,包括以下步骤:
[0026] 步骤S4‑2‑1:第一卷积层对输入图像X进行处理,得到图像X1:
[0027] X1=conv1(X)
[0028] 其中conv1代表第一卷积层,图像X的维度为3×H×W,即输入的三通道RGB图像,H为图像X的高度,W为图像X的宽度;X1的维度为C1×H×W,其中C1是第一卷积层中卷积核的个数;输入图像X是双目图像对中的左图Il;
[0029] 步骤S4‑2‑2:第一注意力层对图像X1进行处理,输出Fout;
[0030] 步骤S4‑2‑3:通过Resnet50网络层提取Fout中深度图的高层特征。
[0031] 进一步,所述步骤S4‑2‑2,包括以下步骤:
[0032] 步骤S4‑2‑2‑1:图像X1输入到第一注意力层的通道注意力层,通道注意力层中,分两路分别对图像X1沿着空间维度进行全局平均池化和全局最大池化,生成两个通道描述avg max avg max子:Fc 和Fc ;将两个通道描述子Fc 、Fc 经过一个共享参数的两层卷积网络,并依次经过逐像素加法和非线性激活函数处理,得到通道注意力图Fc:
[0033]
[0034] 其中scn是共享参数的两层卷积网络;σ(x)是非线性激活函数, e是自然常数; 代表逐像素相加操作;
[0035] 步骤S4‑2‑2‑2:通道注意力图Fc与输入图像X进行逐像素相乘,得到通道注意特征图,通道注意特征图输入到第一注意力层的空间注意力层,空间注意力层中,分两路分别对通道注意特征图沿着空间维度进行全局平均池化和全局最大池化,生成两个空间描述子:avg max avg max
Fs 和Fs ;将两个空间描述子Fs 、Fs 进行拼接,输入到一个卷积层中并通过非线性激活函数处理得到空间注意力图Fs:
[0036] Fs=σ(conv[Fsavg;Fsmax])
[0037] 其中conv代表单个卷积层;σ(x)是非线性激活函数, e是自然常数;[x;y]代表对x和y沿着通道维度进行拼接;
[0038] 步骤S4‑2‑2‑3:空间注意力图Fs与通道注意特征图进行逐像素相乘,第一注意力层最终输出为:
[0039]
[0040] 其中,代表逐像素相乘操作。
[0041] 进一步,所述步骤步骤S4‑3,包括以下步骤:
[0042] 步骤S4‑3‑1:通过解码器的第二注意力层对Fout中深度图的高层特征进行全局细化;
[0043] 步骤S4‑3‑2:依次通过上采样层、第一卷积‑上采样层、第二卷积‑上采样层、第三卷积‑上采样层、第四卷积‑上采样层、第五卷积‑上采样层、第二卷积层对全局细化后的高层特征进行低分辨率特征上采样,得到4个尺度下预测的四组视差图,每组视差图包括左视差图dl和右视差图dr;4个尺度对应4个分辨率;第三卷积‑上采样层输出第一视差图,第四卷积‑上采样层输出第二视差图,第五卷积‑上采样层输出第三视差图,第二卷积层输出第四视差图,第四视差图为最终的输出视差图。
[0044] 进一步,所述步骤步骤S4‑4,通过扭曲操作,得到多次合成的视图的具体方法如下:
[0045] 在每个尺度下,将预测的左视差图dl和双目图像对中的右图Ir通过扭曲函数得到合成左图
[0046]
[0047] 其中(x,y)为像素坐标;w(.)为扭曲函数,定义为:
[0048] w((x,y),d(x,y))=(x+d(x,y),y)
[0049] 将合成左图 与预测的右视差图dr通过扭曲函数得到二次合成的右图
[0050]
[0051] 将二次合成的右图 与预测的左视差图dl通过扭曲函数得到三次合成的左图,将三次合成的左图与预测的右视差图dr通过扭曲函数得到四次合成的右图;依次类推,通过对合成的视图进行扭曲操作,得到n次合成的视图。
[0052] 进一步,所述步骤步骤S4‑5,包括以下步骤:
[0053] 步骤S4‑5‑1:计算多层扭曲视图重构损失;
[0054]
[0055] 其中Il/r代表双目图像对中的左图/右图, 是一次合成的左图/右图, 是三次合成的左图/右图,i是像素索引,N是图片像素的个数,α是权重超参数,SSIM是结构相似性损失;
[0056] 步骤S4‑5‑2:计算视差平滑损失:
[0057]
[0058] 其中 和 是对左/右视差图分别求水平和垂直方向的梯度, 和是对双目图像对中的左图/右图分别求水平方向和垂直方向的梯度;i是像素索引,N是图片像素的个数;|.|代表求绝对值操作,e为自然常数;
[0059] 步骤S4‑5‑3:计算视差图一致性损失:
[0060] 左视差图一致性损失如下式所示:
[0061]
[0062] 右视差图一致性损失如下式所示:
[0063]
[0064] 对于每一个尺度s,整体损失函数如下式所示
[0065]
[0066] 其中λap,λds,λc是三个超参数权重;
[0067] 步骤S4‑5‑4:计算网络最终的损失函数,网络最终的损失函数为4个尺度下的整体损失函数之和:
[0068]
[0069] 进一步,所述步骤步骤S4‑6,计算使验证数据集损失函数最小的网络模型参数的具体方法如下:
[0070] 使用Adam优化算法寻找网络损失函数的误差对每个网络权重参数的反向传播梯度,并通过参数更新过程获得新的网络权重参数,增加迭代次数I=I+1,保存使验证数据集损失函数最小的网络模型参数。
[0071] 与现有技术相比,本发明的优点如下:
[0072] (1)本发明单目深度估计神经网络利用双目图像对进行训练,网络结构简洁易于理解,可以在没有深度标签的情况下完成网络的训练,具有更好的普适性。
[0073] (2)本发明设计了结合通道注意力和空间注意力的注意力层,能够灵活的整合到现有的网络中,同时有效捕获特征空间中的全局感受野。
[0074] (3)本发明多层重构策略对预测的视差图进行了进一步约束,进一步提高了深度估计的性能,估计精度高。

附图说明

[0075] 图1是本发明实施例的方法流程图。
[0076] 图2是本发明实施例单目深度估计神经网络的结构示意图。
[0077] 图3是本发明实施例第一注意力层的结构示意图。
[0078] 1—第一卷积层,2—第一注意力层,3—Resnet50网络层,4—第二注意力层,5—上采样层,6—第一卷积‑上采样层,7—第二卷积‑上采样层,8—第三卷积‑上采样层,9—第四卷积‑上采样层,10—第五卷积‑上采样层,11—第二卷积层,12—第一视差图,13—第二视差图,14—第三视差图,15—第四视差图。

具体实施方式

[0079] 下面结合附图及具体实施例对本发明作进一步详细描述。
[0080] 本发明实施例,如图1所示,包括以下步骤:
[0081] 步骤S1:将KITTI数据集调整至同一分辨率大小后,划分为训练数据集、验证数据集和测试数据集;
[0082] KITTI数据集选用KITTI 2015数据集(KITTI Stereo 2015),KITTI 2015数据集一共有61个场景,包括多个双目图像对。本实施例使用通用的数据集划分方法。将覆盖29个场景的697个图像对作为测试数据集;剩下的32个场景,一共包含23488个双目图像对。选择覆盖32个场景的22600个图像对作为训练数据集,覆盖32个场景的888个图像对作为验证数据集。KITTI数据集中图像分辨率被统一调整为640*192,用于网络的输入。
[0083] 步骤S2:对训练数据集和验证数据集中的数据进行数据增广;数据增广方法如下:
[0084] 步骤S2‑1:图像水平翻转;概率为0.5;
[0085] 步骤S2‑2:图像伽马校正,校正系数范围为0.8‑1.2;概率为0.5;
[0086] 步骤S2‑3:图像亮度偏移,偏移系数范围为0.5‑2.0;概率为0.5;
[0087] 步骤S2‑4:图像RGB通道偏移,偏移系数范围为0.8‑1.2;概率为0.5。
[0088] 步骤S3:构建单目深度估计神经网络;构建的单目深度估计神经网络如图2所示,包括编码器和解码器,编码器与解码器相连,编码器包括第一卷积层1、第一注意力层2、Resnet50网络层3,第一卷积层1与第一注意力层2相连,第一注意力层2与Resnet50网络层3相连;解码器包括第二注意力层4、上采样层5、第一卷积‑上采样层6、第二卷积‑上采样层7、第三卷积‑上采样层8、第四卷积‑上采样层9、第五卷积‑上采样层10、第二卷积层11;第二注意力层4与上采样层5相连,上采样层5与第一卷积‑上采样层6相连,第一卷积‑上采样层6与第二卷积‑上采样层7相连,第二卷积‑上采样层7与第三卷积‑上采样层8相连,第三卷积‑上采样层8与第四卷积‑上采样层9相连,第四卷积‑上采样层9与第五卷积‑上采样层10相连,第五卷积‑上采样层10与第二卷积层11相连,Resnet50网络层3与第二注意力层4相连。第三卷积‑上采样层8输出第一视差图12,第四卷积‑上采样层9输出第二视差图13,第五卷积‑上采样层10输出第三视差图14,第二卷积层11输出第四视差图15,第四视差图15为最终的输出视差图。
[0089] 参照图3,第一注意力层2包括通道注意力层和空间注意力层,通道注意力层与空间注意力层连接,通道注意力层包括,通道注意力层首先从空间维度对输入特征分别进行全局最大池化和全局平均池化,两个池化之后的特征经过一个两层卷积网络scn后,进行逐像素相加与非线性激活函数处理得到通道注意力图。
[0090] 步骤S4:利用训练数据集训练单目深度估计神经网络得到相应的权重与偏置,即网络模型参数,将得到的网络模型参数代入验证数据集,保存使得验证数据集损失函数最小的网络模型参数;
[0091] 步骤S4‑1:设置初始化迭代次数I=0,最大迭代次数为Imax;使用Xavier初始化神经网络各层权重参数;
[0092] 步骤S4‑2:使用网络中编码器进行特征提取;具体包括:
[0093] 步骤S4‑2‑1:第一卷积层1对输入图像X进行处理,得到图像X1:
[0094] X1=conv1(X)
[0095] 其中conv1代表第一卷积层1,图像X的维度为3×H×W,即输入的三通道RGB图像,H为图像X的高度,W为图像X的宽度;X1的维度为C1×H×W,其中C1是第一卷积层1中卷积核的个数;输入图像X是双目图像对中的左图Il;
[0096] 步骤S4‑2‑2:第一注意力层2对图像X1进行处理,输出Fout,具体为:
[0097] 步骤S4‑2‑2‑1:图像X1输入到第一注意力层2的通道注意力层,通道注意力层中,分两路分别对图像X1沿着空间维度进行全局平均池化(global average pool)和全局最大avg max avg max池化(global max pool)生成两个通道描述子:Fc 和Fc ;将两个通道描述子Fc 、Fc 经过一个共享参数的两层卷积网络,并依次经过逐像素加法和非线性激活函数处理,得到通道注意力图Fc:
[0098]
[0099] 其中scn是共享参数的两层卷积网络,σ(x)是非线性激活函数, e是自然常数; 代表逐像素相加操作。
[0100] 步骤S4‑2‑2‑2:通道注意力图Fc与输入图像X进行逐像素相乘后得到通道注意特征图,通道注意特征图输入到第一注意力层2的空间注意力层,空间注意力层中,分两路分别对通道注意特征图沿着空间维度进行全局平均池化(global average pool)和全局最大avg max avg max池化(global max pool)生成两个空间描述子:Fs 和Fs ;将两个空间描述子Fs 、Fs 进行拼接,输入到一个卷积层中并通过非线性激活函数处理得到空间注意力图Fs:
[0101] Fs=σ(conv[Fsavg;Fsmax])
[0102] 其中conv代表单个卷积层,σ(x)是非线性激活函数, e是自然常数;[x;y]代表对x和y沿着通道维度进行拼接。
[0103] 步骤S4‑2‑2‑3:空间注意力图Fs与通道注意特征图进行逐像素相乘,第一注意力层2最终输出为:
[0104]
[0105] 其中,代表逐像素相乘操作。Fout捕获了深度图低层特征的全局信息。
[0106] 步骤S4‑2‑3:通过Resnet50网络层3提取Fout中深度图的高层特征。
[0107] 步骤S4‑3:使用网络中解码器预测视差图;具体包括:
[0108] 步骤S4‑3‑1:通过解码器的第二注意力层4对Fout中深度图的高层特征进行全局细化;
[0109] 步骤S4‑3‑2:依次通过上采样层5、第一卷积‑上采样层6、第二卷积‑上采样层7、第三卷积‑上采样层8、第四卷积‑上采样层9、第五卷积‑上采样层10、第二卷积层11对全局细化后的高层特征进行低分辨率特征上采样,得到4个尺度下预测的四组视差图,每组视差图包括左视差图dl和右视差图dr。4个尺度对应4个分辨率。第三卷积‑上采样层8输出第一视差图12,第四卷积‑上采样层9输出第二视差图13,第五卷积‑上采样层10输出第三视差图14,第二卷积层11输出第四视差图15,第四视差图15为最终的输出视差图。第一视差图12的尺度为4,分辨率为原始输入分辨率的1/16,第二视差图13的尺度为3,分辨率为原始输入分辨率的1/8,第三视差图14的尺度为2,分辨率为原始输入分辨率的1/4,第四视差图15的尺度为1,分辨率为原始输入分辨率的1/1。
[0110] 步骤S4‑4:通过扭曲操作,得到多次合成的视图,具体为:在每个尺度下,将预测的左视差图dl和双目图像对中的右图Ir通过扭曲函数得到合成左图
[0111]
[0112] 其中(x,y)为像素坐标;w(.)为扭曲函数,定义为:
[0113] w((x,y),d(x,y))=(x+d(x,y),y)
[0114] 将合成左图 与预测的右视差图dr通过扭曲函数得到二次合成的右图
[0115]
[0116] 将二次合成的右图 与预测的左视差图dl通过扭曲函数得到三次合成的左图,将三次合成的左图与预测的右视差图dr通过扭曲函数得到四次合成的右图;依次类推,通过对合成的视图进行扭曲操作,得到n次合成的视图。本实施例中,通过三次扭曲操作得到三次合成的视图,在具体应用中,实际扭曲操作的次数可以更多,n=2~5。
[0117] 步骤S4‑5:计算网络损失函数。对于每一个尺度,网络损失函数包含三个部分,分别计算每一个尺度下网络损失函数;
[0118] 步骤S4‑5‑1:计算多层扭曲视图重构损失;
[0119] 多层扭曲视图重构损失选用一次合成和三次合成的视图与对应的原始输入视图计算,包括一个绝对值偏差损失(L1损失)和结构相似性损失(SSIM):
[0120]
[0121] 其中Il/r代表双目图像对中的左图/右图, 是一次合成的左图/右图, 是三次合成的左图/右图,i是像素索引,N是图片像素的个数,α是权重超参数,SSIM是结构相似性损失。
[0122] 步骤S4‑5‑2:计算视差平滑损失;
[0123] 为了使得预测的视差图局部平滑,同时考虑到深度图的不连续性,对预测的视差图梯度施加带有边缘感知项的L1损失。
[0124]
[0125] 其中 和 是对左/右视差图分别求水平和垂直方向的梯度, 和是对双目图像对中的左图/右图分别求水平方向和垂直方向的梯度。i是像素索引,N是图片像素的个数;|.|代表求绝对值操作,e为自然常数。
[0126] 步骤S4‑5‑3:计算视差图一致性损失:
[0127] 对网络预算的左/右视差图应用扭曲函数可以得到合成的右/左图。对预算的视差图与合成的视图之间应用L1损失,可以得到视差图一致性损失。
[0128] 左视差图一致性损失如下式所示:
[0129]
[0130] 右视差图一致性损失如下式所示:
[0131]
[0132] 对于每一个尺度s,整体损失函数如下式所示
[0133]
[0134] 其中λap,λds,λc是三个超参数权重。
[0135] 步骤S4‑5‑4:计算网络最终的损失函数,网络最终的损失函数为4个尺度下的整体损失函数之和:
[0136]
[0137] 步骤S4‑6:使用Adam优化算法寻找网络损失函数的误差对每个网络权重参数的反向传播梯度,并通过参数更新过程获得新的网络权重参数,增加迭代次数I=I+1,保存使验证数据集损失函数最小的网络模型参数。
[0138] 步骤S5:使用损失函数最小的的网络模型参数,对测试数据集进行测试,得到测试数据集的预测值。网络虽然使用双目图像对进行训练,但是只将双目图像对中的一张图片输入到网络中。双目图像对中的另一张图片仅用于网络损失函数的计算。因此,在测试阶段只需要输入单张图片即可求解对应的视差,根据已知的相机参数即可求解对应的深度。
[0139] 本发明基于注意力机制的无监督单目深度估计方法,设计了一种无监督单目深度估计神经网络。使用容易获得的双目图像对对代替深度标签数据进行训练,能够有效的克服真实深度标签获取难度大的问题。设计了结合通道注意力和空间注意力的注意力层,对特征空间进行了多维度全范围的探索,提高了在图像细节方面的深度估计能力。通过构造多层扭曲重构视图,对网络估计的左右视差图施加了更强的约束,进一步提高了深度估计的精度。
[0140] 将本实施例与其他方法进行定量结果比较,结果如表1所示。在KITTI数据集上进行了比较,选取了四种误差指标包括绝对相对误差(Abs Rel)、平方相对误差(Sq Rel)、均方根误差(RMSE)以及对数域下均方根域差(RMSE log),误差指标取值越低越好。精度指标如下式所示:
[0141]
[0142] 其中 和 分别是真实深度值和预测的深度值,i是像素的索引。三个精度指标2 3
分别对应t取1.25、1.25、1.25。从表一中可以看出,与其他方法相比,本发明方法在所有七个评估指标上均取得了最佳的性能,进一步验证了本发明方法的可靠性。
[0143] 表一 本实施例与其他方法的定量对比结果
[0144]
[0145]
[0146] [1]C.Godard,O.Mac Aodha,and G.J.Brostow“,Unsupervised monocular depth estimation with left‑right consistency,”in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2017,pp.270–279.
[0147] [2]T.Zhou,M.Brown,N.Snavely,and D.G.Lowe“, Unsupervised learning of depth and ego‑motion from video,”in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2017,pp.1851–1858
[0148] [3]Z.Yin and J.Shi,“Geonet:Unsupervised learning of dense depth,optical flow and camera pose,”in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2018,pp.1983–1992.
[0149] [4]Y.Zou,Z.Luo,and J.‑B.Huang“, Df‑net:Unsupervised joint learning of depth and flow using cross‑task consistency,”in Proceedings of the European conference on computer vision(ECCV),2018,pp.36–53
[0150] [5]M.Zhang,X.Ye,and X.Fan“,Unsupervised detail‑preserving network for high quality monocular depth estimation,”Neurocomputing,vol.404,pp.1–13,2020[0151] 本领域的技术人员可以对本发明进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
[0152] 说明书中未详细描述的内容为本领域技术人员公知的现有技术。