[0004] 针对现有技术所存在的上述技术缺陷,本发明提出了一种基于卷积神经网络的立体图像视差匹配方法。基于现有的用于视差估计的端到端学习几何和上下文的深度立体回归算法,改进其所用的几何上下文卷积神经网络,利用LSTM(Long Short Term Memory network)神经网络作为网络层替代原本网络模型中的soft-argmin网络层操作。不仅提高了网络模型的良好性能,平滑了视差估计,提高匹配精度,还提高了匹配效率。
[0005] 一种基于卷积神经网络的立体图像视差匹配方法,包括如下步骤:
[0006] 步骤(1):图像预处理。对带有参考实参图的立体图像对的左图和右图分别作归一化处理,使其图像像素值在[-1,1]中;
[0007] 步骤(2)构造用于端到端学习的卷积神经网络。
[0008] 包括以下网络层:
[0009] 2-1.构造一个2D卷积操作层,由降采样层和残差块构成,每层网络后面跟随一个批量归一化层和一个已校正的线性非线性层;
[0010] 利用5*5的卷积核对输入图像先进行一次降采样操作,降采样因子为2,随后利用残差块对图像进行操作,该残差块总共有8个,且每个残差块由两个3*3的卷积核组成,输出为图像的一元特征;
[0011] 2-2.构造计算立体匹配代价层。
[0012] 利用深度一元特征生成的成本量计算立体匹配的代价,并将步骤2-1中2D卷积操作层的输出级中的每个一元特征与对应的立体图像元组进行连接,并将其打包进一个4D量中;
[0013] 其中深度一元特征生成的成本量的维度为H*W*(D+1)*F,其中H、W分别为图像的高和宽,D为最大的视差值,F表示图像特征。
[0014] 2-3.构造学习上下文层。
[0015] 先有四层降采样组成3D正则化网络层,每层降采样因子为2,在编码级别中应用两个3*3*3的卷积,使得3D成本量的尺寸减少1/8;接着利用3D反卷积操作对解码器中的向量进行上采样操作,上采样因子为2,在解码级别中应用一个3*3*3的卷积,并在每个上采样层之前添加一个残差层,以此来保留图像中的高频率信息;最后由一个单3D反卷积层输出正则化的成本量,成本量维度为H*W*D;
[0016] 2-4.构造视差估计层。
[0017] 该网络层由LSMT神经网络构成,LSTM神经网络由包含四个交互层的重复模块构成,每个模块里由三个门来控制细胞单元状态信息,该三个门分别是输入门,遗忘门和输出门,每个门由一个sigmoid神经网络层和一个pointwise乘法操作构成;将步骤2-3中生成的成本量输入该网络层,输出的结果便是视差图;
[0018] 每个模块具体交互步骤如下:
[0019] 2-4-1.利用遗忘门决定从细胞状态中去除信息或对其增加信息,其中sigmoid层输出0-1之间的数值来描述每个部分多少量可通过,0表示不许任何量通过,1表示允许任意量通过;
[0020] 2-4-2.确定何种新信息将被存放在细胞状态中。首先利用输入门确定什么值需要更新,接着用一个tanh层创建一个新的候选值向量加入到状态中进行更新;
[0021] 2-4-3.确定输出值。通过sigmoid层确定细胞状态的某部分将输出,接着将细胞状态通过tanh层进行处理得到一个[-1,1]的值,并将其和sigmoid门的输出相乘,最终得到确定的输出值。
[0022] 步骤(3)网络训练。
[0023] 收集数据集,在训练集数据输入网络进行训练之前,对数据进行归一化处理,并设置网络模型的相关参数,接着对网络进行有监督的反向传播算法训练,直到监督回归损失收敛,得到训练网络;
[0024] 收集的数据集来源于两个开源数据库,sceneflow和KITTI,网络参数设置包括选择RMSProp为优化方式,设置学习率为1e-3,并设定F,D相应的值为32,192,网络训练在TensorFlow框架下进行。训练过程有两部分组成,先使用包含大量图像数据的sceneflow数据集对网络进行预训练,得到一个预训练模型,然后在这个预训练模型上进行微调,接着训练包含图像数量较少的KITTI数据集。回归损失的计算公式如下:
[0025]
[0026] 其中N表示图像中的总像素数,dn表示网络预测出来的视差图, 表示已有的标准视差图ground truth。
[0027] 步骤(4)求视差图。
[0028] 从测试集中取几组立体图像对,进行步骤(1)的预处理。将其输入步骤(3)中训练完成的网络,得到相应的视差图。
[0029] 本发明有益效果如下:
[0030] 本发明提出了一种基于卷积神经网络的双目立体匹配方法,基于现有的用于视差估计的端到端学习几何和上下文的深度立体回归算法,通过改进其所用的几何上下文卷积神经网络,利用LSTM(Long Short Term Memory network)神经网络作为网络层替代原本网络模型中的soft-argmin网络层操作。相比于原有的依靠人工定义规则的soft-argmin网络操作,LSMT通过网络学习出一个规则,以此来提高网络性能,提高亚像素的准确性,得到更加精确的视差估计图,而且LSTM网络擅长处理成本序列,加快了网络的处理速度,提高匹配效率。