自适应迭代残差优化的快速立体匹配算法

文档序号:33484793发布日期:2023-03-15 14:20阅读:68来源:国知局
自适应迭代残差优化的快速立体匹配算法

1.本发明涉及算法相关领域,具体为自适应迭代残差优化的快速立体匹配算法。


背景技术:

2.立体匹配是现代计算机视觉的前沿研究领域之一,在自动驾驶和机器人领域有着广泛的应用,其思想是通过估计矫正后的立体图像对中同一水平线上像素之间的视差来重建稠密的三维几何图形。基于深度学习的立体匹配算法能够达到亚像素精度和最低像素错误匹配率,但多以牺牲速度为代价。以快速计算为设计重点的算法在精度上无法与最先进的算法相媲美。
3.目前,使用4d代价体和3d卷积聚合匹配代价实现了较高精度的算法,但有速度慢和内存占用大等缺点。为了进一步提高精度同时避免因使用3d卷积带来巨大的计算成本,aanet提出了自适应尺度内和尺度外聚合提高了算法精度,但使用的可变形卷积带来了更大的计算量减慢了运行速度。leastereo通过神经体系结构搜索,为输入的图片选择可能的最佳参数进行立体匹配,在kitti数据集上实现了最高的精度以及接近实时估计的性能,但其占用了较大的显存,并需要大量的计算资源来训练网络以计算出最佳的神经结构。sttr通过使用transformer风格的交叉注意力模块替代代价匹配模块和3d卷积减少了计算量同时提高了匹配精度但是同样占用了大的显存也无法做到实时的检测。deeppruner开发了一个可微patchmatch模块,以有效地构建低分辨率拼接体的稀疏表示。利用预测的最小和最大视差对每个像素的搜索空间进行修剪。不幸的是,与性能最好的算法相比,这些以效率为导向的算法通常会大大降低精度。bgnet构造低分辨率4d代价体,设计基于双边网格的无参数切片层,从低分辨率代价体中获得保边的高分辨率代价体。
4.fds-cs提出了使用快速计算的传统匹配代价构建一个初始匹配代价体的更有效的网络架构,实现了较高的精度但速度较差,adcpnet提出了一个动态偏移量预测模块,并设计了一个有效的两阶段框架,实现了更快的速度但精度较差。hitnet通过快速的多分辨率初始化步骤、可微的2d几何传播和warping来推断假设视差。不仅对视差进行几何推理,而且还推断出倾斜平面假设,但在训练时需要额外的传播损耗、倾斜损耗和置信度损耗,这可能导致在与训练数据特征不同的不可见场景中泛化能力较差。
5.更快速的算法通过由粗到细的方式分阶段上采样,逐步缩小目标视差范围,细化深度图,进一步降低了成本卷构建的记忆性和计算复杂度。然而,这种由粗到精的策略忽略了低分辨率匹配所丢失的细节信息[9,10,11,12,13,14],并且不可避免地涉及累积误差,即前一阶段的误差很难在后一阶段得到补偿,在某些情况下又会产生较大的误差。


技术实现要素:

