首页> 中国专利> 一种基于深度学习的月面导航影像三维地形重建方法

一种基于深度学习的月面导航影像三维地形重建方法

摘要

本发明提供一种基于深度学习的月面导航影像三维地形重建方法,涉及三维重建技术领域。本发明通过建立基于多尺度代价体聚合立体匹配算法,将月球车导航相机在各摄站点所拍摄的立体像对通过张正友相机标定法得出的标定参数进行极线校正处理,获得极线校正后的立体像对,并基于深度学习的立体匹配算法,使用KITTI数据集和Scenceflow数据集进行模型训练;通过给多尺度代价体聚合立体匹配算法配置环境,对极线校正过的立体像对进行立体匹配,得到的视差信息和视差结果,恢复出月面的深度信息即点云信息;通过点云滤波和抽稀,得到的高精度月面三维地形信息,使用基于隐式曲面重建的泊松算法进行三维重建,最终得到月面地形环境模型。

著录项

  • 公开/公告号CN115984494A

    专利类型发明专利

  • 公开/公告日2023-04-18

    原文格式PDF

  • 申请/专利权人 辽宁工程技术大学;

    申请/专利号CN202211595437.5

  • 申请日2022-12-13

  • 分类号G06T17/05;G06T7/80;G06T5/00;G06T7/50;G06T5/20;G06T17/00;G06N3/0464;G06N3/0455;G06N3/096;G01C11/04;

  • 代理机构沈阳东大知识产权代理有限公司;

  • 代理人梁焱

  • 地址 123000 辽宁省阜新市细河区中华路47号

  • 入库时间 2023-06-19 19:28:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-05

    实质审查的生效 IPC(主分类):G06T17/05 专利申请号:2022115954375 申请日:20221213

    实质审查的生效

说明书

技术领域

本发明涉及三维重建技术领域,尤其涉及一种基于深度学习的月面导航影像三维地形重建方法。

背景技术

月面三维地形重建是月球车进行路径规划、导航定位和安全避障的基本保证。月面三维地形重建的基本原理是利用月球车导航相机双目视觉系统,获得左右月面影像的重叠关系,对重叠区域的同名特征点进行快速准确提取和密集匹配,得到月面地形的三维点云数据,再通过快速建模方法重建月面三维地形环境。目前月面三维地形重建主要考虑了月面地形的纹理匮乏特性及其匹配中的精度和计算复杂度等关键性指标,使用双目视觉进行月面三维地形重建的关键问题是如何利用立体匹配来获取左右两个相机月面影像的视差信息。因此,提出了一种基于深度学习的月面导航影像三维地形重建方法,该方法不仅提高了立体匹配视差结果的精度,而且还大大降低了立体匹配过程中计算的复杂度,此方法能获得更直观、准确、完整的月面三维地形重建模型。

作为热门的三维重建,立体匹配是三维重建的核心步骤,根据立体匹配任务中不同的优化过程,传统立体匹配算法可分为:全局、局部和半全局立体匹配算法。其中,全局算法匹配准确度较高但整体参数量较大,局部算法虽然计算复杂度较低,但匹配精度方面稍显不足,而半全局算法融合了上述两者的长处,使计算复杂度和准确度这看似矛盾的二者达到统一。与传统立体匹配算法相比,基于深度学习的立体匹配算法在精度和计算复杂度上取得了明显的提升,目前深度学习已成为机器视觉领域使用甚广的技术手段,随着深度学习在工业应用上表现出巨大的潜力与价值,基于深度学习的立体匹配算法也逐渐成为大量专家学者的研究热点之一。利用深度学习提取和处理图像特征,可增强算法的鲁棒性,有利于缓解复杂场景中遮挡、光照、旋转和尺度不一致等原因的影响。

2015年,MC-CNN引入卷积神经网络计算匹配代价,使用一对分辨率为9×9的图像块,经孪生结构(Siamese)训练网络,学习图像块间的特征相似性,然后采用基于十字交叉的代价聚合算法进一步优化匹配代价,最终利用一致性检测和亚像素增强等后处理方式进一步减小误差。MC-CNN作为立体匹配的经典算法之一,标志着卷积神经网络应用于立体匹配任务的里程碑。在此基础上,Komodakis和Zagoruyko直接从输入的左右图像中计算一般相似函数,学习图像块的相似性度量。2016年,Luo等人进一步设计了一种多标签分类网络,通过计算局部匹配代价,以提取多个视差的多尺度特征信息。Shaked和Wolf介绍了一种具有多级加权残差级联的网络架构,用于计算匹配代价,并利用第二个CNN来聚合来自不同视差级的全局信息。Gidaris和Komodakis进一步设计了一种新颖的用于视差重建的三阶段网络,通过将新的视差替换所检测的错误视差,在没有后处理的情况下细化更新后的视差图。

