CN116772844A - 一种基于动态环境下的视觉惯性室内机器人的导航方法 - Google Patents

一种基于动态环境下的视觉惯性室内机器人的导航方法 Download PDF

Info

Publication number
CN116772844A
CN116772844A CN202310562455.1A CN202310562455A CN116772844A CN 116772844 A CN116772844 A CN 116772844A CN 202310562455 A CN202310562455 A CN 202310562455A CN 116772844 A CN116772844 A CN 116772844A
Authority
CN
China
Prior art keywords
coordinate system
detection unit
representing
image
inertial
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
Application number
CN202310562455.1A
Other languages
English (en)
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.)
Jiangsu University of Science and Technology
Original Assignee
Jiangsu University of Science and Technology
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 Jiangsu University of Science and Technology filed Critical Jiangsu University of Science and Technology
Priority to CN202310562455.1A priority Critical patent/CN116772844A/zh
Publication of CN116772844A publication Critical patent/CN116772844A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于动态环境下的视觉惯性室内机器人的导航方法,包括:深度相机获取机器人图像信息,对惯性检测单元预积分处理、图像的特征点检测及光流追踪;对图像潜在动态目标检测生成掩膜图像;预测掩膜图像,对分割失败和分割运行慢做补偿;设置掩膜深度,过滤动态特征点;恢复和惯性检测单元预积分得到信息,对陀螺仪误差、估计尺度等做修正;对惯性检测单元预积分结果和特征点信息进行非线性优化;惯性检测单元预积分预测图像帧的位姿,三角化特征点并重建;对关键帧和深度信息的图像帧时间对齐并建立点云,迭代最近点算法进行点云地图拼接并实现具有导航信息的环境地图。本发明在非静态环境下的定位和建图精度高,路径规划鲁棒性好。

Description

