引入注意力图谱的双目视差估计方法与流程

专利2022-06-29  131


本发明属于图像处理和计算机视觉领域,涉及一种引入注意力图谱的双目视差估计方法,具体涉及一种利用深度学习数据学习能力获取全局信息,生成注意力图谱,引导双目视差估计的方法。



背景技术:

双目深度估计是通过两张标定好的左右视图,根据每个像素在不同视图之间的相对位置得到对应的视差值,根据相机成像模型,将视差恢复成图像的深度信息。现有的双目深度估计的方法主要分为传统方法和深度学习的方法。

传统方法分为局部算法和全局算法,局部算法利用窗口内邻域像素的相似度进行匹配。全局方法构造一个能量函数,包括像素点本身的匹配代价和不同像素点间的约束关系,通过最小化能量函数来得到最终的视差图。传统方法运行时间过长,精度不高,特别是在无纹理和遮挡区域误匹配误差较高。

深度学习方法是通过神经网络端到端的学习出左右视图的视差图,基本框架主要包括特征提取、构建代价卷、视差聚合、优化视差。将左右视图输入网络中,通过特征提取网络得到左右特征图,然后在不同视差下进行匹配,得到低分辨率的代价卷,聚合优化部分分为两种方法:一是优化低分辨率的代价卷,逐步恢复成原分辨率,最后用softargmin计算出视差图。二是低分辨率的代价卷先得到低分辨率的视差图,将视差图逐步上采样优化得到最终原分辨率的视差图。基于多层卷积得到的特征具有更强的表征能力,但由于计算消耗的限制,特征覆盖感视野仍然较小,导致大片无纹理区域仍存在误匹配现象。另外真实数据往往难以获得稠密、完美的标签,通常标签是不完整的、稀疏的。因此在真实数据上进行微调时,现有监督策略往往受稀疏标签影响,难以达到最优效果



技术实现要素:

本发明旨在克服现有的深度学习方法的不足,本发明提出一种新的解决大片无纹理区域误匹配问题的思路,即注意力图谱;通过在双目视差估计网络中引出独立分支,用于更好的获取全局信息、语义结构信息,得到的注意力图谱通过加权的方式作用在代价上,用得到的语义结构信息对双目立体匹配进行引导,修正误匹配区域,保证具有相同语义结构区域具有平滑分布的视差。同时本发明提出一种在稀疏标签数据上进行微调的策略,解决了无标签区域效果差、微调效果难以达到最优的问题。

具体方案包括:

引入注意力图谱的双目视差估计方法,包括步骤如下:

第一步,利用网络对左、右目图像提取特征;

获取双目相机的双目图像并通过左右视图值获取可见光图像对,进行标准化处理;为可见光图像对进行特征提取,得到基于两幅图像的特征图;将经过归一化处理的左右视图分别进行多层卷积操作,其输出为映射到高维空间的多个通道特征表示;在所述卷积过程中左右视图共享权重;

第二步,利用双目匹配方法获得代价图;

第三步,利用分类原则,进行单目视差估计,获取具有全局信息的视差分割注意力图谱;

3.1使用卷积神经网络提取初始特征图;

将第一步经过归一化处理的左视图进行一次卷积操作,其输出为多个通道的特征图;

3.2对该特征图连续进行不同程度的特征提取阶段,不同程度包括不同的残差块个数设置和不同空洞大小卷积,所以提取的特征所囊括的视野大小和特征抽象程度均不同,输出每个阶段得到的不同视野的特征图;

3.3将不同视野的特征图进行融合,并使用分类损失函数得到连续离散深度值的分类;

3.3.1将不同阶段的输出特征图分别经过不同大小空洞卷积的通道压缩,每个特征图输出d 1维度的特征;

3.3.2将四张d 1维的特征图对应位置直接相加得到融合后的视差分割注意力图谱,在该图中每个维度的对应像素位置的值所指示的是该位置视差取整后属于该离散视差值的可能性;由于融合了不同阶段的操作,并基于不同尺度的环境信息进行归类,该图可以很好地获取多尺度的语义信息,使用丰富的语义信息来指示低尺度下每个位置属于每个离散视差的置信度,从而引导注意力。