随着全卷积神经网络(Fully convolutional network,FCN)的发展,研究者们将端到端网络整合到立体匹配模型中,端到端网络不仅能够学习语义知识,且在大多数基于图像块网络出现故障的情况下能恢复病态区域的视差。Mayer等人提出基于端到端的视差估计(DispNet)和光流(FlowNet)网络,利用一维相关层用于匹配代价计算,并设计了具有级联操作的编码器-解码器结构进行视差回归,此外,他们还提供了一个大型的立体匹配合成数据集SceneFlow,在不过拟合的情况下对端到端立体匹配网络进行预训练。DispNet虽然对遮挡区域的处理效果较好,但仅能得到半分辨率的视差图。Pang等人优化了DispNet,设计了一种级联残差两阶段网络(CRL),第一和第二阶段用于获得初始视差图,然后将两个阶段的输出相加形成最终视差图。Liang等人基于DispNet设计了一个不同的视差细化子网,通过组合这两阶段子网可在特征恒定的基础上进行学习。Zhang等人通过融合多尺度特征来捕获多样的语义信息和细节特征,还可指导网络自适应地关注不可靠区域,最后采用左特征和合成左特征间的一致性检测来重新确定初始视差。DispNet及其变体都是基于二维(Two-dimensional,2D)卷积神经网络,与之相反,Kendall等人提出GC-Net,经保持特征维度的视差级特征连接来构建代价体,以充分融合上下文信息,并使用3D CNN进行代价体正则化,利用编码器-解码器结构降低不可靠区域的误匹配率。受空间金字塔池化(Spatialpyramid pooling,SPP)的启发,Chang等人提出一种新颖的金字塔立体匹配网络(PSMNet),通过聚合不同尺度和位置的上下文来提取全局上下文信息,并使用堆叠的3D沙漏结构来规范代价体,可有效从立体图像中提取几何信息和全局上下文信息,获得了比GC-Net更精细的视差图。Guo等在PSM-Net的基础上进行改进,设计了一个新的立体匹配神经网络GWC-Net,构建了具有组相关的匹配代价,将特征沿着通道维度划分为组形成匹配代价,然后输入到改进的三维沙漏细化网络中,以提高性能并且减少GPU占用率。PDSNet利用3DCNN结构来优化代价体,提出了一种便于应用的立体匹配网络,通过结合亚像素交叉熵损失与MAP估计器,可适用于任何视差范围。经研究证实,融合语义信息有助于立体匹配任务理解空间真实场景。Yang等人适当地将语义分割信息嵌入立体匹配网络,利用语义信息对网络进行指导,有助于纠正视差估计的预测精度,并进行有监督和无监督的训练。EdgeStereo更加关注编码上下文信息,提出了一个骨干网络和边缘子网络组成的多任务学习网络,可有效地融合边缘线索和恢复视差图中缺失的细节。

先前的研究在所有视差水平上构建相关或串联左右特征的代价体,利用2D或3DCNN来回归视差图。Gwc-Net通过分组相关来构建代价体,在减少参数的同时也能保持良好的性能。Jeon等人提出交叉空间金字塔模块(CFP-Net),在不同尺度的空间中聚合上下文信息,并使用两个具有不同感受野的3D反卷积结构执行代价体正则化,相比于SPP和ASPP,该网络在不可靠区域展现出更优越的性能。尽管当前的方法通过提取上下文信息和合并多尺度特征已取得了显着进步,但它们缺乏从通道和空间的角度去关注特征图中的有效信息。MSDC-Net设计了一种多尺度融合2D通道注意力模块,以提取和融合多尺度特征。然而其仅考虑了通道间的关系,而错过了空间上的关注,使网络缺乏对位置信息的重视。此外,MRDA-Net在3D编解码网络末端引入单一池化3D注意力模块整合全局代价体信息,导致网络获取显著信息不充分。注意力模块只添加在整个网络末端,无法做到多模块信息交互。图像特征与代价体之间的维度差异,使网络在特征提取与代价聚合两个模块中缺乏有效协同的注意力机制,对不同对象的显著特征无法做到多模块多层级关注。

发明内容

针对现有技术的不足,本发明提供一种基于深度学习的月面导航影像三维地形重建方法。

一种基于深度学习的月面导航影像三维地形重建方法,具体包括以下步骤:

步骤1:使用月球车导航相机对月面进行多角度拍摄,设置双目镜头对规格以及标定板网格边长,获得月面的立体影像;

