一种基于密集多尺度信息融合的双目视觉立体匹配方法与流程

文档序号:33041517发布日期:2023-01-24 21:37阅读:75来源:国知局
一种基于密集多尺度信息融合的双目视觉立体匹配方法与流程

1.本发明属于立体视觉技术领域,具体涉及一种基于密集多尺度信息融合的双目视觉立体匹配方法。


背景技术:

2.立体匹配与识别的视觉感知技术包含复杂场景的立体视觉、精准的目标识别等技术。机器人场景下的双目立体视觉是实现机器人全自动作业的关键,其中立体匹配是关键技术。
3.立体匹配算法分为传统立体匹配算法和基于深度学习的立体匹配算法。传统立体匹配算法包括局部立体匹配算法,全局立体匹配算法和半全局立体匹配方法。常用的局部立体匹配算法有包含灰度差绝对值(absolute differences,ad)
1.、归一化相关(normalized crosscorrelation,ncc)
2.、rank
3.变换和census变换
4.等。由于这些方法采取基于局部块的匹配,因此匹配精度较低。全局立体匹配是一种整体优化算法,它根据约束条件构建相关能量函数,通过求该函数最优解找到全局最优视差。全局立体匹配方法包括图割
5.,信念传播
6.和动态规划
7.等,这类算法能够取得较好的匹配结果,但构建能量函数并求解的过程复杂度高,在实际应用中尤其是实时性要求较高的移动机器人本身的算力难以胜任。而半全局方法
[8-9]
均衡了精度和速度,实际工程中应用较多。但传统半全局匹配方法在弱纹理区域、光照变化区域、反射区域等容易产生误匹配。随着处理器计算能力的提升,深度学习应用于目标跟踪、语义识别等任务的表现越发出色,越来越多的研究人员开始研究将深度学习方法应用于立体匹配,以解决立体匹配中的难点问题。基于深度学习的立体匹配算法根据算法结构分为非端到端方法与端到端方法。例如,非端到端方法mc-cnn
[10]
与基于 mc-cnn改进的content-cnn
[11]
,这些非端到端算法侧重于利用卷积神经网络进行特征匹配和精确的代价计算,通常还需要人工设计后续的代价正则化和视差优化方法,而使用多个人工后处理模块进行优化视差会使网络的泛化能力变差,容易在不同的模块过渡时引入误差。端到端的立体匹配方法的目标是学习一种可以直接从输入图像中逐像素计算视差的预测器,此类方法被称为基于回归的视差估计。2018 年changjia-ren等人
[12]
提出psmnet,它的空间金字塔池化模块通过聚集不同规模和位置的上下文信息来形成代价体,从而利用全局上下文信息(语义、空间、尺度信息)提升了在不适定区域(包括弱纹理区域、边界等)的匹配精度;所设计了3个堆叠沙漏块对初始代价体进一步优化,提升最终的匹配精度。2020年刘建国等人
[13]
提出了一种具备浅层结构与宽阔视野的立体匹配算法swnet,该算法在特征提取部分引入了多尺度空间金字塔结构(atrous spatial pyramid pool, aspp),用于提取多尺度的空间特征信息,设计了特征融合模块,将不同尺度的特征信息有效地融合起来以构建匹配代价体;3d卷积神经网络利用堆叠的编码解码结构进一步对匹配代价体进行规则化处理,获得不同视差条件下特征点之间的对应关系,与psmnet相比, sw-net的参数数量下降了48.9%,且3像素误差下降幅度为3.44%。端到端方法相对传统方法和非端到端方法极大地提升了立体匹配的匹配精度,但是由于这些网络结构并未充分考虑
利用多尺度信息,因此在物体边缘与反射区域的匹配精度仍旧较低。
[0004]
以下是申请人给出的参考文献:
[0005]
[1]zhangshengming,wumingxiong,wuyanxue,etal.fixedwindowaggregationad-censusalgorithmforphase-basedstereomatching[j].appliedoptics.2019,58(32):8950-8958.
[0006]
[2]fuyuli,chenweixiang,laikaimin,etal.rank-basedencodingfeaturesforstereomatching[j].ieeemultimedia,2019,26(4):28-42.
[0007]
[3]phuchn,ahn,cw.stereomatchingmethodsforimperfectlyrectifiedstereoimages[j].symmetry,2019,11(4):570.
[0008]
[4]ahlbergc,leonm,ekstrandf,etal.thegeneticalgorithmcensustransform:evaluationofcensuswindowsofdifferentsizeandlevelofsparsenessthroughhardwarein-the-looptraining[j].journalofreal-timeimageprocessing,2021,18(3):539-559.
[0009]
[5]xuhuaiyuan,chenxiaodong,lianghaitao,etal.crosspatch-basedrollinglabelexpansionfordensestereomatching[j].ieeeaccess,2020,8:63470-63481.
[0010]
[6]mozerovmg,vandeweijerj.one-viewocclusiondetectionforstereomatchingwithafullyconnectedcrfmodel[j].ieeetransactionsonimageprocessing,2019,28(6):2936-2947.
[0011]
[7]kerkaouz,elansarim.supportvectormachinesbasedstereomatchingmethodforadvanceddriverassistancesystems[j].multimediatoolsandapplications,2020,79(37-38):27039-27055.
[0012]
[8]loghmanm,kimj.sgm-baseddensedisparityestimationusingadaptivecensustransform[j].inproceedingsofieeeinternationalconferenceonconnectedvehiclesandexpo(iccve),2013:592-597.
[0013]
[9]loghmanm,chungkh,leey,etal.fastdepthmapestimationusingmodifiedcensustransformandsemi-globalmatching[j].in:proceedingsofinternationalsocdesignconference(isocc),2014:158-159.
[0014]
[10]hanx,leungt,jiay,etal.matchnet:unifyingfeatureandmetriclearningforpatch-basedmatching[c].proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition.2015:3279-3286.
[0015]
[11]luow,schwingag,urtasunr.efficientdeeplearningforstereomatching[c].proceedingsoftheieeeconferenceoncomputervisionandpatternrecognition(cvpr),2016:5695-5703.
[0016]
[12]changjiaren,chenyongsheng.pyramidstereomatchingnetwork[c].ieee/cvfconferenceoncomputervisionandpatternrecognition,2018,5410-5418.
[0017]
[13]刘建国,,冯云,剑纪郭.一种基于psmnet改进的立体匹配算法[j].华南理工大学学报(自然科学版),2020,48(01):60-69+83.
[0018]
[14]changjiaren,chenyongsheng.pyramidstereomatchingnetwork[c].ieee/cvfconferenceoncomputervisionandpatternrecognition,2018,5410-5418.
[0019]
[15]guox,yangk,yangw,etal.group-wisecorrelationstereonetwork[c].ieee/cvfconferenceoncomputervisionandpatternrecognition(cvpr).2020:3268-3277.
[0020]
[16]zhangc,wuj,chenz,etal.dense-cnn:denseconvolutionalneuralnetworkforstereomatchingusingmultiscalefeatureconnection[j].signalprocessing:imagecommunication,2021,95:116285.
[0021]
[17]okaej,lib,duj,etal.robustscale-awarestereomatchingnetwork[j].ieeetransactionsonartificialintelligence,2021:1-11.