一种基于动态环境下的视觉惯性室内机器人的导航方法
技术领域
本发明属于计算机视觉、通信和同时定位与地图构建技术领域,具体涉及一种基于动态环境下的视觉惯性室内机器人的导航方法。
背景技术
当前SLAM的地图构建绝大部分都是依赖于静态环境,但在现实场景当中往往会遇到非静态的场景。这就给机器人的导航带来了极大的挑战。
随着不断的研究,研究者开始将深度学习和几何的方法引入进来。例如,在现有技术中,仲元红等人在《计算机工程与设计》第43卷第3期第11页提出的提出一种基于对极几何约束的解决方案,利用动态特征点在极平面运动会导致投影点与极线产生距离的特性进行过滤。但这方法准确度较低,且只能适用于低动态环境中,当环境中存在大量动态目标时将会失效。专利申请CN112308921A公开了一种结合语义信息和对极几何剔除动态特征点的方法,利用语义分割网络在高动态环境下剔除出潜在动态对象的特征点,再根据几何约束在低动态环境下剔除动态特征点。此方法在高动态环境下由于存在网络分割失败和分割运行慢的问题,对于实时性不能满足。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于动态环境下的视觉惯性室内机器人的导航方法,以解决在非静态环境下定位、建图的精度差及路径规划鲁棒性差的问题。
为解决上述技术问题,本发明采用以下技术方案。
一种基于动态环境下的视觉惯性室内机器人的导航方法,包括以下步骤:
步骤1、通过室内机器人搭载的具有惯性单元的深度相机获取室内机器人的图像信息,完成对惯性检测单元预积分处理、图像的特征点检测及特征点的光流追踪;
步骤2、语义分割网络完成对图像潜在动态目标检测,生成掩膜图像;光流估计网络预测掩膜图像,实现对语义分割网络分割失败和分割运行慢的补偿;在掩膜图像上设置掩膜深度,对动态特征点进行过滤;
步骤3、通过视觉运动结构恢复和惯性检测单元预积分得到信息,实现对陀螺仪误差、估计尺度、加速度偏置和重力加速度的修正;
步骤4、输入前端处理后输出的惯性检测单元预积分结果和特征点信息,进行非线性优化;通过惯性检测单元预积分预测图像帧的位姿,然后三角化特征点,完成对特征点的重建;
步骤5、对关键帧和含有深度信息的图像帧进行时间对齐,通过含有深度信息图像帧直接建立点云,并通过迭代最近点算法实现点云地图拼接;最后通过采用八叉树数据结构实现具有导航信息的环境地图。
具体地,所述的步骤1,包括以下过程:
1.1通过室内机器人搭载的具有惯性单元的深度相机以15Hz频率采集848×480分辨率的图像信息;
1.2所述的深度相机以250Hz频率采集惯性检测单元的数据;
1.3计算惯性检测单元的测量数值;惯性检测单元包含三轴加速度计和三轴陀螺仪,考虑白噪声和随机游走噪声下,惯性检测单元的模型表示为:
式中,下标ω表示惯性检测单元测量的真实角速度;下标a表示惯性检测单元测量的加速度;上标ω表示陀螺仪;上标a表示加速度计;上标w表示在世界坐标系;上标b表示惯性检测单元的坐标系;下标b表示偏置;下标g表示重力加速度;n表示为白噪声;表示由世界坐标系到惯性检测单元坐标系变换的旋转量;bω表示陀螺仪角速度偏置;ba表示加速度偏置;
1.4建立惯性检测单元运动模型的微分方程;根据牛顿第二运动定律及四元数的运动学模型,惯性检测单元运动模型的微分方程可表示为:
式中,t表示时间;bt表示t时刻下的惯性检测单元坐标系;表示惯性检测单元坐标系变换到世界坐标系下的平移量对时间的导数;/>表示惯性检测单元坐标系变换到世界坐标系下的旋转量对时间的导数;/>表示t时刻下相对于时间坐标系下的速度;/>表示t时刻下相对于时间坐标系下的加速度计;/>表示在t时刻下相对于时间坐标系下的速度对世界的导数;/>表示惯性检测单元坐标系变换到世界坐标系下的速度;/>表示惯性检测单元坐标系下的角速度;
1.5建立预积分模型;由(2)式推导并剔除与世界坐标系相关的量,使得积分项只与上一时刻相关,则预积分模型可表示为:
式中,Δt表示时间间隔;bj表示j时刻下的惯性检测单元坐标系;表示i时刻到t时刻惯性检测单元坐标系的旋转量;/>表示j时刻下世界坐标系到惯性检测单元坐标系的平移量;/>表示世界坐标系到惯性检测单元坐标系的旋转矩阵;
对式(3)中两边同时乘/>可得:
则惯性检测单元的预积分项表示为:
1.6基于加速分割测试的特征点检测;计算圆心与圆周绝对差值:在图像上取一像素点,以该像素点为圆心做半径3个像素值单位的圆周,则圆周上有16个像素点;设圆心像素点的亮度为IP,计算圆心与圆周上16个像素点的差值;若圆周上连续有9个点其与圆心像素点的绝对差值大于阈值t,则将该圆心点像素为特征点;
1.7特征点追踪;通过卢卡斯-金光流追踪特征点在不同图像当中的坐标;在光流法中同一像素点在不同图像当中的灰度是一致的,其数学表达式为:
I(x+dx,y+dy,t+dt)≈I(x,y,t) (6)
进行泰勒近似并进行公式化简后为:
式中,表示像素点在x和y轴两个方向的梯度,记为Ix,Iy;/>表示像素点在x和y轴的平移速度,记为u,v;同理,/>表示灰度值对时间的偏导,记为It;则式(7)可表示为:
基于m×m的窗口,则表示为:
式中,Itk表示窗口内第k个像素点t时刻灰度值对时间的偏导,[Ix Iy]k表示窗口内第k个像素点在x和y轴两个方向的梯度;
通过Ceres库对式(9)方程建立对应的最小二乘法求解即可求解像素点坐标。
具体地,所述的步骤2,包括以下过程:
2.1对语义分割网络Mask R-CNN在已经标注好不同物体不同颜色的COCO数据集上进行训练,得到语义分割权重;对光流估计网络PWC-Net在Sintel数据集上进行训练,得到光流权重;
2.2通过语义分割网络Mask-RCNN对图像帧进行语义分割,得到语义掩膜图像;
2.3根据光流估计网络PWC-Net得到每一帧图像的光流估计信息,则当前图像帧中像素点坐标(xc,yc)可通过光流估计表示为:
(xc,yc)=(xp+fx,yp+fy) (10)
式中,fx为前一帧图像到当前图像帧中像素在x轴的位移,fy为前一帧图像到当前图像帧中像素在y轴的位移,(xc,yc)为像素点在前一帧图像中的坐标;
2.4利用语义掩膜图像设置掩膜深度,假设Dk为第k帧掩膜图像的掩膜深度,其中为每个像素的掩膜深度,则/>的取值如下:
式中,No coverage age为掩膜图中静态部分,Coverage age为掩膜图中动态部分,dM为相机最大深度值;
再将每个检测到的特征点对应的深度信息d与语义掩膜上对应像素的深度值进行判别,并根据类别进行过滤,其中判定如下:
式中,1表示动态特征点;0表示静态特征点。
具体地,所述的步骤3,包括以下过程:
3.1图像位姿转换到惯性检测单元坐标系;通过姿态矩阵进行转换,其公式为:
式中,c0表示第一个从图像帧中得到的相机坐标系,即视觉运动结构恢复参考坐标系;ck表示k时刻下相机的坐标系;bk表示k时刻下惯性检测单元的坐标系;表示相机坐标系转换到惯性检测单元坐标系的旋转量;/>表示相机坐标系转换到惯性检测单元坐标系的平移量;s表示尺度因子;
3.2陀螺仪偏置校准;通过惯性检测单元预积分求出的滑动窗口内的图像帧所对应的位姿和速度信息,根据目标函数求出陀螺仪偏置,目标函数为:
式中,B表示图像帧的合集;δbω表示重力加速度变化量的误差;为预积分真值;为相对旋转量γ对bω的一阶雅可比求导;
3.3对相机的第一帧图像的坐标系的速度、尺度和重力向量,其优化变量为:
式中,表示第k帧图片采集时的速度;/>表示在第一帧图像坐标系下的重力;
c0坐标系当中的预积分表示为:
在式(16)中,为第k帧惯性检测单元坐标系到c0坐标系的旋转矩阵,带入视觉运动结构恢复得到的/>和/>并转换到c0坐标系下,表示为:
将式(17)改为Hx=b,表示为:
式中,由滑动窗口初始化得到,对式(18)建立约束线性方程,通过Cholesky分解求解最小二乘问题获取速度、重力和尺度因子,公式表示为:
具体地,所述的步骤4,包括以下过程:
4.1构建量测方程:在滑动窗口中,其状态定义为:
其中,X表示在滑动窗口内带估计的状态量;n表示关键帧的总数;xk表示滑动窗口内第k帧对应的惯性检测单元状态;表示惯性检测单元与视觉间的相对位姿;λ表示特征点的逆深度;m表示特征点的数目;
4.2残差方程构建:残差方程包含惯性检测单元残差项、视觉残差项和边缘化残差项;
惯性检测单元残差项定义为:
式中,表示滑动窗口中连续两帧包含加速度计和陀螺仪零偏的IMU预积分值;/>表示位置变化量的误差;/>表示速度变化量的误差;/>表示角度变化量的误差;视觉残差投影方程为:
式(22)中,表示被观测到的特征点坐标;/>表示第i帧观测的图像;/>表示在滑动窗口内第几次被观测到,当/>为1表示左目图像,为2表示右目图像;/>为相机内参投影矩阵;
归一化,表示为:
式中,Xc,Yc,Zc表示在相机坐标系下的坐标,将式(23)带入式(19),则残差项表示为:
边缘化残差项公式定义为:
式(25)中,Eprior表示先验信息,即滑动窗口边缘化后的残留信息;为预积分项的误差,即式(21)中/>
4.3非线性优化:通过Ceres工具求解最小二乘问题,采用对残差项之和最小化来实现对滑动窗口项当中状态量的优化,其总的代价函数表示为:
式(26)中,Hp为边缘化先验信息对状态量的二阶海色矩阵;ρ(·)为鲁棒核函数;(Υp-HpX)为边缘化残差;为滑动窗口相邻两帧间的预积分残差;/>为视觉重投影的残差;f为连续追踪的图像特征点,cj表示图像帧。
具体地,所述的步骤5,包括以下过程:
5.1对三维重建后的关键帧与直接由深度相机获得的深度图像帧进行时间对齐,保证移动轨迹与构建地图的相对位置;
5.2利用掩膜深度将深度图中的动态目标划分为不可建区,对于其余部分则划分为可建区;通过将深度图像中可建区的像素点投影到三维空间,并对异常值进行剔除;其中点云定义为:
式中,P表示目标点云集;Q表示源点云集;
将点云配准问题即转为目标最小化问题;在源点云集中,找到pi在目标点集找到最近点q,则公式为:
‖qi-pi||=min (28)
对式(28)求解,需要对式(27)通过计算旋转平移矩阵[R|t]对pi进行旋转平移变换,得到在目标点集中的对应点集pi′=Rpi+t;然后,通过距离公式计算qi,pi′间的距离;其中距离公式如下:
最后,通过不断迭代qi,pi′间的距离使得d小于阈值ε,或达到最大次数则停止;否则,继续计算;
5.3.八叉树结构的地图构建:通过体素表示对网格地图的占据情况;每个体素由八个更小的体素表示,并可以不断向下扩展;通过对点云进行切割进行表示;当数目大于阈值,即体素最小分辨率,则再进行切割,直到数目达到阈值;假设每个节点都采用概率进行表示当前节点被占用或未被占用,取值范围为[0,1];设y∈R为概率对数值,x为[0,1]的概率,则节点占用概率为:
通过求得概率对数值即可对八叉树地图进行更新。
本发明与现有技术相比,具有以下优点和有益效果:
1.本发明利用语义分割和光流估计网络分割出潜在动态对象,提高了潜在动态对象分割速度。
2.本发明利于基于语义掩膜上设置的掩膜深度信息,过滤掉动态特征点,提高了定位的精度。
3.本发明利八叉树结构进行稠密建图,压缩了数据量,减轻了设备负担。
4.本发明的效果通过如下实验得到验证:
本发明提出的方法与VINS-Mono进行比较:本发明在公开视觉惯性数据集OpenLORIS-Scene上进行了评估,本发明采用绝对轨迹误差(Absolute Trajectory Error,ATE)和相对轨迹误差(Relative Pose Error,RPE)来评估算法的整体误差和局部误差。其中误差采用三个指标进行衡量,分别是均方根误差(Root Mean Square Error,RMSE)、中位数(MEDIAN)、平均值(MEAN)和标准差(Standard Deviation,STD)。
在OpenLORIS-Scene数据集的实验表明,本发明提出的方法与VINS-Mono相比,在低动态场景下绝对轨迹误差和相对误差分别减少41.7%和78%。在高动态场景下绝对轨迹误差和相对误差分别减少29.7%和87.3%。对比实验结果表明,本方法在动态环境中提高了导航系统的定位精度和鲁棒性。
附图说明
图1为本发明的一种基于动态环境下的视觉惯性室内机器人的导航方法的系统框架图。
图2为本发明的一种实施例的滑动窗口模型示意图。
图3为本发明的一种实施例的点云配准流程图。
图4为本发明的一种实施例的八叉树结构层次图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,本发明一种基于动态环境下的视觉惯性室内机器人的导航方法,包括:
步骤1,通过室内机器人搭载的具有惯性单元的深度相机获取室内机器人的图像信息和惯性测量单元(Inertial measurement unit,IMU)信息,完成对IMU预积分处理、图像的特征点检测及特征点的光流追踪。
步骤2,语义分割网络完成对图像潜在动态目标检测,生成掩膜图像。光流估计网络预测掩膜图像,实现对语义分割网络分割失败和分割运行慢的补偿。在掩膜图像上设置掩膜深度,对动态特征点进行过滤。
步骤3,通过视觉运动结构恢复(Struct From Motion,SFM)和IMU预积分得到的信息,实现对陀螺仪误差、估计尺度、加速度偏置和重力加速度的修正。
步骤4,输入前端处理后输出的IMU预积分结果和特征点信息后进行非线性优化。通过IMU预积分预测图像帧的位姿,然后三角化特征点,完成对特征点的重建。
步骤5,对关键帧和含有深度信息的图像帧进行时间对齐,通过含有深度信息图像帧直接建立点云,并通过迭代最近点(Iterative Closest Point,ICP)算法实现点云地图拼接。最后通过采用八叉树数据结构实现具有导航信息的环境地图。
所述步骤1中,具体包括:
1.1通过室内机器人搭载的具有惯性单元的深度相机以15Hz频率采集848×480分辨率的图像信息。
1.2通过室内机器人搭载的具有惯性单元的深度相机以250Hz频率采集IMU数据。
1.3计算IMU的测量数值。IMU包含三轴加速度计和三轴陀螺仪,考虑白噪声和随机游走噪声,则IMU的模型表示为:
式中,下标ω表示IMU测量的真实角速度;下标a表示IMU测量的加速度;上标ω表示陀螺仪;上标a表示加速度计;上标w表示在世界坐标系;上标b表示IMU的坐标系;下标b表示偏置;下标g表示重力加速度;n表示为白噪声;表示由世界坐标系到IMU坐标系变换的旋转量;bω表示陀螺仪角速度偏置;ba表示加速度偏置;
1.4建立IMU运动模型的微分方程。根据牛顿第二运动定律及四元数的运动学模型,其可表示为:
式中,t表示时间;bt表示t时刻下的IMU坐标系;表示IMU坐标系变换到世界坐标系下的平移量对时间的导数;/>表示IMU坐标系变换到世界坐标系下的旋转量对时间的导数;/>表示t时刻下相对于时间坐标系下的速度;/>表示t时刻下相对于时间坐标系下的加速度计;/>表示在t时刻下相对于时间坐标系下的速度对世界的导数;/>表示IMU坐标系变换到世界坐标系下的速度;/>表示IMU坐标系下的角速度。
1.5建立预积分模型。由(32)式推导并剔除与世界坐标系相关的量,使得积分项只与上一时刻相关,则预积分模型可表示为:
式中,Δt表示时间间隔;bj表示j时刻下的IMU坐标系;表示i时刻到t时刻IMU坐标系的旋转量;/>表示j时刻下世界坐标系到IMU坐标系的平移量;/>表示世界坐标系到IMU坐标系的旋转矩阵;
对式(33)中两边同时乘/>可得:
则惯性检测单元的预积分项表示为:
1.6基于加速分割测试的特征点检测(Features From Accelerated SegmentTest,FAST),计算圆心与圆周绝对差值。在图像上取一像素点,以该像素点为圆心做半径3个像素值单位的圆周,则圆周上有16个像素点。设圆心像素点的亮度为IP,计算圆心与圆周上16个像素点的差值。若圆周上连续有9个点其与圆心像素点的绝对差值大于阈值t,则将该圆心点像素为特征点。
1.7特征点追踪。通过卢卡斯-金(Lucas-Kanade,LK)光流追踪特征点在不同图像当中的坐标。在光流法中同一像素点在不同图像当中的灰度是一致的。其数学表达式为:
I(x+dx,y+dy,t+dt)≈I(x,y,t) (36)
进行泰勒近似并进行公式化简后为:
式中,表示像素点在x和y轴两个方向的梯度,记为Ix,Iy。/>表示像素点在x和y轴的平移速度,记为u,v。同理,/>表示灰度值对时间的偏导,记为It。则式(37)可表示为:
基于m×m的窗口,则表示为:
式中,Itk表示窗口内第k个像素点t时刻灰度值对时间的偏导,[Ix Iy]k表示窗口内第k个像素点在x和y轴两个方向的梯度。
通过Ceres库对式(39)方程建立对应的最小二乘法求解即可求解像素点坐标。
所述步骤2中,具体包括:
2.1获得训练好的权重。对语义分割网络Mask R-CNN在已经标注好不同物体不同颜色的COCO数据集上进行训练,得到语义分割权重。对光流估计网络PWC-Net通过Sintel数据集进行训练,得到光流权重。
2.2通过语义分割网络Mask-RCNN对图像帧进行语义分割,得到语义掩膜图像。
2.3根据光流估计网络PWC-Net得到每一帧图像的光流估计信息,则当前图像帧中像素点坐标(xc,yc)可通过光流估计表示为:
式中,fx为前一帧图像到当前图像帧中像素在x轴的位移,fy为前一帧图像到当前图像帧中像素在y轴的位移,(xc,yc)为像素点在前一帧图像中的坐标。
2.4利用语义掩膜图像设置掩膜深度,假设Dk为第k帧掩膜图像的掩膜深度,其中为每个像素的掩膜深度,则/>的取值如下:
式中,No coverage age为掩膜图中静态部分,Coverage age为掩膜图中动态部分,dM为相机最大深度值。
进一步,将每个检测到的特征点对应的深度信息d与语义掩膜上对应像素的深度值进行判别,并根据类别进行过滤,其中判定如下:
式中,1表示动态特征点;0表示静态特征点。
所述步骤3中,具体包括:
3.1图像位姿转换到IMU坐标系。通过姿态矩阵进行转换,其公式为:
式中,c0表示第一个从图像帧中得到的相机坐标系,即SFM参考坐标系;ck表示k时刻下相机的坐标系;bk表示k时刻下IMU的坐标系;表示相机坐标系转换到IMU坐标系的旋转量;/>表示相机坐标系转换到IMU坐标系的平移量;s表示尺度因子。
3.2陀螺仪偏置校准。通过IMU预积分求出的滑动窗口内的图像帧所对应的位姿和速度信息,根据目标函数求出陀螺仪偏置。目标函数为:
/>
式中,B表示图像帧的合集;δbω表示角速度偏置变化量的误差;为预积分真值;为相对旋转量γ对bω的一阶雅可比求导;
3.3对相机的第一帧图像的坐标系的速度、尺度和重力向量。其优化变量为:
式中,表示第k帧图片采集时的速度;/>表示在第一帧图像坐标系下的重力。
c0坐标系当中的预积分表示为:
在式(46)中,为第k帧IMU坐标系到c0坐标系的旋转矩阵;将/>带入视觉SFM得到的/>和/>并转换到c0坐标系下,表示为:
将式(47)改为Hx=b,表示为:
式中,由滑动窗口初始化得到,对式(48)建立约束线性方程,通过Cholesky分解求解最小二乘问题获取速度、重力和尺度因子,公式表示为:
所述步骤4中,具体包括:
4.1构建量测方程。在滑动窗口中,其状态定义为:
其中,X表示在滑动窗口内带估计的状态量;n表示关键帧的总数;xk表示滑动窗口内第k帧对应的IMU状态;表示IMU与视觉间的相对位姿;λ表示特征点的逆深度;m表示特征点的数目。
4.2残差方程构建;残差方程包含IMU残差项、视觉残差项和边缘化残差项。
IMU残差项定义为:
式中,表示滑动窗口中连续两帧包含加速度计和陀螺仪零偏的惯性检测单元预积分值;/>表示位置变化量的误差;/>表示速度变化量的误差;/>表示角度变化量的误差;视觉残差投影方程为:
式(52)中,表示被观测到的特征点坐标;/>表示第i帧观测的图像;/>表示在滑动窗口内第几次被观测到,当/>为1表示左目图像,为2表示右目图像;πc -1为相机内参投影矩阵。
归一化,表示为:
式中,Xc,Yc,Zc表示在相机坐标系下的坐标,将式(53)带入式(49),则残差项表示为:
边缘化残差项公式定义为:
式(55)中,Eprior表示先验信息,即滑动窗口边缘化后的残留信息;为预积分项的误差,即式(51)中/>
4.3非线性优化。通过Ceres工具求解最小二乘问题,采用对残差项之和最小化来实现对滑动窗口项当中状态量的优化,其总的代价函数表示为:
/>
式(56)中,Hp为边缘化先验信息对状态量的二阶海色矩阵;ρ(·)为鲁棒核函数;(Υp-HpX)为边缘化残差;为滑动窗口相邻两帧间的预积分残差;/>为视觉重投影的残差;f为连续追踪的图像特征点,cj表示图像帧。
所述步骤5中,具体包括:
5.1对三维重建后的关键帧与直接由深度相机获得的深度图像帧进行时间对齐,保证移动轨迹与构建地图的相对位置。
5.2利用掩膜深度将深度图中的动态目标划分为不可建区,对于其余部分则划分为可建区。通过将深度图像中可建区的像素点投影到三维空间,并对异常值进行剔除。其中点云定义为:
式中,P表示目标点云集;Q表示源点云集。
将点云配准问题即转为目标最小化问题。在源点云集中,找到pi在目标点集找到最近点q,则公式为:
||qi-pi||=min (58)
对式(58)求解。需要对式(57)通过计算旋转平移矩阵[R|t]对pi进行旋转平移变换,得到在目标点集中的对应点集pi′=Rpi+t。然后,通过距离公式计算qi,pi′间的距离。其中距离公式如下:
最后,通过不断迭代qi,pi′间的距离使得d小于阈值ε,或达到最大次数则停止。否则,继续计算。
5.3.八叉树结构的地图构建;通过体素表示对网格地图的占据情况。每个体素由八个更小的体素表示,并可以不断向下扩展。通过对点云进行切割表示。当数目大于阈值(体素最小分辨率),则再进行切割,直到数目达到阈值。假设每个节点都采用概率进行表示当前节点被占用或未被占用,取值范围为[0,1]。设y∈R为概率对数值,x为[0,1]的概率,则节点占用概率为:
通过求得概率对数值即可对八叉树地图进行更新。

