一种基于双交叉注意力机制的高精度立体匹配方法组成比例

技术编号:35468634 阅读:15 留言:0更新日期:2022-11-05 16:13
本发明专利技术设计了一种基于双交叉注意力机制的高精度立体匹配方法,步骤为:利用共享参数的沙漏形网络结构提取校正后的左右视图特征以计算匹配代价;以左图特征为输入计算注意力机制的Key,以右图特征为输入计算注意力机制的Query,以左右图特征按通道级联后的体元为输入,计算注意力机制的Value;利用Key和Query计算得到应用于Value的权重,并求解匹配代价;通过以2D卷积为主的多尺度代价聚合网络,生成视差图估计;最后,用残差校正网络以左右一致性检验为基础,恢复视差图分辨率至输入分辨率,同时完善匹配细节。利用本发明专利技术,避免了视差范围的人为预先指定,当视差范围变化时,无需再次训练网络即可获得更大视差范围下的视差估计结果,提高视差估计的便利性。提高视差估计的便利性。提高视差估计的便利性。

【技术实现步骤摘要】
一种基于双交叉注意力机制的高精度立体匹配方法


[0001]本专利技术属于图像处理
,具体涉及一种自适应视差范围的深度信息获取方法和优 化策略,可用于双目输入下的高效深度信息获取。

技术介绍

[0002]在立体视觉领域,给定一个像素的视差,其深度z可以通过z=bf/d求解得到。其中,b 是双目相机系统的基线长度,f是相机系统的焦距,d是该像素对应的视差。因此,深度信息 估计任务可以转化为对应像素的视差估计任务。给定一对校正后的双目图像,在没有遮挡的 情况下,真实场景中的一个点会同时被投射到左右两个视点的图像中,而这两个位于不同视 点下的对应像素对之间的横坐标差,就被称为“视差”。通常,这种视差估计任务会被分解成 四个步骤:1)特征提取;2)代价计算;3)代价聚合;和4)视差估计。对于传统算法而言, 这四个步骤是依次进行的,而每个步骤的技术通常可以单独应用。
[0003]近年来,随着深度学习技术的发展,视差估计每个步骤的完成正逐渐被神经网络所替代, 步骤之间的独立性也日渐减弱,视差估计任务也更多地由一个端到端的网络计算完成。在这 些网络中,代价计算通常由两种手段完成:特征级联和卷积计算。对于前者而言,左右视点 下的输入经过共享参数的相同特征提取结构,随后,得到的特征被直接按照通道级联并直接 作为后续代价聚合和视差估计网络的输入。这种方法在代价聚合部分通常依赖3D卷积,因 此需要付出较大的计算量代价。而且,这种直接级联的代价计算方法在效果上也不如卷积计 算得到的代价矩阵。这种基于卷积计算的代价计算方法将左右视点下的特征,在某一给定的 视差范围内通过点积计算其相似度,并将不同点对的计算结果放在不同通道上。通常,这种 方法下的代价矩阵的通道数,就等于人为设定的视差范围。对于大部分数据库,这个视差范 围被指定为192像素。
[0004]尽管这种基于相关计算的方法可以得到比直接级联效果更好的代价矩阵,但是其必须应 用于一个固定的视差范围。而当这种视差范围变化时,网络结构需要重新训练,而且训练的 时长会随着视差范围的增大而显著拉长。除此之外,在某些视差范围变化比较大的应用场景 下,如果网络没有针对性地被重新训练,其效果会大打折扣,甚至失效。比如在自动驾驶领 域,算法需要准确识别远处的目标和近处的目标,而这两者之间的视差差距巨大,传统固定 视差范围的算法计算难度很大,且随着视差范围的增加,算法表现会明显下降。
[0005]除了这两种基于卷积神经网络的视差估计结构,还有一种基于注意力机制的网络结构。 这种方法将双目立体匹配任务视作与自然语言处理相似的序列计算任务,通过交叉注意力机 制和自注意力机制的穿插运用,同步完成代价计算任务和代价聚合任务。尽管这种方法也可 以实现视差范围的自适应,但是其计算代价巨大且效果不及主流基于卷积神经网络的立体匹 配算法。

技术实现思路