3.3.3在训练过程中,使用标签作为监督,以优化融合后的视差分割注意力图谱得分图,由于在得分图中的d 1个维度并不是完全相互无关,而是由连续的视差取整得到的。因此,希望当输出值和标签得到的值有所偏差但是差值不大时并不认为它完全错误,而是做一个较小的惩罚,这让本模块中的置信值不是绝对的,与标签接近的预测对参数更新也有贡献。所以用置信标签与视差标签的距离对分成该类的概率进行加权;因此实际是使用了分类loss来模拟回归任务,为达到上述目的修改了交叉熵损失函数,将原本离散的0和1改为增益矩阵h如下所示,其中α为常数:q为预测出的值,p为当前所属分类对应的标签值:

h(p,q)=exp[-α(p-q)2]

该损失函数如下:

运用这个损失函数来使本模块的效果得到优化,其中n表示像素对个数。b表示视差可能个数。h即上文叙述的增益矩阵h,di*表示对应像素位置对应视察的真实视差标签,d表示对应位置下当前视差,p(d|zi)表示对应像素位置zi在d视差下概率。

3.4将视差分割注意力图谱得分图复制一份对称的合并到原得分图第一维的地方;将原本的得分图除了视差为0地方,左右两个方向对称地扩张到原本的2倍大;使其和左右双目代价图模块生成的相关性计算层尺度相同;

第四步,利用具有全局信息的分割注意力图谱对代价图进行优化,并将处理后的代价图送入到视差回归网络中进行视差估计。

本发明的有益效果是:

1本发明提出一种基于稀疏标签进行微调的策略。在微调不同阶段采用不同监督策略,通过重建误差引导、稀疏修正、平滑约束优化,可以在稀疏数据集上达到方法的最优效果,解决了无标签区域效果差问题。

2本发明提出一种注意力图谱生成方法及由注意力图谱对匹配进行引导的策略。进一步优化了深度学习方法,降低了无纹理区域误匹配问题。

附图说明

图1为方案整体流程图;

图2为左右双目代价体生成模块流程图;

图3视差分割注意力图谱生成模块流程图;

图4为传播上采样模块流程图。

具体实施方式

本发明基于双目视差估计方法、单目深度估计方法以及卷积神经网络深度学习的方法,对经过配准的一对彩色摄像机获取的一对三通道彩色图像进行处理,再根据在两张左右双目图像的三角测量原理与每一张单目图像本身具有的语义信息进行视差估计工作,使用优化后的视差计算距离信息,以同时利用基于三角原理进行深度学习和基于语义信息进行深度学习这两种基于不同目的的深度学习方法两者的优势。以一对可见光彩色双目相机的深度估计为例,具体实施方案如下:

图1为方案的整体流程

第一步,利用网络对左、右目图像提取特征;

1.1获取双目相机的双目图像并对其左右视图值分别进行预处理

获取可见光图像对,进行标准化处理,方便后续运算。

1.2特征映射

为图像对创建两个独立但共享的处理流进行特征提取,使用统一的手段处理得到基于两幅图像得到的高维度特征图。将经过归一化处理的左右视图分别进行多层卷积操作,其输出为映射到高维空间的多个通道特征表示。在卷积过程中左右视图共享权重,即孪生神经网络。

为提高运算速度,经过特征映射网络后特征分辨率降低。

第二步,利用双目匹配方法获得代价图;

2.1处理两张特征图。由于提取特征的过程并不会受到极线约束,因此当前像素归纳的信息也不是单一方向的。因此在在获取代价体时查找范围d也应该包含两个方向,再扣除当前位置,查找范围d包含2*d 1个像素。将特征图再分别进行一次卷积操作。

