掌桥专利:专业的专利平台
掌桥专利
首页

立体匹配方法、装置、设备及存储介质

文献发布时间:2023-06-19 11:22:42


立体匹配方法、装置、设备及存储介质

技术领域

本发明涉及计算机立体视觉技术领域,具体涉及一种立体匹配方法、装置、设备及存储介质。

背景技术

随着人工智能和计算机技术的快速发展,用机器视觉代替人眼来做测量和判断的技术日渐成为人们的研究重点。它能提高生产的灵活性和自动化程度,特别适用于一些不适合人工作业的危险工作环境或者人工视觉难以满足要求的场合。而作为机器视觉的一个重要分支,双目立体视觉(Binocular Stereo Vision)具有效率高、精度合适、系统结构简单、成本低等优点,在虚拟现实、机器人导航及非接触式测量等许多方向均极具应用价值。

双目立体视觉通过模拟人的视觉系统来处理现实世界,其步骤主要由4个阶段组成,它们分别是:离线相机标定,得到相机的内外参数,畸变系数等;矫正,去除光学畸变带来的影响,将双目相机变为标准模式;立体匹配,获取视差图;3D距离计算,根据视差图计算物体实际深度信息。

立体匹配是双目立体视觉的一个重点与难点,目前国内外对此的研究十分活跃,立体匹配的输入是两张经过标准化的左右图像,它们仅仅在水平方向上有差异,更具体而言,假设一个实际物体上的某一点在左图成像的位置是(x,y),在右图成像是(a,b),有x≤a,y=b。现有的用于立体匹配的卷积神经网络算法通常在物体边缘处表现不好,在物体边缘处出现错匹配现象,从而影响立体匹配的进度和效率。

因此,现有技术有待于改进和发展。

发明内容

本发明要解决的技术问题在于,针对现有技术的不足,提供一种立体匹配方法、装置、设备及存储介质,以解决现有技术中用于立体匹配的卷积神经网络算法通常在物体边缘处表现不好,在物体边缘处出现错匹配现象,从而影响立体匹配的进度和效率的技术问题。

为了达到上述目的,本发明采取了以下技术方案:

第一方面,本发明实施例提供了一种立体匹配方法,所述方法包括:

获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像;

分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图;

将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图;

根据所述目标左特征图和所述目标右特征图得到立体图。

作为进一步的改进技术方案,所述卷积神经网络模块第一模块和第二模块,所述第一模块和所述第二模块均包括第一单元、第二单元、权重计算单元、相乘单元以及相加单元,所述第一单元、所述第二单元、所述权重计算单元、所述相乘单元以及所述相加单元依次连接。

作为进一步的改进技术方案,所述将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图具体包括:

将所述第一左特征图和所述第二特征图分别输入至所述第一单元,以得到所述第一左特征图对应的第二左特征图、以及所述第一右特征图对应的第二右特征图;

将所述第二左特征图和所述第二右特征图分别输入至所述第二单元,以得到所述第二左特征图对应的第三左特征图、以及所述第二右特征图对应的第三右特征图;

将所述第三左特征图和所述第三右特征图输入至所述权重计算单元,分别得到第四左特征图和第四右特征图;

将所述第四左特征图和所述第二左特征图输入至所述相乘单元,以得到第五左特征图;

将所述第四右特征图和所述第二右特征图输入至所述相乘单元,以得到第五右特征图;

将所述第五左特征图和所述第一左特征图输入至所述相加单元,以得到目标左特征图;

将所述第五右特征图和所述第一右特征图输入至所述相加单元,以得到目标右特征图。

作为进一步的改进技术方案,所述第一单元包括包括两个第三单元,所述第三单元包括一个2D卷积层和1个激活函数。

作为进一步的改进技术方案,所述2D卷积层的卷积核大小为3×3;所述激活函数为ReLu。

作为进一步的改进技术方案,所述将所述第三左特征图和所述第三右特征图输入至所述权重计算单元,分别得到第四左特征图和第四右特征图具体包括:

针对所述第三左特征图上的每个像素点,将该像素点与第三右特征图上处于同行且满足指定范围的的像素点进行计算,以得到与该像素点差值最小的第一像素点,根据所述第一像素点计算该像素点的权重,并得到第四左特征图;

针对所述第三右特征图上的每个像素点,将该像素点与第三左特征图上处于同行且满足指定范围的的像素点进行计算,以得到与该像素点差值最小的第二像素点,根据所述第二像素点计算该像素点的权重,并得到第四右特征图。

作为进一步的改进技术方案,所述权重的计算公式为:

1-sigmoid(M),其中,M为最小差值的像素点。

第二方面,本发明实施例提供了一种立体匹配装置,所述装置包括:

获取模块,用于获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像;

提取模块,用于分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图;

数据模块,用于将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图;

匹配模块,用于根据所述目标左特征图和所述目标右特征图得到立体图。

第三方面,本发明实施例提供了一种立体匹配设备,所述设备包括:处理器和存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;

所述通信总线实现所述处理器和所述存储器之间的连接通信;