[0006]
本发明的目的在于提供自适应迭代残差优化的快速立体匹配算法,以解决上述背景技术中提出的问题。
[0007]
为实现上述目的,本发明提供如下技术方案:自适应迭代残差优化的快速立体匹
配算法,包括以下阶段:
[0008]
阶段一,特征提取:使用蓝图可分离卷积提取左右图特征,并输出三种尺度特征图;
[0009]
阶段二,多尺度融合:将每种尺度特征图与其它两种尺度特征图相加,并融合通道注意力权重和空间注意力权重,之后输出更新后的三种尺度特征图;
[0010]
阶段三,视差计算及优化:通过自适应交叉十字匹配模块和3d卷积生成稠密代价体,并回归初始低分辨率视差图,在视差优化阶段中将前一层视差图上采样后与右图进行翘曲操作,得到的特征图再与左图生成稀疏代价体,并通过自适应视差范围估计模块估计出当前层的视察搜索范围,再通过3d卷积提取视差特征后回归视差残差图,视差残差与上采样后的视差图相加生成完整视差图,经过三层细化后最终生成高分辨率视差图。
[0011]
优选的,所述视差计算及优化阶段中3d卷积分别设置通道数8、4、4、8的3
×3×
3卷积。
[0012]
优选的,所述蓝图可分离卷积以平衡速度和精度之间的关系,其将一个标准卷积分解为一个深度卷积和一个1
×
1卷积。
[0013]
优选的,所述通道注意力权重是指在每个尺度的通道维度上重新校准特征图,所述空间注意力权重是指在每个尺度的空间维度上重新校准特征图。
[0014]
优选的,所述自适应交叉十字匹配模块利用一个具有预定义大小和自适应学习十字位置上各像素权重的交叉十字匹配方法来计算匹配代价。
[0015]
优选的,所述自适应视差范围估计模块可估计上一阶段中像素级置信度生成下一阶段的视差搜索范围。
[0016]
优选的,所述翘曲操作是一个通过现有的右图和视差图去估计左图的操作。
[0017]
与现有技术相比,本发明的有益效果是:
[0018]
1、空间注意力和通道注意力引导的特征融合,在每一层学习每一个尺度的空间注意力。在三种尺度特征图相互融合后,不同尺度空间注意力增强或减弱融合后的不同尺度的特征图各像素点的特征;
[0019]
2、自适应交叉十字匹配模块,在不同层中将匹配点周围不同大小的交叉十字纳入到匹配范围中,同时自适应调整每个像素点的权重信息,交叉十字是一个正十字和一个旋转45
°
之后的十字;
[0020]
3、自适应视差范围估计模块,通过计算加权和方法得到的预测视差值和峰值视差值的均方误差代表代价体趋向于单峰分布的程度,均方误差越大,视差搜索范围越大。
附图说明
[0021]
图1为本发明自适应迭代残差优化的快速立体匹配算法结构图;
[0022]
图2为本发明自适应迭代残差优化的快速立体匹配算法特征提取结构图;
[0023]
图3为本发明自适应迭代残差优化的快速立体匹配算法多尺度融合模块结构图;
[0024]
图4为本发明自适应迭代残差优化的快速立体匹配算法中自适应交叉十字匹配模块;
[0025]
图5为本发明自适应迭代残差优化的快速立体匹配算法翘曲操作图。
具体实施方式
[0026]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]
请参阅图1-5,本发明提供一种技术方案:自适应迭代残差优化的快速立体匹配算法,包括以下阶段:
[0028]
阶段一,特征提取:使用蓝图可分离卷积(bsconv)提取左右图特征,并输出三种尺度特征图;
[0029]
阶段二,多尺度融合:将每种尺度特征图与其它两种尺度特征图相加,并融合通道注意力权重和空间注意力权重,之后输出更新后的三种尺度特征图;
[0030]
阶段三,视差计算及优化:通过自适应交叉十字匹配模块和3d卷积生成稠密代价体,并回归初始低分辨率视差图,在视差优化阶段中将前一层视差图上采样后与右图进行翘曲操作,得到的特征图再与左图生成稀疏代价体,并通过自适应视差范围估计模块估计出当前层的视察搜索范围,再通过3d卷积提取视差特征后回归视差残差图,视差残差与上采样后的视差图相加生成完整视差图,经过三层细化后最终生成高分辨率视差图。
[0031]
视差计算及优化阶段中3d卷积分别设置通道数8、4、4、8的3
×3×
3卷积。
[0032]
蓝图可分离卷积以平衡速度和精度之间的关系,其将一个标准卷积分解为一个深度卷积和一个1
×
1卷积。
[0033]
通道注意力权重是指在每个尺度的通道维度上重新校准特征图,空间注意力权重是指在每个尺度的空间维度上重新校准特征图。
[0034]
自适应交叉十字匹配模块利用一个具有预定义大小和自适应学习十字位置上各像素权重的交叉十字匹配方法来计算匹配代价。
[0035]
自适应视差范围估计模块可估计上一阶段中像素级置信度生成下一阶段的视差搜索范围。
[0036]
翘曲操作是一个通过现有的右图和视差图去估计左图的操作。
[0037]
算法具体描述如下:
[0038]
阶段一,为保证算法可以在边缘设备上实时应用,首先使用2个步幅为2的普通3
×
3卷积提取输入图像的粗特征,再通过堆叠的6个bsconv从这些特征中提取信息,降低计算成本;为了获得多尺度表示,算法在6个bsconv中的第1、3、5个bsconv设置步幅为2减小特征图的尺度,再经过一个bsconv提取特征后依次获得尺度为1/4、1/8、1/16的多尺度特征图,通道数分别为4、8、20;算法对每种尺度的特征图进行最大池化和平均池化计算每种尺度的特征图的空间注意力权重ψs,最终输出特征图上应用全局平均池化,然后通过两个1
×
1卷积来计算多尺度特征映射的通道注意权值ωs,学习得到的ψs和ωs用于指导特征融合阶段的多尺度融合,如图2所示;
[0039]
阶段二,多尺度融合,双重注意力引导的多尺度融合模块将三种尺度的特征信息进行并行聚合,之后在每个尺度的空间维度和通道维度上重新校准特征图,并按原始的三种尺度输出特征图(原图的1/4、1/8、1/16),通过对多尺度的特征图重新校准通道和空间权重,可以增强算法选择性鉴别信息特征和关注显著特征的能力,提取更全面有效的特征以
降低匹配误差;
[0040]
针对上述三个尺度的特征图提出了三个并行聚合模块,聚合模块定义如下:
[0041][0042]
上式中,s为特征映射的等级数(在本文算法中s=3),fk为特征提取阶段输出的等级k的特征图,为三个尺度聚合后的特征图。与hrnet[17]类似,fk根据k和s的大小关系计算特征映射:
[0043][0044]
上式中k=s时,i表示恒等函数。k《s时使用步长为2的s-k个3
×
3卷积对特征图进行下采样,以达到一致的大小。k》s时使用双线性上采样来实现一致的大小,然后使用1
×
1卷积对齐通道数量。
[0045]
聚合后的3种尺度经过通道注意力模块重新校准通道重要性,重新校准的特征映射可以表示为:
[0046][0047]
其中,φs由两个经过批处理归一化的3
×
3卷积和relu组成,ωs、ψs为从特征提取阶段中学习到的通道和空间注意权值,为三个尺度聚合后的特征图为双重注意力校正后的特征图;
[0048]
阶段三,视差计算及优化,首先在第1层,在1/16尺度上通过自适应交叉十字匹配模块和3d卷积生成初始粗视差图dispi,再2倍上采样得到1/8尺度视差图dispi′
;在第2、3、4层中,dispi′
与同尺度右特征图进行翘曲操作得到特征图翘曲的特征图与左图通过自适应视差范围估计模块生成当前层代价体的视差范围,再与左图通过自适应交叉十字匹配模块生成剩余要计算的稀疏代价体,经过3d卷积正则后产生视差图的残差res
i+1
,最后将该残差图与上采样的粗视差图dispi相加,得到该阶段的精视差图disp
i+1
,在第3层输出1/4尺度的disp
i+2
并4倍上采样输入到第4层,最终通过第4层获得与原图分辨率相同的细粒度视差图disp
ref
,如图1所示;
[0049]
其中,在视差计算及优化阶段中的自适应交叉十字匹配模块
[0050]
该算法利用一个具有预定义大小和自适应学习十字位置上各像素权重的交叉十字匹配方法来计算匹配代价;算法在不同尺度匹配上使用交叉十字的大小,同时在对中心像素进行相似度计算时保持对左右图相同的像素个数进行计算,两个对应像素的相似度是交叉十字内对应像素之间相关性的加权和,如图4所示,图中正十字用蓝色表示,斜十字用绿色表示,交叉十字匹配可以表示为:
[0051][0052]
其中表示在不同匹配代价d表示不同的视差等级,《
·
,
·
》表示像素点之间求
l1范数,ωk=(i,j)(i,j∈(-k,k))是一个十字坐标集,定义了patch在k级特征图上的范围,十字坐标集在k=1时一共包括9个像素点;k=2时一共包括17个像素点;k=3时一共包括25个像素点;c
ij
(d,x,y)表示x点和y点在视差为d时的代价值表示在k级上每个像素(i,j)的权重,并在训练过程中自适应学习;算法根据各层特征图的尺度不同,使用不同大小的交叉十字对左右图匹配,在第1层使用图4(a)左交叉十字匹配左右图代价;在第2、3层中使用图4(b)交叉十字匹配;在第4层使用图4(c)交叉十字匹配。
[0053]
在视差计算及优化阶段中的自适应视差范围估计模块
[0054]
该模块可估计上一阶段中像素级置信度生成下一阶段的视差搜索范围;离散的视差概率分布反映了候选匹配像素对之间的相似度,最终的预测视差是所有视差值按概率加权和,理想的视差概率分布应该是在真实视差处的单峰态峰值;自适应视差范围估计模块通过计算代价体趋向于单峰分布的程度来评估当前估计的像素级置信度并估计下一层的视差搜索范围,其中通过计算加权和方法得到的预测视差值和峰值视差值的均方误差代表代价体趋向于单峰分布的程度,均方误差越大,视差搜索范围越大;自适应视差范围估计不确定度定义为:
[0055][0056]
其中,σ表示softmax操作,cd表示视差为d时的代价值,表示加权和方法求得的预测视差值,表示采用赢家通吃方法求得的预测视差值;该模块通过计算得出的u生成下一层的视差范围,视差范围的上下界分别被定义为:
[0057][0058]
式中,δ为双线性插值,α和β是归一化因子,初始化为0。
[0059]
在视差计算及优化阶段中的翘曲操作
[0060]
该操作首先根据初始视差图计算得到一个与左特征图尺寸相同的坐标网格,网格中每一点(x,y)的值为左特征图中(x,y)处的像素点在右特征图中的对应匹配点的坐标(x-d,y),其中d代表该点候选视差值;然后利用坐标网格将右特征图中匹配点(x-d,y)处的像素值全部填充到左特征图的(x,y)处,从而产生一张新的特征图;由于视差值d为亚像素级,计算得到的坐标(x-d,y)不一定是整数值,因此以插值的方式由(x-d,y)邻域的像素值得到(x-d,y)处的像素值,如图5所示。
[0061]
在视差计算及优化阶段中的作视差回归
[0062]
通过视差回归方法来估计视差图:在视差计算第1阶段,唯一性约束输出的注意力矩阵使用赢家通吃的方法找到最可能匹配的视差位置k,再围绕位置k构建一个5px窗口,在窗口中d
max
=5,每个视差的概率d通过soft max操作σ(
·
)从代价cd中求得,视差为每个视差d通过概率加权的总和;在视差第2、3阶段每个视差的概率d通过softmax操作σ(
·
)从代价cd中求得;视差为每个视差d通过概率加权的总和,如公式所示:
[0063]
[0064]
在视差计算及优化阶段中的损失函数
[0065]
采用smooth l1函数作为算法的视差损失函数;在测试阶段只输出视差细化阶段视差图,在训练阶段采用多级损失监督的方式,对视差计算的第1、2、3阶段和视差细化阶段输出的4个视差图计算联合视差损失,4个阶段输出的损失权重wi分别设置为1/16、1/8、1/4和1,如公式(8)所示,式中m为视差图受监督的个数,d为真实视差图,为算法估计的视差图。
[0066][0067]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0068]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1