2.2获取相关层。这步分别在两个2*d 1维的特征图上取两个图像块进行比较。在第一张图中,第一个映射的图像块的中心x1,第二个映射中图像块的中心x2,两个图像块的“相关性”被定义为

c(x1,x2)为像素位置x1与x2之间的相关性。k为视差范围。f1为左图特征,f2为右图特征。o为偏移(即可能视差)。

2.2.1对于一个大小为k=2k 1的正方形图像块。式1与神经网络中的卷积的一个步骤是相同的,但它不是用过滤器与数据进行卷积,而是将数据与其他数据进行卷积。由于这个原因,它没有可训练的参数。

2.2.2计算c(x1,x2)涉及到c*k2的乘法。比较所有的图像块组合涉及到w2*h2这样的计算,产生一个大的结果,使有效的向前和向后的传递变得棘手。因此,出于计算原因,限制了比较的最大位移,并在两个特征图中引入了步长。

2.2.3给定一个方向上的查找范围d,对于每一个位置x1,只在大小为d=2d 1的范围内计算相关性c(x1,x2),通过限制x2的范围。使用步长s1和s2,在全局上量化x1,并在围绕着以x1为中心量化x2。

因此这种相关性产生的结果是四维的:对于两个二维位置的组合,得到了一个相关值,即两个向量的标量积,它们分别包含了剪裁的图像块的值。在实践中,组织了通道中的相对位移。这意味着获得了一个大小为(w*h*d2)输出。对于反向传播,对每个底部的块进行了相应的求导。

2.2.4相关性计算层的定义为取左图特征图上的某一个图像块(实际上只取了一个像素点,1*1*c的特征),在右图对应位置的邻域位置上进行卷积(21*21的窗口),所以最后经过相关性计算层后的特征大小为w*h*81(查找范围长度为81)。

第三步,利用分类原则,进行单目视差估计,获取具有全局信息的视差分割注意力图谱;

3.1使用卷积神经网络提取初始特征图;

将经过归一化处理的左视图进行一次卷积操作,卷积的输入维度为3即rgb通道归一化得到的三个通道,其输出为多个通道的特征图。该步的目的是获取初始的特征图。

3.2对该特征图连续进行不同程度的特征提取阶段,不同程度包括不同的残差块个数设置和不同空洞大小卷积,所以提取的特征所囊括的视野大小和特征抽象程度均不同,输出每个阶段得到的不同视野的特征图;

初始特征图将连续经过四种不同的操作。

3.2.1在第一阶段操作中,特征图经过3块残差,通道数提升,不进行空洞卷积。

3.2.2在第二阶段操作中,特征图将经过4块残差,尺度降低,不进行空洞卷积。

3.2.3在第三次操作中,特征图将经过23块残差,通道数提升,使用空洞卷积扩大感受野。

3.2.4在第四次操作中,特征图将经过3块残差,通道数提升,是用空洞卷积扩大感受野。

3.2.5这四个阶段的操作分别为layer1~4。在上述四个阶段的输出中。在每个残差块中使用一次卷积一次正则化一次池化,再经过一次卷积一次正则化一次池化,然后将残差块一开始是的输入特征图下采样叠加到经过两次卷积的特征图上,以保证信息不丢失。

连续使用不同的残差块个数设置和不同空洞大小卷积提取的特征所囊括的视野大小和特征抽象程度均不同,经过这样的操作可以很好地融合远处的小物体和近处大物体的实例语义信息。

3.3将不同视野的特征图进行融合,并使用分类损失函数得到连续离散深度值的分类;

3.3.1将不同阶段的输出特征图分别经过不同大小空洞卷积的通道压缩,每个特征图输出d 1维度的特征;

3.3.2将四张d 1维的特征图对应位置直接相加得到融合后的视差分割注意力图谱,在该图中每个维度的对应像素位置的值所指示的是该位置视差取整后属于该离散视差值的可能性;由于融合了不同阶段的操作,并基于不同尺度的环境信息进行归类,该图可以很好地获取多尺度的语义信息,使用丰富的语义信息来指示低尺度下每个位置属于每个离散视差的置信度,从而引导注意力。

3.3.3在训练过程中,使用标签作为监督,以优化融合后的视差分割注意力图谱得分图,由于在得分图中的d 1个维度并不是完全相互无关,而是由连续的视差取整得到的。因此,希望当输出值和标签得到的值有所偏差但是差值不大时并不认为它完全错误,而是做一个较小的惩罚,这让本模块中的置信值不是绝对的,与标签接近的预测对参数更新也有贡献。所以用置信标签与视差标签的距离对分成该类的概率进行加权。因此实际是使用了分类loss来模拟回归任务,为达到上述目的修改了交叉熵损失函数,将原本离散的0和1改为增益矩阵h如下所示,其中α为常数,q为预测出的值,p为当前所属分类对应的标签值:

h(p,q)=exp[-α(p-q)2]

运用这个损失函数来替代原本的0,1分类使本模块的效果得到优化,其中n表示一共n个像素对每一个像素作其每个视差下的损失值再取平均,在每个像素位置上取每个视差d下的损失,每个像素位置有b个视差值。损失函数在softmaxloss基础上修改。预测值不是绝对的,与实际标签接近的预测标签对参数更新也有贡献。所以用预测标签与实际标签的距离对分成该类的概率进行加权,h即上文叙述的增益矩阵h,di*表示对应像素位置对应视察的真实分布标签,d表示对应视差下的预测标签,p(d|zi)表示对应像素位置该视差下在该位置所有视差条件下的概率,该损失函数如下:

3.3.4将视差分割注意力图谱得分图复制一份对称的合并到原得分图第一维的地方;将原本的得分图除了视差为0地方,左右两个方向对称地扩张到原本的2倍大;使其和左右双目代价图模块生成的相关性计算层的尺度相同。

第四步,利用具有全局信息的分割注意力图谱对代价图进行优化,并将处理后的代价图送入到视差回归网络中进行视差估计。

4.1点乘视差分割注意力图谱和双目代价图,得到优化后的代价图;这步的目的是使用单目视差分割注意力图谱对双目代价体实例边缘进行选择性激活,以达到为每个深度层添加置信度的目的。引入场景的语义信息作为参考对代价体进行最初始的聚合优化。

4.2将经过优化的代价图融合左图信息,再经过连续多次步长不同的卷积操作进行编码;

4.2.1将在第一步中经过多次卷积处理的左视图特征图进行一次卷积操作,该步的目的是获取基于左视图的高纬特征图;

4.2.2将4.1中得到的优化后的代价图和4.2.1得到的基于左图的特征图叠加在一起;

4.2.3将4.2.2得到的特征体交替通过卷积层得到编码后的高维的代价图;

4.3再对高维的代价图进行反卷积对编码后的代价图解码并输出不同尺度的视差图。

4.3.1使用1024维的代价特征图在每一个位置取代价为最小值的视差作为视差图对应位置的视差值,从而输出尺度最低的视差图flow;

4.3.2在解码细化的过程中,对每层的反卷积使用relu正则化得到上采样的特征;

4.3.3在下一次反卷积时,输入不仅包括前一层反卷积的输出,同时还输入前一层预测的低尺度的视差图flow和对应编码模块中的特征层(从卷积部分直接拿过来)conv。

4.3.4重复六次上述操作在不同阶段输出七个尺度的视差图;

这样使得每一层反卷积层在细化时,不仅可以获得深层的抽象信息,同时还可以获得浅层的具象信息,以弥补因特征空间尺度的缩小而损失的信息。最终返回连续7个尺度的低尺度的视差图flow0~6,他们的w,h尺度大小分别为flow0(512,960)flow1(256,480)flow2(128,240)flow3(64,120)flow4(32,60)flow5(16,30)flow6(8,15)scoremap(d 1,64,120)。

4.3.5在训练过程中将实际标签下采样六次到七个视差图相应的尺度,分别将实际标签和预测得到的视差图作差最终相加作为损失,以优化输出。

