CN114663509B - 一种关键点热力图引导的自监督单目视觉里程计方法 - Google Patents

一种关键点热力图引导的自监督单目视觉里程计方法 Download PDF

Info

Publication number
CN114663509B
CN114663509B CN202210290488.0A CN202210290488A CN114663509B CN 114663509 B CN114663509 B CN 114663509B CN 202210290488 A CN202210290488 A CN 202210290488A CN 114663509 B CN114663509 B CN 114663509B
Authority
CN
China
Prior art keywords
pose
estimation network
image
depth
key point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210290488.0A
Other languages
English (en)
Other versions
CN114663509A (zh
Inventor
曾慧
修海鑫
刘红敏
樊彬
张利欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology Beijing USTB
Shunde Graduate School of USTB
Original Assignee
University of Science and Technology Beijing USTB
Shunde Graduate School of USTB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology Beijing USTB, Shunde Graduate School of USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN202210290488.0A priority Critical patent/CN114663509B/zh
Publication of CN114663509A publication Critical patent/CN114663509A/zh
Application granted granted Critical
Publication of CN114663509B publication Critical patent/CN114663509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4007Interpolation-based scaling, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种关键点热力图引导的自监督单目视觉里程计方法,属于计算机视觉领域。所述方法包括:构建位姿估计网络与深度估计网络;将视频图像序列输入位姿估计网络与深度估计网络;提取视频图像序列中每帧图像的关键点并生成关键点热力图;将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数;基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络;利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿。采用本发明,能够提高相机位姿估计的精度。

Description

一种关键点热力图引导的自监督单目视觉里程计方法
技术领域
本发明涉及计算机视觉领域,特别是指一种关键点热力图引导的自监督单目视觉里程计方法。
背景技术
视觉里程计是指根据输入视频图像帧估计相机当前的位置与姿态的方法,可被广泛应用在机器人导航、自动驾驶、增强现实、可穿戴计算等领域。根据采用传感器的种类和数目不同,视觉里程计可分为单目视觉里程计、双目视觉里程计以及融合惯性信息的视觉里程计等。其中,单目视觉里程计具有着仅需要一个相机,对硬件要求较低、无需矫正等优点。
传统的视觉里程计方法首先进行图像特征提取与匹配,然后根据几何关系估计相邻两帧之间的相对位姿。这种方法在实际应用中取得了不错的结果,是当前视觉里程计的主流方法,但其存在计算性能与鲁棒性难以平衡的问题。
基于深度学习的单目视觉里程计可分为有监督的方法和自监督的方法。自监督的方法仅仅需要输入视频图像帧,不需要采集真实的位姿,没有对额外设备的依赖,适用性比有监督的方法更为广泛。
现有的自监督方法在训练过程中使用了过多的冗余像素,使得深度神经网络在学习过程中没有重点,导致网络估计的位姿会产生累积误差。此外,这些方法仅考虑了相邻帧间的位姿一致性,没有考虑视频图像序列的位姿一致性。
发明内容
本发明实施例提供了一种关键点热力图引导的自监督单目视觉里程计方法,能够提高相机位姿估计的精度。所述技术方案如下:
本发明实施例提供了一种关键点热力图引导的自监督单目视觉里程计方法,包括:
构建位姿估计网络与深度估计网络;
将视频图像序列输入位姿估计网络与深度估计网络,其中,位姿估计网络输出每对相邻帧图像之间的位姿,深度估计网络输出输入帧的深度图像;
提取视频图像序列中每帧图像的关键点并生成关键点热力图;
将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数;
基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络;
利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿。
进一步地,所述提取视频图像序列中每帧图像的关键点并生成关键点热力图包括:
对视频图像序列中图像I提取关键点,使用高斯核函数生成一幅仅关注关键点周围局部区域的关键点热力图,其中,图像I为视频图像序列中的任一图像;
生成的关键点热力图H[p]表示为:
Figure BDA0003561638560000021
其中,p为关键点热力图中的像素点坐标,f∈F为关键点的坐标,F表示特征点集,δ为关键点的影响半径。
进一步地,所述将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数包括:
将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算图像之间的关键点热力图加权的光度误差;
根据计算得到的光度误差,计算视频图像序列位姿一致性约束的光度误差损失函数。
进一步地,所述将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算图像之间的关键点热力图加权的光度误差包括:
对于长度为N的一段视频图像序列,其对应的时刻为t0,t1,...,tN-1,将位姿估计网络输出的每对相邻帧图像之间的位姿进行累积相乘,得到较长时段的位姿:
Figure BDA0003561638560000031
其中,
Figure BDA0003561638560000032
为由时刻tj到时刻ti的旋转变换矩阵;
Figure BDA0003561638560000033
为由时刻tj到时刻ti的平移变换向量;
Figure BDA0003561638560000034
Figure BDA0003561638560000035
构成图像
Figure BDA0003561638560000036
Figure BDA0003561638560000037
之间的位姿;N为输入位姿估计网络与深度估计网络的每个批次的视频图像序列的长度;
基于得到的较长时段的位姿、深度估计网络输出的图像的深度图像以及生成的关键点热力图,计算ti和tj时刻的图像
Figure BDA0003561638560000038
Figure BDA0003561638560000039
之间的关键点热力图加权的光度误差
Figure BDA00035616385600000310
进一步地,所述光度误差损失函数Lp表示为:
Figure BDA00035616385600000311
进一步地,所述基于得到的较长时段的位姿、深度估计网络输出的图像的深度图像以及生成的关键点热力图,计算ti和tj时刻的图像
Figure BDA00035616385600000312
Figure BDA00035616385600000313
之间的关键点热力图加权的光度误差
Figure BDA00035616385600000314
包括:
Figure BDA00035616385600000315
为tj时刻时图像
Figure BDA00035616385600000316
上的像素齐次坐标,则点
Figure BDA00035616385600000317
在ti时刻图像
Figure BDA00035616385600000318
上对应的像素点的齐次坐标
Figure BDA00035616385600000319
表示为:
Figure BDA00035616385600000320
其中,K为摄相机内参数;
Figure BDA00035616385600000321
为由时刻tj到时刻ti的旋转变换矩阵;
Figure BDA00035616385600000322
为由时刻tj到时刻ti的平移变换向量;
Figure BDA00035616385600000323
为图像
Figure BDA00035616385600000324
的深度图像;
Figure BDA00035616385600000325
Figure BDA00035616385600000326
构成图像
Figure BDA00035616385600000327
Figure BDA00035616385600000328
之间的位姿;
Figure BDA00035616385600000329
为利用ti时刻的图像
Figure BDA00035616385600000330
重构得到的tj时刻的重构图像,则
Figure BDA00035616385600000331
表示为:
Figure BDA00035616385600000332
其中,对于
Figure BDA00035616385600000333
坐标不为整数的情况,采用双线性插值的方法进行采样;
基于得到的重构图像
Figure BDA00035616385600000334
确定tj和ti时刻的图像
Figure BDA00035616385600000335
Figure BDA00035616385600000336
之间的关键点热力图加权的光度误差
Figure BDA00035616385600000337
Figure BDA00035616385600000338
其中,
Figure BDA00035616385600000339
表示源图像
Figure BDA00035616385600000340
与重构图像
Figure BDA00035616385600000341
的结构相似性,||·||1、||·||2分别为L1范数及L2范数,α0、α1、α2为超参数,*表示逐像素相乘,H表示关键点热力图。
进一步地,所述基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络包括:
对于深度估计网络的输出,确定深度平滑损失函数Ls
Figure BDA0003561638560000041
其中,
Figure BDA0003561638560000042
为视差,即深度dt的倒数,
Figure BDA0003561638560000043
分别表示x方向与y方向上的偏导数,It为t时刻的图像;
根据确定的深度平滑损失函数Ls以及所述光度误差损失函数Lp,得到最终的损失函数L:
L=Lp+λLs
其中,λ为控制深度平滑损失函数比例的超参数;
利用最终的损失函数训练所述位姿估计网络与深度估计网络。
进一步地,所述利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿包括:
将待估计位姿的图像序列中每对相邻帧图像输入到训练好的位姿估计网络中,得到每对相邻帧图像之间的位姿;
将位姿估计网络输出的每对相邻帧图像之间的位姿累积相乘,得到每帧图像对应的相机位姿。
本发明实施例提供的技术方案带来的有益效果至少包括:
(1)针对视频图像中包含冗余像素使得深度神经网络缺乏学习重点的问题,本发明计算关键点热力图,进而计算出关键点热力图加权的光度误差。这样,可以为网络学习指出关注的重点,以减少图像中冗余像素点对网络学习的影响,从而解决现有技术所存在的在训练过程中使用了过多的冗余像素,使得深度神经网络在学习过程中没有重点的问题。
(2)针对视觉里程计对于较长时间的序列会存在累积误差的问题,本发明将连续视频图像帧之间的位姿相乘得到较长时段的位姿,并在此基础上计算图像序列位姿一致性约束的光度误差损失函数,进而训练位姿估计网络与深度估计网络,并利用训练的位姿估计网络估计图像序列中每帧图像对应的相机位姿。这样,可以在训练过程中在更长的输入序列上约束位姿估计网络的输出结果,以减小累积误差,提高相机位姿估计的精度,从而解决现有技术所存在的仅考虑了相邻帧间的位姿一致性,没有考虑视频图像序列的位姿一致性的问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的关键点热力图引导的自监督单目视觉里程计方法的流程示意图;
图2为本发明实施例提供的关键点热力图引导的自监督单目视觉里程计方法的结构示意图;
图3为本发明实施例提供的SIFT关键点热力图生成示意图;
图4为本发明实施例提供的用于训练和测试的KITTI数据集的样图;
图5为本发明实施例提供的方法在KITTI里程计数据集中序列09、10上估计的轨迹图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
如图1和图2所示,本发明实施例提供了一种关键点热力图引导的自监督单目视觉里程计方法,包括:
S101,构建位姿估计网络(PoseNet)与深度估计网络(DepthNet);
本实施例中,为了控制内存占用,将位姿估计网络与深度估计网络的输入图像(指RGB图像)缩放为了416×128的大小。
本实施例中,位姿估计网络包括:编码器和解码器,其中,可以选择ResNet50作为编码器,编码器输出2048通道的编码后输入位姿估计网络解码器。位姿估计网络的解码器输入为编码器输出的2048通道的编码,经过一层核为1的卷积层和ReLU激活函数调整通道数后,再依次经过两层核为3、激活函数同样为ReLU的卷积层,再经过核为1的卷积层,得到6通道的张量,再经过全局平均池化层,得到6维的向量。本实施例中,位姿估计网络用来估计相邻两帧图像之间的位姿变换,输入为相邻两帧图像,输出为相应的6自由度位姿变换向量,即位姿变换(简称:位姿),包括:3自由度旋转矩阵和3自由度平移向量。
本实施例中,深度估计网络同样选择ResNet50结构作为编码器,以类似于DispNet解码器的多层反卷积结构作为解码器,并通过跳跃链接结构与编码器连接,输出层激活函数为Sigmoid。
本实施例中,深度估计网络用来估计一帧图像的深度图像,输入为单帧图像,输出为相应的深度图像,具体为:归一化的视差d*。要获得深度,需要对获得的视差取倒数d=1/(ad*+b),其中,a和b为限制输出取值范围的参数,使输出深度为0.1到100之间。表1、表2、表3分别给出了本实施例中所使用的神经网络结构,表1为位姿估计网络与深度估计网络公共的编码器结构。表2为位姿估计网络的解码器结构,表3为深度估计网络的解码器结构。
表1 编码器结构
Figure BDA0003561638560000061
表2 位姿估计网络的解码器结构
Figure BDA0003561638560000062
表3 深度估计网络的解码器结构
Figure BDA0003561638560000063
S102,将视频图像序列输入位姿估计网络与深度估计网络,其中,位姿估计网络输出每对相邻帧图像之间的位姿,深度估计网络输出输入帧的深度图像;
在本实施例中,设每对相邻图像帧为当前时刻t的图像It与上一时刻t-1的图像It-1。将图像It和It-1输入S101中构建的位姿估计网络与深度估计网络中,得到相邻帧图像It和It-1之间的位姿以及图像It和It-1的深度图像。
S103,提取视频图像序列中每帧图像的关键点并生成关键点热力图;
对于已有的自监督单目视觉里程计方法来说,深度估计网络和位姿估计网络在训练时损失函数的定义往往考虑了原始图像与重构图像中所有的像素点,在整个参数空间中搜索合适的网络参数。这种训练方法将不同的像素同等的对待,缺乏重点的搜索使得训练过程中使用到了大量特征信息较少,不宜匹配的像素。为了解决上述问题,本实施例中设计了关键点热力图引导的加权网络训练方法,具体的:
首先,选择一种特征点提取算法对输入图像I提取特征点,得到特征点集F;图像I为视频图像序列中的任一图像;
接着,可以使用SIFT关键点对输入图像I提取SIFT关键点。使用高斯核函数生成一幅仅关注关键点周围局部区域的SIFT关键点热力图,其中,生成的关键点热力图H[p]表示为:
Figure BDA0003561638560000071
其中,p为关键点热力图中的像素点坐标,f∈F为关键点的坐标,F表示特征点集,δ为关键点的影响半径。
如图3所示,图3(a)为原图像的示意图,图3(b)为提取的SIFT关键点的示意图,图3(c)为生成的SIFT关键点热力图的示意图。
需要说明的是:
SIFT关键点热力图仅用于在训练阶段计算损失函数。在测试阶段,对于测试图像不需要计算其对应的SIFT关键点热力图。因此,SIFT关键点热力图虽然计算较为耗时,但是不会增加实际应用中位姿估计的计算负担。
S104,将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,利用多帧图像计算视频图像序列位姿一致性约束的光度误差损失函数;具体可以包括以下步骤:
A1,将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算图像之间的关键点热力图加权的光度误差;
本实施例中,位姿估计网络的估计结果是相邻的两帧图像之间的位姿变换。当输入一段连续图像序列后,得到的是一系列相邻两帧图像之间的位姿变换。由于视觉里程计是一个长期的、连续的过程,仅使用相邻两帧之间的位姿变换计算损失函数,会使得网络仅关注两帧之间的变换,没有考虑较长时间内整体的位姿变换的一致性。为了使网络能够适应较长时间上的位姿变换,本实施例设计了基于视频图像序列位姿一致性约束的光度误差损失函数。
本实施例中,设输入S101中构建的位姿估计网络与深度估计网络的每个批次的视频图像序列的长度为N,则每个批次中的每对相邻图像帧皆为S102中所述相邻图像帧,在S102中输入到位姿估计网络与深度图及网络中,得到每个批次中每对相邻图像帧之间的位姿和每一帧的深度图像。
本实施例中,对于长度为N的一段视频图像序列,其对应的时刻为t0,t1,...,tN-1,将位姿估计网络输出的每对相邻帧图像之间的位姿进行累积相乘,得到较长时段的位姿:
Figure BDA0003561638560000081
其中,
Figure BDA0003561638560000082
为由时刻tj到时刻ti的旋转变换矩阵;
Figure BDA0003561638560000083
为由时刻tj到时刻ti的平移变换向量;
Figure BDA0003561638560000084
Figure BDA0003561638560000085
构成图像
Figure BDA0003561638560000086
Figure BDA0003561638560000087
之间的位姿;
基于得到的较长时段的位姿、深度估计网络输出的图像的深度图像以及生成的关键点热力图,计算ti和tj时刻的图像
Figure BDA0003561638560000088
Figure BDA0003561638560000089
之间的关键点热力图加权的光度误差
Figure BDA00035616385600000810
具体可以包括以下步骤:
Figure BDA00035616385600000811
为tj时刻时图像
Figure BDA00035616385600000812
上的像素齐次坐标,则点
Figure BDA00035616385600000813
在ti时刻图像
Figure BDA00035616385600000814
上对应的像素点的齐次坐标
Figure BDA00035616385600000815
表示为:
Figure BDA00035616385600000816
其中,K为摄相机内参数;
Figure BDA00035616385600000817
为由时刻tj到时刻ti的旋转变换矩阵;
Figure BDA00035616385600000818
为由时刻tj到时刻ti的平移变换向量;
Figure BDA00035616385600000819
为图像
Figure BDA00035616385600000820
的深度图像;
Figure BDA00035616385600000821
Figure BDA00035616385600000822
构成图像
Figure BDA00035616385600000823
Figure BDA00035616385600000824
之间的位姿;
Figure BDA00035616385600000825
为利用ti时刻的图像
Figure BDA00035616385600000826
重构得到的tj时刻的重构图像,则
Figure BDA00035616385600000827
表示为:
Figure BDA00035616385600000828
其中,对于
Figure BDA0003561638560000091
坐标不为整数的情况,采用双线性插值的方法进行采样;
基于得到的重构图像
Figure BDA0003561638560000092
确定tj和ti时刻的图像
Figure BDA0003561638560000093
Figure BDA0003561638560000094
之间的关键点热力图加权的光度误差
Figure BDA0003561638560000095
Figure BDA0003561638560000096
其中,
Figure BDA0003561638560000097
表示源图像
Figure BDA0003561638560000098
与重构图像
Figure BDA00035616385600000914
的结构相似性,||1、||·||2分别为L1范数及L2范数,α0、α1、α2为超参数,*表示逐像素相乘,H表示关键点热力图。
本实施例中,以t-1时刻和t时刻的两帧图像为例,说明光度误差的计算方法:根据步骤S102可知,将t-1时刻和t时刻的两帧图像输入位姿估计网络可得到两帧之间的位姿变换。将t时刻的视频图像送入深度估计网络可得到其对应的深度图像。在获得t-1时刻和t时刻两帧视频图像之间的位姿变换以及t时刻视频图像的深度图像之后,可利用它们对t-1时刻的视频图像进行重采样,得到t时刻的重构图像,并利用重构图像计算光度误差,以指导神经网络训练。
本实施例中,在计算光度误差的过程中使用生成的关键点热力图对图像的不同区域采用不同的关注度,即对图像的不同区域采用不同的权重来计算光度误差。
A2,根据计算得到的光度误差,计算视频图像序列位姿一致性约束的光度误差损失函数。
本实施例中,根据计算得到的ti和tj时刻的图像
Figure BDA00035616385600000910
Figure BDA00035616385600000911
之间的关键点热力图加权的光度误差
Figure BDA00035616385600000912
计算视频图像序列位姿一致性约束的光度误差损失函数Lp
Figure BDA00035616385600000913
本实施例中,根据上述公式可知,需要对上述长度为N的视频图像序列的每2,3,...,N个子序列都进行了累积相乘,从而得到每个子序列的首、尾两帧的位姿,以便进一步利用各子序列的首、尾两帧的位姿计算视频图像序列位姿一致性约束的光度误差损失函数Lp
本实施例中,考虑到随着时间的推移,过长的时间跨度下,场景中的物体也会出现较大变化,以至于失去相关性,因此N的取值不宜过大。
S105,基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络;
考虑到一帧图像对应的深度图像中,原图像纹理平滑的区域,在深度图像中对应的区域同样是平滑的。因此,在本实施例中,对于深度估计网络的输出,按如下公式计算深度平滑损失函数:
Figure BDA0003561638560000101
其中,
Figure BDA0003561638560000102
为视差,即深度dt的倒数,
Figure BDA0003561638560000103
分别表示x方向与y方向上的偏导数。
在本实施例中,上述深度平滑损失函数对每个批次中的每帧图像都进行了计算;
根据确定的深度平滑损失函数Ls以及所述光度误差损失函数Lp,则最终的损失函数L可表示为:
L=Lp+λLs
其中,λ为控制深度平滑损失函数比例的超参数。
利用最终的损失函数L=Lp+λLs,训练所述位姿估计网络与深度估计网络。
S106,利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿。
本实施例中,将待估计位姿的图像序列中每对相邻帧图像输入到训练好的位姿估计网络中,得到每对相邻帧图像之间的位姿;将位姿估计网络输出的每对相邻帧图像之间的位姿累积相乘,得到每帧图像对应的相机位姿。
本发明实施例针对现有的基于深度学习的单目视觉里程计方法包含了大量对冗余像素的计算、在进行位姿估计时只考虑相邻两帧图像之间的位姿变换导致误差不断累积的问题,提供一种关键点热力图引导的自监督单目视觉里程计方法,该方法能够较为有效地根据输入的待估计位姿的图像序列估计每一帧图像对应的相机位姿,适用于用于自监督单目视觉里程计。
本实施例所述的关键点热力图引导的自监督单目视觉里程计方法至少具有以下优点:
(1)针对视频图像中包含冗余像素使得深度神经网络缺乏学习重点的问题,本发明计算关键点热力图,进而计算出关键点热力图加权的光度误差。这样,可以为网络学习指出关注的重点,以减少图像中冗余像素点对网络学习的影响,从而解决现有技术所存在的在训练过程中使用了过多的冗余像素,使得深度神经网络在学习过程中没有重点的问题。
(2)针对视觉里程计对于较长时间的序列会存在累积误差的问题,本发明将连续视频图像帧之间的位姿相乘得到较长时段的位姿,并在此基础上计算图像序列位姿一致性约束的光度误差损失函数,进而训练位姿估计网络与深度估计网络,并利用训练的位姿估计网络估计图像序列中每帧图像对应的相机位姿。这样,可以在训练过程中在更长的输入序列上约束位姿估计网络的输出结果,以减小累积误差,提高相机位姿估计的精度,从而解决现有技术所存在的仅考虑了相邻帧间的位姿一致性,没有考虑视频图像序列的位姿一致性的问题。
为了验证本发明实施例所述的关键点热力图引导的自监督单目视觉里程计方法的效果,本实施例使用KITTI里程计数据集中提供的评估指标测试其性能:
(1)相对位移均方误差(Rel.trans.):一个序列中全部长度为100、200、……、800米的子序列的平均位移RMSE(Root Mean Square Error),以%度量,即每100米偏差的米数,数值越小越好。
(2)相对旋转均方误差(Rel.rot.):一个序列中全部长度为100、200、……、800米的子序列的平均旋转RMSE,以deg/m度量,数值越小越好。
本实施例中,应用了KITTI里程计数据集中00-07这八个视频图像序列作为训练集与验证集训练位姿估计网络与深度估计网络,并用09-10这两个视频图像序列来测试所述的关键点热力图引导的自监督单目视觉里程计方法的性能。
如图4所示,图4为KITTI里程计数据集中的样图。KITTI里程计数据集是车载相机等设备采集的城市中公路环境的双目图像,雷达点以及实际轨迹。
在实施过程中,首先构建位姿估计网络与深度估计网络;将视频图像序列输入位姿估计网络与深度估计网络,其中,位姿估计网络输出每对相邻帧图像之间的位姿,深度估计网络输出输入帧的深度图像;提取视频图像序列中每帧图像的关键点并生成关键点热力图;将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数;基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络;利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿。
在本实施例中,光度误差损失函数的超参数α0=0.85,α1=0.1,α2=0.05,深度平滑损失函数的参数λ=10-3。关键点热力图参数δ由多次实验确定为δ=16。图像序列位姿一致性约束参数N的确定,考虑了服务器显存,并通过实验确定为N=5。网络的训练过程中,初始学习率为10-4,并随着训练的进行逐渐减小,每经过一轮迭代,学习率变为上一轮的0.97倍,采用Adam优化器进行30次迭代,每轮迭代的批量大小为4。在训练时还对输入进行了增广,即对输入进行亮度、对比度、饱和度以及色相的随机变换,以增加网络对不同色调、亮度、饱和度等的情况的适应能力,增强网络的泛化能力。
为了验证本发明实施例提供的关键点热力图引导的自监督单目视觉里程计方法的性能,本实施例中,选择了近几年基于深度学习的自监督的单目视觉里程计方法进行了对比,对比结果如表4所示。本实施例生成的轨迹如图5所示,图5(a)为本发明实施例提供的方法在KITTI里程计数据集中序列09上估计的轨迹图,图5(b)为本发明实施例提供的方法在KITTI里程计数据集中序列10上估计的轨迹图,其中,小方块表示起点,红色虚线轨迹为真实的轨迹,蓝色实现轨迹为本实施例中估计出的轨迹。
表4 本实施例所述的方法与其他方法对比
Figure BDA0003561638560000121
由表4可以看出,相比于其他基于FlowNet等多层卷积网络的方法,如Wang etal.,本发明实施例提供的关键点热力图引导的自监督单目视觉里程计方法取得了更好的性能。相比于SC-SfMLearner、GeoNet等基于ResNet结构的方法,本发明所述的图像序列位姿一致性约束和关键点热力图引导的方法也使得性能有所提升。
为了验证本发明实施例提供的关键点热力图引导的自监督单目视觉里程计方法各部分的意义,本实施例中还进行了消融实验。实验结果如表5所示。表5中“basic”为没有融入关键点热力图引导和图像序列位姿一致性约束的方法,“kphm r12”、“kphm r16”、“kphm r32”分别表示融入了关键点的影响半径δ为12、16、32的关键点热力图引导的方法,“acc”表示融入了图像序列位姿一致性约束的方法,“res50”表示将编码器结构从多层卷积结构改为ResNet50结构的方法。
表5 消融实验结果
Figure BDA0003561638560000131
本实施例中,深度估计网络和位姿估计网络最初采用的分别是ResNet18和FlowNet作为编码器,得到的结果如表5中前5行所示。实验时测试了不同关键点的影响半径δ下的实验结果,如表5中第二至第四行所示,发现在半径δ为16的时候结果最好。因此在之后的实验中,关键点热力图引导的半径δ将设为16。第五行为在融入了半径δ为16的关键点热力图引导的基础上融入图像序列位姿一致性约束的实验结果。可以看到,关键点热力图引导的方法使深度网络的训练更容易关注重点,使得网络的性能显著增强;而图像序列位姿一致性约束使得网络的学习更容易关注到更长跨度的帧之间的联系,使得方法的性能进一步提升。第六行为将深度估计网络和位姿估计网络的编码器部分改为ResNet50的结果。可以看到网络容量的增加使得性能有了进一步的提升。本发明实施例所述的关键点热力图引导的自监督单目视觉里程计方法的性能随着各个部分的增加而逐渐上升,证明了本发明实施例所述的关键点热力图引导的自监督单目视觉里程计方法中各个部分的意义。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种关键点热力图引导的自监督单目视觉里程计方法,其特征在于,包括:
构建位姿估计网络与深度估计网络;
将视频图像序列输入位姿估计网络与深度估计网络,其中,位姿估计网络输出每对相邻帧图像之间的位姿,深度估计网络输出输入帧的深度图像;
提取视频图像序列中每帧图像的关键点并生成关键点热力图;
将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数;
基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络;
利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿;
其中,所述将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算视频图像序列位姿一致性约束的光度误差损失函数包括:
将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算图像之间的关键点热力图加权的光度误差;
根据计算得到的光度误差,计算视频图像序列位姿一致性约束的光度误差损失函数;
其中,所述将位姿估计网络输出的每对相邻帧图像之间的位姿相乘得到较长时段的位姿,并基于深度估计网络输出的深度图像以及生成的关键点热力图,计算图像之间的关键点热力图加权的光度误差包括:
对于长度为N的一段视频图像序列,其对应的时刻为t0,t1,...,tN-1,将位姿估计网络输出的每对相邻帧图像之间的位姿进行累积相乘,得到较长时段的位姿:
Figure FDA0003795734920000011
其中,
Figure FDA0003795734920000021
为由时刻tj到时刻ti的旋转变换矩阵;
Figure FDA0003795734920000022
为由时刻tj到时刻ti的平移变换向量;
Figure FDA0003795734920000023
Figure FDA0003795734920000024
构成图像
Figure FDA0003795734920000025
Figure FDA0003795734920000026
之间的位姿;N为输入位姿估计网络与深度估计网络的每个批次的视频图像序列的长度;
基于得到的较长时段的位姿、深度估计网络输出的图像的深度图像以及生成的关键点热力图,计算ti和tj时刻的图像
Figure FDA0003795734920000027
Figure FDA0003795734920000028
之间的关键点热力图加权的光度误差
Figure FDA0003795734920000029
其中,所述光度误差损失函数Lp表示为:
Figure FDA00037957349200000210
其中,所述基于得到的较长时段的位姿、深度估计网络输出的图像的深度图像以及生成的关键点热力图,计算ti和tj时刻的图像
Figure FDA00037957349200000211
Figure FDA00037957349200000212
之间的关键点热力图加权的光度误差
Figure FDA00037957349200000213
包括:
Figure FDA00037957349200000214
为tj时刻时图像
Figure FDA00037957349200000215
上的像素齐次坐标,则点
Figure FDA00037957349200000216
在ti时刻图像
Figure FDA00037957349200000217
上对应的像素点的齐次坐标
Figure FDA00037957349200000218
表示为:
Figure FDA00037957349200000219
其中,K为摄相机内参数;
Figure FDA00037957349200000220
为由时刻tj到时刻ti的旋转变换矩阵;
Figure FDA00037957349200000221
为由时刻tj到时刻ti的平移变换向量;
Figure FDA00037957349200000222
为图像
Figure FDA00037957349200000223
的深度图像;
Figure FDA00037957349200000224
Figure FDA00037957349200000225
构成图像
Figure FDA00037957349200000226
Figure FDA00037957349200000227
之间的位姿;
Figure FDA00037957349200000228
为利用ti时刻的图像
Figure FDA00037957349200000229
重构得到的tj时刻的重构图像,则
Figure FDA00037957349200000230
表示为:
Figure FDA00037957349200000231
其中,对于
Figure FDA00037957349200000232
坐标不为整数的情况,采用双线性插值的方法进行采样;
基于得到的重构图像
Figure FDA00037957349200000233
确定tj和ti时刻的图像
Figure FDA00037957349200000234
Figure FDA00037957349200000235
之间的关键点热力图加权的光度误差
Figure FDA00037957349200000236
Figure FDA00037957349200000237
其中,
Figure FDA00037957349200000238
表示源图像
Figure FDA00037957349200000239
与重构图像
Figure FDA00037957349200000240
的结构相似性,||·||1、||·||2分别为L1范数及L2范数,α0、α1、α2为超参数,*表示逐像素相乘,H表示关键点热力图。
2.根据权利要求1所述的关键点热力图引导的自监督单目视觉里程计方法,其特征在于,所述提取视频图像序列中每帧图像的关键点并生成关键点热力图包括:
对视频图像序列中图像I提取关键点,使用高斯核函数生成一幅仅关注关键点周围局部区域的关键点热力图,其中,图像I为视频图像序列中的任一图像;
生成的关键点热力图H[p]表示为:
Figure FDA0003795734920000031
其中,p为关键点热力图中的像素点坐标,f∈F为关键点的坐标,F表示特征点集,δ为关键点的影响半径。
3.根据权利要求1所述的关键点热力图引导的自监督单目视觉里程计方法,其特征在于,所述基于得到的光度误差损失函数,训练所述位姿估计网络与深度估计网络包括:
对于深度估计网络的输出,确定深度平滑损失函数Ls
Figure FDA0003795734920000032
其中,dt *=1/dt为视差,即深度dt的倒数,
Figure FDA0003795734920000033
分别表示x方向与y方向上的偏导数,It为t时刻的图像;
根据确定的深度平滑损失函数Ls以及所述光度误差损失函数Lp,得到最终的损失函数L:
L=Lp+λLs
其中,λ为控制深度平滑损失函数比例的超参数;
利用最终的损失函数训练所述位姿估计网络与深度估计网络。
4.根据权利要求1所述的关键点热力图引导的自监督单目视觉里程计方法,其特征在于,所述利用训练好的位姿估计网络估计待估计位姿的视频图像序列中每帧图像对应的相机位姿包括:
将待估计位姿的图像序列中每对相邻帧图像输入到训练好的位姿估计网络中,得到每对相邻帧图像之间的位姿;
将位姿估计网络输出的每对相邻帧图像之间的位姿累积相乘,得到每帧图像对应的相机位姿。
CN202210290488.0A 2022-03-23 2022-03-23 一种关键点热力图引导的自监督单目视觉里程计方法 Active CN114663509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210290488.0A CN114663509B (zh) 2022-03-23 2022-03-23 一种关键点热力图引导的自监督单目视觉里程计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210290488.0A CN114663509B (zh) 2022-03-23 2022-03-23 一种关键点热力图引导的自监督单目视觉里程计方法

Publications (2)

Publication Number Publication Date
CN114663509A CN114663509A (zh) 2022-06-24
CN114663509B true CN114663509B (zh) 2022-09-27

Family

ID=82032002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210290488.0A Active CN114663509B (zh) 2022-03-23 2022-03-23 一种关键点热力图引导的自监督单目视觉里程计方法

Country Status (1)

Country Link
CN (1) CN114663509B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115661929B (zh) * 2022-10-28 2023-11-17 北京此刻启动科技有限公司 一种时序特征编码方法、装置、电子设备及存储介质
CN116630551B (zh) * 2023-07-25 2023-11-07 凝动万生医疗科技(武汉)有限公司 运动捕捉和评估装置及其方法
CN117214860B (zh) * 2023-08-14 2024-04-19 北京科技大学顺德创新学院 基于孪生特征金字塔和地面分割的激光雷达里程计方法
CN117197229B (zh) * 2023-09-22 2024-04-19 北京科技大学顺德创新学院 一种基于亮度对齐的多阶段估计单目视觉里程计方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8441489B2 (en) * 2008-12-31 2013-05-14 Intel Corporation System and method for SIFT implementation and optimization
CN110070066B (zh) * 2019-04-30 2022-12-09 福州大学 一种基于姿态关键帧的视频行人重识别方法及系统
CN110490928B (zh) * 2019-07-05 2023-08-15 天津大学 一种基于深度神经网络的相机姿态估计方法
CN110895809B (zh) * 2019-10-18 2022-07-15 中国科学技术大学 准确提取髋关节影像中关键点的方法
CN111047620A (zh) * 2019-11-15 2020-04-21 广东工业大学 一种基于深度点线特征的无人机视觉里程计方法
CN111325797B (zh) * 2020-03-03 2023-07-25 华东理工大学 一种基于自监督学习的位姿估计方法
CN111369608A (zh) * 2020-05-29 2020-07-03 南京晓庄学院 一种基于图像深度估计的视觉里程计方法
CN111899280B (zh) * 2020-07-13 2023-07-25 哈尔滨工程大学 采用深度学习和混合型位姿估计的单目视觉里程计方法
US11508080B2 (en) * 2020-09-15 2022-11-22 Toyota Research Institute, Inc. Systems and methods for generic visual odometry using learned features via neural camera models
CN112330589A (zh) * 2020-09-18 2021-02-05 北京沃东天骏信息技术有限公司 估计位姿的方法、装置及计算机可读存储介质
CN112435325B (zh) * 2020-09-29 2022-06-07 北京航空航天大学 基于vi-slam和深度估计网络的无人机场景稠密重建方法
CN112308918B (zh) * 2020-10-26 2024-03-29 杭州电子科技大学 一种基于位姿解耦估计的无监督单目视觉里程计方法
CN113436254B (zh) * 2021-06-29 2022-07-05 杭州电子科技大学 一种级联解耦的位姿估计方法
CN113470090A (zh) * 2021-07-23 2021-10-01 徐州中欧科技有限公司 基于sift-shot特征的多固态激光雷达外参标定方法

Also Published As

Publication number Publication date
CN114663509A (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN114663509B (zh) 一种关键点热力图引导的自监督单目视觉里程计方法
CN109271933B (zh) 基于视频流进行三维人体姿态估计的方法
TWI672667B (zh) 訓練用於影像處理神經網路模型的方法及裝置和電腦可讀儲存媒體
CN114782691B (zh) 基于深度学习的机器人目标识别与运动检测方法、存储介质及设备
CN111311666B (zh) 一种融合边缘特征和深度学习的单目视觉里程计方法
CN110246181B (zh) 基于锚点的姿态估计模型训练方法、姿态估计方法和系统
CN114663496B (zh) 一种基于卡尔曼位姿估计网络的单目视觉里程计方法
CN110136062B (zh) 一种联合语义分割的超分辨率重建方法
CN112861729B (zh) 一种基于伪深度图引导的实时深度补全方法
CN111582483A (zh) 基于空间和通道联合注意力机制的无监督学习光流估计方法
CN110942484B (zh) 基于遮挡感知和特征金字塔匹配的相机自运动估计方法
CN113160294A (zh) 图像场景深度的估计方法、装置、终端设备和存储介质
CN111626159A (zh) 一种基于注意力残差模块和支路融合的人体关键点检测方法
CN113139904B (zh) 一种图像盲超分辨率方法及系统
Mao et al. Uasnet: Uncertainty adaptive sampling network for deep stereo matching
CN113962858A (zh) 一种多视角深度获取方法
CN114429555A (zh) 由粗到细的图像稠密匹配方法、系统、设备及存储介质
CN113077505A (zh) 一种基于对比学习的单目深度估计网络的优化方法
CN114638836A (zh) 基于高度有效驱动与多层级特征融合的城市街景分割方法
CN115272437A (zh) 一种基于全局与局部特征的图像深度估计方法及装置
CN117115786B (zh) 一种联合分割跟踪的深度估计模型训练方法及使用方法
WO2022120996A1 (zh) 视觉位置识别方法及装置、计算机设备及可读存储介质
CN113538402A (zh) 一种基于密度估计的人群计数方法及系统
CN111696167A (zh) 自范例学习引导的单张影像超分辨率重构方法
CN116664531A (zh) 一种基于深度学习的大变形测量方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant