图像定位的方法和装置、存储介质
技术领域
本公开涉及视觉定位领域,具体地,涉及一种图像定位的方法和装置、存储介质。
背景技术
相关技术中,基于SLAM(Simultaneous Localization and Mapping;同步定位与地图构建)的视觉定位技术容易受到光线、环境变化的影响,比如早晚场景的变化、不同季节场景的变化,定位变得比较困难。
发明内容
本公开提供一种图像定位的方法和装置、存储介质,以解决相关技术中视觉定位不够精准的技术问题。
为实现上述目的,本公开实施例的第一方面,提供一种图像定位的方法,所述方法包括:
接收第一时刻以及第二时刻的图像;
获取所述第一时刻的图像的绝对位姿以及所述第一时刻的图像和所述第二时刻的图像之间的相对位姿;
根据所述绝对位姿和所述相对位姿,获取所述图像的最终位姿。
可选地,所述获取所述图像的最终位姿,包括:
在训练好的融合网络模型中输入所述绝对位姿、所述相对位姿以及所述融合网络模型输出的所述第二时刻的图像的最终位姿;所述融合网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和多级的全连接网络;
获取所述融合网络模型输出的所述图像的最终位姿。
可选地,所述获取所述第一时刻的图像的绝对位姿,包括:
在训练好的绝对定位网络模型中输入所述第一时刻的图像;所述绝对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络;
获取所述绝对定位网络模型输出的所述第一时刻的图像的绝对位姿。
可选地,所述获取所述第二时刻的图像的相对位姿,包括:
在训练好的相对定位网络模型中输入所述第一时刻的图像和所述第二时刻的图像;所述绝对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和长短期记忆网络;
获取所述相对定位网络模型输出的所述图像的相对位姿。
本公开实施例的第二方面,提供一种图像定位的装置,所述装置包括:
接收模块,用于接收第一时刻以及第二时刻的图像;
第一获取模块,用于获取所述第一时刻的图像的绝对位姿以及所述第一时刻的图像和所述第二时刻的图像之间的相对位姿;
第二获取模块,用于根据所述绝对位姿和所述相对位姿,获取所述图像的最终位姿。
可选地,所述第二获取模块包括:
第一输入子模块,用于在训练好的融合网络模型中输入所述绝对位姿、所述相对位姿以及所述融合网络模型输出的所述第二时刻的图像的最终位姿;所述融合网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和多级的全连接网络;
第一获取子模块,用于获取所述融合网络模型输出的所述第一时刻的图像的最终位姿。
可选地,所述第一获取模块包括:
第二输入子模块,用于在训练好的绝对定位网络模型中输入所述第一时刻的图像;所述绝对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络;
第二获取子模块,用于获取所述卷积神经网络模型输出的所述第一时刻的绝对位姿。
可选地,所述第一获取模块包括:
第三输入子模块,用于在训练好的相对定位网络模型中输入所述第一时刻的图像和所述第二时刻的图像;所述相对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和长短期记忆网络;
第三获取子模块,用于获取所述相对定位网络模型输出的所述图像的相对位姿。
本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述方法的步骤。
本公开实施例的第四方面,提供一种图像定位的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面中任一项所述方法的步骤。
采用上述技术方案,至少能够达到如下技术效果:
本公开通过获取图像的绝对位姿和相对位姿,再融合所述绝对位姿和所述相对位姿,获取所述图像的最终位姿,相比单一的位姿估计技术,本公开实现了更高精度的定位,解决了相关技术中视觉定位不够精准的技术问题。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开一示例性实施例示出的一种图像定位的方法流程图。
图2是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取第一时刻的图像的绝对位姿的流程图。
图3是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取第二时刻的图像的相对位姿的流程图。
图4是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取图像的最终位姿的流程图。
图5是本公开一示例性实施例示出的一种图像定位的装置的框图。
图6是本公开一示例性实施例示出的一种图像定位的装置的第二获取模块的框图。
图7是本公开一示例性实施例示出的一种图像定位的装置的第一获取模块的框图。
图8是本公开一示例性实施例示出的一种图像定位的装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
近年来基于深度学习的视觉定位技术因为特有的对环境变化的鲁棒性,逐渐流行。相关技术中,主要有基于单帧的图像的位姿估计技术,比如posenet(绝对定位);或者估计两帧之间的位姿变化的技术,比如deepVO(相对定位)。然而本申请发明人研究发现,上述两种技术单独进行定位的精度仍然难以满足需求,因此,提出一种将二者融合以进行定位的解决方案,进而实现高精度定位。
图1是本公开一示例性实施例示出的一种图像定位的方法流程图,以解决相关技术中视觉定位不够精准的技术问题。如图1所示,所述图像定位的方法包括:
S11,接收第一时刻以及第二时刻的图像。
S12,获取所述第一时刻的图像的绝对位姿以及所述第一时刻的图像和所述第二时刻的图像之间的相对位姿。
S13,根据所述绝对位姿和所述相对位姿,获取所述图像的最终位姿。
其中,在步骤S11中,所述第一时刻的图像可以是当前时刻的图像,所述第二时刻的图像可以是上一个时刻的图像。比如,所述第一时刻的图像可以是当前帧图像,所述第二时刻的图像可以是上一帧图像。其中,所述图像可以是通过相机拍摄获取,可以是相机拍摄的图像,也可以是相机拍摄的视频。
在获取第一时刻以及第二时刻的图像后,执行步骤S12,获取所述第一时刻的图像的绝对位姿以及所述第一时刻的图像和所述第二时刻的图像之间的相对位姿。接下来,请参照图2,图2是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取第一时刻的图像的绝对位姿的流程图。如图2所示,所述获取所述第一时刻的图像的绝对位姿,包括以下步骤:
S121,在训练好的绝对定位网络模型中输入所述第一时刻的图像;所述绝对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络。
S122,获取所述绝对定位网络模型输出的所述第一时刻的图像的绝对位姿。
其中,所述绝对定位网络模型的输入可以为当前帧图像,即所述第一时刻的图像,其中主干网络所采用的卷积神经网络可以是深度卷积神经网络。主干网络的输出经过特征层提取后输入回归网络中,所述回归网络用于对当前帧图像的绝对位姿进行回归。所述回归网络可以为多级的全连接+非线性激活组合。实际使用时,所述绝对定位网络模型是与场景相关,需要用该场景下的数据对其进行训练。
接下来,请参照图3,图3是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取第二时刻的图像的相对位姿的流程图。如图3所示,所述获取所述第二时刻的图像的相对位姿,包括以下步骤:
S123,在训练好的相对定位网络模型中输入所述第一时刻的图像和所述第二时刻的图像的图像;所述相对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和长短期记忆网络。
S124,获取所述相对定位网络模型输出的所述图像的相对位姿。
其中,所述相对定位网络的输入可以为前后两个时刻的图像帧,即所述第一时刻的图像和所述第二时刻的图像。其中,主干网络可以采用卷积神经网络+长短期记忆网络的组合网络,主干网络的输出经过特征层提取后输入回归网络中,所述回归网络用于对前后两个时刻的图像帧的位姿差进行回归,即所述回归网络输出的是两个时刻的图像的相对位姿。所述回归网络可以为多级的全连接+非线性激活组合。
在获取所述绝对位姿和所述相对位姿后,执行步骤S13,根据所述绝对位姿和所述相对位姿,获取所述图像的最终位姿。接下来,请参照图4,图4是本公开一示例性实施例示出的一种图像定位的方法包括的步骤中获取图像的最终位姿的流程图。如图4所示,所述获取所述图像的最终位姿,包括:
S131,在训练好的融合网络模型中输入所述绝对位姿、所述相对位姿以及所述融合网络模型输出的所述第二时刻的最终位姿;所述融合网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和多级的全连接网络。
S132,获取所述融合网络模型输出的所述图像的最终位姿。
其中,所述融合网络的输入可以为所述绝对定位网络的输出特征、所述相对定位网络的输出特征,以及上一时刻所述融合网络的输出特征,即所述绝对位姿、所述相对位姿以及所述融合网络模型输出的所述第二时刻的最终位姿。其中,主干网络可以采用卷积神经网络和多级的全连接网络的组合网络,主干网络的输出经过特征层提取后输入回归网络中,最终输出融合后的位姿。所述回归网络可以为多级的全连接+非线性激活组合。
需要说明的是,在实际训练过程中,先分别训练所述绝对定位网络模型和所述相对定位网络模型,然后再端到端训练融合网络模型。而实际使用过程中,只要输入当前帧图像和上一帧图像,即可得到图像的最终位姿。
本公开通过获取图像的绝对位姿和相对位姿,再融合所述绝对位姿和所述相对位姿,获取所述图像的最终位姿,相比单一的位姿估计技术,本公开实现了更高精度的定位,解决了相关技术中视觉定位不够精准的技术问题。
值得说明的是,对于图1所示的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本公开所必须的。
图5是本公开一示例性实施例示出的一种图像定位的装置。如图5所示,所述图像定位的装置300包括:
接收模块310,用于接收第一时刻以及第二时刻的图像;
第一获取模块320,用于获取所述第一时刻的图像的绝对位姿以及所述第一时刻的图像和所述第二时刻的图像之间的相对位姿;
第二获取模块330,用于根据所述绝对位姿和所述相对位姿,获取所述图像的最终位姿。
可选地,如图6所示,所述第二获取模块330包括:
第一输入子模块331,用于在训练好的融合网络模型中输入所述绝对位姿、所述相对位姿以及所述融合网络模型输出的所述第二时刻的图像的最终位姿;所述融合网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和多级的全连接网络;
第一获取子模块332,用于获取所述融合网络模型输出的所述第一时刻的图像的最终位姿。
可选地,如图7所示,所述第一获取模块320包括:
第二输入子模块321,用于在训练好的绝对定位网络模型中输入所述第一时刻的图像;所述绝对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络;
第二获取子模块322,用于获取所述卷积神经网络模型输出的所述第一时刻的绝对位姿。
可选地,如图7所示,所述第一获取模块320还包括:
第三输入子模块323,用于在训练好的相对定位网络模型中输入所述第一时刻的图像和所述第二时刻的图像;所述相对定位网络模型包括主干网络、连接于所述主干网络的特征层以及连接于所述特征层的回归网络;所述主干网络包括卷积神经网络和长短期记忆网络;
第三获取子模块324,用于获取所述相对定位网络模型输出的所述图像的相对位姿。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项可选实施例所述图像定位的方法步骤。
本公开还提供一种图像定位的装置,包括:
存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述存储器,其上存储有计算机程序;以及
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一项可选实施例所述图像定位的方法步骤。
图8是根据一示例性实施例示出的一种图像定位的装置400的框图。如图8所示,该装置400可以包括:处理器401,存储器402,多媒体组件403,输入/输出(I/O)接口404,以及通信组件405。
其中,处理器401用于控制该装置400的整体操作,以完成上述的图像定位的方法中的全部或部分步骤。存储器402用于存储各种类型的数据以支持在该装置400的操作,这些数据例如可以包括用于在该装置400上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器402或通过通信组件405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口404为处理器401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件405用于该装置400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,装置400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图像定位的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器402,上述程序指令可由装置400的处理器401执行以完成上述的图像定位的方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。