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

一种基于神经网络的深度位姿估计方法、装置及终端设备

文献发布时间:2023-06-19 09:58:59


一种基于神经网络的深度位姿估计方法、装置及终端设备

技术领域

本发明属于计算机视觉领域,具体涉及一种基于神经网络的深度位姿估计方法、装置及终端设备。

背景技术

随着计算机科学技术以及车辆硬件的发展,研究基于现有的科学技术搭配可实施的汽车硬件完成机器智能自主导航是今后研究的热门方向,计算机视觉系统是其中的关键技术之一。

现有的技术包括ORB-SLAM3(Oriented FAST and Rotated BRIEFsimultaneouslocalization and mapping,第三代基于快速特征点提取和描述的三维定位与地图构建算法)和SFMLearner(Structure from Motion,三维重建算法)。ORB-SLAM3通过实时跟踪特征点的寻迹线程、局部Bundle Adjustment(光束法平差)的优化线程和全局位姿图的回环检测与优化线程完成对相机的跟踪与建图工作。SLAM系统需要对每张图像都计算一遍ORB特征,耗时长、计算量大,对CPU的要求较高,不易移植到嵌入式端。

SFMLearner利用光度一致性原理来估计每一帧的深度和位姿,通过训练误差处理目标和源视图之间有无遮掩的问题,但只是在每个像素位置用常数标签1最小化交叉熵损失来避免

发明内容

有鉴于此,本发明实施例提供了一种基于神经网络的深度位姿估计方法、装置及终端设备,以解决ORB-SLAM3中耗时长、运算量大、低纹理区域效果较差的问题和SFMLearner中对目标和源视图之间是否有遮掩的预测结果的信服力较低的问题。

本发明实施例的第一方面一种基于神经网络的深度位姿估计方法,神经网络包括深度估计网络、目标检测网络和位姿估计网络;

该方法包括:

获取待进行深度位姿估计的图像视频序列;

利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,目标视图为图像视频序列中在源视图的后一时刻的视图图像;

利用目标检测网络对目标视图进行目标切分和标记,获得目标视图的标签信息;

将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息。

可选的,位姿估计网络为对初始位姿估计网络进行训练后得到;

相应的,在将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息之前还包括:

将将源视图、目标视图、标签信息和深度图像输入初始位姿估计网络,获得初始位姿信息;

基于初始位姿信息、深度图像,将目标视图卷积投影到源视图上,对源视图进行重建;

基于重建前的源视图与重建后的源视图之间的误差,利用误差反向传播法调整位姿估计网络的网络参数,直至误差符合预设条件。

可选的,计算误差的误差函数包括:

其中,L

其中,

其中,p表示像素的坐标,|I

可选的,深度估计网络从输入到输出包括输入层、两对以上的上采样层、两对以上的下采样层和输出层,其中,每对上采样层的卷积核大小一致,每对下采样层的卷积核大小一致。

可选的,深度估计网络还包括连接层,连接层将一个上采样层和一个下采样层连接,所连接的上采样层和下采样层卷积核大小一致,所连接的上采样层为同一上采样层对中的后一个上采样层,所连接的下采样层为同一下采样层对中的前一个下采样层。

可选的,深度估计网络的激活函数包括Relu激活函数;

Relu激活函数包括:

其中,D

可选的,在利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像之后还包括:

利用预设的平滑检验公式对深度图像进行平滑性先决检验;

平滑检验公式包括:

其中,

本发明实施例的第二方面提供了一种基于神经网络的深度位姿估计装置,神经网络包括深度估计网络、目标检测网络和位姿估计网络;

深度位姿估计装置包括:

序列获取模块,用于获取待进行深度位姿估计的图像视频序列;

深度图像获取模块,用于利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,目标视图为图像视频序列中在源视图的后一时刻的视图图像;

标签信息获取模块,用于利用目标检测网络对目标视图进行目标切分和标记,获得目标视图的标签信息;

位姿信息获取模块,用于将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息。

本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一项基于神经网络的深度位姿估计方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被一个或多个处理器执行时实现如上述任一项基于神经网络的深度位姿估计方法的步骤。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例包括一种基于神经网络的深度位姿估计方法,所述神经网络包括深度估计网络、目标检测网络和位姿估计网络;所述方法包括:获取待进行深度位姿估计的图像视频序列;利用所述深度估计网络对所述图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,所述目标视图为所述图像视频序列中在所述源视图的后一时刻的视图图像;利用所述目标检测网络对所述目标视图进行目标切分和标记,获得所述目标视图的标签信息;将所述源视图、所述目标视图、所述标签信息和所述深度图像输入所述位姿估计网络,获得位姿信息。本方法通过神经网络计算深度图像、标签信息和位姿信息,计算结果包含语言信息,自身轻量高效,可以处理好目标和源视图之间有遮掩的问题,并且使低纹理区域具有更高的鲁棒性。

附图说明

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

图1是本发明一实施例提供的基于神经网络的深度位姿估计方法的实现流程示意图;

图2是本发明一实施例提供的深度估计网络的结构示意图;

图3是本发明一实施例提供的基于神经网络的深度位姿估计装置的示意框图;

图4是本发明一实施例提供的终端设备的示意框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

如图1所示,在本发明的一个实施例中,该基于神经网络的深度位姿估计方法可以包括以下步骤:

步骤101,获取待进行深度位姿估计的图像视频序列;

在本实施例中,本方法可以用于从一段连续的视频帧自监督的获得相机移动中周围环境的深度和相机位姿信息。

步骤102,利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,目标视图为图像视频序列中在源视图的后一时刻的视图图像;

为了保持高帧率,在构造深度网络的时候预测深度通过甄选关键帧来提高整体的速率。如果当前帧距离已知关键帧很远,则创建新关键帧通过深度网络去预测它的深度。

步骤103,利用目标检测网络对目标视图进行目标切分和标记,获得目标视图的标签信息;

在本实施例中,目标检测网络采用YOLO-Fastest获得目标视图中的物体边框的位置与大小。YOLO-Fastest搭载了号称目前最强的移动端轻量神经网络EfficientNet-lite,它在牺牲了一定检测精度的情况下,模型速度小,运算速度快。在安防以及自动驾驶领域,实时性是衡量一个模型和算法的重要的一个指标。

步骤104,将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息。

在本实施例中,位姿估计网络将Mask-Net的anchor和标签信息附加到输入的帧上。通过连续的相邻两帧之间语义信息和anchor位置信息,以移动物体的前后视图中的交集为划分,给标签信息赋予不同的权值,通过训练

这很好的解决了在相机运动中物体的运动和场景的遮掩问题。

对于低纹理区域,位姿估计网络中采用ACNet非对称卷积核来精细化特征的选取,以解决视图中距离导致的纹理模糊。

在本发明的另一个实施例中,位姿估计网络为对初始位姿估计网络进行训练后得到;

相应的,在将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息之前还包括:

将将源视图、目标视图、标签信息和深度图像输入初始位姿估计网络,获得初始位姿信息;

基于初始位姿信息、深度图像,将目标视图卷积投影到源视图上,对源视图进行重建;

基于重建前的源视图与重建后的源视图之间的误差,利用误差反向传播法调整位姿估计网络的网络参数,直至误差符合预设条件。

在本实施例中,使用Kitti数据集对位姿估计网络进行训练。Kitti数据集是德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办的目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集,包含市区、乡村和高速公路等多种场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2km视觉测距序列以及超过200k 3D标注物体的图像组成,以10Hz的频率采样及同步。总体上看,原始数据集被分类为Road、City、Residential、Campus和Person。对于3D物体检测,label细分为car、van、truck、pedestrian、pedestrian(sitting)、cyclist、tram以及misc。

在本发明的另一个实施例中,计算误差的误差函数包括:

其中,L

其中,

其中,p表示像素的坐标,|I

如图2所示,在本发明的另一个实施例中,深度估计网络从输入到输出包括输入层Input、上采样层D1-D14、下采样层C1-C14和输出层S4。

在本实施例中,深度估计网络中使用3个3×3核与2个3×3核来替代原始输入层之后的7×7核与5×5核,在输出相同的特征的情况下,大大减小了需要的参数。同时经过改进后的网络可以同时拥有3个非线性操作,而前者只有一个非线性操作,网络的对于特征的学习能力更显。含有小尺度的卷积核替代大尺度卷积核时,可以在感受域不变的情况下,特征学习能力更强。

在本发明的另一个实施例中,深度估计网络还包括连接层L1-L6,连接层将一个上采样层和一个下采样层连接,所连接的上采样层和下采样层卷积核大小一致,所连接的上采样层为同一上采样层对中的后一个上采样层,所连接的下采样层为同一下采样层对中的前一个下采样层。

在本实施例中,连接层L1-L6为跳跃连接结构,将之前下采样的结果和上采样的结果相加,可以防止采样过程中丢失信息,增加细节特征。图2中的U+L1-U+L3表示对不同大小的深度图S1、S2、S3上采样再加上预测层Pred1-Pred3得到的结果,Pred4为输出预测结果,S4为输出的深度图像。

在本发明的另一个实施例中,深度估计网络的激活函数包括Relu激活函数;

Relu激活函数包括:

其中,D

在本实施例中,除预测层之外的所有的卷积层都采用了Relu激活函数修饰深度,避免深度为负值,其中训练时可学习参数α的初始值可以设置为10,可学习参数β的初始值可以设置为0.01。

在本发明的另一个实施例中,在利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像之后还包括:

利用预设的平滑检验公式对深度图像进行平滑性先决检验;

平滑检验公式包括:

其中,

在预测深度的时候,深度值很可能产生不连续的值,或者噪声类的值。一般情况下显示物体的深度都是连续的,没有过高或者过低的点,为了训练出更符合的实际情况的深度,本实施例中加入了平滑性先决检验,对深度图二阶梯度的L1约束作为深度图的平滑项。通过对相邻像素梯度的L1范数进行惩罚,在光流场、深度和推断的运动映射上添加鲁棒的空间平滑惩罚。对于深度预测,惩罚二阶梯度的范数,以鼓励深度值不是恒定的,而是平稳变化的。

如图3所示,本发明的另一个实施例还提供了一种基于神经网络的深度位姿估计装置30,包括:

序列获取模块31,用于获取待进行深度位姿估计的图像视频序列;

深度图像获取模块32,用于利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,目标视图为图像视频序列中在源视图的后一时刻的视图图像;

标签信息获取模块33,用于利用目标检测网络对目标视图进行目标切分和标记,获得目标视图的标签信息;

位姿信息获取模块34,用于将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息。

在本发明的另一个实施例中,基于神经网络的深度位姿估计装置30还包括初始位姿估计网络训练模块,用于对初始位姿估计网络进行训练;

相应的,在将源视图、目标视图、标签信息和深度图像输入位姿估计网络,获得位姿信息之前还包括:

将源视图、目标视图、标签信息和深度图像输入初始位姿估计网络,获得初始位姿信息;

基于初始位姿信息、深度图像,将目标视图卷积投影到源视图上,对源视图进行重建;

基于重建前的源视图与重建后的源视图之间的误差,利用误差反向传播法调整位姿估计网络的网络参数,直至误差符合预设条件。

在本发明的另一个实施例中,基于神经网络的深度位姿估计装置30还包括误差函数计算模块,用于计算误差函数,计算误差的误差函数包括:

其中,L

其中,

其中,p表示像素的坐标,|I

可选的,深度估计网络从输入到输出包括输入层、两对以上的上采样层、两对以上的下采样层和输出层,其中,每对上采样层的卷积核大小一致,每对下采样层的卷积核大小一致。

可选的,深度估计网络还包括连接层,连接层将一个上采样层和一个下采样层连接,所连接的上采样层和下采样层卷积核大小一致,所连接的上采样层为同一上采样层对中的后一个上采样层,所连接的下采样层为同一下采样层对中的前一个下采样层。

可选的,深度估计网络的激活函数包括Relu激活函数;

Relu激活函数包括:

其中,D

可选的,在利用深度估计网络对图像视频序列中的源视图和目标视图进行深度估计,获得深度图像之后还包括:

利用预设的平滑检验公式对深度图像进行平滑性先决检验;

平滑检验公式包括:

其中,

本发明实施例获取待进行深度位姿估计的图像视频序列;利用所述深度估计网络对所述图像视频序列中的源视图和目标视图进行深度估计,获得深度图像,其中,所述目标视图为所述图像视频序列中在所述源视图的后一时刻的视图图像;利用所述目标检测网络对所述目标视图进行目标切分和标记,获得所述目标视图的标签信息;将所述源视图、所述目标视图、所述标签信息和所述深度图像输入所述位姿估计网络,获得位姿信息。本方法通过神经网络计算深度图像、标签信息和位姿信息,计算结果包含语言信息,自身轻量高效,可以处理好目标和源视图之间有遮掩的问题,并且使低纹理区域具有更高的鲁棒性。

图4是本发明一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42,例如深度位姿估计程序。所述处理器40执行所述计算机程序42时实现上述各个深度位姿估计方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器40执行所述计算机程序42时实现上述各深度位姿估计装置实施例中各模块/单元的功能,例如图3所示模块31至34的功能。

示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述终端设备4中的执行过程。

所述终端设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线、显示器等。

所称处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器41可以是所述终端设备4的内部存储单元,例如终端设备4的硬盘或内存。所述存储器41也可以是所述终端设备4的外部存储设备,例如所述终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。

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

相关技术
  • 一种基于神经网络的深度位姿估计方法、装置及终端设备
  • 一种基于深度神经网络的抗遮挡的物体位姿估计方法
技术分类

06120112378061