本发明涉及3d视觉重建,尤其是涉及一种基于视觉transformer的多视觉立体匹配系统及方法。
背景技术:
1、多视图立体视觉(multi-view stereo,mvs)是计算机视觉领域的重要任务,其目标是从一组经过校准的图像中恢复高度详细和密集的三维几何信息。mvs主要涉及从参考视图和源视图之间的对极线上提取稳健特征并准确建立对应关系。与传统方法不同,传统方法通常通过迭代传播和匹配过程来解决实例级别的mvs问题。
2、现有技术中,基于学习的方法一经出现,便成为引人注目的替代方案。这些创新的mvs方法,已经使用端到端的流程,特别是在复杂场景中,能够有效提高重建质量。近期mvsformer因将预训练的视觉transformer模型(vit)用于特征提取,并结合复杂的架构和训练策略而脱颖而出,推动了mvs技术的最新进展。
3、尽管目前基于transformer的mvs方法取得了显著进展,但仍存在一些未解决的问题与挑战:
4、(1)针对不同mvs模块定制的注意机制。在mvs学习框架内,存在两个主要组件:特征编码器和成本体积正则化,由于它们具有不同的特征属性,这些模块不应依赖相同的注意机制。
5、(2)将跨视图信息融入预训练的vit。尽管预训练的vit在mvsformer中提供了显著的提升,但仍然需要在不同视图之间实现基本特征交互。现有的跨视图预训练vit尚未完全解决多视图相关性的复杂性。
6、(3)增强transformer在mvs中的长度外推能力。在mvs的训练和测试阶段,图像的大小存在显著差异。特别是,在更高分辨率下的特征匹配通常能够实现更高的精度。然而,如何使transformer能够有效地泛化到不同的序列长度,以类似于卷积神经网络(cnns),仍然是当前的一个难题。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于视觉transformer的多视觉立体匹配系统及方法,能够确保收敛和泛化能力,有效提高图像重建质量。
2、本发明的目的可以通过以下技术方案来实现:一种基于视觉transformer的多视觉立体匹配系统,包括特征抽取模块和代价矩阵模块,所述特征抽取模块用于提取图像特征、抽取跨视图信息;所述代价矩阵模块通过单应变化将源图片特征变化到参考图片的坐标系下,并且进行特征融合,利用cvt(cost volume transformer,代价体模型)以及3d楔形位置编码(frustoconical positional encoding,fpe)和自适应注意力缩放(adaptiveattention scaling,aas),以得到深度估计结果。
3、进一步地,所述特征抽取模块包括预训练模型dinov2和fpn(feature pyramidnetworks,特征金字塔网络)单元,用于分别从图像中提取dinov2特征和fpn特征,所述预训练模型dinov2连接有sva(side view attention,侧视角注意力)单元,用于抽取跨视图信息,以对dinov2特征进行更新,得到更新特征,将更新特征与fpn特征结合作为图像特征。
4、进一步地,所述sva单元具体是利用标准化的2d位置编码(positional encoding,pe)对dinov2的特征进行位置编码,利用自适应层缩放以及层归一化(layernormalization,ln)来归一化、融合多层特征,利用自注意力和跨注意力机制更新特征,其中,层归一化位于预训练模型dinov2的输出端,并引入可学习的自适应层缩放机制,用于动态调整来自不同层特征的权重;
5、自注意力和跨注意力并联设置于层归一化的输出端,分别对参考和源视图的特征进行编码;
6、标准化的2d位置编码分别设置于自注意力和跨注意力机制中。
7、进一步地,所述代价矩阵模块包括单应变换单元、3d楔形位置编码单元、自适应注意力缩放单元和cvt,所述单应变换单元用于将图像特征投影至参考图片的坐标系,以此构建代价矩阵;
8、所述3d楔形位置编码单元用于对代价体进行位置编码;
9、所述自适应注意力缩放单元用于减轻注意力稀释的影响;
10、所述cvt用于对代价体进行处理,输出得到概率体。
11、一种基于视觉transformer的多视觉立体匹配方法,包括以下步骤:
12、s1、构建基于视觉tansformer的多视觉立体匹配系统网络架构,并获取包含指定场景多视角2d图片以及对应的相机参数、每张图对应深度图的数据集,以确定出训练集和测试集;
13、s2、利用训练集对多视觉立体匹配系统网络架构进行训练:
14、首先选择1张图片作为参考图片、4张其近邻图片作为源图片,分别利用dinov2和fpn提取图像的特征,同时利用sva来抽取跨视图信息,具体而言,利用标准化的2d位置编码对dinov2的特征进行位置编码,利用自适应层缩放以及层归一化来归一化、融合多层特征,利用自注意力和跨注意力机制更新特征,最后将更新的特征和fpn特征结合来作为最终的图像特征;
15、将从源图片抽取的特征通过相机参数以及预设深度范围、利用单应变换矩阵投影到参考图片视角下,以此构建代价矩阵;
16、针对代价矩阵,利用fpe对代价体进行位置编码,利用aas来减轻注意力稀释的影响,最后利用cvt对代价体进行处理得到概率体;
17、使用分类损失来分层级地优化不同层级的概率体;
18、结合动态多尺度策略来高效鲁棒地进行训练;
19、s3、利用测试集对训练后的多视觉立体匹配系统网络架构进行测试,同样选择参考图片以及源图片,并且分别编码其特征,构建并预测出概率体,根据概率体和假设深度范围来得到最终的参考图片的深度图;
20、将多视角的深度图通过gipuma的深度融合方法进行深度融合和点云生成。
21、进一步地,所述步骤s2中源图与参考图片之间的角度差在预设阈值范围内。
22、进一步地,所述步骤s2在构建得到代价矩阵后,将所有嘈杂的代价矩阵视为一个全局序列特征,然后通过纯transformer行处理,具体而言,首先通过一个非重叠的分块卷积层对代价矩阵进行下采样,得到其中d、h、w表示深度、高度和宽度的维度,c是代价矩阵通道数,随后,代价矩阵被重新排列为形状为(c×dhw)的形式,将dhw看作是transformer块学习到的全局序列,基于flashattention,消除普通注意力的二次复杂度,最后,输出特征通过另一个非重叠的转置卷积层上采样到原始大小,以获得原始分辨率的深度估计。
23、进一步地,所述步骤s2中分类损失具体使用交叉熵损失来优化最终的深度图,并且通过argmax来得到最终的深度图输出:
24、
25、即将深度预测当做一个d个深度平面的分类问题,每个像素从d个候选深度平面里选择一个目标类别进行分类。
26、进一步地,所述步骤s2中结合动态多尺度策略进行训练的具体过程为:沿用mvsformer训练的策略,动态地使用512~1280的分辨率进行训练,图片的高宽比则从0.67~0.8随机选择;同时使用基于梯度累计的动态batch结合动态分辨率训练,以达成大batch的优化以及更快收敛的目的,通过将大图片的输入分割为几个子batch,并且累计各子batch的梯度结果,进行平均后的统一参数优化,以达到模拟大batch优化的过程。
27、进一步地,所述步骤s3中深度融合和点云生成的具体过程为:在获取每个视角的深度图之后,以预设的置信度阈值过滤深度图,将2d坐标点根据参考视角的深度图d_0投影到3d空间,并将3d空间的点投影到源视图中,再根据投影到源视图的2d点结合其深度再次投影到3d空间中得到新的3d点,最后将新的3d点投影到参考视图,以计算重投影一致度系数,当重投影一致性小于0.1的视角达到2个或以上,即可保留该点云,由此通过上述深度融合过程得到目标点云。
28、与现有技术相比,本发明具有以下优点:
29、本发明设计特征抽取模块和代价矩阵模块,其中,特征抽取模块将强大的预训练模型dinov2作为特征编码器,为了增强dinov2的跨视图学习能力,本发明还设计侧视角注意力sva模块,它包括使用线性注意机制的自注意和跨视图注意模块,并确定了标准化的2d位置编码(pe)、自适应层缩放以及层归一化(ln)的顺序在特征提取中发挥的关键作用,从而确保稳定的收敛和泛化能力;代价矩阵模块则通过单应变化将源图片特征变化到参考图片的坐标系下,并且进行特征融合,利用cvt以及3d楔形位置编码和自适应注意力缩放,以实现可靠的深度估计、提高重建质量。
30、本发明通过sva模块将跨视图信息注入预训练的dinov2模型,以促进mvs学习,针对特征编码器和代价体积正则化采用不同的注意力机制,以分别侧重于特征和空间聚合,此外在sva模块中设计标准化2d位置编码、自适应注意力缩放和层归一化的顺序位置,能够显著增强多层堆叠多层transformer时的训练稳定性,利用sva模块来有效地捕获来自不同视图的特征之间广泛的全局上下文信息,sva作为一个边侧调整模块,它可以独立训练,不需要任何梯度通过冻结的dinov2,通过自注意力和跨注意力对参考和源视图的特征进行编码,则能够有效节省计算量、且不会导致性能下降。
31、本发明在代价体矩阵模块中设计fpe对代价体进行位置编码,利用aas来减轻注意力稀释的影响,能够大大增强cvt对高分辨率图像的泛化能力。
32、本发明利用2d图像以及对应的位姿数据集以及对应的深度图进行训练,来预测每个视角的深度图;推断时通过输入多视角的2d图像以及对应的相机位姿推断出各个视角的深度图,并利用多视角的深度图来融合过滤得到稠密的三维点云,能够显著提高最终的重建质量,特别是减少离群值的数量。
1.一种基于视觉transformer的多视觉立体匹配系统,其特征在于,包括特征抽取模块和代价矩阵模块,所述特征抽取模块用于提取图像特征、抽取跨视图信息;所述代价矩阵模块通过单应变化将源图片特征变化到参考图片的坐标系下,并且进行特征融合,利用cvt以及3d楔形位置编码fpe和自适应注意力缩放aas,以得到深度估计结果。
2.根据权利要求1所述的一种基于视觉transformer的多视觉立体匹配系统,其特征在于,所述特征抽取模块包括预训练模型dinov2和fpn单元,用于分别从图像中提取dinov2特征和fpn特征,所述预训练模型dinov2连接有sva单元,用于抽取跨视图信息,以对dinov2特征进行更新,得到更新特征,将更新特征与fpn特征结合作为图像特征。
3.根据权利要求2所述的一种基于视觉transformer的多视觉立体匹配系统,其特征在于,所述sva单元具体是利用标准化的2d位置编码pe对dinov2的特征进行位置编码,利用自适应层缩放以及层归一化ln来归一化、融合多层特征,利用自注意力和跨注意力机制更新特征,其中,层归一化位于预训练模型dinov2的输出端,并引入可学习的自适应层缩放机制,用于动态调整来自不同层特征的权重;
4.根据权利要求1所述的一种基于视觉transformer的多视觉立体匹配系统,其特征在于,所述代价矩阵模块包括单应变换单元、3d楔形位置编码单元、自适应注意力缩放单元和cvt,所述单应变换单元用于将图像特征投影至参考图片的坐标系,以此构建代价矩阵;
5.一种应用如权利要求1所述基于视觉transformer的多视觉立体匹配系统的多视觉立体匹配方法,其特征在于,包括以下步骤:
6.根据权利要求5所述的一种多视觉立体匹配方法,其特征在于,所述步骤s2中源图与参考图片之间的角度差在预设阈值范围内。
7.根据权利要求5所述的一种多视觉立体匹配方法,其特征在于,所述步骤s2在构建得到代价矩阵后,将所有嘈杂的代价矩阵视为一个全局序列特征,然后通过纯transformer行处理,具体而言,首先通过一个非重叠的分块卷积层对代价矩阵进行下采样,得到其中d、h、w表示深度、高度和宽度的维度,c是代价矩阵通道数,随后,代价矩阵被重新排列为形状为(c×dhw)的形式,将dhw看作是transformer块学习到的全局序列,基于flashattention,消除普通注意力的二次复杂度,最后,输出特征通过另一个非重叠的转置卷积层上采样到原始大小,以获得原始分辨率的深度估计。
8.根据权利要求5所述的一种多视觉立体匹配方法,其特征在于,所述步骤s2中分类损失具体使用交叉熵损失来优化最终的深度图,并且通过argmax来得到最终的深度图输出:
9.根据权利要求5所述的一种多视觉立体匹配方法,其特征在于,所述步骤s2中结合动态多尺度策略进行训练的具体过程为:沿用mvsformer训练的策略,动态地使用512~1280的分辨率进行训练,图片的高宽比则从0.67~0.8随机选择;同时使用基于梯度累计的动态batch结合动态分辨率训练,以达成大batch的优化以及更快收敛的目的,通过将大图片的输入分割为几个子batch,并且累计各子batch的梯度结果,进行平均后的统一参数优化,以达到模拟大batch优化的过程。
10.根据权利要求5所述的一种多视觉立体匹配方法,其特征在于,所述步骤s3中深度融合和点云生成的具体过程为:在获取每个视角的深度图之后,以预设的置信度阈值过滤深度图,将2d坐标点根据参考视角的深度图d_0投影到3d空间,并将3d空间的点投影到源视图中,再根据投影到源视图的2d点结合其深度再次投影到3d空间中得到新的3d点,最后将新的3d点投影到参考视图,以计算重投影一致度系数,当重投影一致性小于0.1的视角达到2个或以上,即可保留该点云,由此通过上述深度融合过程得到目标点云。