[0006]本专利技术的目的在于解决以上可变视差范围应用对于算法应用和表现的限制问题,设计一 种基于双交叉注意力机制的高效立体匹配方法,用于可变视差范围下的高精度视差估计问题。
[0007]为实现上述目的,本专利技术采用的技术方案为:
[0008]一种基于双交叉注意力机制的高效立体匹配方法,其特征在于不受应用场景的视差范围 约束,可以无需二次训练地自适应应用场景下的视差要求,实现高精度视差估计。方法的整 体网络结构如图1所示,左右视点图片经过特征提取模块学习得到特征,之后两个视点下的 特征通过双交叉注意力匹配模块得到匹配代价,通过代价聚合模块最终得到视差图估计。方 法包括如下步骤:
[0009]步骤1:处理输入数据,将数据根据需要分成训练集和测试集两个部分。其中,训练集 可以进一步分成训练集和验证集,其中验证集有视差真值但是真值仅用于评估而不参与训练 过程的损失计算。撰写相关数据读取函数,表明输入双目图像和视差真值图像的路径,用于 在训练过程中根据该路径读取相应输入。对输入图像进行数据扩张操作,包括竖直方向的位 移和旋转、RGB亮度变换、高斯噪声或者亮度对比度变换。
[0010]步骤2:采用漏斗形特征提取网络计算特征,具体步骤为:
[0011]步骤2a:利用5个下采样单元对输入提取特征并压缩空间尺寸,分别编号l={1,2,3,4,5}。 每一个下采样单元由:a)步长为2、核尺寸为3x3、padding为1的卷积层;b)Batch normalization; c)斜率为0.1的Leaky ReLU;d)步长为1、核尺寸为3x3、padding为1的卷积层;e)Batchnormalization;f)斜率为0.1的Leaky ReLU;依次组成。
[0012]步骤2b:利用2个上采样单元提取特征并恢复空间尺寸,分别编号l={6,7}。每一个上 采样单元由:a)步长为2、核尺寸为3x3、padding为0的反卷积层;b)Batch normalization; c)斜率为0.1的Leaky ReLU;d)步长为1、核尺寸为3x3、padding为1的卷积层;e)Batchnormalization;和f)斜率为0.1的Leaky ReLU;依次组成。下采样单元4和上采样单元6的 输出级联作为上采样单元7的输入。
[0013]步骤2c:下采样单元3和上采样单元7的输出级联作为特征金字塔的输入。特征金字塔 包括:a)一层步长为1、核尺寸为3x3、padding为1的卷积层;b)三层并列的平均池化层, 核尺寸和步长分别为(2,2)、(4,4)、(8,8);c)三层并列的核尺寸为1x1、padding为0的卷积 层,依次跟在前面的池化层之后;d)三层并列的Batch normalization,依次跟在前面的卷积 层之后;e)三层并列的Leaky ReLU层,分别跟在前面的归一化层之后;和f)三层并列的插 值层,分别跟在激活函数层之后,用于将空间分辨率恢复到原始尺寸的1/8。
[0014]步骤3:特征金字塔的第一层输出与最后三层的输出级联,作为双注意力机制代价计算 模块的输入。代价计算模块,由双注意力机制构成。考虑到匹配的点在左右视点下只会出现 在同一条核线上,代价计算只需要进行一维匹配即可。因此,给定一个视点下的位置,我们 只需要沿相同核线进行匹配计算。双交叉注意力具体计算方法如图2所示,具体包括以下步 骤:
[0015]步骤3a:以左视点特征为输入,通过1个全连接层习得key;以右视点特征为输入,通 过1个全连接层习得query;以左右视点特征的级联为输入,通过一个全连接层习得value。 如果是应用多头注意力机制,以上的全连接层神经元会被分成份,分别应用到
个通道 上,实现