步骤2:将月球车导航相机得到的立体影像输入Matlab2016a双目相机标定工具箱进行角点检测;

步骤3:采用张正友双目相机标定算法并结合Matlab2016a双目相机标定工具箱对导航相机的内参数、外参数、两个径向畸变参数、两个切向畸变参数以及两相机间的相对旋转、平移参数进行标定,得到月球车导航相机内外参数和畸变参数结果;

步骤4:建立基于多尺度代价体聚合立体匹配算法;

步骤4.1:设计改进卷积方式的残差模块;

步骤4.1.1:对卷积方式进行改进:先利用常规卷积生成固有特征图,再采用深度卷积扩充特征并增加通道数,通过改进后的卷积方式生产更多的特征图,具体过程如下:

假设输入特征图为

Y=X*f+b (1)

其中,

在该卷积过程中,计算所需FLOPs的数量为n×H'×W'×C×k×k,根据式(1)知,改进卷积方式需优化参数f和b的数量,也就是输入和输出特征图的尺寸;

假设输出特征图包含由常规卷积滤波器生成的固有特征图,m个固有特征图Y'的产生表示为:

Y'=X*f' (2)

其中,

为进一步获得n个特征图,对每个固有特征图Y'执行一系列深度卷积来生成s个特征图,该过程表示为:

式中,y'

步骤4.1.2:改进卷积后残差模块的网络结构设置;

首先构建3个小尺寸的3×3滤波器获取浅层特征,输出特征图尺寸为1/2H×1/2W×32,然后采用基本残差块conv1_x,conv2_x,conv3_x和conv4_x逐像素提取深层语义信息,其中,conv1_x,conv2_x,conv3_x和conv4_x包含的基本残差单元个数分别为3,16,3和3;每个残差单元由两个3×3卷积、批归一化层和线性整流激活层组成,最后级联conv2_x,conv3_x和conv4_x,融合低级结构信息和高级语义信息,构建尺寸为1/4H×1/4W×320的特征表示,输出尺寸均为1/4H×1/4W×320的特征图F

步骤4.2:利用自适应平均池化层将获取的特征图压缩至4个不同的尺度来构建多尺度代价体;

首先,改进卷积的残差模块利用部分常规卷积获取的特征图进行深度卷积操作,来充分提取特征图的内部细节特征,并执行不同尺度的自适应平均池化,即将得到的内部特征压缩到4个不同的比例,用1×1卷积更改特征图大小,构建得到代价体;然后利用串联代价体的思想,在空间特征图不同级别下,级联左右图像特征中的对应通道,将其打包成一个4D张量,构建得到多尺度代价体,多尺度代价体包含计算视差值的所有空间上下文信息;

步骤4.3:设计3D聚合多尺度代价体模块,将多尺度代价体馈送至3D聚合多尺度代价体模块中校正匹配代价值,充分融合不同比例的代价体,保留整个视差范围,获得具有鲁棒性和判别性的多尺度代价体;

3D聚合多尺度代价体模块包含一个预处理结构和3个编码器-解码器结构,所述预处理结构由4个3×3×3 3D卷积层组成,提取低级特征,并为最终视差预测提供细节信息,作为视差图的几何约束;所述编码器-解码器结构进行重复的自上而下和自下而上处理以及中间监督功能,在编码部分执行四次3×3×3 3D卷积,在每一个步长为1的3D卷积层后紧接一个步长为2的3D卷积层进行下采样操作,在特征维度上将下采样代价体和第二个尺度的代价体执行级联操作,并增加一个3D卷积层将特征通道压缩到固定大小,在解码部分利用3D反卷积操作以恢复分辨率,为降低上采样的推理时间,相应减少3D沙漏模块的数量来加快推理进程,此外在预处理结构和编码器-解码器结构使用1×1×1 3D卷积的方式进行跳跃连接。网络具有4个输出,每一个输出单元执行两次3×3×3 3D卷积,获得一个单通道的4D代价体,并应用三线性插值恢复与输入图像大小相同的分辨率H×W×D。

步骤4.4:将多尺度代价体进行聚合和正则化,利用视差回归函数输出预测视差。

首先使用一个步长为2的3D卷积层,将第一个尺度为原始输入图像大小1/4的代价体,下采样到原始输入图像的1/8;然后,在特征维度上将下采样代价体和第二个尺度的代价体执行级联操作,并增加一个3D卷积层将特征通道压缩到固定大小;经过反复操作,将代价体尺寸降低至原始输入图像的1/32,最后,利用3D反卷积操作将代价体逐步上采样到原始输入图像大小的1/4;对于特征维度,从第一个尺度到最后一个尺度依次设置为32,64,128,128,在跳跃连接中应用1×1×1卷积减少网络参数,使用两个堆叠的3D沙漏结构进一步细化代价体,通过输出单元得到视差预测;其中输出单元使用两个3D卷积层以获得一个单通道的4D代价体,然后将该单通道的4D代价体上采样至原始图像分辨率H×W×D,并应用Soft-argmin操作生成最终的视差图。

