CN116188550A - 一种基于几何约束的自监督深度视觉里程计 - Google Patents
一种基于几何约束的自监督深度视觉里程计 Download PDFInfo
- Publication number
- CN116188550A CN116188550A CN202111423511.0A CN202111423511A CN116188550A CN 116188550 A CN116188550 A CN 116188550A CN 202111423511 A CN202111423511 A CN 202111423511A CN 116188550 A CN116188550 A CN 116188550A
- Authority
- CN
- China
- Prior art keywords
- picture
- representing
- depth
- pixel
- feature
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本公开提供一种基于几何约束的自监督深度视觉里程获取方法,包括:训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;通过深度估计网络获取图片深度信息;以及分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,双目图片的左右图片信息包含图片深度信息,图片深度信息用于恢复位姿的尺度。本公开还提供了一种基于几何约束的自监督深度视觉里程获取装置、电子设备以及可读存储介质。
Description
技术领域
本公开涉及基于计算机视觉slam中的位姿估计领域,本公开尤其涉及一种基于几何约束的自监督深度视觉里程获取方法、装置、电子设备及可读存储介质。
背景技术
位姿估计在机器人和无人机的研究中占据重要地位。传统的位姿估计常用轮式编码器,惯性导航装置,GPS卫星定位系统等。尽管这些方法已经被广泛使用且在一些特定的场合获得了显著的效果。但是,它们还存在着很大的局限性,例如,在实际使用中,轮式编码器会因为打滑而产生很大误差,惯性导航装置存在严重的累计误差,GPS定位系统无法在室内封闭环境中使用。
随着计算机视觉技术的发展,用视觉传感器实现位姿估计的方法能够避免传统位姿估计方法存在的这些问题。通过分析视觉传感器图像中的运动变化来估计机器人相对位姿(位置和方向)的过程被称为视觉里程计。视觉里程计可以实时对相机每一刻的位姿进行估计,并把这些估计值发送给后端优化模块以获得更精确的值。本公开属于基于计算机视觉slam中的位姿估计领域。
视觉里程计是一种通过视觉传感器获取相机相对位姿的方法,传统的视觉里程计利用几何原理恢复相机的运动,经过了多年的发展,其基本框架已经固定。近几年来,涌现出多种利用深度学习的方法揭示图像和相机运动关系的技术,也取得了显著成效。视觉里程计的现有技术总体分为传统方法和深度学习法的视觉里程计两种。
(1)传统方法
在介绍具体的视觉里程计技术之前,首先对里程计算法使用的相机数目及其特点进行简单阐述。视觉里程计一般分为单目视觉里程计和双目视觉里程计,单目视觉里程计具有成本低,便携使用等优点,但其最大的弊端就是单目相机无法恢复出图片的深度信息,因此在利用几何方法估计相机位姿时存在着尺度模糊的问题,传统的视觉里程计技术一般都会在使用时加入一定的约束和假设,这使得单目视觉里程计的应用范围一定程度上受到了限制。而双目相机可以通过双目相机的几何模型恢复出图片的深度信息,因此它估计出的相对位姿不存在尺度模糊的问题,但是双目相机对设备的要求较高,需要进行更加复杂的标定,同时双目相机的成本相比单目相机要高。因此单目视觉里程计和双目视觉里程计的选择需要考虑预算及应用场景等多方面因素。
下面对传统的视觉里程计技术进行介绍。传统的视觉里程计技术分为两种,特征点法和直接法。
Moravec最早提出了从连续的图像序列中估计出相机运动的技术,他设计出了Moravec角点检测技术用于获取图片特征,并利用该技术实现机器人室内导航。尽管该技术具有一些明显的缺陷,实用性不强,但它仍是后面许多视觉里程计技术的基础。2004年,Nister等人设计出了一套用于导航的完整的视觉里程计系统,可以用于估计单目或双目相机的位姿。系统完成了特征检测、特征跟踪、特征匹配和使用特征点间的几何关系对相机位姿进行估计等一系列工作,可以以低延迟的效果实时运行在未知的场景中,真正意义上实现了机器人的室外导航。
经过研究者们的不断深入研究,基于特征点法的视觉里程计技术已经使用成熟框架。首先按照设计出的特征模块进行特征检测,然后对相邻图片的特征点进行匹配,使用外点去除算法进行优化,再利用特征点之间的关系进行运动估计,并且可以使用特征点,路标点和相机位姿之间的关系来完成视觉里程计的局部优化。在这个框架中,特征检测中的特征模块作为其重要基础。目前经典的特征检测算法主要有Moravec、Forstner、Harris、ShiTomasi、SUSAN、FAST、SIFT、SURF、MSER以及Censure等,其中以Harris和SIFT两种算法的应用最为广泛。Harris角点是对上文中提的Moravec的改进,它对图片的旋转,亮度和视角变化以及噪声影响都具有稳定性,并且计算简单,但它对尺度过于敏感,容易在存在重复的纹理特征的场景中产生误匹配。SIFT特征点更适合应用于视觉里程计系统中。SIFT对图片旋转,视角变化,亮度变化和尺度变化都不敏感,而且在TLBBA对SIFT特征进行优化后,可以满足视觉里程计对于实时性的要求。因而很多视觉里程计系统采用了SIFT特征。除了对特征模块的改善外,研究者对视觉里程计的其他部分的改善也取得了一定的成效。闵海根等提出了一个特征点匹配框架,提出了一种改进的随机抽样一致性外点去除技术,具有更好的抗噪性能,使视觉里程计在动态环境中具有更好的性能。牛文雨等提出了一种基于动态物体检测的视觉里程计,通过将检测到的运动物体区域的特征点剔除,减少图片中的动态物体对估计结果的影响,有效提升了视觉里程计在动态场景下的性能。
上述介绍了基于特征点法的视觉里程计中技术的发展,基于特征点法的视觉里程计对噪声不敏感,能够稳定运行,具有较低的成本,已经被广泛使用,比如开源视觉里程计方法LIBVISO就是一种使用特征点法的视觉里程计。但基于特征点法的视觉里程计期望场景能有丰富的纹理,以提取出大量的有效特征,在纹理单一的场景下,该种技术将因为缺乏特征而性能大幅下降。实际上,一张图片包含有丰富的信息,而特征点法只利用了其中的特征点信息,而忽略了其他大部分信息,而视觉里程计中的另一种技术,直接法则是直接利用了图片上的像素信息,因此它也避免了特征点法的上述弊端。下面对使用直接法的视觉里程计进行介绍。
使用直接法的视觉里程计是利用图片的像素的亮度信息来计算相机的运动,因此只要场景中存在明暗变化,该方法就能对相机的运动进行估计,而不需要图片中必须能够提取出特征点。但直接法是基于像素灰度值不变的假设上进行的,这项条件会很容易被光照变化等原因破坏,使方法失败。相比之下,特征点法却对光照变化具有鲁棒性,而光照变化是位姿估计中很难避免的因素,所以尽管特征点法和直接法各有其优缺点及适用场景,特征点法仍是目前视觉里程计中的主流技术。
随着研究者们的不断深入改善,传统的视觉里程计在一些场景下已经能够达到很好的效果。但其通常对应用场景有极高的要求,对不同的场景可能需要采用不同的技术,并且一般都需要繁琐复杂的计算,这些都是传统技术目前仍未解决的问题。
(2)深度学习法
随着深度学习的发展,深度神经网络已经广泛应用于各个领域,利用深度学习的技术来研究视觉里程计是一个不可避免的趋势。相对于传统的基于特征的视觉里程计,基于深度学习的技术不再使用手工设计的特征点,也无需特征提取,特征匹配和复杂的几何运算,为视觉里程计的研究提供了新的解决方案。
Konda在2015年最先提出了一种端到端,基于深度学习的视觉里程计。该里程计模型接收双目图像序列,使用两个结构相同的卷积神经网络分别预测图片序列中每5帧的子序列中相机速度和方向的变化,再联合起来估计出完整的相机的运动路径,经测试该技术能够准确的预测出大部分的方向和速度的变化,同时作者也指出由于视觉里程计存在累积漂移的问题,预测出的相机运动全局轨迹的误差随着时间逐渐在增加。
2016年,Kendall提出了一种实时鲁棒的六自由度定位系统,该系统使用卷积神经网络从单目RGB图片估计出相机的六自由度姿态信息,室内外均可实时使用,对光照变化,运动模糊,和不同的相机内部特性都具有鲁棒性。
2017年,Wang等人使用循环卷积神经网络建立了一种新的端到端的单目视觉里程计框架,该框架借助卷积神经网络提取图像特征,循环神经网络则能够对图像的时序信息建模,从而提高模型的位姿估计能力。他们的实验表明,该技术可以和当时最先进的技术相媲美。
然而,上文中的深度学习视觉里程计的训练都需要相机的位姿真值,属于有监督的深度学习方法。但通常情况下,由于相机位姿真值的精确度极大程度上影响训练出的里程计的性能,故对位姿真值的获取要求非常严格,为获得精确的真值结果,通常需要多种技术联合对相机位姿进行采集并处理,这个过程成本较高。而基于无监督学习的视觉里程计不再需要相机的位姿真值,减少了视觉里程计训练的成本。
Zhou在2017年提出了一种基于非监督学习的单目图片的深度和运动的估计技术,该系统分为两个部分,分别估计单视图的深度和多视图的位姿,使用光度损失作为损失函数来估计相机的运动,最终的实验结果表明该模型能够较为准确地预测出相对深度和相对位姿,但它和其他的单目框架一样,存在着尺度模糊问题。Li在2017年也提出了无监督学习的单目视觉里程计,该方法能够估计出单目相机的六自由度姿态,不使用相机位姿数据真值对模型进行训练,并且实验表明具有较高的准确率。但该技术的位姿估计网络模型只使用了卷积神经网络用来提取特征,而忽略了相机相对位姿间的相关性,没有利用到图片的序列信息。
发明内容
为了解决上述技术问题中的至少一个,本公开提供了一种基于几何约束的自监督深度视觉里程获取方法、装置、电子设备及可读存储介质。
根据本公开的一个方面,提供一种基于几何约束的自监督深度视觉里程获取方法,包括:
训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
通过深度估计网络获取图片深度信息;
分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,所述双目图片的左右图片信息包含所述图片深度信息,所述图片深度信息用于恢复所述位姿的尺度;
优选的,所述位姿为六自由度相对位姿。
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,所述位姿估计网络通过卷积神经网络、注意力机制模块、卷积循环神经网络、全连接层依次连接而成;
优选的,所述位姿估计网络的全连接层包括Dropout层,所述Dropout层在训练时以预设概率舍弃部分神经元,起到了平均的作用,减少神经元之间复杂的共适应。
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,包括:
将双目图片的左右两个图像输入卷积神经网络,通过卷积神经网络获取图像特征;
将所述图像特征输入注意力模型,通过注意力模型获取图像通道细化特征;
将所述图像通道细化特征输入所述卷积神经网络,通过所述卷积神经网络获取相对位姿。
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,将所述图像特征输入注意力模型,通过注意力模型获取图像通道细化特征,包括:
使用平均和最大池化聚集空间信息,池化方向为图像的高和宽维度,由池化层得到平均和最大空间描述符;
将这两种描述符分别传递给全连接层,所述全连接层有2层,其中第一层全连接层有c×r个神经网络单元,第二层全连接层有c个神经网络单元,c是特征图的通道维大小,r是全连接层单元数相对于通道维大小的一个缩小因子;
全连接层输出一维张量作为通道注意力掩膜,注意力掩膜和原特征图按通道相乘,将生成通道细化特征;
计算过程可以用公式表示为:
Mc(F)=σ(FC(AvgPool(F))+FC(MaxPool(F))) (1)
其中,各个表达式含义如下:
F:输入注意力模型的图像特征;
F':通道细化特征;
σ:表示sigmoid激活函数;
FC(·):表示全连接层处理;
对通道细化特征进行处理,沿通道轴使用平均和最大池化;
将池化层生成的平均和最大池化描述符沿通道轴连接得到特征描述符,对特征描述符进行卷积操作后可以得到空间注意图,卷积核大小为7×7,将所述空间注意图和所述通道细化特征相乘,得到最终的空间细化特征;
计算过程可以用公式表示为:
Mc(F')=σ(f7×7(AvgPool(F');MaxPool(F'))) (3)
其中,各个表达式含义如下:
σ:表示sigmoid激活函数;
f7×7:表示卷积核大小为7×7的卷积操作。
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,所述深度估计网络由编码器、解码器及跳跃连接结构组成,所述跳跃连接结构将不同层的大小相同的特征图在通道维上合并拼接后输入到下层网络,所述跳跃连接结构使反卷积层在恢复尺寸时使用较浅的卷积层特征,使所述解码器恢复图像分辨细节;
优选的,所述解码器通过反卷积实现。
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,所述损失函数为:
其中,各个表达式含义如下:
Ldis:表示视差图重构损失;
Lpos:表示一致性损失;
λap:表示空间损失占比;
λpic:表示时间损失占比;
λdis:表示损失函数各项所占权重;
λpos:表示一致性损失占比;
其中,各个表达式含义如下:
N:表示图片像素点个数;
α:表示结构性相似度占比权重,1-α表示像素差绝对值均值占比权重;
其中,结构相似性指数SSIM计算方法如下:
SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ (7)
其中,SSIM计算公式中各个表达式含义如下:
x,y:分别表示用于比较的两张图片;
l(x,y),c(x,y),s(x,y):分别表示图片的亮度、对比度和结构信息;
α,β,γ:均大于0;
ux:表示图片x的像素均值;
uy:表示图片y的像素均值;
δxy:表示x和y的协方差;
c1,c2,c3:分别表示用来维持稳定的常数;
其中,优选的,α=β=γ=1,c3=0.5c2;
其中,L1范数构建的像素差绝对值均值的计算方法表示为:
其中,各个表达式含义如下:
其中,各个表达式含义如下:
It:表示时间t时刻的图片;
It+1:表示时间t+1时刻的图片;
It i,j:表示时间为t时刻的图片中坐标为(i,j)的像素的值;
It+1 i,j:表示表示时间为t+1时刻的图片中坐标为(i,j)的像素的值;
N:表示像素点数目;
其中,视差图重构损失Ldis通过视差损失函数计算,计算方法表示为:
其中,各个表达式含义如下:
Dl i,j:表示左图中坐标为(i,j)的像素对应的视差的值;
Dr i,j:表示右图中坐标为(i,j)的像素对应的视差的值;
N:表示像素点的数目;
其中,一致性损失Lpos通过一致性损失函数计算,计算方法如下:
Lpos=λt||tr-tl||+λr||rr-rl|| (14)
优选的,设置α=β=γ=1,c3=0.5c2,将式(8)(9)(10)代入(7),则SSIM表达式为:
根据本公开至少一个实施方式的基于几何约束的自监督深度视觉里程获取方法,所述原图和重构图之间通过各个对应像素点进行重构,包括:
对相邻两张图片进行特征匹配,根据匹配好的特征点来恢复两帧之间相机的运动,设相机相邻两帧间的运动为R,t,两个相机中心分别为O1,O2,空间点P的坐标为:
P=[X,Y,Z]T (15)
P在图片I1对应的特征点p1:
z1p1=KP (16)
其中,各个表达式含义如下:
P:特征点p1对应的空间点P的三维坐标;
p1:特征点p1对应的齐次坐标;
z1:在帧I1对应相机的深度值;
K:相机内参;
当已知z1和K时,可通过式(16)从特征点p1恢复出空间点P的坐标,且坐标尺度确定;
P在I2中对应的特征点p2:
z2p2=K(RP+t) (17)
由式(16)和(17)经过推导可以得出对极约束:
式(18)包含两个匹配P1和P2的特征点的空间位置关系,基于式(18)和多个匹配的特征点可以恢复出相机位姿;
由式(16)和(17)恢复出P在相邻两帧图片上对应的特征点的关系:
z2p2=K(z1RK-1p1+t) (19)
其中,式(19)表达式含义如下:
式(19)等式右端,在第一帧图片上的特征点p1已知其对应的空间点深度z1,可以利用相机内参矩阵K恢复出其对应空间点P在当前相机坐标下的位置,然后根据相机运动信息R,t可计算出该空间点在第二帧图片对应的相机坐标系下的位置;
式(19)等式左端,在第二张图片上的特征点p2,由相机内参矩阵K,深度信息z2和等式右端建立相等关系,p1和p2的关系由此建立;
在由空间点在第二帧图片对应的相机坐标系下的空间位置向特征点p2转换时,其对应的深度信息z2已由空间点坐标获得,也就是在建立p1和p2的关系时无需提前知道z2的值,用式(19)中的关系从p1估计出p2,用T表示两帧间运动,写成等式一侧乘以任意非零常数均成立的形式:
根据本公开的又一个方面,提供一种基于几何约束的自监督深度视觉里程获取装置,包括:
深度估计网络训练模块,训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
图片深度信息获取模块,通过深度估计网络获取图片深度信息;
位姿获取模块,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,所述双目图片的左右图片信息包含所述图片深度信息,所述图片深度信息用于恢复所述位姿的尺度;
优选的,所述位姿为六自由度相对位姿。
根据本公开的又一个方面,提供一种电子设备,包括:
存储器,所述存储器存储执行指令;
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述任一项所述的获取方法。
根据本公开的又一个方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述任一项所述的获取方法。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是根据本公开的一个实施方式的基于几何约束的自监督深度视觉里程获取方法的流程示意图。
图2是根据本公开的一个实施方式的卷积神经网络实现部分参数细节示意图。
图3是根据本公开的一个实施方式的深度估计网络的实现部分参数细节示意图。
图4是根据本公开的一个实施方式的位姿估计定量比较结果示意图。
图5是根据本公开的一个实施方式的位姿估计比较结果可视化示意图。
图6是根据本公开的一个实施方式的深度估计定量比较结果示意图。
图7是根据本公开的一个实施方式的深度估计比较结果可视化效果示意图。
图8是根据本公开的一个实施方式的基于几何约束的自监督深度视觉里程获取装置结构示意图。
附图标记说明
1000 基于几何约束的自监督深度视觉里程获取装置
1002 深度估计网络训练模块
1004 图片深度信息获取模块
1006 位姿获取模块
1100 总线
1200 处理器
1300 存储器
1400 其他电路。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其他特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上“、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
本文使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其他特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其他类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
图1是根据本公开的一个实施方式的基于几何约束的自监督深度视觉里程获取方法流程示意图。
如图1所示,基于几何约束的自监督深度视觉里程获取方法S100,包括:
S102:训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
S104:通过深度估计网络获取图片深度信息;以及,
S106:分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,双目图片的左右图片信息包含图片深度信息,图片深度信息用于恢复位姿的尺度;
优选的,位姿为六自由度相对位姿。
其中,位姿估计网络通过卷积神经网络、注意力机制模块、卷积循环神经网络、全连接层依次连接而成;
优选的,位姿估计网络的全连接层包括Dropout层,Dropout层在训练时以预设概率舍弃部分神经元,起到了平均的作用,减少神经元之间复杂的共适应。
其中,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,包括:
将双目图片的左右两个图像输入卷积神经网络,通过卷积神经网络获取图像特征;
将图像特征输入注意力模型,通过注意力模型获取图像通道细化特征;以及,
将图像通道细化特征输入卷积神经网络,通过卷积神经网络获取相对位姿。
其中,卷积神经网络为Conv-LSTM。
其中,将图像特征输入注意力模型,通过注意力模型获取图像通道细化特征,包括:
使用平均和最大池化聚集空间信息,池化方向为图像的高和宽维度,由池化层得到平均和最大空间描述符;
将这两种描述符分别传递给全连接层,全连接层有2层,其中第一层全连接层有c×r个神经网络单元,第二层全连接层有c个神经网络单元,c是特征图的通道维大小,r是全连接层单元数相对于通道维大小的一个缩小因子;
全连接层输出一维张量作为通道注意力掩膜,注意力掩膜和原特征图按通道相乘,将生成通道细化特征;
计算过程可以用公式表示为:
Mc(F)=σ(FC(AvgPool(F))+FC(MaxPool(F))) (1)
其中,各个表达式含义如下:
F:输入注意力模型的图像特征;
F':通道细化特征;
σ:表示sigmoid激活函数;
FC(·):表示全连接层处理;
对通道细化特征进行处理,沿通道轴使用平均和最大池化;
将池化层生成的平均和最大池化描述符沿通道轴连接得到特征描述符,对特征描述符进行卷积操作后可以得到空间注意图,卷积核大小为7×7,将空间注意图和通道细化特征相乘,得到最终的空间细化特征;
计算过程可以用公式表示为:
Mc(F')=σ(f7×7(AvgPool(F');MaxPool(F'))) (3)
其中,各个表达式含义如下:
σ:表示sigmoid激活函数;
f7×7:表示卷积核大小为7×7的卷积操作。
其中,深度估计网络由编码器、解码器及跳跃连接结构组成,跳跃连接结构将不同层的大小相同的特征图在通道维上合并拼接后输入到下层网络,跳跃连接结构使反卷积层在恢复尺寸时使用较浅的卷积层特征,使解码器恢复图像分辨细节;
优选的,解码器通过反卷积实现。
其中,损失函数为:
其中,各个表达式含义如下:
Ldis:表示视差图重构损失;
Lpos:表示一致性损失;
λap:表示空间损失占比;
λpic:表示时间损失占比;
λdis:表示损失函数各项所占权重;
λpos:表示一致性损失占比;
其中,各个表达式含义如下:
N:表示图片像素点个数;
α:表示结构性相似度占比权重,1-α表示像素差绝对值均值占比权重;
其中,结构相似性指数SSIM计算方法如下:
SSIM(x,y)=[l(x,y)]α[c(x,y)]β[s(x,y)]γ (7)
其中,SSIM计算公式中各个表达式含义如下:
x,y:分别表示用于比较的两张图片;
l(x,y),c(x,y),s(x,y):分别表示图片的亮度、对比度和结构信息;
α,β,γ:均大于0;
ux:表示图片x的像素均值;
uy:表示图片y的像素均值;
δxy:表示x和y的协方差;
c1,c2,c3:分别表示用来维持稳定的常数;
其中,优选的,α=β=γ=1,c3=0.5c2;
其中,L1范数构建的像素差绝对值均值的计算方法表示为:
其中,各个表达式含义如下:
其中,各个表达式含义如下:
It:表示时间t时刻的图片;
It+1:表示时间t+1时刻的图片;
It i,j:表示时间为t时刻的图片中坐标为(i,j)的像素的值;
It+1 i,j:表示表示时间为t+1时刻的图片中坐标为(i,j)的像素的值;
N:表示像素点数目;
其中,视差图重构损失Ldis通过视差损失函数计算,计算方法表示为:
其中,各个表达式含义如下:
Dl i,j:表示左图中坐标为(i,j)的像素对应的视差的值;
Dr i,j:表示右图中坐标为(i,j)的像素对应的视差的值;
N:表示像素点的数目;
其中,一致性损失Lpos通过一致性损失函数计算,计算方法如下:
Lpos=λt||tr-tl||+λr||rr-rl|| (14)
优选的,设置α=β=γ=1,c3=0.5c2,将式(8)(9)(10)代入(7),则SSIM表达式为:
其中,原图和重构图之间通过各个对应像素点进行重构,包括:
对相邻两张图片进行特征匹配,根据匹配好的特征点来恢复两帧之间相机的运动,设相机相邻两帧间的运动为R,t,两个相机中心分别为O1,O2,空间点P的坐标为:
P=[X,Y,Z]T (15)
P在图片I1对应的特征点p1:
z1p1=KP (16)
其中,各个表达式含义如下:
P:特征点p1对应的空间点P的三维坐标;
p1:特征点p1对应的齐次坐标;
z1:在帧I1对应相机的深度值;
K:相机内参;
当已知z1和K时,可通过式(16)从特征点p1恢复出空间点P的坐标,且坐标尺度确定;
P在I2中对应的特征点p2:
z2p2=K(RP+t) (17)
由式(16)和(17)经过推导可以得出对极约束:
式(18)包含两个匹配P1和P2的特征点的空间位置关系,基于式(18)和多个匹配的特征点可以恢复出相机位姿;
由式(16)和(17)恢复出P在相邻两帧图片上对应的特征点的关系:
z2p2=K(z1RK-1p1+t) (19)
其中,式(19)表达式含义如下:
式(19)等式右端,在第一帧图片上的特征点p1已知其对应的空间点深度z1,可以利用相机内参矩阵K恢复出其对应空间点P在当前相机坐标下的位置,然后根据相机运动信息R,t可计算出该空间点在第二帧图片对应的相机坐标系下的位置;
式(19)等式左端,在第二张图片上的特征点p2,由相机内参矩阵K,深度信息z2和等式右端建立相等关系,p1和p2的关系由此建立;
在由空间点在第二帧图片对应的相机坐标系下的空间位置向特征点p2转换时,其对应的深度信息z2已由空间点坐标获得,也就是在建立p1和p2的关系时无需提前知道z2的值,用式(19)中的关系从p1估计出p2,用T表示两帧间运动,写成等式一侧乘以任意非零常数均成立的形式:
本公开提供的基于几何约束的自监督深度视觉里程获取方法,选用KITTI VisualOdometry benchmark作为所设计的视觉里程计的训练和测试数据集。KITTI VisualOdometry benchmark是Geiger等人采集的公开的室外汽车驾驶数据集,广泛用于评估各种VO算法。数据采集平台包括移动平台、双目彩色相机、GPS、雷达扫描仪等。KITTI VObenchmark数据集总共包括22个室外场景,包含市区,乡村和高速公路等场景。每个场景的数据都由双目相机拍摄的一系列连续图片组成。前11个序列除了双目图片数据外,还提供了由车载的各种传感器精确定位计算而得的汽车行驶位姿的真值数据,以及激光点云数据等。该数据集中的所有序列都是街景场景,数据集中每张图片中最多可达15辆车和30个行人,还有各种程度的遮挡和截断,除此之外,较大的明暗变化,汽车拐弯时较大的视角变化,运动速度不一致造成的相对位姿变化较大,以及路面反光等问题,都和里程计需要实际使用的场合较为贴近,但这也为视觉里程计带来了很大的挑战。
KITTI VO提供的相机位姿真值数据为相机的绝对位姿,每个图片都对应一个[Rt]矩阵,R即为该帧图片相对于第一帧图片的对应的相机位姿的旋转矩阵,t就是其在第一帧图片坐标系中的位置,该矩阵被拉伸成一个12-d的向量写在真值数据中。
本公开提供的基于几何约束的自监督深度视觉里程获取方法,基于开源框架Tensorflow搭建,使用Adam优化器来训练,使用FlowNet-Simple预训练模型。初始学习率设为1e-4,参数beta1=0.9,beta2=0.99,共训练60个回合,每20个回合学习率衰减为原来的每个回合结束后会将训练样本重新打乱。基于监督学习的视觉里程计使用单目图片序列和数据真值作为标签进行训练,使用KITTI VO benchmark的0,1,2,3,4,5,6,7,8序列用于训练,9,10序列用于测试。输入图片大小设置为416×128×3,对图片随机使用数据增强操作,操作包括:亮度变化:通过调整图像像素值改变图像亮度。亮度增强系数γ∈[0.7,1.3];裁剪:对输入图片按比例因子s∈[1,1.2]扩放后,再按输入图片尺寸随机裁剪;旋转:随机旋转输入图片r∈[-5,5]度。数据增强操作被广泛用于各种深度学习算法中处理数据,它能够增加训练的数据量,提高模型的泛化能力,还能够增加数据噪声,提升模型的鲁棒性。
同时,为了避免模型过拟合,本公开在位姿估计网络的全连接层中增加了Dropout层,Dropout层在训练时以概率p舍弃部分神经元,起到了平均的作用,减少神经元之间复杂的共适应。本公开中所用概率p设置为0.5,每两层全连接层中间均加入一层Dropout层。
训练时利用双目立体图片恢复图像深度,故训练时使用双目图片序列,同时训练位姿估计网络和深度估计网络模型。测试使用单目图片,可单独对位姿估计网络或深度估计网络进行测试。
本公开提供了实验效果较好的深度网络模型、构建了考虑多种因素的鲁棒损失函数、建立了深度恢复模型,在实际使用当中,当更改以上的模型或损失函数时,也能达到位姿估计的目的,但位姿估计精度会有所不同。
本公开利用自监督学习的从相邻图片中估计位姿的方法,并且这些方法在对应的公开数据集上均取得了满意的效果,本公开提供的方法可以应用到机器人、无人机等搭载单目视觉相机的移动设备定位和导航中。
图2是根据本公开的一个实施方式的神经网络部分参数细节。
本公开的特征提取部分基于FlowNetSimple的卷积部分完成,其具体的实现细节可见图2,卷积核大小由最开始的7×7过渡到5×5,最终保持大小为3×3。第一层的0填充数为3,第二层和第三层为2,其余层都为1。将待估计相对位姿变化的两张图片在通道维叠加后再输入到卷积网络中提取特征。
LSTM优秀的表现被广泛使用在处理序列输入的任务中,然而,对于图像处理任务而言,该方式并不是一种最优方式。LSTM内部网络使用全连接层来完成特征提取,要求输入拉长为一维张量,这使得LSTM在提取时序特征时,在一定程度上破坏了特征的空间结构。为了解决LSTM存在的问题,本节对LSTM进行改进,选择使用Conv-LSTM单元。首先介绍LSTM的一种变体FC-LSTM,FC-LSTM和LSTM的不同在于,它内部的门层也会接受细胞状态的输入,其内部结构可用公式表示:
Conv-LSTM以FC-LSTM的结构为基础,但是它将LSTM内部使用全连接层的计算替换为卷积神经网络计算,网络输入和输出均为三维张量。实际上,可以把传统的LSTM看作是Conv-LSTM的一种特例,因为全连接层其实也是一种卷积。对于Conv-LSTM,内部在进行卷积时会对特征图进行填充,以维持卷积计算的输入输出尺寸相同。具体的,Conv-LSTM的内部运算为下面各式:
式中*代表卷积操作。卷积操作代替全连接层使Conv-LSTM单元能够提取时空信息,它不仅在多个帧位姿信息间增加约束,而且也添加了多个帧图片特征间的约束,和BA优化的思想更加吻合。
最终的位姿估计网络由卷积神经网络,注意力机制块,卷积循环神经网络,全连接层依次连接组成。网络输入是连续的图片序列,输出对应的相对六自由度相对位姿。
首先,两个连续的图片沿着通道维堆叠在一起,一个有N张图片的序列可以通过滑动窗口法处理为N-1个张量。输入首先进入卷积网络,由卷积神经网络提取出图片的特征。再输入到注意力机制模块中。特征先后经过通道注意力机制和空间注意力机制处理,输出细化后的特征,注意力模块的输入和输出大小相同。然后细化后的特征图将输入到Conv-LSTM中。
本公开使用两层Conv-LSTM,每层Conv-LSTM中有一层卷积神经网络,卷积核尺寸为5×5×256,填充方式为SAME,时间步数设置为8,输出特征被展平为1-D向量后输入全连接层中,全连接层的目的是进行特征降维,利用前面网络提取的图片特征产生最终结果,本公开在Conv-LSTM后共设计了3层全连接层,分别有1000,128,6个神经网络单元。
最终的位姿估计网络输入图片序列,输出对应的六自由度相对位姿。网络估计出的六维相对位姿,如式:(Δx,Δy,Δz,Δψ,Δχ,Δφ)。
图3是根据本公开的一个实施方式的深度估计网络的实现部分参数细节示意图。
为恢复图像深度,需要构建图片深度估计网络,逐像素估计深度。计算机视觉中的逐像素预测的密集预测问题常常使用编码器-解码器结构解决,如语义分割等问题。卷积网络经过多次卷积核池化后会缩小图像的尺寸,最后的输出结果将不能对应到原始图像的每一个像素。而解码器结构则能够将编码器输出的低分辨率特征图像映射回输入图像的尺寸,进行逐像素的预测。
解码器通过反卷积来实现,它主要是使用反卷积来进行升采样,使特征图逐步恢复尺寸。反卷积又称作转置卷积,可以理解为是卷积操作的逆运算,但并不是正向卷积的完全逆运算,而是一种特殊的卷积。它先按照一定比例通过补0来扩大输入图像的尺寸,然后旋转卷积核,进行卷积。反卷积只能恢复尺寸,并不能恢复特征图到卷积前的数值。
此外,编码器-解码器结构常常使用跳跃连接(skip-connection),跳跃连接将不同层的大小相同的特征图在通道维上合并拼接,再输入到下层网络,利用该结构可以使反卷积层在恢复尺寸时利用到较浅的卷积层特征,卷积层的浅层特征相对于深度特征,具有更多的局部细节特征信息,这些特征可以帮助解码器恢复更高的分辨细节。
本实施方式的技术实现时,不直接构建深度估计网络,而是先估计出图片视差图,然后再利用深度与视差的关系恢复出图片深度。本公开以编码器-解码器+跳跃连接结构为基础设计出深度估计网络,网络细节可看图3中的表,网络以编码器-解码器结构为基础。编码器包括7层卷积模块,每个模块包含2个卷积核大小和通道数相同的卷积层。相应的,解码器也有7个反卷积模块,每个反卷积块包括一个反卷积层和一个卷积层,它们的卷积核大小和通道数相同。解码器利用跳跃连接以帮助反卷积层能够恢复出更高分辨率的细节。解码器的最后四个反卷积模块依次分别通过一个带有sigmoid激活函数的卷积层输出模块输出四个不同尺度的视差图,每个视差图的分辨率是前一个的两倍。其中sigmoid函数保证输出结果在0-1之间,该值是相对于输入图片宽度归一化的结果。
图4是根据本公开的一个实施方式的位姿估计定量比较结果。
如图4所示,从图4中可知,将基于自监督学习方法的视觉里程计和传统单目视觉里程计方法Viso2-mono及基于自监督学习的深度学习方法SfM-Learner在测试集上的结果,定量评估结果可见如图4,响应的轨迹可见图5
将基于自监督学习方法的视觉里程计和传统单目视觉里程计方法Viso2-mono及基于自监督学习的深度学习方法SfM-Learner在测试集上的结果,定量评估结果如图4。
图5是根据本公开的一个实施方式的位姿估计结果可视化示意图。
如图5所示,不同方法的位姿估计结果轨迹,本公开中的方法优于传统单目视觉里程计和自监督深度学习方法SfM-Learner,和基于监督学习方法结果比较,在使用相同训练集进行训练,训练至模型都收敛的情况下,基于自监督学习的视觉里程计测试结果略逊于基于监督学习的视觉里程计,但该情况可能是因为基于自监督学习的视觉里程计训练时受到深度估计网络估计性能的限制,以及重构图片技术误差影响。但实际应用时,基于自监督学习的视觉里程计的优势在于它大大降低了数据集采集难度,可以以较低成本用更多的数据集对其训练,从而提高它的泛化能力及最终性能。响应的,
图6是根据本公开的一个实施方式的深度估计结果定量比较示意图。
如图6所示,深度估计结果定量比较示意图,其中,误差评价指标如下表所示。
基于自监督学习的视觉里程计的主要任务是估计相机相对位姿,深度估计的设计是为了实现自监督学习机制,它的性能影响着位姿估计网络的性能。本公开对该系统进行了评估。图6随机显示了本公开,真实深度值和SfM-Learner方法在一些图片上结果的比较,其中深度图真值经过处理得到,因为KITTI提供了含有深度信息的激光雷达数据,但该激光点云数据比较稀疏,直接将激光雷达数据映射到图像上,会有很多点不匹配,故对其进行插值处理,使之能够和彩色图片对应。其中,误差评价指标采用上述误差评价指标表中的指标,以50m作为深度最大阈值定量对深度估计方法进行比较。由图6可知,本公开提供的方法优于SfM-Learner和Eigen等人的方法,但稍逊于Garg等的方法。经过猜想,认为是在深度估计网络和位姿估计网络同时训练的情况下,位姿估计网络的训练会对深度估计的训练产生噪声,但是,深度估计结果实际上只是一个中间值,主要作用是辅助位姿估计网络构建损失函数。相对应的,图7为深度估计比较结果的可视化示意图。
图7是根据本公开的一个实施方式的深度估计比较结果可视化效果示意图。
如图7所示,在输入不同的图片时,不同方法深度估计比较结果可视化效果。需要说明的是,为满足可视化效果,真值数据由激光数据插值而来。
本公开构建了基于自监督学习的视觉里程计模型,系统输入为连续的单目图片序列,输出为相应的六自由度相对位姿。技术特点在于其不再使用带有位姿真值的数据进行训练,而是结合视觉里程计传统方法的相关思想,利用相邻图片间的几何关系恢复图片间像素的对应关系,进行图片重构,再对估计图片和原图进行比较来构建损失函数。恢复位姿的尺度需要图片的深度信息,故本公开还增加了深度估计网络,深度估计网络以编码器-解码器结构为基础,编码器提取图片特征,解码器恢复图片的分辨率,最后逐像素估计输入图片,输出深度估计图。深度估计网络主要利用双目相机图片的几何关系,用双线性采样法重构图片,再对估计图和原图进行比较,构建空间损失函数。模型训练时输入双目图片序列,测试时输入单目图片序列。经测试本公开性能优于一般技术。
图8是根据本公开的一个实施方式的基于几何约束的自监督深度视觉里程获取装置结构示意图。
如图8所示,基于几何约束的自监督深度视觉里程获取装置1000,包括:
深度估计网络训练模块1002,训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
图片深度信息获取模块1004,通过深度估计网络获取图片深度信息;以及,
位姿获取模块1006,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,双目图片的左右图片信息包含图片深度信息,图片深度信息用于恢复位姿的尺度;
优选的,位姿为六自由度相对位姿。
根据本公开的又一个方面,提供一种电子设备,包括:
存储器,存储器存储执行指令;
处理器,处理器执行存储器存储的执行指令,使得处理器执行上述任一项的方法。
根据本公开的又一个方面,提供一种可读存储介质,可读存储介质中存储有执行指令,执行指令被处理器执行时用于实现上述任一项的方法。
图7示出了采用处理系统的硬件实现方式的装置示例图,该装置可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
该硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其他电路1400连接。
总线1100可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本公开领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式/方式或示例中。在本说明书中,对上述术语的示意性表述不必须的是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其他变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (9)
1.一种基于几何约束的自监督深度视觉里程获取方法,其特征在于,包括:
训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
通过深度估计网络获取图片深度信息;以及
分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,所述双目图片的左右图片信息包含所述图片深度信息,所述图片深度信息用于恢复所述位姿的尺度,所述位姿估计网络通过卷积神经网络、注意力机制模块、卷积循环神经网络、全连接层依次连接而成,所述位姿为六自由度相对位姿;
其中,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,包括:
将双目图片的左右两个图像输入所述卷积神经网络,通过所述卷积神经网络获取图像特征;
将所述图像特征输入注意力模型,通过注意力模型获取图像通道细化特征;以及
将所述图像通道细化特征输入所述卷积神经网络,通过所述卷积神经网络获取相对位姿;
基于几何约束的自监督深度视觉里程获取方法基于几何约束的自监督深度视觉里程获取方法。
2.根据权利要求1所述的基于几何约束的自监督深度视觉里程获取方法,其特征在于,所述位姿估计网络的全连接层包括Dropout层,所述Dropout层在训练时以预设概率舍弃部分神经元,起到了平均的作用,减少神经元之间复杂的共适应。
3.根据权利要求1所述的基于几何约束的自监督深度视觉里程获取方法,其特征在于,将所述图像特征输入注意力模型,通过注意力模型获取图像通道细化特征,包括:
使用平均和最大池化聚集空间信息,池化方向为图像的高和宽维度,由池化层得到平均和最大空间描述符;
将这两种描述符分别传递给全连接层,所述全连接层有2层,其中第一层全连接层有c×r个神经网络单元,第二层全连接层有c个神经网络单元,c是特征图的通道维大小,r是全连接层单元数相对于通道维大小的一个缩小因子;
全连接层输出一维张量作为通道注意力掩膜,注意力掩膜和原特征图按通道相乘,将生成通道细化特征;
计算过程可以用公式表示为:
Mc(F)=σ(FC(AvgPool(F))+FC(MaxPool(F))) (1)
其中,各个表达式含义如下:
F:输入注意力模型的图像特征;
F':通道细化特征;
σ:表示sigmoid激活函数;
FC(·):表示全连接层处理;
对通道细化特征进行处理,沿通道轴使用平均和最大池化;
将池化层生成的平均和最大池化描述符沿通道轴连接得到特征描述符,对特征描述符进行卷积操作后可以得到空间注意图,卷积核大小为7×7,将所述空间注意图和所述通道细化特征相乘,得到最终的空间细化特征;
计算过程可以用公式表示为:
Mc(F')=σ(f7×7(AvgPool(F');MaxPool(F'))) (3)
其中,各个表达式含义如下:
σ:表示sigmoid激活函数;
f7×7:表示卷积核大小为7×7的卷积操作。
4.根据权利要求1所述的基于几何约束的自监督深度视觉里程获取方法,其特征在于,所述深度估计网络由编码器、解码器以及跳跃连接结构组成,所述跳跃连接结构将不同层的大小相同的特征图在通道维上合并拼接后输入到下层网络,所述跳跃连接结构使反卷积层在恢复尺寸时使用较浅的卷积层特征,使所述解码器恢复图像分辨细节;
其中,所述解码器通过反卷积实现。
5.根据权利要求1所述的基于几何约束的自监督深度视觉里程获取方法,其特征在于,所述损失函数为:
其中,各个表达式含义如下:
Ldis:表示视差图重构损失;
Lpos:表示一致性损失;
λap:表示空间损失占比;
λpic:表示时间损失占比;
λdis:表示损失函数各项所占权重;
λpos:表示一致性损失占比;
其中,各个表达式含义如下:
N:表示图片像素点个数;
α:表示结构性相似度占比权重,1-α表示像素差绝对值均值占比权重;
其中,结构相似性指数SSIM计算方法如下:
其中,SSIM计算公式中各个表达式含义如下:
x,y:分别表示用于比较的两张图片;
l(x,y),c(x,y),s(x,y):分别表示图片的亮度、对比度和结构信息;
α,β,γ:均大于0;
ux:表示图片x的像素均值;
uy:表示图片y的像素均值;
δxy:表示x和y的协方差;
c1,c2,c3:分别表示用来维持稳定的常数;
其中,优选的,α=β=γ=1,c3=0.5c2;
其中,L1范数构建的像素差绝对值均值的计算方法表示为:
其中,各个表达式含义如下:
其中,各个表达式含义如下:
It:表示时间t时刻的图片;
It+1:表示时间t+1时刻的图片;
N:表示像素点数目;
其中,视差图重构损失Ldis通过视差损失函数计算,计算方法表示为:
其中,各个表达式含义如下:
N:表示像素点的数目;
其中,一致性损失Lpos通过一致性损失函数计算,计算方法如下:
Lpos=λt||tr-tl||+λr||rr-rl|| (14)
优选的,α=β=γ=1,c3=0.5c2,将式(8)(9)(10)代入(7),则SSIM表达式为:
6.根据权利要求5所述的基于几何约束的自监督深度视觉里程获取方法,其特征在于,所述原图和重构图之间通过各个对应像素点进行重构,包括:
对相邻两张图片进行特征匹配,根据匹配好的特征点来恢复两帧之间相机的运动,设相机相邻两帧间的运动为R,t,两个相机中心分别为O1,O2,空间点P的坐标为:
P=[X,Y,Z]T (15)
P在图片I1对应的特征点p1:
z1p1=KP (16)
其中,各个表达式含义如下:
P:特征点p1对应的空间点P的三维坐标;
p1:特征点p1对应的齐次坐标;
z1:在帧I1对应相机的深度值;
K:相机内参;
当已知z1和K时,可通过式(16)从特征点p1恢复出空间点P的坐标,且坐标尺度确定;
P在I2中对应的特征点p2:
z2p2=K(RP+t) (17)
由式(16)和(17)经过推导可以得出对极约束:
式(18)包含两个匹配P1和P2的特征点的空间位置关系,基于式(18)和多个匹配的特征点可以恢复出相机位姿;
由式(16)和(17)恢复出P在相邻两帧图片上对应的特征点的关系:
z2p2=K(z1RK-1p1+t) (19)
其中,式(19)表达式含义如下:
式(19)等式右端,在第一帧图片上的特征点p1已知其对应的空间点深度z1,可以利用相机内参矩阵K恢复出其对应空间点P在当前相机坐标下的位置,然后根据相机运动信息R,t可计算出该空间点在第二帧图片对应的相机坐标系下的位置;
式(19)等式左端,在第二张图片上的特征点p2,由相机内参矩阵K,深度信息z2和等式右端建立相等关系,p1和p2的关系由此建立;
在由空间点在第二帧图片对应的相机坐标系下的空间位置向特征点p2转换时,其对应的深度信息z2已由空间点坐标获得,也就是在建立p1和p2的关系时无需提前知道z2的值,用式(19)中的关系从p1估计出p2,用T表示两帧间运动,写成等式一侧乘以任意非零常数均成立的形式:
7.一种基于几何约束的自监督深度视觉里程获取装置,其特征在于,包括:
深度估计网络训练模块,训练深度估计网络至损失函数满足预设值,使得深度估计网络收敛;
图片深度信息获取模块,通过深度估计网络获取图片深度信息;以及
位姿获取模块,分别将双目图片的左右图片序列输入位姿估计网络,获取位姿,所述双目图片的左右图片信息包含所述图片深度信息,所述图片深度信息用于恢复所述位姿的尺度;
其中,所述位姿为六自由度相对位姿。
8.一种电子设备,其特征在于,包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行如权利要求1至6中任一项所述的获取方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如权利要求1至6中任一项所述的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423511.0A CN116188550A (zh) | 2021-11-26 | 2021-11-26 | 一种基于几何约束的自监督深度视觉里程计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423511.0A CN116188550A (zh) | 2021-11-26 | 2021-11-26 | 一种基于几何约束的自监督深度视觉里程计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116188550A true CN116188550A (zh) | 2023-05-30 |
Family
ID=86436952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111423511.0A Pending CN116188550A (zh) | 2021-11-26 | 2021-11-26 | 一种基于几何约束的自监督深度视觉里程计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116188550A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934829A (zh) * | 2023-09-15 | 2023-10-24 | 天津云圣智能科技有限责任公司 | 无人机目标深度估计的方法、装置、存储介质及电子设备 |
CN117191011A (zh) * | 2023-08-17 | 2023-12-08 | 北京自动化控制设备研究所 | 基于惯性/视觉信息融合的目标尺度恢复方法 |
-
2021
- 2021-11-26 CN CN202111423511.0A patent/CN116188550A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117191011A (zh) * | 2023-08-17 | 2023-12-08 | 北京自动化控制设备研究所 | 基于惯性/视觉信息融合的目标尺度恢复方法 |
CN116934829A (zh) * | 2023-09-15 | 2023-10-24 | 天津云圣智能科技有限责任公司 | 无人机目标深度估计的方法、装置、存储介质及电子设备 |
CN116934829B (zh) * | 2023-09-15 | 2023-12-12 | 天津云圣智能科技有限责任公司 | 无人机目标深度估计的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ming et al. | Deep learning for monocular depth estimation: A review | |
CN111325794B (zh) | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 | |
Guo et al. | Learning monocular depth by distilling cross-domain stereo networks | |
CN109377530B (zh) | 一种基于深度神经网络的双目深度估计方法 | |
CN111325797B (zh) | 一种基于自监督学习的位姿估计方法 | |
US11462023B2 (en) | Systems and methods for 3D object detection | |
CN111311666B (zh) | 一种融合边缘特征和深度学习的单目视觉里程计方法 | |
CN113160375B (zh) | 一种基于多任务学习算法的三维重建及相机位姿估计方法 | |
US20190220992A1 (en) | Object pose estimating method and apparatus | |
US11064178B2 (en) | Deep virtual stereo odometry | |
CN112991413A (zh) | 自监督深度估测方法和系统 | |
WO2022206020A1 (zh) | 图像场景深度的估计方法、装置、终端设备和存储介质 | |
CN112767467B (zh) | 一种基于自监督深度学习的双图深度估计方法 | |
CN116188550A (zh) | 一种基于几何约束的自监督深度视觉里程计 | |
CN111105432A (zh) | 基于深度学习的无监督端到端的驾驶环境感知方法 | |
US11948310B2 (en) | Systems and methods for jointly training a machine-learning-based monocular optical flow, depth, and scene flow estimator | |
CN112651423A (zh) | 一种智能视觉系统 | |
CN114429555A (zh) | 由粗到细的图像稠密匹配方法、系统、设备及存储介质 | |
CN114170311A (zh) | 一种双目立体匹配方法 | |
CN112686952A (zh) | 一种图像光流计算系统、方法及应用 | |
Yang et al. | SAM-Net: Semantic probabilistic and attention mechanisms of dynamic objects for self-supervised depth and camera pose estimation in visual odometry applications | |
Almalioglu et al. | Unsupervised deep persistent monocular visual odometry and depth estimation in extreme environments | |
Xiang et al. | Self-supervised monocular trained depth estimation using triplet attention and funnel activation | |
Zheng et al. | 6d camera relocalization in visually ambiguous extreme environments | |
CN115731280A (zh) | 基于Swin-Transformer和CNN并行网络的自监督单目深度估计方法 |
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 |