技术实现要素:

[0022]
(一)要解决的技术问题
[0023]
本发明要解决的技术问题是:如何提供一种基于密集多尺度信息融合的双目视觉立体匹配方法,以解决现在立体匹配方法在反射区域以及物体边缘(视差不连续)区域匹配效果差的问题。
[0024]
(二)技术方案
[0025]
为解决上述技术问题,本发明提供一种基于密集多尺度信息融合的双目视觉立体匹配方法,所述方法包括:第一步,初步特征提取:采用cnn网络、密集连接网络和坐标注意力机制进行初步特征提取;第二步,构建初始联合代价体:跨尺度分组相关代价体和压缩级联代价体级联构建初始联合代价体;第三步,代价聚合优化:采用3d堆叠沙漏网络提取更深层的信息,优化初始联合代价体;第四步,视差回归:通过视差回归获得4个预测视差图及其置信度;第五步,尺度感知融合:利用各尺度视差图的互补优势,融合不同尺度的视差图得到最终的视差图。
[0026]
(三)有益效果
[0027]
与现有技术相比较,本发明在合成数据集sceneflow与真实数据集kitti2015上进行了对比实验。实验结果表明,本发明中基于密集多尺度信息融合的立体匹配方法的匹配性能优于现有方法。
附图说明
[0028]
图1为本发明方法的整体框图;图2为本发明方法初步特征提取阶段结构示意图;图3为本发明方法初步特征提取阶段cnn提取浅层特征示意图;图4为本发明方法初步特征提取阶段密集网络结构示意图;图5为本发明方法密集连接网络中单个密集层的结构示意图;图6为本发明方法渡化层0与渡化层1的结构示意图;图7为本发明初步特征提取阶段坐标注意力模块的结构示意图;图8为本发明方法构建级联代价体的示意图;图9为本发明在视差为0时构建跨尺度分组相关代价体的示意图;图10为本发明所有视差下的跨尺度分组相关代价体级联示意图;图11为本发明方法构建初始联合代价体结构示意图;图12为本发明方法代价聚合优化阶段框图;图13为本发明方法预沙漏模块的结构示意图;图14为本发
明方法第一个3d堆叠沙漏模块的结构示意图;图15为本发明方法视差回归结构示意图;图16为本发明方法上采样示意图;图17为本发明尺度感知融合模型中的密集平滑网络结构示意图。图18为本发明方法尺度感知融合模型结构示意图。
具体实施方式
[0029]
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
[0030]
为解决现有技术问题,本发明提供一种基于密集多尺度信息融合的双目视觉立体匹配方法,所述方法包括:
[0031]
第一步,初步特征提取:采用cnn网络、密集连接网络和坐标注意力机制进行初步特征提取;第二步,构建初始联合代价体:跨尺度分组相关代价体和压缩级联代价体级联构建初始联合代价体;第三步,代价聚合优化:采用3d堆叠沙漏网络提取更深层的信息,优化初始联合代价体;第四步,视差回归:通过视差回归获得4个预测视差图及其置信度;第五步,尺度感知融合:利用各尺度视差图的互补优势,融合不同尺度的视差图得到最终的视差图。
[0032]
其中,所述第一步初步特征提取过程中,
[0033]
将输入的左右图像依次输入cnn网络、密集连接网络、坐标注意力模块,进行初步特征提取,以获取丰富的图像特征信息;
[0034]
1.1利用cnn网络提取浅层特征
[0035]
尺寸均为h
×w×
3的左右图像作为输入都经过权值共享 cnn网络,即cnn网络,提取图像浅层次特征,输出浅层特征图f
1l
, f
1r
,其尺寸均为h
×w×
64;左右图像分别输入权值共享cnn 网络,权值共享cnn网络包含:3
×
3卷积核,卷积核数为64,步长为1,扩张因子为1的卷积层conv1,第一归一化层、第一relu层、 3
×
3卷积核,卷积核数为64,步长为1,扩张因子为1的卷积层conv2、第二bn层、第二relu层;
[0036]
1.2利用密集连接网络得到密集特征
[0037]
浅层特征图f
1l
与f
1r
都经过密集连接网络,所设计的密集连接网络模块包含3个密集块和2个渡化层,其中,每个密集块是由若干个密集层组成,每个密集层由第一bn层、第一relu层、1
×
1卷积核,卷积核数为32,步长为1,扩张因子为1的卷积层、第二bn层、第二 relu层和3
×
3卷积核,卷积核数为32,步长为1,扩张因子为1的卷积层组成;渡化层0与渡化层1中,渡化层0由一个1
×
1卷积核,卷积核数为128,步长为1,扩张因子为1的卷积层,一个bn层,一个relu层以及一个平均池化层构成;渡化层1由一个1
×
1卷积核,卷积核数为192,步长为1,扩张因子为1的卷积层,一个bn层,一个relu层以及一个平均池化层构成;每一个密集块中从第二个密集层起,输入都是该密集块中前边所有密集层的输出在通道维度上级联,即后边一层的输入通道维数是前边所有层的输出通道维数之和,这样的连接方式可以增强各层间的特征传递,增强特征的重复利用率,减少特征的损失;密集块0与密集块1之后都经过一个渡化层,经过渡化层之后,可以改变图像的尺度大小,将其大小降为原来的一半。密集块1和密集块2的构造与密集块0基本结构相同,区别是密集块1中包含8个密集层,密集块2中包含12个密集层;在网络的超参数中包含一个增长率参数k,表示在网络中每层的输出的通道数;一个压缩因子θ,它的作用是将上一密集块的输出在通道维度进行压缩,
减少网络参数量;设定k为32,也就是在密集连接网络中每层的输出通道数都是32;其中θ=0.5;经过密集连接网络处理后,由浅层特征图f
1l
,f
1r
得到密集特征与尺寸大小为h/4
×
w/4
×
576;
[0038]
1.3采用坐标注意力模块进行特征提取
[0039]
经过1.2处理得到的密集特征与送入坐标注意力模块进一步提取特征,对输入特征图与在水平方向和垂直方向分别进行全局平均池化与全局最大值池化操作,以获得丰富的图像背景信息与纹理信息。水平方向的全局平均池化操作如下
[0040][0041]
其中,下标a表示平均池化,上标h表示水平方向,函数自变量 h表示高度即行,w表示图像宽度即水平方向像素数,f(h,i)表示第h 行中的第i个像素;
[0042]
水平方向的全局最大值池化操作如下
[0043][0044]
其中下标m表示最大池化,上标h表示水平方向,h表示高度即行,“f(h,:)”表示h行中所有元素即像素;
[0045]
垂直方向的全局平均池化操作得到垂直一元特征如下:
[0046][0047]
其中,上标w表示垂直方向,a表示全局平均池化,h表示图像高度,f(i,w)表示w列中的第i个元素;
[0048]
垂直方向的全局最大值池化操作得到垂直一元特征如下
[0049][0050]
其中,上标w表示垂直方向,下标m表示最大值池化,w表示宽度即列,“f(:,w)”,表示w列中的所有元素;
[0051]
上述变换得到沿两个方向聚合特征,生成对方向敏感的特征映射,这些转换还可以让注意力块获取空间方向依赖关系,并保存精确的位置信息,这有助于网络更准确地定位感兴趣的对象,该操作可以获得输入特征的全局感受野,并且精确地编码位置信息,将公式(1), (2),(3)和(4)的水平和垂直的池化结果进行级联操作,并送入一个卷积模块(1
×
1卷积核,卷积核数576,步长为1,扩张因子为1),获得注意力变换如下
[0052][0053]
其中,f
concat
表示将水平和垂直的池化结果的级联操作,经过激活函数δ(
·
)获得变换后的非线性特征f∈r
c/r
×
(h+w)
,r是控制模块大小的一个超参数,c表示通道维度数,h表示图像高度,w表示图像宽度,再将输出的结果重新按照水平和垂直方向分为两组特征图fh和fw,再分别经过卷积层之后,利用sigmoid函数σ获得水平和垂直方向注意力的权重,如式(6)和式(7)所示
[0054]gh
=σ(fh(fh))
ꢀꢀꢀ
(6)
[0055]gw
=σ(fw(fw))
ꢀꢀꢀ
(7)
[0056]
根据注意力的权重将输入的特征映射数据与水平和垂直权重相乘获得坐标注意力输出特征映射,具体操作写成公式(8):
[0057][0058]
其中c表示第c个通道,c=1,2,