步骤5:在月球车探测过程中,月球车导航相机在各摄站点所拍摄的立体像对通过张正友相机标定法得出的标定参数进行极线校正处理,获得极线校正后的立体像对;

步骤6:基于深度学习的立体匹配算法,使用KITTI数据集和Scenceflow数据集进行模型训练;

所述KITTI数据集是通过驾驶顶部配有双目摄像头的汽车在城市道路上行驶,该双目摄像头采集了行驶道路上的汽车、路人、路标以及拍摄的建筑物和树木场景图像,包括训练立体图像对和没有视差标签的测试图像对;KITTI包括KITTI 2012以及KITTI 2015,KITTI数据集的视差标签是通过Lidar获得到;

所述Sceneflow数据集采用开源的Blender软件为运动对象设置动画,并将其渲染成数万帧得到的,是一个合成数据集;

对步骤4建立的多尺度代价体聚合立体匹配算法使用PyTorch深度学习框架,在单个Nvidia 2080Ti GPU上进行训练和测试,设置批次大小,采用Adam优化器且设置超参数β

步骤7:通过给多尺度代价体聚合立体匹配算法配置环境,使用该算法对极线校正过的立体像对进行立体匹配,得到的视差信息和视差结果;

步骤8:利用步骤7中基于多尺度代价体聚合立体匹配算法得出的视差信息,来恢复出月面的深度信息即点云信息;其深度恢复过程为:导航相机的双目视觉系统在理想情况下,即左右相机的位置固定且绝对平行,点B是物体表面上的一点,点B在左右相机图像中对应的投影平面位于同一极线,通过构建相似三角形原理则可求得点B和相机间的相对距离H,H为深度值;f

其中x

步骤9:利用点云滤波将不满足要求的点云信息进行剔除;

视差信息在恢复点云模型的过程中,依然存在误匹配的像素点,选用高斯滤波来去除点云模型离群点。高斯滤波通过计算各数据点之间的平均空间距离和标准差后设定一个滤波阈值,将不满足阈值要求的数据点视为噪声及离群点并去除,从而得到滤波后的三维点云模型。

设初始三维点云模型中某数据点的空间坐标为B

B

式(4)中l

设标准差阈值倍数为k,则当

步骤10:利用点云抽稀来降低点云信息的冗余,保持原始点云的特征和细节。

选择采用基于体素网格采样方法来对点云原始数据进行降采样,其基本原理是对待抽稀点云信息进行网格划分,落在每个小立方块区域中的点其重心就代表网格中的所有点,并通过控制网格边长控制降采样的点数。

步骤11:通过点云滤波和抽稀,得到的高精度月面三维地形信息,使用基于隐式曲面重建的泊松算法进行三维重建,最终得到月面地形环境模型;具体操作为:

首先输入点云信息数据,然后利用八叉树对所有空间三维点云信息数据建立拓扑结构,在对物体表面进行重建时为了加快对点云的搜索速度,给建立的八叉树拓扑结构的节点o附加一个混合函数F

式中o.c表示八叉树节点o的中心,o.ω表示节点o的宽度。该混合函数要求满足的条件:对混合函数F

特引入基函数F来描述混合F

对物体表面进行三维重建最重要的是将重建问题转换为对方程进行过求解的问题,将如式(10)函数引入:

F(x,y,z)=(B(x))

式中的*表示卷积符号,*n则表示对n各相同函数进行了卷积操作,将上式中的每个子项B(t)定义为:

由于单个点云数据无法对向量进行计算,因此选用距离最近的8个点进行计算。对这八个点进行线性插值分配,用NgbrD(S)表示当前结点的八个临近节点,用o,s作为插值的权重,通过指示函数代表的表面梯度域函数的向量场近似估计模型表面。

其中:S是点云数据集,s是点集中任一点的K临近区域,NgbrD(S)是节点o的K近邻区域中深度为D的8个节点,

对于给定|θ|维向量v,对于节点o的坐标

采用上述技术方案所产生的有益效果在于:

本发明提供一种基于深度学习的月面导航影像三维地形重建方法,具备以下有益效果:

1、首次提出了基于深度学习的月面导航影像三维地形重建方法。该方法所改进的基于多尺度代价提聚合立体匹配算法不仅在匹配精度上有明显优势,而且在每一个改进模块都降低了计算复杂度,减少了运算过程的时间。