其中在真实场景稀疏标签数据集上微调获得良好效果具体操作如下:

1)在真实场景数据集下首先不直接使用标签进行完全监督训练,而是基于左图生成一幅视差图,再基于右图生成视差图,对比两图的视差图区别,作为损失函数反向传播以优化网络。

由于真实场景数据及所采集的标签视差是稀疏的,在预测稠密图的任务中没有办法很好的完成反向传递。因此一开始在真实场景中训练的过程中,使用自监督的方式,利用基于左图产生的视差图和基于右图产生的视差图具有左右一致性的特性,在真实场景中用无监督的方式进行训练,以优化结果。

2)但是同时由于视角的不同,近侧拍摄到的物体会遮挡住一些远处拍摄到的物体,因此左右一致性损失函数的图所对应的位置会有一些被遮挡的部分,一些点只出现在一幅图像中,而在另一幅图像中看不到。为了消除这些空洞带来的不良影响,首先要得到遮挡的二值图像。得到二值遮挡图像,就要为所有黑色的遮挡点赋予合理的视差值。对于左图而言,遮挡点一般存在于背景区域和前景区域接触的地方。遮挡的产生正是因为前景比背景的偏移量更大,从而将背景遮盖。具体赋值方法:对于一个遮挡点p,分别水平往左和往右找到第一个非遮挡点,记作pl、pr。点p的视差值赋成pl和pr视差值中较小的那一个值。d(p)=min(d(pl),d(pr))。

3)在进行左右一致性无监督训练达到一定的水平后,使用平滑到时去优化物体边缘的视差。这是由于上文中对遮挡部分的处理是是很生硬的用相邻视差进行填补,因此在经过一段时间的训练后,选择使用平滑loss来对物体边缘进行处理。


技术特征:

1.引入注意力图谱的双目视差估计方法,其特征在于,包括步骤如下:

第一步,利用网络对左、右目图像提取特征;

获取双目相机的双目图像并通过左右视图值获取可见光图像对,进行标准化处理;为可见光图像对进行特征提取,得到基于两幅图像的特征图;将经过归一化处理的左右视图分别进行多层卷积操作,其输出为映射到高维空间的多个通道特征表示;在所述卷积过程中左右视图共享权重;

第二步,利用双目匹配方法获得代价图;

第三步,利用分类原则,进行单目视差估计,获取具有全局信息的视差分割注意力图谱;

3.1使用卷积神经网络提取初始特征图;

将第一步经过归一化处理的左视图进行一次卷积操作,其输出为多个通道的特征图;

3.2对该特征图连续进行不同程度的特征提取阶段,不同程度包括不同的残差块个数设置和不同空洞大小卷积,所以提取的特征所囊括的视野大小和特征抽象程度均不同,输出每个阶段得到的不同视野的特征图;

3.3将不同视野的特征图进行融合,并使用分类损失函数得到连续离散深度值的分类;

3.3.1将不同阶段的输出特征图分别经过不同大小空洞卷积的通道压缩,每个特征图输出d 1维度的特征;

3.3.2将四张d 1维的特征图对应位置直接相加得到融合后的视差分割注意力图谱,在该图中每个维度的对应像素位置的值所指示的是该位置视差取整后属于该离散视差值的可能性;

3.3.3在训练过程中,使用标签作为监督,以优化融合后的视差分割注意力图谱得分图,用置信标签与视差标签的距离对分成该类的概率进行加权;修改了交叉熵损失函数,将原本离散的0和1改为增益矩阵h如下所示,其中α为常数:q为预测出的值,p为当前所属分类对应的标签值:h(p,q)=exp[-α(p-q)2]

运用这个损失函数来使本模块的效果得到优化,该损失函数如下:

其中n表示像素对个数,b表示视差可能个数,h即上文叙述的增益矩阵h,di*表示对应像素位置对应视察的真实视差标签,d表示对应位置下当前视差,p(d|zi)表示对应像素位置zi在d视差下概率;

3.4将视差分割注意力图谱得分图复制一份对称的合并到原得分图第一维的地方;将原本的得分图除了视差为0地方,左右两个方向对称地扩张到原本的2倍大;使其和左右双目代价图模块生成的相关性计算层尺度相同;

第四步,利用具有全局信息的分割注意力图谱对代价图进行优化,并将处理后的代价图送入到视差回归网络中进行视差估计。

2.根据权利要求1所述的引入注意力图谱的双目视差估计方法,其特征在于,第二步,利用双目匹配方法获得代价图,具体步骤为:

2.1处理两张特征图,查找范围d包含2d 1个像素;将两张特征图再分别进行一次卷积操作;

2.2获取相关层;这步分别在两个2d 1维的特征图上取两个图像块进行比较。在第一张图中,第一个映射的图像块的中心x1,第二个映射中图像块的中心x2,两个图像块的“相关性”被定义为:

c(x1,x2)为像素位置x1与x2之间的相关性。k为视差范围。f1为左图特征,f2为右图特征。o为偏移(即可能视差);

给定一个方向上的查找范围d,对于每一个位置x1,只在大小为d=2d 1的范围内计算相关性c(x1,x2),通过限制x2的范围;使用步长s1和s2,在全局上量化x1,并在围绕着以x1为中心量化x2;

取左特征图上的某一个图像块,在右图对应位置的邻域位置上进行卷积。

3.根据权利要求1所述的引入注意力图谱的双目视差估计方法,其特征在于,第四步,代价优化及深度计算的具体操作如下:

4.1点乘视差分割注意力图谱和双目代价图,得到优化后的代价图;

4.2将经过优化的代价图融合左图信息,再经过连续多次步长不同的卷积操作进行编码;

4.2.1将在第一步中经过多次卷积处理的左视图特征图进行一次卷积操作,该步的目的是获取基于左视图的高纬特征图;

4.2.2将4.1中得到的优化后的代价图和4.2.1得到的基于左图的特征图叠加在一起;

4.2.3将4.2.2得到的特征体交替通过卷积层得到编码后的高维的代价图;

4.3再对高维的代价图进行反卷积对编码后的代价图解码并输出不同尺度的视差图。

4.根据权利要求3所述的引入注意力图谱的双目视差估计方法,其特征在于,4.3的具体步骤为:

4.3.1使用1024维的代价特征图在每一个位置取代价为最小值的视差作为视差图对应位置的视差值,从而输出尺度最低的视差图flow;

4.3.2在解码细化的过程中,对每层的反卷积使用relu正则化得到上采样的特征;

4.3.3在下一次反卷积时,输入不仅包括前一层反卷积的输出,同时还输入前一层预测的低尺度的视差图flow和对应编码模块中的特征层conv;

4.3.4重复六次上述操作在不同阶段输出七个尺度的视差图;

4.3.5在训练过程中将实际标签下采样六次到七个视差图相应的尺度,分别将实际标签和预测得到的视差图作差最终相加作为损失,以优化输出。

技术总结
本发明公开了引入注意力图谱的双目视差估计方法,具体涉及一种利用深度学习数据学习能力获取全局信息,生成注意力图谱,引导双目视差估计的方法。本发明提出的注意力图谱,通过引出独立分支,更好的提取图像全局特征、语义结构,得到的注意力图谱通过加权的方式作用在代价上,起到匹配引导作用,保证具有相同语义结构区域具有平滑分布的视差。同时本发明提出一种基于稀疏标签进行微调的策略。在微调不同阶段采用不同监督策略,通过重建误差引导、稀疏修正、平滑约束优化,可以在稀疏数据集上达到方法的最优效果,解决了无标签区域效果差问题。

技术研发人员:仲维;张宏;李豪杰;王智慧;刘日升;樊鑫;罗钟铉;李胜全
受保护的技术使用者:大连理工大学;鹏城实验室
技术研发日:2020.01.10
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-16726.html

最新回复(0)