,576,x是输入的密集特征图与该公式表示x、gh、gw在对应通道c上做点乘运算,得到注意力特征图与最后,经过1
×
1卷积核,卷积核个数为320,步长为1,扩张因子为1的conv2,得到左右特征图与
[0059]
其中,所述第二步构建初始联合代价体的过程包含两个部分:一个部分是构建压缩级联代价体,另一部分是构建跨尺度相关代价体,然后将两个代价体级联构成初始联合代价体;
[0060]
2.1压缩级联代价体的构建
[0061]
压缩级联匹配代价的构造过程中,输入为左右注意力特征图与分别用黑色矩阵块l和黑色矩阵块r表示,d=0时的特征级联是直接将第一列矩阵块l和矩阵块r,即与级联,左右特征图的大小均为h/4
×
w/4
×
320,得到的匹配代价c0大小为h/4
×
w/4
×
640;当视差d=1时,左特征图向右移动一列,取其第1列到第w/4列特征子图,右特征图向左移动一列,取其第0列到第w/4-1列的特征子图,再将新的行列数不变的左右特征子图级联,得到视差为1的情况下的匹配代价c1;以此类推,在视差值为d,d=0,12,

,d
max
/4-1的情况下,右特征图向左移动d列,取其第0列到第w/4-d列特征子图;左特征图向右移动d列,取其第d列到w/4列特征子图再将左右特征子图级联,得到对应视差下的匹配代价cd;
[0062]
将左、右特征图f
4l
和f
4r
进行级联的表达式如下:
[0063]cd
=concat{r(f
4l
,d),l(f
4r
,d)}
ꢀꢀꢀ
(9)
[0064]
其中,cd表示视差为d情况下的匹配代价,l(a,b)表示矩阵a向左移动b列右侧补0操作,r(a,b)表示矩阵a向右移动b列左侧补0 操作,concat表示级联操作;
[0065]
得到各个视差下的匹配代价cd,d=0,12,

,d
max
/4-1后,沿视差维度,将所有视差值下匹配代进行级联,从而整合视差维度信息,得到最终的匹配代价矩阵,其大小为d
max
/4
×
h/4
×
w/4
×
640,具体定义如下:
[0066][0067]
其中,concat表示级联操作,基于级联得到的匹配代价保留了不同视差下的左右特征信息以及空间结构;
[0068]
将得到的级联代价体cc0依次通过卷积核大小为1
×
1,卷积核数为 128,步长1,扩张因子为1的卷积层,卷积核大小为1
×
1,卷积核数为24,步长为1,扩张因子为1的卷积层得到压缩级联代价体cc1,其大小为d
max
/4
×
h/4
×
w/4
×
24;
[0069]
2.2跨尺度分组相关代价体
[0070]
针对视差d=0时跨尺度分组相关代价体的构建,通过初步特征提取网络得到的左右特征图f
4l
,f
4r
在通道维度上分别为ng个组,用nc表示输入特征的通道维数,左右特征与的第g个特征组f
lg
,f
rg
由分别由特征与的[gnc/ng,gnc/ng+1,

,gnc/ng+(nc/n
g-1)]
通道组成;左特征图的分组依次与右特征的分组分别一一组合求相关,然后级联各个对应分组求相关的结果,得到视差d=0时的跨尺度分组相关代价体 ff0;
[0071]
d为其它值(即d=1,

,d
max
/4-1)时,以左特征图为基准图,右特征图左移后的特征图作为输入,然后分组,计算过程与视差为d=0 时的计算过程相同,所有视差d=0,1,