2、在利用本发明月面三维地形重建过程中,使用基于多尺度代价提聚合立体匹配算法与基于经典深度学习PSM算法的点云恢复效果对比,明显可以看出本发明中的点云恢复轮廓更清晰、边缘更明显,表现效果更符合实际情况。

3、本发明重建的月面三维地形模型可以看出,本发明重建效果良好,模型具有很高的鲁棒性。

附图说明

图1为本发明实施例中月面导航影像三维地形重建方法流程图:

图2为本发明实施例中常规卷积操作过程示意图;

图3为本发明实施例中深度卷积操作过程示意图;

图4为本发明实施例中改进的卷积操作过程示意图;

图5为本发明实施例中多尺度代价体结构图;

图6为本发明实施例中多尺度代价体3D聚合融合示意图;

图7为本发明实施例中导航相机立体像对图;

图8为本发明实施例中月面影像原图和视差图结果图;

图9为本发明实施例中深度恢复图。

图10为本发明实施例中点云恢复视差边缘区域效果对比图;

图11为本发明实施例中点云恢复视差平滑区域内效果对比图。

图12为本发明实施例中点云抽稀示意图。

图13为本发明实施例中泊松算法三维重建流程图。

图14为本发明实施例中月面三维地形模型图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

一种基于深度学习的月面导航影像三维地形重建方法,如图1所示,具体包括以下步骤:

步骤1:使用嫦娥三号月球车导航相机对月面进行多角度拍摄,设置双目镜头对规格以及标定板网格边长,获得月面的立体影像;

本实施例中双目镜头对规格设为10×12,标定板网格边长为50mm,得到24对大小为1024×1024像素的立体影像。

步骤2:将嫦娥三号月球车导航相机得到的24对立体影像输入Matlab2016a双目相机标定工具箱进行角点检测;

步骤3:采用张正友双目相机标定算法并结合Matlab2016a双目相机标定工具箱对导航相机的内参数、外参数、两个径向畸变参数、两个切向畸变参数以及两相机间的相对旋转、平移参数进行标定,得到嫦娥三号月球车导航相机内外参数和畸变参数结果,如表1和表2所示。

表1导航相机地面标定结果Table 1Rover navigation camera parameterscalibrated on the ground

表2导航相机的相对位姿参数Table 2Rover navigation camera relative poseparameters

步骤4:基于经典的PSMNet立体匹配算法采用3×3的卷积运算,导致特征提取方式单一、构建代价体未充分利用多尺度信息和全局上下文信息,不能获得对全局的认知,因此建立基于多尺度代价体聚合立体匹配算法;

步骤4.1:设计改进卷积方式的残差模块;通过较低计算复杂度的深度卷积操作来利用冗余特征,提取更完整的显著特征信息。

所述改进卷积方式的残差模块的卷积方式为深度卷积;和改进卷积后残差模块的网络结构设置组成。

常规卷积与深度卷积操作的方式不同,以一张像素为5×5、通道数为3的输入图像为例,存在的差异如图2、图3所示。

常规卷积操作中,卷积核会对整个输入特征图进行遍历,如图2所示,假设输出通道数为4,则卷积核为3×3×3×4,最终输出的特征图尺寸为5×5×4。此时,该卷积操作共有4个滤波器,每个滤波器包含3个大小为3×3的核,那么该卷积操作的参数数量可计算为3×3×3×4=108。

深度卷积的卷积核与输入特征图的通道一一对应,如图3所示,一个卷积核仅作用于一个通道,常规卷积中输出特征图的通道数由卷积核个数决定,与之不同的是,深度卷积中输出特征图的通道数只能与输入特征图的通道数保持一致。因此,当深度卷积的输入与常规卷积相同时,经深度卷积操作,生成尺寸大小为5×5×3的特征图。此时,该卷积操作的每个滤波器中仅包含一个大小为3×3的核,那么该卷积操作的参数数量可计算为3×3×3=27。由此可知,与常规卷积相比,深度卷积操作的参数数量大大减小。

步骤4.1.1:对卷积方式进行改进:先利用常规卷积生成固有特征图,再采用深度卷积扩充特征并增加通道数,通过改进后的卷积方式生产更多的特征图;充分揭示潜在内部特征信息,且大大降低了计算复杂度。具体过程如下:

假设输入特征图为

Y=X*f+b(1)

其中,

在该卷积过程中,计算所需FLOPs的数量为n×H'×W'×C×k×k,由于特征图的个数n和通道个数C通常都很大,为减少参数量,根据式(1)知,改进卷积方式需优化参数f和b的数量,也就是输入和输出特征图的尺寸;而常规卷积提取的特征图,通常包含很多冗余特征;