Claims (6)

1.一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,包括以下步骤:
步骤1、通过室内机器人搭载的具有惯性单元的深度相机获取室内机器人的图像信息,完成对惯性检测单元预积分处理、图像的特征点检测及特征点的光流追踪;
步骤2、语义分割网络完成对图像潜在动态目标检测,生成掩膜图像;光流估计网络预测掩膜图像,实现对语义分割网络分割失败和分割运行慢的补偿;在掩膜图像上设置掩膜深度,对动态特征点进行过滤;
步骤3、通过视觉运动结构恢复和惯性检测单元预积分得到信息,实现对陀螺仪误差、估计尺度、加速度偏置和重力加速度的修正;
步骤4、输入前端处理后输出的惯性检测单元预积分结果和特征点信息,进行非线性优化;通过惯性检测单元预积分预测图像帧的位姿,然后三角化特征点,完成对特征点的重建;
步骤5、对关键帧和含有深度信息的图像帧进行时间对齐,通过含有深度信息图像帧直接建立点云,并通过迭代最近点算法实现点云地图拼接;最后通过采用八叉树数据结构实现具有导航信息的环境地图。
2.根据权利要求1所述的一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,所述的步骤1,包括以下过程:
1.1通过室内机器人搭载的具有惯性单元的深度相机以15Hz频率采集848×480分辨率的图像信息;
1.2所述的深度相机以250Hz频率采集惯性检测单元的数据;
1.3计算惯性检测单元的测量数值;惯性检测单元包含三轴加速度计和三轴陀螺仪,考虑白噪声和随机游走噪声下,惯性检测单元的模型表示为:
式中,下标ω表示惯性检测单元测量的真实角速度;下标a表示惯性检测单元测量的加速度;上标ω表示陀螺仪;上标a表示加速度计;上标w表示在世界坐标系;上标b表示惯性检测单元的坐标系;下标b表示偏置;下标g表示重力加速度;n表示为白噪声;表示由世界坐标系到惯性检测单元坐标系变换的旋转量;bω表示陀螺仪角速度偏置;ba表示加速度偏置;
1.4建立惯性检测单元运动模型的微分方程;根据牛顿第二运动定律及四元数的运动学模型,惯性检测单元运动模型的微分方程可表示为:
式中,t表示时间;bt表示t时刻下的惯性检测单元坐标系;表示惯性检测单元坐标系变换到世界坐标系下的平移量对时间的导数;/>表示惯性检测单元坐标系变换到世界坐标系下的旋转量对时间的导数;/>表示t时刻下相对于时间坐标系下的速度;/>表示t时刻下相对于时间坐标系下的加速度计;/>表示在t时刻下相对于时间坐标系下的速度对世界的导数;/>表示惯性检测单元坐标系变换到世界坐标系下的速度;/>表示t时刻下惯性检测单元坐标系的角速度;
1.5建立预积分模型;由(2)式推导并剔除与世界坐标系相关的量,使得积分项只与上一时刻相关,则预积分模型可表示为:
式中,Δt表示时间间隔;bj表示j时刻下的惯性检测单元坐标系;表示i时刻到t时刻惯性检测单元坐标系的旋转量;/>表示j时刻下世界坐标系到惯性检测单元坐标系的平移量;/>表示世界坐标系到惯性检测单元坐标系的旋转矩阵;
对式(3)中两边同时乘/>可得:
则惯性检测单元的预积分项表示为:
1.6基于加速分割测试的特征点检测;计算圆心与圆周绝对差值:在图像上取一像素点,以该像素点为圆心做半径3个像素值单位的圆周,则圆周上有16个像素点;设圆心像素点的亮度为IP,计算圆心与圆周上16个像素点的差值;若圆周上连续有9个点其与圆心像素点的绝对差值大于阈值t,则将该圆心点像素为特征点;
1.7特征点追踪;通过卢卡斯-金光流追踪特征点在不同图像当中的坐标;在光流法中同一像素点在不同图像当中的灰度是一致的,其数学表达式为:
I(x+dx,y+dy,t+dt)≈I(x,y,t)(6)
进行泰勒近似并进行公式化简后为:
式中,表示像素点在x和y轴两个方向的梯度,记为Ix,Iy;/>表示像素点在x和y轴的平移速度,记为u,v;同理,/>表示灰度值对时间的偏导,记为It;则式(7)可表示为:
基于m×m的窗口,则表示为:
式中,Itk表示窗口内第k个像素点t时刻灰度值对时间的偏导,[Ix Iy]k表示窗口内第k个像素点在x和y轴两个方向的梯度;
通过Ceres库对式(9)方程建立对应的最小二乘法求解即可求解像素点坐标。
3.根据权利要求1所述的一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,所述的步骤2,包括以下过程:
2.1对语义分割网络Mask R-CNN在已经标注好不同物体不同颜色的COCO数据集上进行训练,得到语义分割权重;对光流估计网络PWC-Net在Sintel数据集上进行训练,得到光流权重;
2.2通过语义分割网络Mask-RCNN对图像帧进行语义分割,得到语义掩膜图像;
2.3根据光流估计网络PWC-Net得到每一帧图像的光流估计信息,则当前图像帧中像素点坐标(xc,yc)可通过光流估计表示为:
(xc,yc)=(xp+fx,yp+fy) (10)
式中,fx为前一帧图像到当前图像帧中像素在x轴的位移,fy为前一帧图像到当前图像帧中像素在y轴的位移,(xc,yc)为像素点在前一帧图像中的坐标;
2.4利用语义掩膜图像设置掩膜深度,假设Dk为第k帧掩膜图像的掩膜深度,其中为每个像素的掩膜深度,则/>的取值如下:
式中,No coverage age为掩膜图中静态部分,Coverage age为掩膜图中动态部分,dM为相机最大深度值;
再将每个检测到的特征点对应的深度信息d与语义掩膜上对应像素的深度值进行判别,并根据类别进行过滤,其中判定如下:
式中,1表示动态特征点;0表示静态特征点。
4.根据权利要求1所述的一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,所述的步骤3,包括以下过程:
3.1图像位姿转换到惯性检测单元坐标系;通过姿态矩阵进行转换,其公式为:
式中,c0表示第一个从图像帧中得到的相机坐标系,即视觉运动结构恢复参考坐标系;ck表示k时刻下相机的坐标系;bk表示k时刻下惯性检测单元的坐标系;表示相机坐标系转换到惯性检测单元坐标系的旋转量;/>表示相机坐标系转换到惯性检测单元坐标系的平移量;s表示尺度因子;
3.2陀螺仪偏置校准;通过惯性检测单元预积分求出的滑动窗口内的图像帧所对应的位姿和速度信息,根据目标函数求出陀螺仪偏置,目标函数为:
式中,B表示图像帧的合集;δbω表示角速度偏置变化量的误差;为预积分真值;/>为相对旋转量γ对bω的一阶雅可比求导;
3.3对相机的第一帧图像的坐标系的速度、尺度和重力向量,其优化变量为:
式中,表示第k帧图片采集时的速度;/>表示在第一帧图像坐标系下的重力;
c0坐标系当中的预积分表示为:
在式(16)中,为第k帧惯性检测单元坐标系到c0坐标系的旋转矩阵;将/>带入视觉运动结构恢复得到的/>和/>并转换到c0坐标系下,表示为:
将式(17)改为Hx=b,表示为:
式中,由滑动窗口初始化得到,对式(18)建立约束线性方程,通过Cholesky分解求解最小二乘问题获取速度、重力和尺度因子,公式表示为:
5.根据权利要求1所述的一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,所述的步骤4,包括以下过程:
4.1构建量测方程:在滑动窗口中,其状态定义为:
其中,X表示在滑动窗口内带估计的状态量;n表示关键帧的总数;xk表示滑动窗口内第k帧对应的惯性检测单元状态;表示惯性检测单元与视觉间的相对位姿;λ表示特征点的逆深度;m表示特征点的数目;
4.2残差方程构建:残差方程包含惯性检测单元残差项、视觉残差项和边缘化残差项;
惯性检测单元残差项定义为:
式中,表示滑动窗口中连续两帧包含加速度计和陀螺仪零偏的惯性检测单元预积分值;/>表示位置变化量的误差;/>表示速度变化量的误差;/>表示角度变化量的误差;视觉残差投影方程为:
式(22)中,表示被观测到的特征点坐标;/>表示第i帧观测的图像;/>表示在滑动窗口内第几次被观测到,当/>为1表示左目图像,为2表示右目图像;/>为相机内参投影矩阵;
归一化,表示为:
式中,Xc,Yc,Zc表示在相机坐标系下的坐标,将式(23)带入式(19),则残差项表示为:
边缘化残差项公式定义为:
式(25)中,Eprior表示先验信息,即滑动窗口边缘化后的残留信息;为预积分项的误差,即式(21)中/>
4.3非线性优化:通过Ceres工具求解最小二乘问题,采用对残差项之和最小化来实现对滑动窗口项当中状态量的优化,其总的代价函数表示为:
式(26)中,Hp为边缘化先验信息对状态量的二阶海色矩阵;ρ(·)为鲁棒核函数;(Υp-HpX)为边缘化残差;为滑动窗口相邻两帧间的预积分残差;/>为视觉重投影的残差;f为连续追踪的图像特征点,cj表示图像帧。
6.根据权利要求1所述的一种基于动态环境下的视觉惯性室内机器人的导航方法,其特征在于,所述的步骤5,包括以下过程:
5.1对三维重建后的关键帧与直接由深度相机获得的深度图像帧进行时间对齐,保证移动轨迹与构建地图的相对位置;
5.2利用掩膜深度将深度图中的动态目标划分为不可建区,对于其余部分则划分为可建区;通过将深度图像中可建区的像素点投影到三维空间,并对异常值进行剔除;其中点云定义为:
式中,P表示目标点云集;Q表示源点云集;
将点云配准问题即转为目标最小化问题;在源点云集中,找到pi在目标点集找到最近点q,则公式为:
||qi-pi||=min (28)
对式(28)求解,需要对式(27)通过计算旋转平移矩阵[R|t]对pi进行旋转平移变换,得到在目标点集中的对应点集p′i=Rpi+t;然后,通过距离公式计算qi,p′i间的距离;其中距离公式如下:
最后,通过不断迭代qi,p′i间的距离使得d小于阈值ε,或达到最大次数则停止;否则,继续计算;
5.3.八叉树结构的地图构建:通过体素表示对网格地图的占据情况;每个体素由八个更小的体素表示,并可以不断向下扩展;通过对点云进行切割进行表示;当数目大于阈值,即体素最小分辨率,则再进行切割,直到数目达到阈值;假设每个节点都采用概率进行表示当前节点被占用或未被占用,取值范围为[0,1];设y∈R为概率对数值,x为[0,1]的概率,则节点占用概率为:
通过求得概率对数值即可对八叉树地图进行更新。
CN202310562455.1A 2023-05-18 2023-05-18 一种基于动态环境下的视觉惯性室内机器人的导航方法 Pending CN116772844A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310562455.1A CN116772844A (zh) 2023-05-18 2023-05-18 一种基于动态环境下的视觉惯性室内机器人的导航方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310562455.1A CN116772844A (zh) 2023-05-18 2023-05-18 一种基于动态环境下的视觉惯性室内机器人的导航方法