,d
max
/4-1下的跨尺度相关代价体计算完成后,将它们进行级联得到跨尺度分组相关代价体cc2,尺寸为d
max
/4
×
h/4
×
w/4
×
1600,h表示图像高度,w表示图像宽度,d
max
表示最大视差搜索范围;
[0072]
2.3联合代价体构建跨尺度分组相关代价体cc2再与压缩级联代价体cc1级联构建联合代价体,为后面的3d聚合网络提供了更鲁棒的相关性信息,联合代价体构建中,将尺度分组相关代价体cc2依次通过conv1,卷积核大小为1
×
1,卷积核数为640,步长为1,扩张因子为1的卷积层,与 conv2卷积核大小为1
×
1,卷积核数为128,步长为1,扩张因子为1 的卷积层,进行压缩后得到cc3,其大小为d
max
/4
×
h/4
×
w/4
×
128,再与压缩后的压缩级联代价体cc1进行级联,从而得到联合代价体cc4,其大小为d
max
/4
×
h/4
×
w/4
×
152。
[0073]
其中,所述第三步的代价聚合优化,在经过第二步的处理已经得到联合代价体cc4,经过包含预沙漏模块和三个堆叠沙漏模块的代价聚合优化网络,进行代价聚合优化;
[0074]
其中,预沙漏网络输出ccc0,三个堆叠沙漏网络分别输出ccc1, ccc2,ccc3。
[0075]
其中,所述第三步中,预沙漏模块中包含4个卷积层,卷积核大小均为3
×3×
3,卷积核个数均为32,步长均为1,扩张因子均为1,第二个卷积层的输出与第四个卷积层的输出直接相加(add),输出得到 ccc0,其尺寸为d/4
×
h/4
×
w/4
×
32;
[0076]
第一个堆叠沙漏模块结构包含第一卷积层conv1,第二卷积层 conv2,第三卷积层conv3,第四卷积层conv4,第一反卷积层 deconv1,第二反卷积层deconv2,ccc0作为第一个堆叠沙漏模块的输入,经过四个3d卷积层,卷积核尺寸均为3
×3×
3,卷积核个数分别为64、64、128、128,卷积层步长分别为2、1、2、1,扩张因子均为1,之后的两个3d反卷积层,卷积核大小均为3
×3×
3,卷积核个数分别为64、128,步长均为2,扩张因子均为1;第二卷积层conv2 的输出经过一个1
×1×
1卷积核,卷积核个数为64,步长为1,扩张因子为1的3d卷积层和一个relu层后的输出与第一反卷积层deconv1 的输出直接相加的结果作为第二个3d反卷积层的输入;
[0077]
该堆叠沙漏模块的输入ccc0经过一个1
×1×
1卷积核,卷积核个数为 32,步长为1,扩张因子为1的3d卷积层和一个relu层得到的输出与第二反卷积层deconv2的输出直接相加,输出得到ccc1,其尺寸为d/4
×
h/4
×
w/4
×
32;
[0078]
第二个堆叠沙漏以ccc1作为输入,网络结构与第一个堆叠沙漏相同,输出尺寸为d
max
/4
×
h/4
×
w/4
×
32的ccc2;第三个堆叠沙漏以ccc2作为输入,网络结构与第一个堆叠沙漏相同,输出尺寸为 d
max
/4
×
h/4
×
w/4
×
32的ccc3。
[0079]
其中,所述第四步中,进行视差回归包括:
[0080]
4.1使用softmax函数来计算视差真实性概率视差回归过程中,ccc0,ccc1,ccc2,ccc3分别经过3
×3×
3卷积核,卷积核数为32,步长为1,扩张因子为1的卷积层conv1得到输出维度为d
max
/4
×
h/4
×
w/4
×
32;再经过3
×3×
3卷积核,卷积核数为1,步长为 1,扩张因子为1的卷积层conv2,得到输出维度为d
max
/4
×
h/4
×
w/4
×
1;对第二卷积层输出m进行上采样即双线性插值法,得到四个新代价体mc0,mc1,mc2,mc3,尺寸均为d
max
×h×w×
1;
[0081]
上采样方式中,每个代插值像素p的像素值是由周围的四个已知像素通过公式(12)所得,f表示像素值,p
11
,p
12
,p
21
,p
22
是待插值像素p 周围的四个已知像素;
[0082]
使用如公式(11)给出的softmax函数将视差值的真实概率做归一化处理,
[0083][0084]
其中d(d=0,1,
…dmax-1)为视差等级,s,s=0,1,2,3表示不同尺度,表示尺度s下的代价体mc0、mc1、mc2、mc3中第d个视差下的代价体“:”表示矩阵该维度的所有元素,d
max
表示最大视差搜索范围,e表示自然指数,表示尺度s下匹配代价体中预测的视差d是真实视差的概率,将不同尺度下的视差概率矩阵可以表示为
[0085][0086]
其中,pf表示待插值像素(x,y)处的像素值,p
11f
,p
12f
,p
21f
,p
22f
表示插值像素p周围的四个已知像素点的像素值。x1,x,x2代表水平坐标, y1,y,y2代表垂直坐标,x
2-x1=1,y
2-y1=1;
[0087]
4.2使用soft argmin函数进行视差回归
[0088]
采用soft aragmin函数进行视差回归预测,将每个视差值的概率与对应视差相乘后按视差累加求和,得到个尺度下的预测视差,其计算方法如式(13):
[0089][0090]
其中s(s=0,1,2,3)表示不同尺度,对应四个预测视差图的尺度, d是各个视差等级(d=0,1,
…dmax-1),表示尺度s下匹配代价体中预测的视差d是真实视差的概率,表示各个尺度下的预测视差。
[0091]
其中,所述第五步进行尺度感知融合,包括:
[0092]
将预测视差图分别与左浅层特征图f
1l
进行级联,结果再分别输入到四个密集平滑网络0,密集平滑网络1,密集平滑网络 2,密集平滑网络3,将上一步骤得到的匹配代价体中预测的视差d, d=0,1,
…dmax-1是在四个尺度上真实视差的概率p0,p1,p2,p3,其尺寸大小均为d
max
×h×w×
1,作为一个输入,分别与对应平滑网络输出进行级联,再分别经过一个包含一个卷积核为3
×
3,核个数为1,步长为1,扩张因子为1的卷积层,一个bn层,一个relu层的网络之后,将四个网络的输出结果进行级联,级联结果再顺序经过一个卷积核为3
×
3,核个数为128,步长为1,扩张因子为1的卷积层,一个 bn层,一个relu层,和一个卷积核为1
×
1,核个数为4,步长为1,扩张因子为1的卷积层,获得置信度矩阵ws(w0,w1,w2,w3),其尺寸为h
×w×
4,表示每个尺度下预测视差的置信度;将该置信度与对应的预测视差图进行级联得到ds,尺寸为h
×w×
4,ds与对应的置信度矩阵ws进行点乘运算,之后在尺度s维度方向上进行累加,即公式(14),得到最终的视差图df,其大小为h
×
w。
[0093][0094]
其中,“·”表示矩阵中元素对应相乘,ws为预测视差矩阵ds在尺度s的情况下是真实视差矩阵的置信度。
[0095]
实施例1
[0096]
本实施例中基于密集连接多尺度信息融合的立体匹配方法的框图如图1所示。第一步初步特征提取如图1中