假设输出特征图包含由常规卷积滤波器生成的固有特征图,m个固有特征图Y'的产生表示为:

Y'=X*f' (2)

其中,

为进一步获得n个特征图,对每个固有特征图Y'执行一系列深度卷积来生成s个特征图,该过程表示为:

式中,y'

步骤4.1.2:改进卷积后残差模块的网络结构设置;

为了保留卷积网络的低级结构特征,且提取左右图像更完整的细节信息,首先构建3个小尺寸的3×3滤波器获取浅层特征,输出特征图尺寸为1/2H×1/2W×32,然后采用基本残差块conv1_x,conv2_x,conv3_x和conv4_x逐像素提取深层语义信息,其中,conv1_x,conv2_x,conv3_x和conv4_x包含的基本残差单元个数分别为3,16,3和3;每个残差单元由两个3×3卷积、批归一化(Batch normalization,BN)层和线性整流(Rectified linearunit,ReLU)激活层组成,最后级联conv2_x,conv3_x和conv4_x,融合低级结构信息和高级语义信息,构建尺寸为1/4H×1/4W×320的特征表示,输出尺寸均为1/4H×1/4W×320的特征图F

表3改进卷积残差模块网络结构的参数设置Table 3Parameter Settings ofimproved convolution residual module network structure

续表3改进卷积残差模块网络结构的参数设置

Table 3Parameter Settings of improved convolution residual modulenetwork structure

步骤4.2:利用自适应平均池化层将获取的特征图压缩至4个不同的尺度来构建多尺度代价体;

由于PSMNet仅使用多尺度特征以固定分辨率构建单一的联合代价体,没有充分考虑立体图像对下的多尺度空间信息,单比例代价体不足以生成立体图像之间可靠的空间关系,因此,设计了一种多尺度代价体,利用多尺度代价体来更好地捕获立体匹配中的全局上下文信息和视差细节。多尺度代价体以串联代价体和联合代价体相互协作,提供比之前工作更准确的相似性度量,最终获得更具鉴别力的特征表示。

与PSMNet提出的联合代价体不同,多尺度代价体使用多尺度空间特征构建匹配代价,以此理解对象与其空间中相邻对象间的对应关系。

首先,改进卷积的残差模块利用部分常规卷积获取的特征图进行深度卷积操作,来充分提取特征图的内部细节特征,并执行不同尺度的自适应平均池化,即将得到的内部特征压缩到4个不同的比例,用1×1卷积更改特征图大小,构建得到代价体;然后利用串联代价体的思想,在空间特征图不同级别下,级联左右图像特征中的对应通道,将其打包成一个4D张量,构建得到多尺度代价体,多尺度代价体包含计算视差值的所有空间上下文信息;

本实施例中为了获得多尺度的特征表示,使用4个尺度的特征图来构建多尺度代价体,多尺度代价体结构图如图5所示,多尺度代价体每个层级的尺寸分别为C×λW×λH×λD,其中

步骤4.3:设计3D聚合多尺度代价体模块,将多尺度代价体馈送至3D聚合多尺度代价体模块中校正匹配代价值,充分融合不同比例的代价体,保留整个视差范围,获得具有鲁棒性和判别性的多尺度代价体;

3D聚合多尺度代价体模块包含一个预处理结构和3个编码器-解码器结构,以捕获不同尺度的上下文信息。所述预处理结构由4个3×3×3 3D卷积层组成,提取低级特征,并为最终视差预测提供细节信息,作为视差图的几何约束;所述编码器-解码器结构进行重复的自上而下和自下而上处理以及中间监督功能,在编码部分执行四次3×3×3 3D卷积,在每一个步长为1的3D卷积层后紧接一个步长为2的3D卷积层进行下采样操作,在特征维度上将下采样代价体和第二个尺度的代价体执行级联操作,并增加一个3D卷积层将特征通道压缩到固定大小,在解码部分利用3D反卷积操作以恢复分辨率,为降低上采样的推理时间,相应减少3D沙漏模块的数量来加快推理进程,此外在预处理结构和编码器-解码器结构使用1×1×1 3D卷积的方式进行跳跃连接。网络具有4个输出,每一个输出单元执行两次3×3×33D卷积,获得一个单通道的4D代价体,并应用三线性插值恢复与输入图像大小相同的分辨率H×W×D。