头注意力机制。
[0016]步骤3b:对计算得到的key和query,计算注意力权重α
h
,公式为:,公式为:其中,Q代表query,K代表Key;T表示转置运算;代表单个头的特征 通道数,C
f
是总特征通道数;为所属头的编号。
[0017]步骤3c:考虑到本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于双交叉注意力机制的高精度立体匹配方法,其特征在于:包括如下步骤:步骤1:处理输入数据,将数据根据需要分成训练集和测试集两个部分;其中,训练集进一步分成训练集和验证集,验证集有视差真值但是真值仅用于评估而不参与训练过程的损失计算;撰写相关数据读取函数,表明输入双目图像和视差真值图像的路径,用于在训练过程中根据该路径读取相应输入;对输入图像进行数据扩张操作,包括竖直方向的位移和旋转、RGB亮度变换、高斯噪声或者亮度对比度变换;步骤2:采用漏斗形特征提取网络计算特征;步骤3:特征金字塔的第一层输出与最后三层的输出级联,作为双注意力机制代价计算模块的输入;代价计算模块,由双注意力机制构成;匹配的点在左右视点下只会出现在同一条核线上,代价计算只需要进行一维匹配即可;给定一个视点下的位置,沿相同核线进行匹配计算;步骤4:代价聚合部分采用的是基于2D卷积的多尺度代价聚合结构,包括尺度内和尺度间两种聚合模式;在代价聚合的过程中,两种模式交替使用,并且共享聚合结果;步骤5:分辨率恢复和细节重塑模块以步骤3所估计的视差图为输入,依次经过3次分辨率恢复模块逐步恢复分辨率;以左视点图片、右视点图片、左视点视差估计、左视点图片依照左视点视差估计变换到右视点下的图片、以及右视点图片与变换得到的右视点图片之间的差值,这5个变量按照通道级联作为结构的输入;每个分辨率恢复模块由4个ResNet模块和1个步长为2的反卷积构成,每个模块的输出在经过1层核尺寸为1x1的卷积层之后,恢复为该分辨率下的视差图残差,最终将残差与上采样至同样分辨率的视差图估计相加,得到该空间分辨率下的视差图;步骤6:将视差图与真值视差图根据损失函数求得损失,通过反向传播指导网络模型参数更新;最终得到固定的网络模型参数用于视差图推理。2.根据权利要求1所述的一种基于双交叉注意力机制的高精度立体匹配方法,其特征在于:在步骤2中,进一步包括:撰写特征提取部分的网络结构代码;特征提取模块的代码可以拆分为下采样单元、上采样单元和金字塔单元的定义;注意每个单元中的层在多次应用的时候不可以共用,需要多次定义具体的层;左图和右图共享特征提取部分的参数,最终输出的是提取好的左图和右图特征。3.根据权利要求1或2所述的一种基于双交叉注意力机制的高精度立体匹配方法,其特征在于:在步骤6中,进一步包括:撰写损失函数采用了平滑L1损失,该损失应用于所有尺度下的视差图;在计算损失时,视差图真值会被下采样到与估计视差图相同的空间尺寸;不同空间尺寸下的重要性和像素个数,对各尺度的损失采用了加权求和的方式。4.根据权利要求1或2或3所述的一种基于双交叉注意力机制的高精度立体匹配方法,其特征在于:在步骤1中,进一步包括:步骤1a:对左右图同时进行竖直方向的位移和旋转变换;其中,位移在
±
1.5像素范围内进行,具体位移量随机确定;旋转发生在
±
0.5度之间,具体旋转量随机确定;上述位移和角度的随机数取值服从[0,1)范围内的均匀分布;步骤1b:按照50%概率对RGB三通道独立进行亮度变换,所有通道变化均服从范围在(

20,20)区间内的均匀分布,变换是对每个像素上的数值发生的;左右图有20%的概率应用不同的变换数值;
步骤1c:随后,算法有50%的概率选择对输入进行高斯白噪声或者亮度对比度变换;其中,高斯噪声服从均值为0、方差在(10,50)范围内的高斯分布,其中方差的选择服从[0,1)范围内的均匀分布;亮度对比度变换是对图像亮度进行(

0.2,0.2)范围内的亮度和对比度变换;同样,左右图有20%的概率应用不同的变换数值。5.根据权利要求1或2所述的一种基于双交叉注意力机制的高精度立体匹配方法,其特征在于:在步骤2中,进一步包括:步骤2a:利用5个下采样单元对输入提取特征并压缩空间尺寸,分别编号l={1,2,3,4,5};每一个下采样单元由:a)步长为2、核尺寸为3x3、padding为1的卷积层;b)Batch normalization;c)斜率为0.1的Leaky ReLU;d)步长为1、核尺寸为3x3、padding为1的卷积层;e)Batch normalization;f)斜率为0.1的Leaky ReLU;依次组成;步骤2b:利用2个上采样单元提取特征并恢复空间尺寸,分别编号l={6,7};每一个上采样单元由:a)步长为2、核尺寸为3x3、padding为0的反卷积层;b)Batch normalization;c)斜率为0.1的Leaky ReLU;d)步长为1、核尺寸为3x3...

【专利技术属性】
技术研发人员:刘荣科孙叔桥孙善通
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1