CN116664621A - 一种基于车载多目摄像头和深度神经网络的slam*** - Google Patents
一种基于车载多目摄像头和深度神经网络的slam*** Download PDFInfo
- Publication number
- CN116664621A CN116664621A CN202310193257.2A CN202310193257A CN116664621A CN 116664621 A CN116664621 A CN 116664621A CN 202310193257 A CN202310193257 A CN 202310193257A CN 116664621 A CN116664621 A CN 116664621A
- Authority
- CN
- China
- Prior art keywords
- camera
- frame
- pose
- vehicle
- network
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 17
- 239000011159 matrix material Substances 0.000 claims abstract description 19
- 238000005457 optimization Methods 0.000 claims abstract description 16
- 230000000007 visual effect Effects 0.000 claims abstract description 15
- 230000009466 transformation Effects 0.000 claims abstract description 7
- 230000003287 optical effect Effects 0.000 claims description 30
- 238000000605 extraction Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 12
- 230000000875 corresponding effect Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 claims description 9
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims description 3
- 230000036544 posture Effects 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 claims description 2
- 230000015556 catabolic process Effects 0.000 abstract description 2
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于车载多目摄像头和深度神经网络的SLAM***,将多摄像头架设在车辆上,并对其进行标定,得到相机内参以及多相机之间的变换矩阵;拍摄一组视频或图像序列作为网络输入;将图像序列输入到前端计算视觉里程计,前端由特征编码器,视觉相似性计算模块与更新迭代模块构成;将关键帧序列输入到后端优化,后端会对整个关键帧序列进行全局BA;本发明基于深度学习算法赋予SLAM***更强的稳定性与泛化能力,在一系列困难场景依然可以稳定的进行跟踪,多摄像头给予***更低的成本以及更高的精度和鲁棒性,避免因单独传感器被遮挡而导致的***崩溃现象,实现在低成本的情况下使SLAM***运行的更加稳定,更具鲁棒性。
Description
技术领域
本发明涉及计算机视觉技术领域,具体为一种基于车载多目摄像头和深度神经网络的SLAM***。
背景技术
SLAM(即时定位与地图构建)是一个专用术语,也称为CML或并发定位与建图,同步定位与建图问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航,SLAM(即时定位与地图构建)问题可依靠不同的传感器进行处理,例如,视觉、激光雷达、IMU、GNSS传感器;
虽然该技术在近年来取得了重大的进展,但是当前的SLAM算法主要针对单目以及双目摄像头,这些方法的视场角小,容易受到外界干扰,当传感器被遮挡时,***将崩溃,而且在许多情况下会失效,例如特征点跟踪丢失,优化问题发散无法收敛以及偏移累积,使得***的稳定性和鲁棒性低,而且激光雷达,GNSS等传感器成本高昂,多传感器***令用户难以负担。
发明内容
本发明提供一种基于车载多目摄像头和深度神经网络的SLAM***,可以有效解决上述背景技术中提出当前的SLAM算法主要针对单目以及双目摄像头,这些方法的视场角小,容易受到外界干扰,当传感器被遮挡时,***将崩溃,而且在许多情况下会失效,例如特征点跟踪丢失,优化问题发散无法收敛以及偏移累积,使得***的稳定性和鲁棒性低,而且激光雷达,GNSS等传感器成本高昂,多传感器***令用户难以负担的问题。
为实现上述目的,本发明提供如下技术方案:一种基于车载多目摄像头和深度神经网络的SLAM***,包括车载摄像头框架,车载摄像头框架由前后4个摄像头构成,车前端为1个单目的rgb相机,负责车辆的前视场,车后端分别有1个单目的rgb相机负责车辆后方视场以及1个视场斜向下的双目rgbd相机;
该***包括如下实施步骤:
S1、将多摄像头架设在车辆上,并对其进行标定,得到相机内参以及多相机之间的变换矩阵;
S2、拍摄一组视频或图像序列作为网络输入;
S3、将图像序列输入到前端计算视觉里程计,前端由特征编码器,视觉相似性计算模块与更新迭代模块构成;
S4、将关键帧序列输入到后端优化,后端会对整个关键帧序列进行全局BA;
S5、对关键帧序列进行闭环检测进一步优化相机位姿。
根据上述技术方案,所述S1中,在获取相机内参以及多相机之间的变换矩阵时,首先准备一个高精度的marker场景,将车辆开入场景中央,场景四周是一组预先设置的不同角度的ChArUco标定板;
具体的,先对单独相机进行标定,对相机获取的不同角度的标定板图像角点进行检测,得到角点的像素坐标,根据标定板大小和世界坐标原点计算角点的物理坐标值,并求取内参矩阵以及畸变系数,接着对相机外参进行标定,获取相机间的相对姿态,相机的外参标定亦可通过采用多个点的坐标数据来求得。
根据上述技术方案,所述S2中,主要是指通过相机来拍摄一组路况的视频或图像序列,并以此来作为网络输入。
根据上述技术方案,所述S3中,主要将S2中拍摄的视频或图像序列进行输入,前端计算视觉里程计直接对输入的视频或图像序列进行操作,构建一个frame-graph来储存前后帧之间共视关系,并多次迭代更新优化一个关键帧序列及其对应的位姿与深度;
先计算前后帧之间的图片特征以及对应的匹配特征点,从而求解两帧图像之间的相对位姿以及特征点的三维位置关系,利用线性运动模型初始化位姿,并固定图像序列前两帧的位姿作为初始相对位姿,进而计算其中一帧的特征投影到另一帧图像的位置,建立重投影误差;
此外,还需计算前后两帧由于相机运动而造成的每个像素的光度误差与特征点法进行互补,经全连接后共同输入更新模块,以此允许网络利用运动场的平滑度来获取更高的鲁棒性,在前端跟踪到新的关键帧后,通过计算前后关键帧的平均光流大小来计算他们之间的距离,并删除除中间存在的冗余关键帧,以此执行局部BA操作。
根据上述技术方案,在S3中,具体的,特征编码器由特征提取网络和上下文网络构成,仅在网络中执行一次,特征提取网络由6个残差块和3个降采样层组成,6个残差块具体为:分辨率分别为2个1/2的原始分辨率,2个1/4的原始分辨率和2个1/8的原始分辨率;
新的图像到来时,先通过特征提取网络进行特征提取,生成1/8输入图像分辨率IH ×W×3→IH/×W/8×D,D设置为256的特征图,上下文网络与特征提取网络结构一致,不同的是特征提取网络负责提取前后两帧每个像素的特征,上下文网络仅提取前一帧的特征。
根据上述技术方案,所述S3中,视觉相似性计算模块构建一个frame-graph用于储存前后帧之间共视关系,对前一网络得到的前后帧计算成本体积作为完全相关体积,为降低相关信息张量的大小,将相关体积的最后两个维度与尺寸分别为1、2、4、8的卷积核进行平均池化,构建一个4层相关金字塔,生成分辨率分别为原始分辨率1,1/2,1/4,1/8的相关信息张量C1,C2,C3,C4;
为方便查找匹配,使用半径为r的网格采用双线性插值对每一级的相关体积进行索引,经过一个全连接层后作为最终的特征向量,更新迭代模块由一个带有隐藏向量h的3×3的ConvGRU构成,可根据下式实现:
将相关信息张量cij与光流特征经两层卷积后与上下文特征一起全连接送入ConvGRU后,对隐藏向量hij做平均池化来提取全局上下文信息,每次迭代都会对隐藏向量进行更新得到/>根据/>经两层卷积映射可以得到光流场误差修正rij及对应置信度wij,则修正的映射像素网格表示为:
接着在DBA层中,将已修正的相关性光流场变化映射为相机位姿Δp()和深度的逆Δd(),相机位姿和深度的映射可基于SE(3)由下述代价函数实现:
接着利用Gauss-Newton算法求解更新(Δp,Δd),同时利用Schur对矩阵进行分解,分别求取Δp与Δd,v和w分别代表相机位姿和深度的梯度方向:
根据上述技术方案,所述S4中,将关键帧序列输入到后端优化,后端线程对多摄像头的相对位姿进行约束并通过更新迭代模块对关键帧的整个历史记录执行全局BA优化,以解决相机位姿估计产生的位姿漂移和累计误差。
根据上述技术方案,在S4中,对相机位姿和深度的预测具有以下几个约束:光流场误差约束、4个摄像头之间相对位姿约束、视场角朝下的双目相机的深度约束;
需要先将步骤S1中得到的多摄像头之间的相对位姿以及双目rgbd相机得到的深度变量固定到上述更新迭代模块的DBA层中,对相机位姿和深度映射代价函数添加约束项;
真实深度变量的使用是为了计算测量值与预测值之间的平方距离,以此作为惩罚项来约束预测深度,其次,每次迭代期间,都会根据所有关键帧之间的光流场距离重建frame-graph,将其表示为一个N*N的距离矩阵;
先对时间相邻的关键帧添加共视关系,接着按光流增加的顺序,设置约束距离为2,从距离矩阵中采用新的共视关系,然后对得到的整个frame-graph执行更新迭代模块,以此得到经全局优化后的关键帧相机位姿,为恢复非关键帧的位姿,将迭代估计每个关键帧与其相邻的非关键帧之间的光流。
根据上述技术方案,所述S5中,对关键帧序列进行闭环检测进一步优化相机位姿,具体的,闭环检测跟踪历史闭环帧,建立历史时间的开环帧与闭环帧之间的联系,减小闭环帧的漂移,使得累积误差以及不确定性重新从闭环帧开始累计。
根据上述技术方案,在S5中,闭环检测是SLAM后端减少开环错误的重要模块,应用frame-graph中储存的共视特征以及光流场进行特征匹配,查找相似度足够高但时间却不相邻的关键帧,判断是否存在闭环路径,接着结合关键帧的深度以及多视角信息对生成的闭环进行验证,剔除可能存在的错误闭环,最后将检测到的闭环整合到现有SLAM***;
具体指将其更新的相机位姿送入后端优化模块,重头开始累计误差,进一步提高整***姿估计的结果。
与现有技术相比,本发明的有益效果:本发明结构科学合理,使用安全方便:
1、基于深度学习的算法赋予了SLAM***更强的稳定性与泛化能力,在一系列困难场景依然可以稳定的进行跟踪,多摄像头给予了***更低的成本以及更高的精度和鲁棒性,避免了因单独传感器被遮挡而导致的***崩溃现象,实现了在低成本的情况下使SLAM***运行的更加稳定,更具鲁棒性。
2、本发明用线性运动模型初始化位姿,并固定图像序列前两帧的位姿作为初始相对位姿,进而可以计算其中一帧的特征投影到另一帧图像的位置,从而建立重投影误差,且还计算了前后两帧由于相机运动而造成的每个像素的光度误差与特征点法进行互补,经全连接后共同输入更新模块,以此允许网络利用运动场的平滑度来获取更高的鲁棒性。
3、本发明通过在场景四周预先设置的不同角度的ChArUco标定板,方便让每个相机都可以拍到完整的不同角度的标定板,以此来便于进行相机的标定工作,从而提高后续视频或图像拍摄的精度;
通过对相机位姿和深度的预测进行光流场误差约束、4个摄像头之间相对位姿约束和视场角朝下的双目相机的深度约束,且凭借这些约束使SLAM***更具鲁棒性。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明车载摄像头框架的具体结构图;
图2是本发明***的流程框图;
图3是本发明的特征编码器网络结构示意图;
图4是本发明BA优化网络的结构示意图;
图5是本发明更新迭代模块网络的结构示意图;
图6是本发明获得的相机位姿拼接点云的示意图;
图7是本发明实施步骤的步骤流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例:如图1-7所示,本发明提供一种技术方案,一种基于车载多目摄像头和深度神经网络的SLAM***,包括车载摄像头框架,车载摄像头框架由前后4个摄像头构成,车前端为1个单目的rgb相机,负责车辆的前视场,车后端分别有1个单目的rgb相机负责车辆后方视场以及1个视场斜向下的双目rgbd相机;
该***包括如下实施步骤:
S1、将多摄像头架设在车辆上,并对其进行标定,得到相机内参以及多相机之间的变换矩阵;
S2、拍摄一组视频或图像序列作为网络输入;
S3、将图像序列输入到前端计算视觉里程计,前端由特征编码器,视觉相似性计算模块与更新迭代模块构成;
S4、将关键帧序列输入到后端优化,后端会对整个关键帧序列进行全局BA;
S5、对关键帧序列进行闭环检测进一步优化相机位姿。
基于上述技术方案,S1中,在获取相机内参以及多相机之间的变换矩阵时,首先准备一个高精度的marker场景,将车辆开入场景中央,场景四周是一组预先设置的不同角度的ChArUco标定板,主要为了让每个相机都可以拍到完整的不同角度的标定板以便于进行相机标定;
具体的,先对单独相机进行标定,对相机获取的不同角度的标定板图像角点进行检测,得到角点的像素坐标,根据标定板大小和世界坐标原点计算角点的物理坐标值,并求取内参矩阵以及畸变系数,接着对相机外参进行标定,获取相机间的相对姿态,相机的外参标定亦可通过采用多个点的坐标数据来求得。
基于上述技术方案,S2中,主要是指通过相机来拍摄一组路况的视频或图像序列,并以此来作为网络输入。
基于上述技术方案,S3中,主要将S2中拍摄的视频或图像序列进行输入,前端计算视觉里程计直接对输入的视频或图像序列进行操作,构建一个frame-graph来储存前后帧之间共视关系,并多次迭代更新优化一个关键帧序列及其对应的位姿与深度;
先计算前后帧之间的图片特征以及对应的匹配特征点,从而求解两帧图像之间的相对位姿以及特征点的三维位置关系,利用线性运动模型初始化位姿,并固定图像序列前两帧的位姿作为初始相对位姿,进而计算其中一帧的特征投影到另一帧图像的位置,建立重投影误差;
此外,还需计算前后两帧由于相机运动而造成的每个像素的光度误差与特征点法进行互补,经全连接后共同输入更新模块,以此允许网络利用运动场的平滑度来获取更高的鲁棒性,在前端跟踪到新的关键帧后,通过计算前后关键帧的平均光流大小来计算他们之间的距离,并删除除中间存在的冗余关键帧,以此执行局部BA操作,BA即为束调整。
基于上述技术方案,在S3中,具体的,特征编码器由特征提取网络和上下文网络构成,仅在网络中执行一次,特征提取网络由6个残差块和3个降采样层组成,6个残差块具体为:分辨率分别为2个1/2的原始分辨率,2个1/4的原始分辨率和2个1/8的原始分辨率;
新的图像到来时,先通过特征提取网络进行特征提取,生成1/8输入图像分辨率IH ×W×3→IH/×W/8×D,D设置为256的特征图,上下文网络与特征提取网络结构一致,不同的是特征提取网络负责提取前后两帧每个像素的特征,上下文网络仅提取前一帧的特征。
基于上述技术方案,S3中,视觉相似性计算模块构建一个frame-graph用于储存前后帧之间共视关系,对前一网络得到的前后帧计算成本体积作为完全相关体积,为降低相关信息张量的大小,将相关体积的最后两个维度与尺寸分别为1、2、4、8的卷积核进行平均池化,构建一个4层相关金字塔,生成分辨率分别为原始分辨率1,1/2,1/4,1/8的相关信息张量C1,C2,C3,C4;
为方便查找匹配,使用半径为r的网格采用双线性插值对每一级的相关体积进行索引,经过一个全连接层后作为最终的特征向量,更新迭代模块由一个带有隐藏向量h的3×3的ConvGRU构成,其结构如图4所示,具体的网络结构如图5所示,cij是前一网络得到的图像Ii与Ij之间的相关信息张量,表征两张图像的视觉一致程度,hij是隐藏向量,gij是图像Ii中的每个像素坐标网格gi根据当前估计的位姿和深度在图像Ij上的像素映射,可根据下式实现:
为了提高模型的鲁棒性,将相关信息张量cij与光流特征经两层卷积后与上下文特征一起全连接送入ConvGRU后,对隐藏向量hij做平均池化来提取全局上下文信息,每次迭代都会对隐藏向量进行更新得到/>根据/>经两层卷积映射可以得到光流场误差修正rij及对应置信度wij,则修正的映射像素网格表示为:
接着在DBA层中,DBA为稠密束调整,将已修正的相关性光流场变化映射为相机位姿Δp()和深度的逆Δd(),方便期间后续所提的深度皆为深度的逆,相机位姿和深度的映射可基于SE(3),SE(3)为特殊欧式群,由下述代价函数实现:
接着利用Gauss-Newton算法求解更新(Δp,Δd),同时利用Schur对矩阵进行分解,分别求取Δp与Δd,v和w分别代表相机位姿和深度的梯度方向:
基于上述技术方案,S4中,将关键帧序列输入到后端优化,后端线程对多摄像头的相对位姿进行约束并通过更新迭代模块对关键帧的整个历史记录执行全局BA优化,以解决相机位姿估计产生的位姿漂移和累计误差。
基于上述技术方案,在S4中,对相机位姿和深度的预测具有以下几个约束:光流场误差约束、4个摄像头之间相对位姿约束、视场角朝下的双目相机的深度约束,通过以上约束使SLAM***更具鲁棒性;
需要先将步骤S1中得到的多摄像头之间的相对位姿以及双目rgbd相机得到的深度变量固定到上述更新迭代模块的DBA层中,对相机位姿和深度映射代价函数添加约束项;
真实深度变量的使用是为了计算测量值与预测值之间的平方距离,以此作为惩罚项来约束预测深度,其次,每次迭代期间,都会根据所有关键帧之间的光流场距离重建frame-graph,将其表示为一个N*N的距离矩阵;
先对时间相邻的关键帧添加共视关系,接着按光流增加的顺序,设置约束距离为2,从距离矩阵中采用新的共视关系,然后对得到的整个frame-graph执行更新迭代模块,以此得到经全局优化后的关键帧相机位姿,为恢复非关键帧的位姿,将迭代估计每个关键帧与其相邻的非关键帧之间的光流。
基于上述技术方案,S5中,对关键帧序列进行闭环检测进一步优化相机位姿,具体的,闭环检测跟踪历史闭环帧,建立历史时间的开环帧与闭环帧之间的联系,减小闭环帧的漂移,使得累积误差以及不确定性重新从闭环帧开始累计。
基于上述技术方案,在S5中,闭环检测是SLAM后端减少开环错误的重要模块,应用frame-graph中储存的共视特征以及光流场进行特征匹配,查找相似度足够高但时间却不相邻的关键帧,判断是否存在闭环路径,接着结合关键帧的深度以及多视角信息对生成的闭环进行验证,剔除可能存在的错误闭环,最后将检测到的闭环整合到现有SLAM***;
具体指将其更新的相机位姿送入后端优化模块,重头开始累计误差,进一步提高整***姿估计的结果。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:包括车载摄像头框架,车载摄像头框架由前后4个摄像头构成,车前端为1个单目的rgb相机,负责车辆的前视场,车后端分别有1个单目的rgb相机负责车辆后方视场以及1个视场斜向下的双目rgbd相机;
该***包括如下实施步骤:
S1、将多摄像头架设在车辆上,并对其进行标定,得到相机内参以及多相机之间的变换矩阵;
S2、拍摄一组视频或图像序列作为网络输入;
S3、将图像序列输入到前端计算视觉里程计,前端由特征编码器,视觉相似性计算模块与更新迭代模块构成;
S4、将关键帧序列输入到后端优化,后端会对整个关键帧序列进行全局BA;
S5、对关键帧序列进行闭环检测进一步优化相机位姿。
2.根据权利要求1所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S1中,在获取相机内参以及多相机之间的变换矩阵时,首先准备一个高精度的marker场景,将车辆开入场景中央,场景四周是一组预先设置的不同角度的ChArUco标定板,使每个相机都可以拍到完整的不同角度的标定板以便进行相机标定;
具体的,先对单独相机进行标定,对相机获取的不同角度的标定板图像角点进行检测,得到角点的像素坐标,根据标定板大小和世界坐标原点计算角点的物理坐标值,并求取内参矩阵以及畸变系数,接着对相机外参进行标定,获取相机间的相对姿态,相机的外参标定亦可通过采用多个点的坐标数据来求得。
3.根据权利要求1所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S2中,主要是指通过相机来拍摄一组路况的视频或图像序列,并以此来作为网络输入。
4.根据权利要求3所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S3中,主要将S2中拍摄的视频或图像序列进行输入,前端计算视觉里程计直接对输入的视频或图像序列进行操作,构建一个frame-graph来储存前后帧之间共视关系,并多次迭代更新优化一个关键帧序列及其对应的位姿与深度;
先计算前后帧之间的图片特征以及对应的匹配特征点,从而求解两帧图像之间的相对位姿以及特征点的三维位置关系,利用线性运动模型初始化位姿,并固定图像序列前两帧的位姿作为初始相对位姿,进而计算其中一帧的特征投影到另一帧图像的位置,建立重投影误差;
此外,还需计算前后两帧由于相机运动而造成的每个像素的光度误差与特征点法进行互补,经全连接后共同输入更新模块,以此允许网络利用运动场的平滑度来获取更高的鲁棒性,在前端跟踪到新的关键帧后,通过计算前后关键帧的平均光流大小来计算他们之间的距离,并删除除中间存在的冗余关键帧,以此执行局部BA操作。
5.根据权利要求4所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:在S3中,具体的,特征编码器由特征提取网络和上下文网络构成,仅在网络中执行一次,特征提取网络由6个残差块和3个降采样层组成,6个残差块具体为:分辨率分别为2个1/2的原始分辨率,2个1/4的原始分辨率和2个1/8的原始分辨率;
新的图像到来时,先通过特征提取网络进行特征提取,生成1/8输入图像分辨率IH×W×3→IH/×W/8×D,D设置为256的特征图,上下文网络与特征提取网络结构一致,不同的是特征提取网络负责提取前后两帧每个像素的特征,上下文网络仅提取前一帧的特征。
6.根据权利要求4所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S3中,视觉相似性计算模块构建一个frame-graph用于储存前后帧之间共视关系,对前一网络得到的前后帧计算成本体积作为完全相关体积,为降低相关信息张量的大小,将相关体积的最后两个维度与尺寸分别为1、2、4、8的卷积核进行平均池化,构建一个4层相关金字塔,生成分辨率分别为原始分辨率1,1/2,1/4,1/8的相关信息张量C1,C2,C3,C4;
为方便查找匹配,使用半径为r的网格采用双线性插值对每一级的相关体积进行索引,经过一个全连接层后作为最终的特征向量,更新迭代模块由一个带有隐藏向量h的3×3的ConvGRU构成,可根据下式实现:
将相关信息张量cij与光流特征经两层卷积后与上下文特征一起全连接送入ConvGRU后,对隐藏向量hij做平均池化来提取全局上下文信息,每次迭代都会对隐藏向量进行更新得到/>根据/>经两层卷积映射可以得到光流场误差修正rij及对应置信度wij,则修正的映射像素网格表示为:
接着在DBA层中,将已修正的相关性光流场变化映射为相机位姿Δp()和深度的逆Δd(),相机位姿和深度的映射可基于SE(3)由下述代价函数实现:
接着利用Gauss-Newton算法求解更新(Δp,Δd),同时利用Schur对矩阵进行分解,分别求取Δp与Δd,v和w分别代表相机位姿和深度的梯度方向:
7.根据权利要求1所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S4中,将关键帧序列输入到后端优化,后端线程对多摄像头的相对位姿进行约束并通过更新迭代模块对关键帧的整个历史记录执行全局BA优化,以解决相机位姿估计产生的位姿漂移和累计误差。
8.根据权利要求7所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:在S4中,对相机位姿和深度的预测具有以下几个约束:光流场误差约束、4个摄像头之间相对位姿约束、视场角朝下的双目相机的深度约束;
需要先将步骤S1中得到的多摄像头之间的相对位姿以及双目rgbd相机得到的深度变量固定到上述更新迭代模块的DBA层中,对相机位姿和深度映射代价函数添加约束项;
真实深度变量的使用是为了计算测量值与预测值之间的平方距离,以此作为惩罚项来约束预测深度,其次,每次迭代期间,都会根据所有关键帧之间的光流场距离重建frame-graph,将其表示为一个N*N的距离矩阵;
先对时间相邻的关键帧添加共视关系,接着按光流增加的顺序,设置约束距离为2,从距离矩阵中采用新的共视关系,然后对得到的整个frame-graph执行更新迭代模块,以此得到经全局优化后的关键帧相机位姿,为恢复非关键帧的位姿,将迭代估计每个关键帧与其相邻的非关键帧之间的光流。
9.根据权利要求1所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:所述S5中,对关键帧序列进行闭环检测进一步优化相机位姿,具体的,闭环检测跟踪历史闭环帧,建立历史时间的开环帧与闭环帧之间的联系,减小闭环帧的漂移,使得累积误差以及不确定性重新从闭环帧开始累计。
10.根据权利要求9所述的一种基于车载多目摄像头和深度神经网络的SLAM***,其特征在于:在S5中,闭环检测是SLAM后端减少开环错误的重要模块,应用frame-graph中储存的共视特征以及光流场进行特征匹配,查找相似度足够高但时间却不相邻的关键帧,判断是否存在闭环路径,接着结合关键帧的深度以及多视角信息对生成的闭环进行验证,剔除可能存在的错误闭环,最后将检测到的闭环整合到现有SLAM***,具体指将其更新的相机位姿送入后端优化模块,重头开始累计误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310193257.2A CN116664621A (zh) | 2023-03-02 | 2023-03-02 | 一种基于车载多目摄像头和深度神经网络的slam*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310193257.2A CN116664621A (zh) | 2023-03-02 | 2023-03-02 | 一种基于车载多目摄像头和深度神经网络的slam*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116664621A true CN116664621A (zh) | 2023-08-29 |
Family
ID=87717837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310193257.2A Pending CN116664621A (zh) | 2023-03-02 | 2023-03-02 | 一种基于车载多目摄像头和深度神经网络的slam*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116664621A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117456124A (zh) * | 2023-12-26 | 2024-01-26 | 浙江大学 | 一种基于背靠背双目鱼眼相机的稠密slam的方法 |
-
2023
- 2023-03-02 CN CN202310193257.2A patent/CN116664621A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117456124A (zh) * | 2023-12-26 | 2024-01-26 | 浙江大学 | 一种基于背靠背双目鱼眼相机的稠密slam的方法 |
CN117456124B (zh) * | 2023-12-26 | 2024-03-26 | 浙江大学 | 一种基于背靠背双目鱼眼相机的稠密slam的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109166149B (zh) | 一种融合双目相机与imu的定位与三维线框结构重建方法与*** | |
EP3028252B1 (en) | Rolling sequential bundle adjustment | |
CN112304307A (zh) | 一种基于多传感器融合的定位方法、装置和存储介质 | |
CN109509230A (zh) | 一种应用于多镜头组合式全景相机的slam方法 | |
CN105352509B (zh) | 地理信息时空约束下的无人机运动目标跟踪与定位方法 | |
JP4851239B2 (ja) | 画像処理装置及びその処理方法 | |
CN110319772B (zh) | 基于无人机的视觉大跨度测距方法 | |
WO2019164498A1 (en) | Methods, devices and computer program products for global bundle adjustment of 3d images | |
Diosi et al. | Experimental evaluation of autonomous driving based on visual memory and image-based visual servoing | |
CN110726406A (zh) | 一种改进的非线性优化单目惯导slam的方法 | |
Chatterjee et al. | Algorithms for coplanar camera calibration | |
CN111815765B (zh) | 一种基于异构数据融合的图像三维重建方法 | |
CN107560603B (zh) | 一种无人机倾斜摄影测量***及测量方法 | |
CN108830925B (zh) | 一种基于球幕视频流的三维数字化建模方法 | |
CN110610520B (zh) | 一种基于双球幕相机的视觉定位方法及*** | |
CN112767546B (zh) | 移动机器人基于双目图像的视觉地图生成方法 | |
CN113298947A (zh) | 一种基于多源数据融合的变电站三维建模方法介质及*** | |
CN116664621A (zh) | 一种基于车载多目摄像头和深度神经网络的slam*** | |
CN113345032B (zh) | 一种基于广角相机大畸变图的初始化建图方法及*** | |
Kunz et al. | Stereo self-calibration for seafloor mapping using AUVs | |
JP4851240B2 (ja) | 画像処理装置及びその処理方法 | |
CN116576850B (zh) | 一种位姿确定方法、装置、计算机设备及存储介质 | |
CN111829522B (zh) | 即时定位与地图构建方法、计算机设备以及装置 | |
Lerner et al. | Pose and motion recovery from feature correspondences and a digital terrain map | |
CN117073720A (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 |