由于多尺度代价体融合会造成特征信息的缺失,因此,提出引入一种编码器-解码器结构来直接融合不同比例的代价体,捕获更鲁棒的全局特征信息。然而,使用3D沙漏结构时规范上采样代价体需要较长的推理时间,为了使多尺度代价体融合过程降低融合时间和GPU内存的耗费,通过减少3D沙漏模块的数量来加快推理进程。将多尺度代价体融合过程中引入编码器-解码器结构和减少3D沙漏模块的数量整个过程称为3D聚合多尺度代价体模块,3D聚合多尺度代价体模块融合过程如图6所示。构建3D聚合多尺度代价体模块,有利于提取多尺度和大感受野的特征信息,能够获得更丰富的左右图像表征。将构建的多尺度代价体馈送至3D聚合多尺度代价体模块中进行融合后,可以测量到立体像对左右视图像素之间的整体匹配精度。

步骤4.4:将多尺度代价体进行聚合和正则化,利用视差回归函数输出预测视差。

3D聚合多尺度代价体模块其在结构上类似于沙漏网络,通过沿特征维度的级联操作把对应比例的代价体融合到下采样代价体中,使代价体压缩到原始图像大小的1/32。具体操作是,首先使用一个步长为2的3D卷积层,将第一个尺度为原始输入图像大小1/4的代价体,下采样到原始输入图像的1/8;然后,在特征维度上将下采样代价体和第二个尺度的代价体执行级联操作,并增加一个3D卷积层将特征通道压缩到固定大小;经过反复操作,将代价体尺寸降低至原始输入图像的1/32,最后,利用3D反卷积操作将代价体逐步上采样到原始输入图像大小的1/4;对于特征维度,从第一个尺度到最后一个尺度依次设置为32,64,128,128,在跳跃连接中应用1×1×1卷积减少网络参数,使用两个堆叠的3D沙漏结构进一步细化代价体,通过输出单元得到视差预测;其中输出单元使用两个3D卷积层以获得一个单通道的4D代价体,然后将该单通道的4D代价体上采样至原始图像分辨率H×W×D,并应用Soft-argmin操作生成最终的视差图。

步骤5:在嫦娥三号月球车探测过程中,月球车导航相机在各摄站点所拍摄的立体像对通过张正友相机标定法得出的标定参数进行极线校正处理,获得极线校正后的立体像对如图7所示,共8对立体像对。

步骤6:基于深度学习的立体匹配算法,需要大规模的数据集对所设计的网络模型进行训练,使用KITTI数据集和Scenceflow数据集进行模型训练;

所述KITTI数据集是通过驾驶顶部配有双目摄像头的汽车在城市道路上行驶,该双目摄像头采集了行驶道路上的汽车、路人、路标以及拍摄的建筑物和树木场景图像,是一个真实复杂场景下的数据集。KITTI主要包括KITTI 2012以及KITTI 2015,KITTI 2015包括200对分辨率高达376×1240的训练立体图像对和200对没有视差标签的测试图像对;KITTI2012包含194对分辨率高达376×1241的训练立体图像以及195对没有视差标签的测试图像对。KITTI数据集的视差标签是通过Lidar获得到,因此成本高昂,视差标签是稠密的;

所述Sceneflow数据集采用开源的Blender软件为大量复杂运动对象设置动画,并将其渲染成数万帧得到的,因此即使在遮挡区域,信息也是完整的。提供了遮挡环境下的视差;整个数据集不是在真实场景下拍摄得到的,而是一个合成数据集,总共包含了39000个图像对,Sceneflow数据集是数据集中图像的分辨率为960×540,根据场景的不同将其分为了三个子类:FlyingThings3D--该场景由空中漂浮的各类物体组成,物体的个数较多并且经常发生遮挡等较为复杂的情况;Mokka--该场景主要包含猴子和森林中的环境,特征是近处的物体场景多,因此数据集中出现很多的点视差值较大;Driving--该数据集模仿KITTI数据集打造的,包含的是汽车驾驶过程中的街区场景图。

对步骤4建立的多尺度代价体聚合立体匹配算法使用PyTorch深度学习框架,在单个Nvidia 2080Ti GPU上进行训练和测试,设置批次大小为2,采用Adam优化器且设置超参数β

步骤7:通过给多尺度代价体聚合立体匹配算法配置环境,使用该算法对极线校正过的立体像对进行立体匹配,得到的视差信息和视差结果,视差结果如图8所示。

步骤8:利用步骤7中基于多尺度代价体聚合立体匹配算法得出的视差信息,来恢复出月面的深度信息即点云信息;其深度恢复过程为:导航相机的双目视觉系统在理想情况下,即左右相机的位置固定且绝对平行,点B是物体表面上的一点,点B在左右相机图像中对应的投影平面位于同一极线,通过构建相似三角形原理则可求得点B和相机间的相对距离H,H为深度值,如图9所示:

图9中,B为物体表面上的一点,f

其中x

本实施例中将基于多尺度代价体聚合立体匹配算法和PSMNet算法在视差边缘区域和视差平滑区域内分别进行点云数据恢复结果对比:

步骤S1:视差边缘区域;首先分别使用基于多尺度代价体聚合立体匹配算法和PSMNet算法对月面立体影像进行立体匹配获取视差信息;然后将其算法获取的视差信息经过步骤8的深度恢复过程,得到月面立体影像的点云信息;最后选取点云恢复信息的边缘区域,如图10所示,从左至右分别为视差边缘区域影像、点云恢复正视图、PSMNet算法点云恢复侧视图和本文立体匹配算法点云恢复侧视图,其中框内的区域为视差边缘区域。

由图10所示,第1行和第3行中所提算法和PSMNet算法立体匹配点云恢复侧视图可以看出,所提算法视差边缘区域点云恢复更平滑,更符合实际情况,而PSMNet算法点云恢复效果存在波纹状形变;第2行中可以看出所提算法在视差边缘区域形状的效果保持更完整,点云轮廓与实际更相似,而PSMNet算法点云恢复在视差边缘区域侧视图形状是不规则的。因此,可以明显看出所提算法对视差边缘区域的恢复效果较好。

步骤S2:视差平滑区域;首先分别使用基于多尺度代价体聚合立体匹配算法和PSMNet算法对月面立体影像进行立体匹配获取视差信息;然后将其算法获取的视差信息经过步骤8的深度恢复过程,得到月面立体影像的点云信息;最后选取点云恢复信息的平滑区域,如图11所示,从左至右分别为视差平滑区域内影像、PSMNet算法点云恢复和本文算法点云恢复。

由图11所示,第1行和第3行中可以看出,所提算法和PSM算法立体匹配在视差平滑区域内点云恢复相比,所提算法点云恢复轮廓清晰,边缘明显,具有较高的纯净度,表现效果更符合实际情况;第2行可以看出,在越平滑的区域处理效果越不明显,仔细对比,所提算法在视差平滑区域的细节表现效果更突出且符合实际情况。

步骤9:利用点云滤波将不满足要求的点云信息进行剔除;

常用的点云滤波方法有条件滤波、统计滤波和基于随机采样一致性滤波等。由于视差信息在恢复点云模型的过程中,依然存在误匹配的像素点,选用高斯滤波来去除点云模型离群点。高斯滤波通过计算各数据点之间的平均空间距离和标准差后设定一个滤波阈值,将不满足阈值要求的数据点视为噪声及离群点并去除,从而得到滤波后的三维点云模型。

设初始三维点云模型中某数据点的空间坐标为B

B

式(4)中l

设标准差阈值倍数为k,则当

步骤10:利用点云抽稀来降低点云信息的冗余,保持原始点云的特征和细节。

选择采用基于体素网格采样方法来对点云原始数据进行降采样,其基本原理是对待抽稀点云信息进行网格划分,落在每个小立方块区域中的点其重心就代表网格中的所有点,如图12所示,并通过控制网格边长控制降采样的点数。因此,可达到保持原始特征和细节的情况下实现降采样。

步骤11:通过点云滤波和抽稀,得到的高精度月面三维地形信息,使用基于隐式曲面重建的泊松算法进行三维重建,其主要流程图如图13所示,最终得到月面地形环境模型如图14所示。具体操作为:首先输入点云信息数据,然后利用八叉树对所有空间三维点云信息数据建立拓扑结构,在对物体表面进行重建时为了加快对点云的搜索速度,给建立的八叉树拓扑结构的节点o附加一个混合函数F

式中o.c表示八叉树节点o的中心,o.ω表示节点o的宽度。该混合函数要求满足的条件:对混合函数F

特引入基函数F来描述混合F

对物体表面进行三维重建最重要的是将重建问题转换为对方程进行过求解的问题,将如式(10)函数引入:

式中的*表示卷积符号,*n则表示对n各相同函数进行了卷积操作,将上式中的每个子项B(t)定义为:

由于单个点云数据无法对向量进行计算,因此选用距离最近的8个点进行计算。对这八个点进行线性插值分配,用NgbrD(S)表示当前结点的八个临近节点,用o,s作为插值的权重,通过指示函数代表的表面梯度域函数的向量场近似估计模型表面。

其中:S是点云数据集,s是点集中任一点的K临近区域,NgbrD(S)是节点o的K近邻区域中深度为D的8个节点,

对于给定|θ|维向量v,对于节点o的坐标

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号