,左右图像通过初步特征提取模块得到左右初步特征图第二步,左右特征图经过图1中构建联合代价体模块

,得到初始联合代价体 cc4。第三步,联合代价体cc4经过图1中的代价聚合优化模块

,得到ccc0,ccc1,ccc2,ccc3。第四步,经过优化的联合代价体 ccc0,ccc1,ccc2,ccc3经过图1中的视差回归模块

得到四个输出预测视差图和预测视差的置信度p0,p1,p2,p3。第五步,将预测视差图经过cnn网络提取的左浅层特征图f
1l
以及视差回归中得到的(可能性)p0,p1,p2,p3输入图1中的尺度融合感知模块

,利用不同尺度视差图之间的互补优势,融合得到最后的稠密视差图输出。
[0097]
下面结合附图和发明人给出的具体实验,对本发明的具体实施方式作进一步详细说明。
[0098]
第一步,初步特征提取
[0099]
如图2所示,初步特征提取步骤将输入的左右图像依次输入 cnn,密集连接网络(densenet),坐标注意力模块,进行初步特征提取,以获取丰富的图像特征信息;
[0100]
1.1利用cnn网络提取浅层特征
[0101]
尺寸均为h
×w×
3的左右图像作为输入都经过权值共享 cnn网络,提取图像浅层次特征,输出浅层特征图f
1l
,f
1r
,其尺寸均为h
×w×
64;所设计的cnn模块的结构如图3实线框所示,左右图像分别输入权值共享cnn模块,cnn模块包含第一卷积层 conv1,(3
×
3卷积核,卷积核数为64,步长为1,扩张因子为1)、第一归一化(bn)层、第一relu层、第二卷积层conv2(3
×
3卷积核,卷积核数为64,步长为1,扩张因子为1)、第二bn层、第二relu 层;
[0102]
1.2利用密集连接网络得到密集特征
[0103]
浅层特征图(f
1l
与f
1r
)都经过密集连接网络,所设计的密集连接网络模块的结构如图4所示,包含3个密集块和2个渡化层,其中,每个密集块是由若干个密集层组成,如图5所示每个密集层由第一 bn层、第一relu层、第一卷积层(1
×
1卷积核,卷积核数为32,步长为1,扩张因子为1)、第二bn层、第二relu层和第二卷积层(3
×
3 卷积核,卷积核数为32,步长为1,扩张因子为1)组成;渡化层0 与渡化层1如图6中所示,渡化层0由一个卷积层(1
×
1卷积核,卷积核数为128,步长为1,扩张因子为1),一个bn层,一个relu层以及一个平均池化层(pooling)构成;渡化层1由一个的卷积层(1
×
1 卷积核,卷积核数为192,步长为1,扩张因子为1),一个bn层,一个relu层以及一个平均池化层(pooling)构成;每一个密集块中从第二个密集层起,输入都是该密集块中前边所有密集层的输出在通道维度上级联(即后边一层的输入通道维数是前边所有层的输出通道维数之和),这样的连接方式可以增强各层
间的特征传递,增强特征的重复利用率,减少特征的损失;密集块0与密集块1之后都经过一个渡化层,经过渡化层之后,可以改变图像的尺度大小,将其大小降为原来的一半。密集块1和密集块2的构造与密集块0基本结构相同,区别是密集块1中包含8个密集层,密集块2中包含12个密集层;在网络的超参数中包含一个增长率(growthrate)参数k,表示在网络中每层的输出的通道数;一个压缩因子θ,它的作用是将上一密集块的输出在通道维度进行压缩,减少网络参数量。本发明中设定k为32,也就是在密集连接网络中每层的输出通道数都是32;本发明中θ=0.5;经过密集连接网络处理后,由浅层特征图f
1l
,f
1r
得到密集特征与尺寸大小为h/4
×
w/4
×
576;
[0104]
1.3采用坐标注意力模块进行特征提取
[0105]
经过1.2处理得到的密集特征(与)送入如图7所示的坐标注意力模块进一步提取特征,如图7对输入特征图(与)在水平方向和垂直方向分别进行全局平均池化与全局最大值池化操作,以获得丰富的图像背景信息与纹理信息。水平方向的全局平均池化(xavgpool)操作如下
[0106][0107]
其中,下标a表示平均池化,上标h表示水平方向,函数自变量h表示高度(行),w表示图像宽度(水平方向像素数),f(h,i)表示第h行中的第i个像素;
[0108]
水平方向的全局最大值池化(xmaxpool)操作如下
[0109][0110]
其中下标m表示最大池化,上标h表示水平方向,h表示高度(行),“f(h,:)”表示h行中所有元素(像素);
[0111]
垂直方向的全局平均池化(yavgpool)操作得到垂直一元特征如下:
[0112][0113]
其中,上标w表示垂直方向,a表示全局平均池化,h表示图像高度,f(i,w)表示w列中的第i个元素;
[0114]
垂直方向的全局最大值池化(ymaxpool)操作得到垂直一元特征如下
[0115][0116]
其中,上标w表示垂直方向,下标m表示最大值池化,w表示宽度(列),“f(:,w)”,表示w列中的所有元素;
[0117]
上述变换得到沿两个方向聚合特征,生成对方向敏感的特征映射,这些转换还可以让注意力块获取空间方向依赖关系,并保存精确的位置信息,这有助于网络更准确地定位感兴趣的对象,该操作可以获得输入特征的全局感受野,并且精确地编码位置信息,将公式(1),(2),(3)和(4)的水平和垂直的池化结果进行级联操作,并送入一个卷积模块(1
×
1卷积核,卷积核数576,步长为1,扩张因子为1),获得注意力变换如下
[0118]
[0119]
其中,f
concat
表示将水平和垂直的池化结果的级联操作,经过激活函数δ(
·
)(此处采用relu函数)获得变换后的非线性特征 f∈r
c/r
×
(h+w)
,r是控制模块大小的一个超参数,c表示通道维度数,h 表示图像高度,w表示图像宽度,再将输出的结果重新按照水平和垂直方向分为两组特征图fh和fw,再分别经过卷积层(用fh和fw表示,卷积核数为576,卷积核大小为1
×
1,步长为1,扩张因子1)之后,利用sigmoid函数σ获得水平和垂直方向注意力的权重,如式(6)和式(7)所示
[0120]gh
=σ(fh(fh))
ꢀꢀ
(6)
[0121]gw
=σ(fw(fw))
ꢀꢀ
(7)
[0122]
根据注意力的权重将输入的特征映射数据与水平和垂直权重相乘获得坐标注意力输出特征映射,具体操作写成公式(8):
[0123][0124]
其中c表示第c个通道,c=1,2,