所述处理器执行所述计算机可读程序时实现如上任意一项所述的立体匹配方法中的步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的立体匹配方法中的步骤。

有益效果:与现有技术相比,本发明提供了一种立体匹配方法、装置、设备及存储介质,所述方法包括:获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像;分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图;将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图;根据所述目标左特征图和所述目标右特征图得到立体图,从而达到更精准的匹配,同时也提高了匹配效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的立体匹配方法的较佳实施例的流程图;

图2为本发明提供的立体匹配方法的较佳实力的整个执行过程的流程示意图;

图3为本发明提供的立体匹配方法中卷积神经网络模块的示意图;

图4为本发明提供的立体匹配方法中步骤S200的较佳实施例的流程图;

图5为本发明提供的立体匹配装置较佳实施例的结构示意图;

图6为本发明提供的立体匹配设备的较佳实施例的结构原理图。

具体实施方式

本发明提供一种立体匹配方法、装置、设备及存储介质,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

本实施例提供了一种立体匹配方法,如图1和图2所示,所述方法包括:

S100、获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像。

本实施例中,通过双目相机获取原始图像对,其中,所述图像对包括左图像和右图像,本发明通过接下来的步骤对所述左图像和所述右图像进行相应的计算以及处理,从而可以立体图。

S200、分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图。

本发明实施例中,使用两个残差卷积神经网络,各自提取左图像和右图像的图像特征,两个残差卷积网络的结构相同,且共享网络参数;残差卷积神经网络包含多个卷积层,每个卷积层后面接一个处理归一化层和非线性激活函数层,左右图像各自输入至残差卷积神经网络后,通过前端的若干卷积层进行预处理并将图像的高和宽分别缩减至原来的二分之一;残差卷积神经网络末端的若干卷积层使用了空洞卷积网络。

S300、将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图。

本实施例中,如图3所示,所述卷积神经网络模块第一模块和第二模块,所述第一模块和所述第二模块均包括第一单元、第二单元、权重计算单元、相乘单元以及相加单元,所述第一单元、所述第二单元、所述权重计算单元、所述相乘单元以及所述相加单元依次连接。

进一步地,所述将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图具体包括:

将所述第一左特征图和所述第二特征图分别输入至所述第一单元,以得到所述第一左特征图对应的第二左特征图、以及所述第一右特征图对应的第二右特征图;

将所述第二左特征图和所述第二右特征图分别输入至所述第二单元,以得到所述第二左特征图对应的第三左特征图、以及所述第二右特征图对应的第三右特征图;

将所述第三左特征图和所述第三右特征图输入至所述权重计算单元,分别得到第四左特征图和第四右特征图;

将所述第四左特征图和所述第二左特征图输入至所述相乘单元,以得到第五左特征图;

将所述第四右特征图和所述第二右特征图输入至所述相乘单元,以得到第五右特征图;

将所述第五左特征图和所述第一左特征图输入至所述相加单元,以得到目标左特征图;

将所述第五右特征图和所述第一右特征图输入至所述相加单元,以得到目标右特征图。

具体来说,所述第一单元包括包括两个第三单元,所述第三单元包括一个2D卷积层和1个激活函数,所述2D卷积层的卷积核大小为3×3,输出通道数为16;所述激活函数为ReLu。本实施例中,通过两个卷积核大小为3×3,输出通道数为16的2D卷积层以及激活函数将所述第一左特征图和所述第一右特征图进行聚合,以得到第二左特征图和所述第二右特征图。在实际应用中,输入的是卷积神经网络特征提取阶段任意中间层的左右两张特征图(第一左特征图和第一右特征图),它们它们的大小均为C×H×W,C、H、W分别表示特征图的通道数,高度,宽度。将得到的第二左特征图和第二右特征图通过1个2D卷积层以聚合信息,之后分别通过一个输出通道数为1,卷积核大小为1的特殊卷积层将通道数降低至1以获取两张对应的中间特征图(第三左特征图和第三右特征图),将后一个卷积层的输出(输出是两与原特征图大小相同的特征图,由于经过了激活函数ReLu,该两输出特征图上各点的值均≥0)通过一个输出通道数为1,卷积核大小为1的特殊卷积层将通道数降低至1以获取中间特征图。该两张中间特征图将用于权重矩阵的计算,由于通道数为1,相比于通道数没有降低至1的左右两特征图来说让权重矩阵的计算速度大大加快。

在实际应用中,将本申请的卷积神经网络模块替换掉PSMNet的特征提取网络的前3层,则输出通道数可以是32;若将本申请的卷积神经网络模块替换掉PSMNet的特征提取网络的后3层,则输出通道数可以是128;在一个较佳实施例中,将本申请的卷积神经网络模块替换掉PSMNet的特征提取网络的后6层,那么输出通道数为128。需要说明的是,输出通道数可以根据实际需求而改变,本发明不加以限定。

进一步地,具体的过程请参阅图4,其为本发明提供的立体匹配方法中步骤S300的流程图。

如图4所示,所述将所述第三左特征图和所述第三右特征图输入至所述权重计算单元,分别得到第四左特征图和第四右特征图具体包括:

S301、针对所述第三左特征图上的每个像素点,将该像素点与第三右特征图上处于同行且满足指定范围的的像素点进行计算,以得到与该像素点差值最小的第一像素点,根据所述第一像素点计算该像素点的权重,并得到第四左特征图;

S302、针对所述第三右特征图上的每个像素点,将该像素点与第三左特征图上处于同行且满足指定范围的的像素点进行计算,以得到与该像素点差值最小的第二像素点,根据所述第二像素点计算该像素点的权重,并得到第四右特征图。

本实施例中,所述权重的计算公式为:1-sigmoid(M),其中,M为最小差值的像素点。

具体来说,本发明根据两中间特征图(第三左特征图和第三右特征图)计算出左右两权重矩阵,方式为对每一中间特征图上的所有点,在另一中间特征图同一行,人为指定范围内搜索与其相减的绝对值最小的点,从而,与该点相减的绝对值最小的点与该点最为“相似”,并根据这个最小值计算该点的权重,最小值越小的点权重越大,假设该最小值为M,那么该点的权重为1-sigmoid(M)。可选地,所述指定范围初始为192,即初始的时候搜索的范围为192个像素点,随着网络的下采样而同步下采用,初始范围为超参数,可根据实际需求进行调整。

进一步地,本实施例中,将所述第四左特征图和所述第二左特征图输入至所述相乘单元,通过所述相乘单元将所述第四左特征图和所述第二左特征图做逐像素的点积,获得初步的输出特征图,由于计算出的第四特征图与所述第二左特征图的任一通道的大小都相同,假设第二左特征图的通道数为C,点积的操作是将第四左特征图在通道维上复制C份,使它们的大小完全相同,之后将对应位置的元素直接相乘,然后根据结果来抑制两输入特征图的那些包含视差边缘的特征。同理,将所述第四右特征图和所述第二右特征图输入至所述相乘单元,通过所述相乘单元将所述第四右特征图和所述第二右特征图做逐像素的点积,获得初步的输出特征图,由于计算出的第四右特征图与所述第二右特征图的任一通道的大小都相同,假设第二右特征图的通道数为C,点积的操作是将第四特征图在通道维上复制C份,使它们的大小完全相同,之后将对应位置的元素直接相乘,然后根据结果来抑制两输入特征图的那些包含视差边缘的特征。

进一步地,本发明通过将两初步的输出特征图(第五左特征图和第五右特征图)分别与两输入特征图(第一左特征图和第一右特征图)原来的值相加得到最终输出特征图(目标左特征图和目标右特征图)。由于初步的输出特征图与输入特征图大小完全相同,因此该操作为将对应位置的点直接相加。这样做维持了常用卷积神经网络模块的残差结构,好处是有助于深度神经网络反向传播的进行。

本实施例中,最后逐像素的与两输入特征图原来的值相加以构建残差结构,该残差结构的输出即为模块的输出。该模块通过抑制包含视差边缘的特征改善了视差估计网络在物体边缘处的表现,并且该模块基于常用的卷积神经网络模块构建而成,在将常用的模块替换为该模块后,网络会极低程度地降低推断速度而较高程度地提高精度。常用的卷积神经网络模块是广泛应用于各任务的,本发明实施例在常用的模块的结构不变的前提下,针对立体匹配任务额外添加了耗时极低的权重矩阵的计算和应用。在对KITTI2015图片集进行立体匹配时,应用了本发明所提出的模块的PSMNet的精度提高了原来的8.62%,而计算所需时间仅仅提高了0.016s。

S400、根据所述目标左特征图和所述目标右特征图得到立体图。

本实施例中,最后会根据所述目标左特征图和所述目标右特征图得到立体图。需要说明的是,该步骤为现有技术,在此不再赘述。

综上所述,与现有技术相比,本发明实施例具有以下优点:

本发明公开了一种立体匹配方法,所述方法包括:获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像;分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图;将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图;根据所述目标左特征图和所述目标右特征图得到立体图,从而达到更精准的匹配,同时也提高了匹配效率。

基于上述立体匹配方法,本发明还提供了一种立体匹配装置,如图5所示,所述装置包括:

获取模块41,用于获取通过双目相机得到的原始图像对,所述图像对包括左图像和右图像;

提取模块42,用于分别提取所述左图像和所述右图像各自对应的第一左特征图和第一右特征图;

数据模块43,用于将所述第一左特征图和所述第一右特征图分别输入至卷积神经网络模块,以得到所述第一左特征图对应的目标左特征图、以及所述第一右特征图对应的目标右特征图;

匹配模块44,用于根据所述目标左特征图和所述目标右特征图得到立体图。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述立体匹配装置和各模块的具体实现过程,可以参考前述立体匹配方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述立体匹配装置可以实现为一种计算机程序的形式,该计算机程序可以如图6所示的立体匹配设备上运行。

基于上述立体匹配方法,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的立体匹配方法中的步骤。

基于上述立体匹配方法,本发明还提供了一种立体匹配设备,如图6所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 立体匹配方法、装置、设备及存储介质
  • 自适应立体匹配优化方法及其装置、设备和存储介质
技术分类

06120112900110