一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于解卷积神经网络双目视觉立体匹配方法

2022-05-17 20:25:54 来源:中国专利 TAG:


1.本发明属于图像处理技术领域,涉及双目视觉立体匹配方法。


背景技术:

2.jure zbontar等人于cvpr2015提出了使用卷积网络来计算匹配误差,然后进行图像块的匹配,输入采用9x9的灰度图像块,采用5x5大小的卷积核对图像块进行卷积,随后网络层均采用1x1的卷积核进行卷积运算。文章采用ad(absolute difference)来计算匹配误差,并结合交叉代价聚合以及亚像素增强的方法来优化视差。文章最终在kitty数据集中取得了2.61%的错误率。xiao liu等人将空洞卷积加入网络结构并且将不同尺度的连接特征连接起来,提出了一种名为mc-dcnn的新型卷积网络结构。空洞卷积相较与普通卷积的好处是能够在使用相同的卷积核尺寸的情况下获得较大的感受野,让每个卷积输出都包含较大范围的信息。xiaoliu等人在middlebury数据集上进行了实验,并取得了较好的效果。luo等人于cvpr2016提出了一种更加有效的深度学习方法,他们放弃了普通的卷积网络结构转而使用孪生卷积网络,即左右网络层共享权值。同时对网络层的输入进行更改,不再使用传统的图像块输入,而是以标准视差图为基准,选取坐标从而生成左图像输入块,根据左图像块中的坐标及视差图中的像素值,找到右图像中的坐标,并以此为中心向左右扩展相同长度作为右图像输入块。luo等人最终取得了较好的匹配结果,在kitti2015数据集中,2像素误差为11.67%,3像素误差为8.97%,4像素误差为7.62%,单张匹配时间为0.34s。针对遮挡、边界和低纹理区域在深度学习中较难匹配的情况,feng等人结合半全局匹配,亚像素插值,中值滤波器等方法并在网络结构中使用了较大图像块,使得立体匹配结果在低纹理区域和重复纹理区域鲁棒性更好。文章中的实验结果表示,他们在kitti2015数据集中能够取得4.42%的错误率并且完成一对图像的匹配只需要0.8秒的时间。
3.在上述方法中,大都提到了图像输入块的大小将会直接影响到匹配正确率。feng等人也做了实验来验证,但无限制的增加输入图像块的尺寸并不能让匹配率一直提高,同时还会增加计算量,增加网络模型的参数数量,并且在生成的视差图中,图像块尺寸越大,意味着所获取的视差图尺寸变小,所获取的深度信息相应减少。并且在训练的过程当中,上述方法将最终将视差的判定都放置在最后一层,忽略了其他卷积过程当中的信息,不能使网络得到充分训练。


技术实现要素:

4.本发明的目的是为了克服现有技术中的缺陷,提供一种基于解卷积神经网络双目视觉立体匹配方法。
5.为实现上述目的,本发明采用的技术方案是:
6.搭建先进行解卷积再进行卷积的孪生卷积神经网络模型;
7.获取最优视差值,经过后处理优化,生成最终视差图。
8.作为本发明的一种优选方式,所述的卷积神经网络模型对输入的图像块先进行解
卷积;再依次通过卷积层进行卷积;将每一层左右网络模型生成的卷积层特征平面进行点积运算,并将计算生成后的匹配代价在最后一层进行叠加。
9.进一步优选地,图像块先经过解卷积层后的输出尺寸计算公式如下:
10.o=s(i-1)-2p k;
11.再经过卷积层后的输出尺寸计算公式如下:
[0012][0013]
其中,o代表输出特征图尺寸,i代表输入特征图尺寸,s代表步长,p代表填充尺寸,k代表卷积核尺寸。
[0014]
进一步优选地,采用半全局匹配算法结合计算出的匹配代价,获取最优视差值。
[0015]
进一步优选地,所述的半全局匹配算法为四路径聚合匹配算法。
[0016]
进一步优选地,所述的后处理优化是指对生成的视差图进行中值滤波,减弱噪音。
[0017]
进一步优选地,所述卷积神经网络模型的训练集根据kitti201数据集构建而成。
[0018]
本发明将解卷积运算提到网络的开头,并使用卷积网络的形式,不进行权重共享,加快网络的收敛,并将各卷积层获得的卷积结果进行点积运算,获取匹配代价,并在后处理中结合sgm等后处理算法,获取最优视差图。在网络前部加入解卷积结构能够让网络得到更加充分的训练,也同样能够起到增大图像输入尺寸的效果,相比于单纯的增加image patch尺寸,解卷积能够将参数化的调整方式引入到开头,提高卷积网络输入图像的尺寸以及分辨率,从而能够使得卷积网络学习到更多的信息。
附图说明
[0019]
图1为本发明实施例中基于解卷积神经网络双目视觉立体匹配方法的流程图;
[0020]
图2为kitti2015数据集样例示意图(a)为左图像,(b)为右图像;
[0021]
图3为图像选取示意图;
[0022]
图4为搭建的孪生卷积神经网络模型结构示意图;
[0023]
图5为图像块经过解卷积层的示意图;
[0024]
图6为图像块经过卷积层的示意图;
[0025]
图7为解卷积过程示意图;
[0026]
图8为onehot权重分布图;
[0027]
图9为立体匹配权重分布图;
[0028]
图10为路径聚合图;
[0029]
图11为无效视差填充图。
具体实施方式
[0030]
为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明公开内容的理解更加透彻全面。
[0031]
本发明提供的基于解卷积神经网络双目视觉立体匹配方法,流程如图1所示,具体
步骤如下:
[0032]
1、基于kitti2015数据集,构建基于卷积神经网络双目立体匹配训练集与测试集根据kitti2015提供的标准视差图选取具有有效视差值位置的点即在标准视差图中像素值不为0的像素点,构建数据集。
[0033]
卷积神经网络进行视差计算是选择局部像素块进行匹配,属于局部匹配方法。kitti2015双目数据集中的图片大小为1242x375,kitti2015数据集样例如图2中(a)、(b)所示。数据集中的图片不能直接作为卷积神经网络的输入,所以需要对原始图片进行处理:
[0034]
(1)选择新样本
[0035]
首先在kitti数据集左视差图(disp_noc_*)中选择像素值不为0的像素点p,记录像素点图像坐标(x
p
,y
p
),然后在左图像中提取以p像素点为中心的图像块,确定左输入图像块大小为37x37。在右图像中,根据真实视差图中的像素值找到像素点q,记录像素点图像坐标(xq,yq),以q像素点为中心向右选取尺寸大小为37x237像素的图像块。选取图像的示意图如图3所示。
[0036]
(2)图像样本处理
[0037]
kitti2015数据集中,视差图以png的格式保存,数据类型为uint16。在视差图中,图像灰度值为0的点为无效像素点,即该点没有真实的视差值。
[0038]
视差图处理如下式表示:
[0039]
dispvalue(x,y)=((float)disp(x,y))/256.0
[0040]
validvalue(x,y)=dispvalue(x,y)》0
[0041]
式中,disp(x,y)代表原始视差图,dispvalue(x,y)代表处理后的视差图,validvalue(x,y)代表有效视差图。
[0042]
由于处理后的视差图像素值区间为[0,255],仍然无法直接作为网络的输入,所以需要对图像进行归一化处理并作为网络输入:
[0043]
i={i1,i2,

,in}
[0044]
其中,i为输入图像,n为图像中像素的个数,o为归一化后的输出图像。
[0045]
2、搭建先进行解卷积再进行卷积的经网络模型,模型结构如图4所示。通过解卷积操作扩大输入图像块尺寸,增强图像块输入信息;再依次通过卷积层进行卷积;将每一层左右网络模型生成的卷积层特征平面进行点积运算,将计算生成后的匹配代价在最后一层进行叠加。
[0046]
在卷积网络的开头部分引入解卷积,随后再进行卷积操作。解卷积能够起到上层采样的作用,卷积后的图像尺寸比卷积之前的图像尺寸要大一些。图片经过解卷积操作后,不会丢失相应的计算信息,并且能够提高图片的分辨率。并且在卷积过程中,将各自的卷积部分的3d卷积向量进行乘积,在每一层都对应生成一个1x1x201的向量,叠加到最后一层。在网络最后一层中使用交叉熵函数进行损失计算,使用softmax函数计算各标签值生成的概率与固定标签值进行比对。
[0047]
解卷积的计算过程与卷积相类似,卷积过程可以用下列式表示:
[0048][0049][0050]
解卷积过程可表示为:
[0051]
d=padding(i)
[0052][0053]
其中,i代表输入图像,dd代表反卷积后输出图,k代表卷积核,d代表反卷积率,padding代表填充函数。
[0054]
解卷积网络尺寸计算关系为:
[0055]
o=s(i-1)-2p k
[0056]
经过解卷积的图像如图5所示。
[0057]
卷积网络尺寸计算关系为
[0058][0059]
经过卷积层的图像如图6所示。
[0060]
其中,o代表输出特征图尺寸,i代表输入特征图尺寸,s代表步长,p代表填充尺寸,k代表卷积核尺寸。
[0061]
加入解卷积后的整体卷积网络结构如表所示:
[0062][0063][0064]
1deconv(5)&4conv代表一个解卷积层,卷积核尺寸大小为5,4conv代表4个卷积层,conv9代表卷积层卷。
[0065]
卷积过程可表示为:
[0066]
y=cx
[0067]
其中,x代表输入图像,y代表输出图像,c代表卷积过程中的矩阵;
[0068]
解卷积可表示为:
[0069]ct
y=x
[0070]
此时,y代表输入图像,x代表输入图像。
[0071]
解卷积过程如图7所示,解释如下:
[0072]
id=[i
11
,i
12
,i
21
,i
22
]
t
[0073]
o=[o
11
,o
12
,o
13
,o
21
,o
22
,o
23
,o
31
,o
32
,o
33
]
t
[0074][0075]
wdid=o
[0076]
其中,o代表输出图像,id代表输入图像,wd为权重矩阵。
[0077]
再经过卷积层后,设卷积层权重矩阵为wc,则进入卷积网络层的输入为:
[0078]
ic=wcwdid[0079]
其点积计算公式如下:
[0080][0081][0082][0083][0084][0085]
其中,a
left
为左卷积网络输出,b
right
为右卷积网络输出。
[0086]
3、将步骤1中构建好的训练集分别导入步骤2中搭建的孪生卷积神经网络模型,对网络模型进行训练。
[0087]
网络训练中根据权重最小化交叉损失熵,其中w代表权重,yi代表图像纵坐标,代表标准视差值,p
gt
(yi)为目标平滑分布,λ1=0.5,λ2=0.2,λ3=0.05。
[0088]
[0089][0090]
同样可以将其类比于冲击函数,对于有明确目标的图像识别方法中,将图像识别的结果归于01判断。在立体匹配中,可以在适当的误差范围内,调整权重的分布如图8,图9所示。
[0091]
4、训练得到的神经网络结构能够有效的提取左右图像点对应图像块特征描述charac
l
(p)和characr(q),对这两个特征描述进行点积运算,采用wta(winner-take-all)原则选取最佳视差值生成视差图。
[0092]
charac
l
(p)代表1
×1×
64维向量,characr(p)代表1
×
201
×
64维向量。
[0093]
经过a-dcnn网络后,每个像素点会对应200个匹配代价,此时可以直接选择wta(winner-take-all)原则来直接生产视差图,但以这种方式生成的视差图较为粗糙,
[0094]
因此,需要进一步将生成的匹配代价结合半全局匹配算法对视差的选择进行优化。半全局匹配算法中的代价聚合主要采用的是动态规划的思想,设立全局能量函数e(d):
[0095][0096]
d代表每个像素点可能的视差值;
[0097]
p,q代表图像中的某个像素;
[0098]np
指像素p的相邻像素点,一般认为8连通,这里采用4个方向上的;
[0099]
c(p,d
p
)指当前像素点可能视差值为d
p
时,该像素点的匹配代价值;
[0100]
p1是一个惩罚系数,它适用于像素p相邻像素中视差值与p的视差值相差等于1的那些像素,p2是一个惩罚系数,它适用于像素q相邻像素中视差值与q的视差值相差大于1的那些像素;
[0101]
t[.]函数,如果函数中的参数为true则返回1,否则返回0。
[0102]
为了减少计算的时间复杂度和空间复杂度,本发明采用动态规划思想,通过四路径聚合局部匹配代价来替换全局代价的思想。
[0103][0104]
p1,p2代表惩罚系数,本发明中取30,160。cost(p,d)代表从卷积网络直接获得的匹配代价,维度为h
×w×
d,h为图像高度,w为图像宽度,d为视差范围。s代表路径方向,如果聚合的方向是朝下的,则p-s代表上一个像素,如图10所示,lr(p,d)代表聚合代价。
[0105]
左右一致性检测中,本发明采用内部型检查方法来完成。通过左图的聚合后的代价矩阵,根据其自身的视差范围生成右图的代价矩阵,并根据wta原则选择最优视差值。如
果左右视差图对应位置像素相差少于1像素,则保留,否则视为无效视差值。
[0106]
无效视差值填充采用的是八射线填充法,具体是指以无效像素为中心,分八个角度向四周发射射线,收集每条射线碰到的第一个有效像素,取这个八个像素值当中的最小值赋给当前无效像素,如图11所示。
[0107]
最后采用中值滤波的方法,将视差图进一步拟合,减弱图像局部区域内较为尖锐的噪声。
[0108]
中值滤波类似于卷积操作,是基于统计理论中一种能够有效抑制噪声的非线性信号处理技术,基本原理是用某一点的窗口邻域中所有像素点的像素值的中值来代替,对脉冲级别的椒盐噪声的抑制效果最好,在对噪声产生抑制效果的同时,不会对边缘带来较为严重的模糊效应。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献