,576,x是输入的密集特征图(与),该公式表示x、gh、gw在对应通道c上做点乘运算,得到注意力特征图与最后,经过图7中conv2(1
×
1卷积核,卷积核个数为320,步长为1,扩张因子为1),得到左右特征图与
[0125]
不同于只关注重通道权重的通道注意力机制,本发明坐标注意力机制也考虑对空间信息进行编码,将沿水平和垂直方向的注意机制同时应用于输入特征图,两个注意图中的每个元素都反映了感兴趣的对象是否存在于相应的行和列中,这种编码过程可以使本发明的坐标注意块机制准确地定位感兴趣对象的确切位置;
[0126]
第二步:构建初始联合代价体
[0127]
构建初始联合代价体包含两个部分:一个部分是构建压缩级联代价体,另一部分是构建跨尺度相关代价体,然后将两个代价体级联构成初始联合代价体。
[0128]
2.1压缩级联代价体的构建
[0129]
图8是压缩级联匹配代价的构造过程示意图,输入为左右注意力特征图与分别用黑色矩阵块l和黑色矩阵块r表示,图中前两行图片表示左右特征图按照视差进行的左右移动后的图片示意图, d=0时的特征级联是直接将第一列矩阵块l和矩阵块r(与)级联,左右特征图的大小均为h/4
×
w/4
×
320,得到的匹配代价c0大小为h/4
×
w/4
×
640;当视差d=1时,左特征图向右移动一列(图8中第一行第二列),取其第1列到第w/4列特征子图,右特征图向左移动一列(图8中第二行第二列),取其第0列到第w/4-1列的特征子图,再将新(行列数不变)的左右特征子图级联,得到视差为1的情况下的匹配代价c1;以此类推,在视差值为d(d=0,12,

,d
max
/4-1)的情况下,右特征图向左移动d列,取其第0列到第w/4-d列特征子图;左特征图向右移动d列,取其第d列到w/4列特征子图再将左右特征子图级联,得到对应视差下的匹配代价cd;
[0130]
将左、右特征图f
4l
和f
4r
进行级联的表达式如下:
[0131][0132]
其中,cd表示视差为d情况下的匹配代价,l(a,b)表示矩阵a向左移动b列右侧补0操作,r(a,b)表示矩阵a向右移动b列左侧补0操作, concat表示级联操作。
[0133]
得到各个视差下的匹配代价cd,d=0,12,

,d
max
/4-1后,沿视差维度,将所有视差
值下匹配代进行级联,从而整合视差维度信息,得到最终的匹配代价矩阵,其大小为d
max
/4
×
h/4
×
w/4
×
640,具体定义如下:
[0134][0135]
其中concat表示级联操作,基于级联得到的匹配代价保留了不同视差下的左右特征信息以及空间结构。
[0136]
将得到的级联代价体cc0依次通过第一卷层(卷积核大小为1
×
1,卷积核数为128,步长1,扩张因子为1),第二卷积层(卷积核大小为1
×
1,卷积核数为24,步长为1,扩张因子为1)得到压缩级联代价体cc1,其大小为d
max
/4
×
h/4
×
w/4
×
24。
[0137]
2.2跨尺度分组相关代价体
[0138]
针对视差d=0时跨尺度分组相关代价体构建方法如图9所示,通过初步特征提取网络得到的左右特征图f
4l
,f
4r
在通道维度上分别为 ng(本发明取ng=40)个组,用nc(本发明中nc=320)表示输入特征的通道维数,左右特征与的第g个特征组f
lg
,f
rg
由分别由特征与的[gnc/ng,gnc/ng+1,

,gnc/ng+(nc/n
g-1)]通道组成;左特征图的分组依次与右特征的分组分别一一组合求相关,然后级联各个对应分组求相关的结果,得到视差d=0时的跨尺度分组相关代价体ff0;
[0139]
d为其它值(即d=1,

,d
max
/4-1)时,以左特征图为基准图,右特征图按照图8中第二行所示左移后的特征图作为输入,然后分组,计算过程与视差为d=0时的计算过程相同,所有视差d=0,1,