Publications (1)

Publication Number Publication Date
CN116772844A true CN116772844A (zh) 2023-09-19

Family

ID=88012355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310562455.1A Pending CN116772844A (zh) 2023-05-18 2023-05-18 一种基于动态环境下的视觉惯性室内机器人的导航方法

Country Status (1)

Country Link
CN (1) CN116772844A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234216A (zh) * 2023-11-10 2023-12-15 武汉大学 一种机器人深度强化学习运动规划方法及计算机可读介质
CN117782064A (zh) * 2024-02-26 2024-03-29 西北工业大学 一种低带宽的多机器人协同探索地图融合方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234216A (zh) * 2023-11-10 2023-12-15 武汉大学 一种机器人深度强化学习运动规划方法及计算机可读介质
CN117234216B (zh) * 2023-11-10 2024-02-09 武汉大学 一种机器人深度强化学习运动规划方法及计算机可读介质
CN117782064A (zh) * 2024-02-26 2024-03-29 西北工业大学 一种低带宽的多机器人协同探索地图融合方法
CN117782064B (zh) * 2024-02-26 2024-05-24 西北工业大学 一种低带宽的多机器人协同探索地图融合方法

Similar Documents

Publication Publication Date Title
CN108717712B (zh) 一种基于地平面假设的视觉惯导slam方法
CN112902953B (zh) 一种基于slam技术的自主位姿测量方法
CN111156984B (zh) 一种面向动态场景的单目视觉惯性slam方法
CN112347840A (zh) 视觉传感器激光雷达融合无人机定位与建图装置和方法
CN113052908B (zh) 一种基于多传感器数据融合的移动机器人位姿估计算法
CN111024066A (zh) 一种无人机视觉-惯性融合室内定位方法
CN108052103B (zh) 基于深度惯性里程计的巡检机器人地下空间同时定位和地图构建方法
CN116772844A (zh) 一种基于动态环境下的视觉惯性室内机器人的导航方法
CN110726406A (zh) 一种改进的非线性优化单目惯导slam的方法
CN112815939B (zh) 移动机器人的位姿估计方法及计算机可读存储介质
Wulf et al. Benchmarking urban six‐degree‐of‐freedom simultaneous localization and mapping
Wulf et al. Ground truth evaluation of large urban 6D SLAM
CN109579825A (zh) 基于双目视觉和卷积神经网络的机器人定位系统及方法
CN104281148A (zh) 基于双目立体视觉的移动机器人自主导航方法
CN114529576A (zh) 一种基于滑动窗口优化的rgbd和imu混合跟踪注册方法
CN114608554B (zh) 一种手持slam设备以及机器人即时定位与建图方法
CN116222543B (zh) 用于机器人环境感知的多传感器融合地图构建方法及系统
CN111998862A (zh) 一种基于bnn的稠密双目slam方法
CN114708293A (zh) 基于深度学习点线特征和imu紧耦合的机器人运动估计方法
CN113776519A (zh) 一种无光动态开放环境下agv车辆建图与自主导航避障方法
CN112179373A (zh) 一种视觉里程计的测量方法及视觉里程计
CN115371665A (zh) 一种基于深度相机和惯性融合的移动机器人定位方法
CN114964276A (zh) 一种融合惯导的动态视觉slam方法
Karam et al. Integrating a low-cost mems imu into a laser-based slam for indoor mobile mapping
CN115453599A (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