基于双目视觉的场景解析方法、机器人及存储装置
技术领域
本申请涉及机器人行业的视觉识别技术领域,特别是涉及一种基于双目视觉的场景解析方法、机器人以及存储装置。
背景技术
双目视觉由于可以克服外部环境中主动光源的干扰,因而成为一种常用的视觉系统解决方案,在机器人、无人机中应用的越来越多。同时,由于机器人、无人机等需要在复杂多变、不确定或不受控制的环境下自主运行,必须具备对周遭环境和事物高效的识别、感知、理解、判断及行动能力,这些因素使得机器人和无人机对于视觉系统的依赖和要求越来越高。因此需要一套能使机器人、无人机对周遭环境和事物进行高效识别和感知的视觉系统。目前基于双目视觉的场景解析方法往往通过两个独立的子任务分别完成深度估计和语义分割,在对现有技术的研究和实践过程中,本发明的发明人发现这类场景解析方法计算冗杂,非常消耗计算资源,而且使用起来也较为繁琐。
发明内容
本发明主要解决的技术问题是如何提高计算效率,加快计算速度,提高计算精度。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于双目视觉的场景解析方法,所述方法包括:获取所述双目视觉对应的第一原始图像和第二原始图像,并分别提取所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征;将所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征进行组合,并进行深度估计运算后输出所述第一原始图像基于所述组合的多尺度特征的初级深度估计信息;使用所述第一原始图像的多尺度特征进行语义分割计算,并输出所述第一原始图像对应的初级语义分割信息;将所述初级深度估计信息、所述初级语义分割信息和所述第一原始图像的多尺度特征进行融合,然后输出最终的深度估计信息和语义分割信息。
其中,所述分别提取所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征的步骤包括:通过采用相同的计算方式分别提取所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征。
其中,所述分别提取所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征的步骤包括:通过基于ImageNet数据集里所定义的公开的计算方式进行提取或者基于所述ImageNet数据集自定义计算方式进行提取。
其中,将所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征进行组合,并进行深度估计运算的步骤包括:将所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征以无监督学习的方式进行深度估计运算。
其中,所述将所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征以无监督学习的方式进行深度估计运算的步骤包括:将所述第一原始图像的多尺度特征和所述第二原始图像的多尺度特征的组合,并计算出所述第一原始图像的初级深度估计信息;通过所述第一原始图像以及所述第一原始图像的初级深度估计信息重建所述第二原始图像对应的第二重建图像;利用所述第二原始图像和所述第二重建图像构建损失函数,并通过所述损失函数进行无监督学习。
其中,所述利用所述第二原始图像和所述第二重建图像构建所述损失函数的步骤包括:通过所述第二重建图像与所述第二原始图像间的结构相似性和图像像素值均方误差进行构建。
其中,所述使用所述第一原始图像的多尺度特征进行语义分割计算的步骤包括:对所述第一原始图像的多尺度特征进行编码,以逐渐提取所述第一原始图像的高维语义信息;对所述高维语义进行解码,以逐渐获得所述初始语义分割信息的细节和空间维度。
其中,所述对所述高维语义进行解码,以逐渐获得所述初始语义分割信息的细节和空间维度的步骤包括:通过反卷积的计算方式逐步获得所述初始语义分割信息的细节和空间维度。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种机器人,包括:处理器和存储器,所述存储器存储程序数据,所述程序数据能够被所述处理器执行以实现上述场景解析方法。
为解决上述技术问题,本发明采用的又一个技术方案是:提供一种存储装置,其上存储有程序数据,所述程序数据能够被执行以实现上述场景解析方法。
以上方案,通过将提取的第一原始图像与第二原始图像的多尺度特征,分别进行深度估计运算与语义分割计算,并将得到的深度估计信息、语义分割信息与图像的多尺度特征进行融合,从而输出最终的深度估计和语义分割信息。实现了仅通过一次输入就可以同时进行两个方面的子运算,从而输出两个子运算融合后的场景解析图像,这样不仅简化了大量的数据运算,提高计算效率,加快计算速度,而且融合了两个子任务的计算,得到的场景解析图像也较传统方法计算的图像更加光滑,细节更加清晰,输出结果更加精确,同时也简化了操作,提高了场景识别效率和精度。
附图说明
图1是本申请基于双目视觉的场景解析方法一实施例的流程图;
图2是本申请深度估计无监督学习方式流程示意图;
图3是语义分割网络的结构示意图;
图4是本发明场景解析方法的整体网络架构示意图;
图5是本发明机器人一实施例的结构示意图;
图6是本发明存储装置的结构示意图。
具体实施方式
下面结合附图和实施方式对本发明进行详细说明。
请参阅图1,图1是本申请基于双目视觉的场景解析方法一实施例的流程图。需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
S101:获取双目视觉对应的第一原始图像和第二原始图像,并分别提取第一原始图像的多尺度特征和第二原始图像的多尺度特征。
其中,双目视觉是模拟人类视觉原理,基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。在本实施例中,成像设备所获取的两副图像分别为第一原始图像和第二原始图像。
进一步地,采用相同的计算方式分别提取第一原始图像的多尺度特征和第二原始图像的多尺度特征。具体地,提取第一原始图像的多尺度特征和第二原始图像的多尺度特征是采用相同的方法来同时提取的,即第一原始图像和第二原始图像在提取过程中共享权重。
进一步地,提取第一原始图像的多尺度特征和第二原始图像的多尺度特征是通过基于ImageNet数据集所定义的公开的计算方式进行提取或者基于ImageNet数据集自定义计算方式进行提取。ImageNet数据集是目前广泛使用的一个图像数据集,Imagenet数据集有1400多万幅图片,是目前深度学习图像领域应用得非常多的一个领域,关于图像分类、定位、检测等研究工作大多基于此数据集展开,利用Imagenet数据集里默认的计算方式或者通过Imagenet数据集自定义的计算方式有较好的提取特征的能力。具体地,首先搭建一个基础网络,基础网络可以采用ResNeXt-101+FPN(feature pyramid networks,特征金字塔网络),或者VGG16/VGG19/ResNet152+FPN等多种形式,然后利用ImageNet数据集里预训练的模型对基础网络进行初始化训练,使得基础网络对应获得数据集所定义的公开的计算方式,或者利用ImageNet数据集对基础网络进行自定义训练,使得基础网络对应获得自定义的计算方式来提取第一原始图像和第二原始图像的多尺度特征。
进一步地,基础网络可以根据使用的计算平台和计算资源来进行选择。如果计算资源丰富、计算平台计算能力强,则可以选择较大型的网络来提取丰富的特征,例如:选择ResNeXt-101(Aggregated residual transformations for deep neural networks,深度神经网络的聚合残差变换)+FPN(feature pyramid networks,特征金字塔网络)、VGG16(Very deep convolutional networks for large-scale image recognition,用于大规模图像识别的非常深的卷积网络)/VGG19/ResNet101(Deep residual learning forimage recognition,深度残差网络)/ResNet152+FPN等;如果计算资源有限,计算平台计算能力弱,则可以选择针对嵌入式平台的轻量网络,例如:选择MobileNet+FPN(Efficientconvolutional neural networks for mobile vision applications,用于移动视觉应用的高效卷积神经网络)、ShuffleNet+FPN(An extremely efficient convolutionalneural network for mobile devices,用于移动设备的非常高效的卷积神经网络)等。
S102:将第一原始图像的多尺度特征和第二原始图像的多尺度特征进行组合,并进行深度估计运算后输出第一原始图像基于组合的多尺度特征的初级深度估计信息。
其中,将第一原始图像的多尺度特征和第二原始图像的多尺度特征进行组合的方式为将第二原始图像的多尺度特征放在第一原始图像的多尺度特征后,即进行有序的拼接在一起。
进一步地,将第一原始图像的多尺度特征和第二原始图像的多尺度特征以无监督学习的方式进行深度估计运算。其中,无监督学习方式对应有监督学习方式,有监督学习方式是对于输入信息有一一对应的提前准备好的输出,而无监督学习方式因为输出结果难以大量的准备或获取,因而没有一一对应好的输出,采用无监督学习方式需要对深度估计网络进行大量的数据训练,从而得到更多的计算方式。本实施例中,采用无监督学习方式的好处在于:无监督学习方式不需要标注数据,由深度估计网络利用双目立体视觉中的左右一致性原则计算得出第一原始图像基于组合的多尺度特征的初级深度估计信息,避免了标注数据采用高精度的激光雷达进行采集,成本高,获取难度大,极消耗资源的缺点。
具体地,请参阅图2,图2是本申请深度估计无监督学习方式流程示意图。进行无监督学习方式进一步包括以下步骤:
S102a:根据组合的多尺度特征计算出第一原始图像的初级深度估计信息。
S102b:通过第一原始图像以及第一原始图像的初级深度估计信息重建第二原始图像对应的第二重建图像。重建方法是根据计算的初级深度估计信息计算图像视差,计算方式是z=fb/d,z是深度估计信息,d是视差,f是相机的焦距,b是左右相机间的距离,也即基线。图像视差是融合第一原始图像和第二原始图像,并观察它们之间的差别,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,从而获得明显的深度感。
在本实施例中,通过第一原始图像以及第一原始图像的初级深度估计信息重建第二原始图像对应的第二重建图像,具体做法为:根据第一原始图像和第一原始图像的初级深度估计信息两幅输入图像,对于第一原始图像中的一个点p,对应的初级深度估计信息中的视差值是d1,那么p在第二原始图像中的对应点应该是(p-d1),即第二重建图像中像素点(p-d1)的像素值与第一原始图像中点p的像素值一样,根据本原理可重建出第二重建图像。
S102c:利用第二原始图像和第二重建图像构建损失函数,并通过损失函数进行无监督学习。
进一步地,构建损失函数的步骤包括:通过第二重建图像与第二原始图像间的结构相似性和图像像素值均方误差进行构建。结构相似性是一种衡量两幅图像相似度的指标。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Imageand Video Engineering)提出。采用这种方法的优点在于,这种计算方式无需大量高精度的标记数据,极大降低了数据准备难度和方法应用难度。
S103:使用第一原始图像的多尺度特征进行语义分割计算,并输出第一原始图像对应的初级语义分割信息。
其中,使用第一原始图像的多尺度特征进行语义分割计算的步骤包括:对第一原始图像的多尺度特征进行编码,以逐渐提取第一原始图像的高维语义信息;对高维语义进行解码,以逐渐获得初始语义分割信息的细节和空间维度。具体地,语义分割网络采用编码器-解码器结构,将基础网络提取的第一原始图像的多尺度特征作为输入,通过编码器逐渐提取第一原始图像的高维语义信息,由于编码器和解码器是利用直接的信息连接,从而第一原始图像的高维语义信息输入解码器,解码器对高维语义信息进行解码,从而获得初级语义分割信息的细节和空间维度。
请参阅图3,图3是语义分割网络的结构示意图。
语义分割网络的一种典型结构为U-Net网络,该网络通过标注数据进行训练。
编码器逐渐提取第一原始图像的高维语义信息的过程是将第一原始图像的尺寸逐渐缩小,将第一原始图像特征通道逐渐增加;而解码器逐渐获得初始语义分割信息的细节和空间维度的过程是将缩小后的图像尺寸逐渐放大,并将特征通道逐渐减少,通过编码、解码的过程可以得到两副大小相同但图像信息不同的图像。
进一步地,解码器逐渐恢复场景的细节和相应空间维度是通过反卷积的计算方式。
S104:将初级深度估计信息、初级语义分割信息和第一原始图像的多尺度特征进行融合,然后进行精细化分析后输出最终的深度估计信息和语义分割信息。
本实施例采用交替分步训练的方法对各个网络分步进行训练,第一步是基于ImageNet数据集里预训练的模型对基础网络进行初始化训练,使得基础网络对应获得ImageNet数据集所定义的公开的计算方式,或者基于ImageNet数据集对基础网络进行自定义训练,使得基础网络对应获得自定义的计算方式;第二步是利用基础网络提取的图像多尺度特征,对深度估计网络进行无监督训练;第三步是利用基础网络提取的图像多尺度特征,和语义分割标注数据,对语义分割网络进行独立训练;第四步是对整体网络进行训练,主要是对精细化网络进行网络参数训练,同时微调其他三步中的网络参数,整个网络按照以上四个步骤进行分步训练,同时可以对多个任务同时进行处理,使得整个网络的性能更加完善。
请参阅图4,图4是本发明场景解析方法的整体网络架构示意图。整体网络包括:基础网络10、深度估计网络20、语义分割网络30和精细化网络40。本实施例中,左图像为上述实施例中的第一原始图像,右图像为上述实施例中的第二原始图像。
基础网络10用于提取左图像的多尺度特征和右图像的多尺度特征。
深度估计网络20用于将左图像的多尺度特征和右图像的多尺度特征进行组合,并输出左图像基于左图像和右图像组合的多尺度特征的初级深度估计信息。
语义分割网络30用于将左图像的多尺度特征进行语义分割计算,并输出左图像的初级语义分割信息。
精细化网络40用于将左图像的初级深度估计信息、左图像的初级语义分割信息和左图像的多尺度特征进行融合,并输出场景最终的深度估计信息和语义分割信息。
可选地,基础网络10采用相同的计算方式分别提取左图像的多尺度特征和右图像的多尺度特征。
可选地,基础网络10通过基于ImageNet数据集所定义的公开的计算方式进行提取或者基于ImageNet数据集自定义计算方式进行提取左图像的多尺度特征和右图像的多尺度特征。
可选地,深度估计网络20将左图像的多尺度特征和右图像的多尺度特征以无监督学习的方式进行深度估计运算。
可选地,深度估计网络20通过无监督学习的方式进行深度估计运算的方法包括:将左图像的多尺度特征和右图像的多尺度特征组合,并计算出左图像的初级深度估计信息;通过左图像以及左图像的初级深度估计信息重建右图像;利用右图像和重建的右图像构建损失函数,并通过损失函数进行无监督学习。
可选地,深度估计网络20构建损失函数的方法为通过右图像和重建右图像图像间的结构相似性和图像像素值均方误差进行构建。
可选地,语义分割网络30通过对左图像进行编码,以逐渐提取左图像的高维语义信息;并对左图像高维语义进行解码,以逐渐获得初始语义分割信息的细节和空间维度。
可选地,语义分割网络30解码的过程是通过反卷积的计算方式进行的。
本实施例中,是对左图像进行解析,应理解,在其他实施例中,同样可以通过上述方法对右图像进行解析。
上述实施例的有益效果为:将双目视觉的第一原始图像和第二原始图像输入一个由基础网络,深度估计网络,语义分割网络和精细化网络四个子网络组成的整体大网络中,通过一次输入即可获得整个场景全貌的深度估计信息和语义分割信息,而且深度估计网络和语义分割网络利用的都是由基础网络提取的多尺度特征,计算过程中被多次复用,大大简化了计算程序,提高了计算效率,加快了计算速度,使用方便。
请参阅图5,图5是本发明机器人一实施例的结构示意图。该机器人可以执行上述方法中整体网络架构执行的步骤。相关内容请参见上述方法中的详细说明,在此不再赘叙。
本实施例中,该机器人50包括:处理器51、与处理器51耦合的存储器52。存储器52用于存储程序数据,处理器51用于执行存储器52上存储的程序数据。
机器人进一步包括接收器53,接收器53用于接收双目视觉输入的场景图像。
具体而言,处理器51对于接受器53输入的左图像和右图像分别提取左图像的多尺度特征和右图像的多尺度特征;将左图像的多尺度特征和右图像的多尺度特征进行组合,并输出左图像基于组合的多尺度特征的初级深度估计信息;使用左图像的多尺度特征进行语义分割计算,并输出左图像的初级语义分割信息;将左图像的初级深度估计信息、左图像的初级语义分割信息和左图像的多尺度特征进行融合,并输出场景最终的深度估计信息和语义分割信息。
可选地,处理器51采用相同的计算方式分别提取左图像的多尺度特征和右图像的多尺度特征。
可选地,处理器51通过基于ImageNet数据集所定义的公开的计算方式进行提取或者基于ImageNet数据集自定义计算方式进行提取左图像的多尺度特征和右图像的多尺度特征。
可选地,处理器51通过无监督学习的方式进行深度估计运算的方法包括:将左图像的多尺度特征和右图像的多尺度特征组合,并计算出左图像的初级深度估计信息;通过左图像以及左图像的初级深度估计信息重建右图像;利用右图像和重建的右图像构建损失函数,并通过损失函数进行无监督学习。
可选地,处理器51构建损失函数的方法为通过右图像和重建右图像图像间的结构相似性和图像像素值均方误差进行构建。
可选地,处理器51通过对左图像进行编码,以逐渐提取左图像的高维语义信息;并对左图像高维语义进行解码,以逐渐获得初始语义分割信息的细节和空间维度。
可选地,处理器51解码的过程是通过反卷积的计算方式进行的。
请参阅图6,图6是本发明存储装置的结构示意图。
该存储装置60存储有程序数据61,所述程序数据61能够被执行以实现上述实施例中所阐述的场景解析方法,在此就不再赘述。
如本领域技术人员所理解,该存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等物理存储介质,也可以是服务器等虚拟存储介质。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。