,d
max
/4-1 下的跨尺度相关代价体计算完成后,如图10所示将它们进行级联得到跨尺度分组相关代价体cc2,尺寸为d
max
/4
×
h/4
×
w/4
×
1600,h表示图像高度,w表示图像宽度,d
max
表示最大视差搜索范围,本发明设 d
max
=192,计算跨尺度相关代价体伪代码如表1所示。
[0140]
表1跨尺度分组相关代价体伪代码
[0141][0142]
2.3联合代价体构建
[0143]
跨尺度分组相关代价体cc2再与压缩级联代价体cc1级联构建联合代价体,为后面的3d聚合网络提供了更鲁棒的相关性信息,联合代价体构建如图11所示,将尺度分组相关代价体cc2依次通过第一卷积层(conv1,卷积核大小为1
×
1,卷积核数为640,步长为1,扩张因子为1),与第二卷积层(conv2卷积核大小为1
×
1,卷积核数为128,步长为1,扩张因子为1),进行压缩后得到cc3,其大小为 d
max
/4
×
h/4
×
w/4
×
128,再与压缩后的压缩级联代价体cc1进行级联,从而得到联合代价体cc4,其大小为d
max
/4
×
h/4
×
w/4
×
152;
[0144]
第三步:代价聚合优化
[0145]
经过第二步的处理已经得到联合代价体cc4,经过如图12所示的代价聚合优化网络,具体包含

为预沙漏模块,
②③④
分别为三个堆叠沙漏模块;预沙漏网络输出ccc0,三个堆叠沙漏网络分别输出 ccc1,ccc2,ccc3。
[0146]
如图13所示,预沙漏模块中包含4个卷积层,卷积核大小均为 3
×3×
3,卷积核个数均为32,步长均为1,扩张因子均为1,第二个卷积层的输出与第四个卷积层的输出直接相加(add),输出得到 ccc0,其尺寸为d/4
×
h/4
×
w/4
×
32;第一个堆叠沙漏模块结构如图 14所示,包含第一卷积层(conv1),第二卷积层(conv2),第三卷积层(conv3),第四卷积层
(conv4),第一反卷积层(deconv1),第二反卷积层(deconv2),ccc0作为第一个堆叠沙漏模块的输入,经过四个3d卷积层,卷积核尺寸均为3
×3×
3,卷积核个数分别为64、 64、128、128,卷积层步长分别为2、1、2、1,扩张因子均为1,之后的两个3d反卷积层,卷积核大小均为3
×3×
3,卷积核个数分别为 64、128,步长均为2,扩张因子均为1;第二卷积层(conv2)的输出经过一个3d卷积层(1
×1×
1卷积核,卷积核个数为64,步长为1,扩张因子为1)和一个relu层后的输出与第一反卷积层(deconv1) 的输出直接相加(add)的结果作为第二个3d反卷积层的输入;该堆叠沙漏模块的输入ccc0经过一个3d卷积层(1
×1×
1卷积核,卷积核个数为32,步长为1,扩张因子为1)和一个relu层得到的输出与第二反卷积层(deconv2)的输出直接相加(add),输出得到ccc1,其尺寸为d/4
×
h/4
×
w/4
×
32;第二个堆叠沙漏以ccc1作为输入,网络结构与第一个堆叠沙漏相同,输出尺寸为d
max
/4
×
h/4
×
w/4
×
32的 ccc2;第三个堆叠沙漏以ccc2作为输入,网络结构与第一个堆叠沙漏相同,输出尺寸为d
max
/4
×
h/4
×
w/4
×
32的ccc3;
[0147]
第四步:视差回归
[0148]
4.1使用softmax函数来计算视差真实性概率
[0149]
视差回归如图15所示,ccc0,ccc1,ccc2,ccc3分别经过第一卷积层(conv1,3
×3×
3卷积核,卷积核数为32,步长为1,扩张因子为1) 得到输出维度为d
max
/4
×
h/4
×
w/4
×
32;再经过第二卷积层(conv2, 3
×3×
3卷积核,卷积核数为1,步长为1,扩张因子为1)得到输出维度为d
max
/4
×
h/4
×
w/4
×
1;对第二卷积层输出m进行如图16所示的上采样(双线性插值法)得到四个新代价体mc0,mc1,mc2,mc3,尺寸均为d
max
×h×w×
1。上采样方式如图16所示,每个代插值像素p 的像素值是由周围的四个已知像素通过式(12)所得,图中f表示像素值,p
11
,p
12
,p
21
,p
22
是待插值像素p周围的四个已知像素。
[0150]
使用如公式(11)给出的softmax函数将视差值的真实概率做归一化处理,
[0151][0152]
其中d(d=0,1,
…dmax-1)为视差等级,s(s=0,1,2,3)表示不同尺度,表示尺度s下的代价体mc0、mc1、mc2、mc3中第d个视差下的代价体“:”表示矩阵该维度的所有元素,d
max
表示最大视差搜索范围,e表示自然指数,表示尺度s下匹配代价体中预测的视差d是真实视差的概率,将不同尺度下的视差概率矩阵可以表示为
[0153][0154]
其中,pf表示待插值像素(x,y)处的像素值,p
11f
,p
12f
,p
21f
,p
22f
表示插值像素p周围的四个已知像素点的像素值。x1,x,x2代表水平坐标,y1,y,y2代表垂直坐标,x
2-x1=1,y
2-y1=1;
[0155]
4.2使用soft argmin函数进行视差回归
[0156]
采用soft aragmin函数进行视差回归预测,将每个视差值的概率与对应视差相乘后按视差累加求和,得到个尺度下的预测视差,其计算方法如式(13):
[0157][0158]
其中s(s=0,1,2,3)表示不同尺度,对应四个预测视差图的尺度,d 是各个视差等级(d=0,1,
…dmax-1),表示尺度s下匹配代价体中预测的视差d是真实视差的概率,表示各个尺度下的预测视差;
[0159]
第五步:尺度感知融合
[0160]
尺度感知融合处理过程如图17所示,将预测视差图分别与左浅层特征图f
1l
进行级联,结果再分别输入到四个密集平滑网络 0,密集平滑网络1,密集平滑网络2,密集平滑网络3,将上一步骤得到的匹配代价体中预测的视差d(d=0,1,
…dmax-1)是在四个尺度上真实视差的概率p0,p1,p2,p3(其尺寸大小均为d
max
×h×w×
1)作为一个输入,分别与对应平滑网络输出进行级联,再分别经过一个包含一个卷积层(卷积核为3
×
3,核个数为1,步长为1,扩张因子为1),一个bn层,一个relu层的网络之后,将四个网络的输出结果进行级联,级联结果再顺序经过一个卷积层(卷积核为3
×
3,核个数为128,步长为1,扩张因子为1),一个bn层,一个relu层,和一个卷积层(卷积核为1
×
1,核个数为4,步长为1,扩张因子为1),获得置信度矩阵ws(w0,w1,w2,w3),其尺寸为h
×w×
4,表示每个尺度下预测视差的置信度;将该置信度与对应的预测视差图进行级联得到ds,尺寸为h
×w×
4,ds与对应的置信度矩阵ws进行点乘运算,之后在尺度s维度方向上进行累加,即公式(14),得到最终的视差图df,其大小为h
×
w。
[0161][0162]
其中,“·”表示矩阵中元素对应相乘,ws为预测视差矩阵ds在尺度s 的情况下是真实视差矩阵的置信度。
[0163]
图17中密集平滑网络0-3结构如图18所示,顺序包括卷积层 conv1、conv2、conv3、conv4、conv5、conv6、conv7,其卷积核大小分别为3
×
3、3
×
3、3
×
3、3
×
3、3
×
3、3
×
3、1
×
1,卷积核数分别为64、64、64、64、64、64、1,步长均为1,扩张因子(dilation) 分别为1、2、2、4、4、2、1。四个密集平滑网络结构相同,平滑网络通过捕捉联合视差图像与特征空间中的统计特性,能够学习到相邻像素之间更鲁棒的复杂视差关系。
[0164]
下面采用人工数据集和标准数据集的对比分析验证方法的优越性。
[0165]
实验数据集及评价指标:
[0166]
本发明对比实验中所用数据集,主要包括部分合成数据集 sceneflow和真实数据集kitti2015。sceneflow数据集是一个大规模的合成数据集,包含35454对训练图像和4370对测试图像,图片的尺寸为960
×
540,提供稠密的视差图作为真实值。sceneflow数据集中部分像素点的视差值超过了本发明设置的最大视差值,在计算损失时这部分像素点将被忽略掉。kitti 2015数据集是一个在真实的街道场景下采集的立体数据集,包含200张训练图片和200张测试图片,图片的尺寸为1240
×
376,对于训练集提供了由激光雷达采集得到的稀疏视差图作为真实值。
[0167]
为了评估本发明中方法和对比方法的匹配效果,采用了在立体匹配算法中广泛使
用的终点误差(end-point error,epe)和3像素误差 (3px-error)两个指标进行评价。epe和3px-error指标值越接近0,说明立体匹配效果越好。
[0168]
实验细节描述:
[0169]
本发明提出的立体匹配网络,在ubuntu18.04环境下,使用 pytorch深度学习架构实现。使用adam优化器优化参数分别设置为β1=0.9、β2=0.99。使用nvidia geforce rtx3090 gpu对模型进行端到端的训练,每批样本数为2,损失函数中视差预测系数的参数分别设置为θ0=0.25,θ1=0.5,θ2=0.75,θ3=0.75,θf=1;数据集预处理,训练图像的尺寸下采样后变为512
×
256;最大视差值d
max
设置为192,所有图像的rgb数值被归一化至[-1,1]范围内。对于sceneflow数据集,35454对训练图像作为训练集,4370对测试图像做测试集,以固定的学习率0.001训练20个周期,在第11、13、15、17个周期学习率依次衰减2倍,得到对于合成数据的评价结果和针对后续实际数据集的预训练模型。
[0170]
对于kitti 2015数据集,将在scene flow数据集上训练得到的预训练模型进一步优化。总共训练600个周期,以0.001的学习率训练前300个周期,调整学习率为0.0001训练后300个周期。在 kitti2015训练集中随机选择180对样本作为训练集,剩余20对样本作为验证集。利用kitti 2015中的200张测试集预测输出,验证训练后的最优模型。
[0171]
对比方法实验比较:
[0172]
合成数据集上实验比较
[0173]
在sceneflow数据集上利用训练数据得到预训练网络,与同样训练得到的经典算法psm-net、gwcnet在检验数据集上进行比较,得到结果如表2所示:
[0174]
由表2可知,dca-sf-gwcnet(本发明方法)在sceneflow数据集上的训练结果epe指标为0.654,与psm-net方法的epe指标1.09相比,降低0.436;与gwcnet方法的epe指标0.736相比,降低0.085;验证了本发明方法的有效性。
[0175]
表2合成数据集上算法误差率对照
[0176][0177]
真实数据集上实验比较
[0178]
表3给出了针对kitti 2015数据集不同方法的性能定量比较,表3第一列给出不同算法,包含经典方法psm-net,基于密集网络的方法dense-net,gwcnet方法、sasm-net方法以及 dca-sf-gwcnet(本发明方法)。表3第一行给出了性能指标,其中 all(%)表示整张图像的误差率,noc(%)表示非遮挡区域的误差率,第二行中d1-bg表示背景区域的误差率,d1-fg表示前景区域的误差率, d1-all表示平均误差率,runtime(s)表示运行时间,单位是秒。表中本发明的算法dca-sf-gwcnet的平均误差率为2.01%,相比 gwcnet算法平均误差率2.11%下降了4.71%。本发明提出的算法计算复杂度的略有增加,测试时间0.34s,相比于具有最小计算时间的 gwcnet算法和sasm-net算法增加了0.02s,但准确率却有大幅度提升。因此结合定性与定量分析,充分证明了发明所提改进算法的有效性与准确性。
[0179]
表3算法误差率对照
[0180][0181]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1