CN110246147B - 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 - Google Patents

视觉惯性里程计方法、视觉惯性里程计装置及移动设备 Download PDF

Info

Publication number
CN110246147B
CN110246147B CN201910396845.XA CN201910396845A CN110246147B CN 110246147 B CN110246147 B CN 110246147B CN 201910396845 A CN201910396845 A CN 201910396845A CN 110246147 B CN110246147 B CN 110246147B
Authority
CN
China
Prior art keywords
frame image
previous frame
points
error model
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
CN201910396845.XA
Other languages
English (en)
Other versions
CN110246147A (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201910396845.XA priority Critical patent/CN110246147B/zh
Publication of CN110246147A publication Critical patent/CN110246147A/zh
Application granted granted Critical
Publication of CN110246147B publication Critical patent/CN110246147B/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/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/48Matching video sequences
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Abstract

本申请适用于SLAM技术领域,提供了一种视觉惯性里程计方法、视觉惯性里程计装置、移动设备及计算机可读存储介质,包括:获取当前帧图像的边缘信息和上一帧图像的边缘信息;根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。通过本申请可提高特征匹配率、减少特征跟踪丢失的几率,进而提高位姿估计的准确率。

Description

视觉惯性里程计方法、视觉惯性里程计装置及移动设备
技术领域
本申请属于SLAM技术领域,尤其涉及一种视觉惯性里程计方法、视觉惯性里程计装置、移动设备及计算机可读存储介质。
背景技术
即时定位与地图构建(Simultaneous Localization And Mapping,SLAM)技术被广泛运用于无人机、无人驾驶、机器人、增强显示(Augmented Reality,AR)、智能家居等领域。而视觉里程计(Visual Odometry,VO)则是SLAM系统中至关重要的一环,通过相机拍摄的序列图片估计移动设备运动,继而恢复移动设备运动轨迹。然而,现有的视觉惯性里程计方法容易出现误匹配或跟踪丢失等现象,导致位姿估计失败。
发明内容
有鉴于此,本申请实施例提供了一种视觉惯性里程计方法、视觉惯性里程计方法、移动设备及计算机可读存储介质,以提高特征匹配率、减少特征跟踪丢失的几率,进而提高位姿估计的准确率。
本申请实施例的第一方面提供了一种视觉惯性里程计方法,所述视觉惯性里程计方法包括:
获取当前帧图像的边缘信息和上一帧图像的边缘信息;
根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。
本申请实施例的第二方面提供了一种视觉惯性里程计装置,所述视觉惯性里程计装置包括:
信息获取模块,用于获取当前帧图像的边缘信息和上一帧图像的边缘信息;
关键点提取模块,用于根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
函数构建模块,用于根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。
本申请实施例的第三方面提供了一种移动设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述视觉惯性里程计方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述视觉惯性里程计方法的步骤。
本申请的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现如上述第一方面所述视觉惯性里程计方法的步骤。
由上可见,本申请方案先分别获取当前帧图像和上一帧图像的边缘信息,根据当前帧图像的边缘信息提取特征点和边缘采样点,根据上一帧图像的边缘信息提取特征点和边缘采样点,再根据当前帧图像的特征点和边缘采样点、上一帧图像的特征点和边缘采样点、IMU预积分构建优化函数,根据该优化函数可估计移动设备的位姿。本申请通过利用能够有效反映图像结构信息的边缘信息引导更为鲁棒的特征点提取,可以筛除非显著点,提高特征匹配率,减少特征跟踪丢失的几率,进而提高位姿估计的准确率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的视觉惯性里程计方法的实现流程示意图;
图2a是边缘信息引导特征点提取的示例图;图2b是边缘点引导特征点和边缘采样点提取的示例图;
图3是本申请实施例二提供的视觉惯性里程计方法的实现流程示意图;
图4是本申请实施例三提供的视觉惯性里程计装置的示意图;
图5是本申请实施例四提供的移动设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,是本申请实施例一提供的视觉惯性里程计方法的实现流程示意图,如图所示该视觉惯性里程计方法可以包括以下步骤:
步骤S101,获取当前帧图像的边缘信息和上一帧图像的边缘信息。
在本申请实施例中的视觉惯性里程计可以是指单目视觉惯性里程计,单目视觉里程计采用单目相机,相比较于双目立体视觉里程计,设备要求低,成本投入少,可以满足实时性的要求。
在本申请实施例中,可以通过移动设备中的相机获取当前帧图像和上一帧图像,再获取到当前帧图像和上一帧图像之后,获取当前帧图像的边缘信息和上一帧图像的边缘信息。当前帧图像和上一帧图像为相邻的两帧图像,且上一帧图像发生在当前帧图像之前(即移动设备中的相机先采集上一帧图像,再采集当前帧图像)。
可选的,所述当前帧图像和所述上一帧图像为相邻的关键帧图像。
由于不是每帧图像上都能成功捕捉并定位到目标物体,为了筛除质量不好的图像,可以选取能够定位到物体的帧为关键帧,根据相邻的两个关键帧图像估计移动设备的位姿,可以减少移动设备的计算量,提高位姿估计的准确率。
VO系统中经常出现误匹配和跟踪丢失问题,尤其是对于环境中纹理区分度不高的场景,如:树木、白墙等非显著平滑区域,目标特征较弱。边缘是图像的重要信息,能很好地反映图像的结构信息,并且相比独立的特征点,边缘是图像更为健壮的一种特征。为了检测更为鲁棒的特征点,可以利用边缘对特征点检测过程进行约束。此外,为了避免特征匹配的不足或丢失,在进行位姿优化时,还可以加入图像边缘采样点。
步骤S102,根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点。
在本申请实施例中,为了检测更为鲁棒的特征点,可以利用边缘信息对特征点检测过程进行约束,即利用边缘信息引导特征点的提取,特征点是边缘上的点,而无需基于整张图像提取特征点,提高了特征点提取效率。此外,为了避免特征匹配的不足或丢失,在进行位姿优化时,还可以加入图像边缘采样点,可以通过对图像的边缘信息进行随机采样来获取图像的边缘采样点,即利用边缘信息引导边缘采样点的提取。如图2a所示是边缘信息引导特征点提取的示例图,图2b所示是边缘信息引导特征点和边缘采样点提取的示例图。
步骤S103,根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。
在本申请实施例中,所述优化函数用于输出移动设备的位姿,所述移动设备的位姿包括但不限于所述移动设备的移动方向和位移。
惯性测量单元(Inertial Measurement Unit,IMU)是测量移动设备角速度和加速度的装置,一个IMU通常包含三个单轴的加速度和三个单轴的陀螺,加速度计检测移动设备的加速度信息,陀螺检测角速度信号。其中,IMU通常安装在移动设备的重心上。IMU预积分可以是指利用IMU测量得到的惯性数据进行积分运算,实时更新移动设备的位姿。IMU可以得到移动设备(即运动主体)的角速度、加速度等测量数据,从而对运动有一个约束,或者与视觉形成互补,可实现快速运动的定位和移动设备纯旋转的处理,从而进一步提高SLAM或者VIO的可靠性。
本申请实施例利用能够有效反映图像结构信息的边缘信息引导更为鲁棒的特征点提取,可以筛除非显著点,提高特征匹配率,减少特征跟踪丢失的几率,进而提高位姿估计的准确率。
参见图3,是本申请实施例二提供的视觉惯性里程计方法的实现流程示意图,如图所示该视觉惯性里程计方法可以包括以下步骤:
步骤S301,获取当前帧图像的边缘信息和上一帧图像的边缘信息。
该步骤与步骤S101相同,具体可参见步骤S101的相关描述,在此不再赘述。
步骤S302,根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点。
该步骤与步骤S102相同,具体可参见步骤S102的相关描述,在此不再赘述。
另外,在构建优化函数时,可以采用针孔相机模型,相机内参中,焦距为[fu,fv]T,主点位置为[cu,cv]T。根据焦距和主点位置可以构建如下投影函数,将相机坐标系C中3D点X=[X,Y,Z]T∈R3投影到图像坐标系(即图像平面)中2D点x=[u,v]T∈R2,可以通过公式
Figure GDA0004046828880000061
将3D点投影到2D点。
由VO系统的初始化过程可以得到相机初始位姿、尺度,由此可得出图像坐标系下像素点(即图像平面像素点)x=[u,v]T对应的深度值d,逆投影过程可通过2D点及其深度值恢复3D点,即可以通过公式
Figure GDA0004046828880000062
恢复3D点。
步骤S303,根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型。
其中,重投影误差可以是指根据像素坐标(即观测到的投影位置)与3D点按照当前估计的位姿进行投影得到的位置相比较得到的误差。
可选的,根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型包括:
将所述当前帧图像和所述上一帧图像进行特征点匹配,获取匹配的特征点;
根据匹配的特征点,获取所述重投影误差模型。
在本申请实施例中,对k对匹配的特征点,重投影误差模型如下:
Figure GDA0004046828880000071
其中,Eproj(k,j)表示重投影误差模型,ρ表示Huber鲁棒成本函数,xk表示匹配的特征点中当前帧图像的特征点在图像坐标系下的位置,
Figure GDA0004046828880000072
表示匹配的特征点中上一帧图像的特征点在相机坐标系下的位置,
Figure GDA0004046828880000073
表示将匹配的特征点中上一帧图像的特征点在相机坐标系下的位置投影到图像坐标系下的位置,∑k表示信息矩阵。
步骤S304,根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型。
其中,光度误差可以是指两张图像中由变换矩阵关联起来的两个像素点的灰度差异。理想情况下,灰度差异应该为0,它们应该是同一个点,但实际中由于相机位姿变换矩阵不准确会造成一些差异,据此构建一个非线性优化问题,把大量像素点的光度误差的平方和作为总误差,优化移动设备位姿使该误差最小。
可选的,所述根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型包括:
获取所述上一帧图像的关键点在相机坐标系下的投影点,其中,所述上一帧图像的关键点包括所述上一帧图像的特征点和边缘采样点;
获取该投影点在图像坐标系下的投影点;
根据所述上一帧图像的关键点的灰度值和在所述图像坐标系下的投影点的灰度值,获取所述光度误差模型。
在本申请实施例中,对从上一帧图像的边缘上提取的m个关键点(m为从上一帧图像的边缘上提取的特征点的数量和边缘采样点的数量之和),光度误差模型如下:
Figure GDA0004046828880000081
Figure GDA0004046828880000082
Figure GDA0004046828880000083
其中,i表示上一帧图像,
Figure GDA0004046828880000084
表示在相机坐标系下上一帧图像中第m个关键点,
Figure GDA0004046828880000085
表示将相机坐标系下上一帧图像中第m个关键点投影到世界坐标系下所得到的投影点(即世界坐标系下的地图点),RCB表示相机坐标系相对惯性坐标系的旋转矩阵,
Figure GDA0004046828880000086
表示惯性坐标系相对世界坐标系的旋转矩阵,
Figure GDA0004046828880000087
表示当前帧的位移,pC表示世界坐标系下的一个关键点换算到相机坐标系下时的偏移量,Ii(·)表示上一帧图像中关键点的灰度值,
Figure GDA0004046828880000088
表示根据上一帧图像的关键点估算的在相机坐标系下当前帧图像的关键点,Ij(·)表示估算的当前帧图像的关键点的灰度值。
步骤S305,根据IMU预积分获取IMU残差模型。
可选的,所述根据IMU预积分获取IMU残差模型包括:
通过IMU获取所述移动设备在所述当前帧图像和所述上一帧图像之间的角速度测量值和加速度测量值;
对所述角速度测量值和所述加速度测量值进行积分,获取所述IMU残差模型。
步骤S306,根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建优化函数,所述优化函数输出移动设备的位姿。
在本申请实施例中,由于提取的特征点是图像边缘上的点,这些点具备图像梯度大、较好反映图像结构信息、主要出现在纹理丰富区域等优点,因此,为了提高位姿估计的准确率,可以通过相邻关键帧间基于特征点匹配对的重投影误差、基于特征点和边缘采样点的光度误差以及IMU误差三部分构建非线性优化函数,以优化由旋转矩阵
Figure GDA0004046828880000091
位移
Figure GDA0004046828880000092
速度
Figure GDA0004046828880000093
偏移量
Figure GDA0004046828880000094
Figure GDA0004046828880000095
构成的15维状态向量
Figure GDA0004046828880000096
j表示当前帧图像,
Figure GDA0004046828880000097
表示世界坐标系到惯性坐标系的旋转矩阵,
Figure GDA0004046828880000098
Figure GDA0004046828880000099
分别表示当前帧在世界坐标系下的位移和速度,
Figure GDA00040468288800000910
表示角速度偏移量,
Figure GDA00040468288800000911
表示加速度偏移量。
可选的,根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建优化函数包括:
根据公式
Figure GDA00040468288800000912
构建非线性优化函数,其中,τ为当前帧图像j的状态向量,Ephoto(m,j)为所述光度误差模型,Eproj(k,j)为所述重投影误差模型,EIMU(i,j)为所述IMU残差模型,
Figure GDA00040468288800000913
为使τ取得最小值的函数,m为特征点和边缘采样点中的点,k为匹配的特征点,i为所述上一帧图像,上述公式中的∑m和∑k表示求和。
本申请实施例在实施例一的基础上增加了“根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建优化函数”,即在构建优化函数时,在基于特征点的重投影误差模型的基础上,增加基于边缘采样点的光度误差模型及IMU残差模型,以提高低纹理环境的鲁棒性的同时,提高位姿估计的准确率。
参见图4,是本申请实施例三提供的视觉惯性里程计装置的示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
所述视觉惯性里程计装置包括:
信息获取模块41,用于获取当前帧图像的边缘信息和上一帧图像的边缘信息;
关键点提取模块42,用于根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
函数构建模块43,用于根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。
可选的,所述函数构建模块43包括:
第一获取单元,用于根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型;
第二获取单元,用于根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型;
第三获取单元,用于根据IMU预积分获取IMU残差模型;
构建单元,用于根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建所述优化函数。
可选的,所述投建单元具体用于:
根据公式
Figure GDA0004046828880000101
构建非线性优化函数,其中,τ为当前帧图像j的状态向量,Ephoto(m,j)为所述光度误差模型,Eproj(k,j)为所述重投影误差模型,EIMU(i,j)为所述IMU残差模型,
Figure GDA0004046828880000102
为使τ取得最小值的函数,m为特征点和边缘采样点中的点,k为匹配的特征点,i为所述上一帧图像。
可选的,所述第一获取单元具体用于:
将所述当前帧图像和所述上一帧图像进行特征点匹配,获取匹配的特征点;
根据匹配的特征点,获取所述重投影误差模型。
可选的,所述第二获取单元具体用于:
获取所述上一帧图像的关键点在相机坐标系下的投影点,其中,所述上一帧图像的关键点包括所述上一帧图像的特征点和边缘采样点;
获取该投影点在图像坐标系下的投影点;
根据所述上一帧图像的关键点的灰度值和在所述图像坐标系下的投影点的灰度值,获取所述光度误差模型。
可选的,所述第三获取单元具体用于:
通过IMU获取所述移动设备在所述当前帧图像和所述上一帧图像之间的角速度测量值和加速度测量值;
对所述角速度测量值和所述加速度测量值进行积分,获取所述IMU残差模型。
可选的,所述当前帧图像和所述上一帧图像为相邻的关键帧图像。
本申请实施例提供的视觉惯性里程计装置可以应用在前述方法实施例一和实施例二中,详情参见上述方法实施例一和实施例二的描述,在此不再赘述。
图5是本申请实施例四提供的移动设备的示意图。如图5所示,该实施例的移动设备5包括:处理器50、存储器51以及存储在所述存储器51中并可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个视觉惯性里程计方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块41至43的功能。
示例性的,所述计算机程序52可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器51中,并由所述处理器50执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序52在所述移动设备5中的执行过程。例如,所述计算机程序52可以被分割成信息获取模块、关键点提取模块以及函数构建模块,各模块具体功能如下:
信息获取模块,用于获取当前帧图像的边缘信息和上一帧图像的边缘信息;
关键点提取模块,用于根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
函数构建模块,用于根据所述当前帧图像的特征点和边缘点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿。
可选的,所述函数构建模块包括:
第一获取单元,用于根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型;
第二获取单元,用于根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型;
第三获取单元,用于根据IMU预积分获取IMU残差模型;
构建单元,用于根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建所述优化函数。
可选的,所述投建单元具体用于:
根据公式
Figure GDA0004046828880000121
构建非线性优化函数,其中,τ为当前帧图像j的状态向量,Ephoto(m,j)为所述光度误差模型,Eproj(k,j)为所述重投影误差模型,EIMU(i,j)为所述IMU残差模型,
Figure GDA0004046828880000122
为使τ取得最小值的函数,m为特征点和边缘采样点中的点,k为匹配的特征点,i为所述上一帧图像。
可选的,所述第一获取单元具体用于:
将所述当前帧图像和所述上一帧图像进行特征点匹配,获取匹配的特征点;
根据匹配的特征点,获取所述重投影误差模型。
可选的,所述第二获取单元具体用于:
获取所述上一帧图像的关键点在相机坐标系下的投影点,其中,所述上一帧图像的关键点包括所述上一帧图像的特征点和边缘采样点;
获取该投影点在图像坐标系下的投影点;
根据所述上一帧图像的关键点的灰度值和在所述图像坐标系下的投影点的灰度值,获取所述光度误差模型。
可选的,所述第三获取单元具体用于:
通过IMU获取所述移动设备在所述当前帧图像和所述上一帧图像之间的角速度测量值和加速度测量值;
对所述角速度测量值和所述加速度测量值进行积分,获取所述IMU残差模型。
可选的,所述当前帧图像和所述上一帧图像为相邻的关键帧图像。
所述移动设备5可以是机器人、无人机等需进行视觉里程计的设备。所述移动设备可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是移动设备5的示例,并不构成对移动设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述移动设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述移动设备5的内部存储单元,例如移动设备5的硬盘或内存。所述存储器51也可以是所述移动设备5的外部存储设备,例如所述移动设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述移动设备5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述移动设备所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/移动设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (8)

1.一种视觉惯性里程计方法,其特征在于,所述视觉惯性里程计方法包括:
获取当前帧图像的边缘信息和上一帧图像的边缘信息;
根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
根据所述当前帧图像的特征点和边缘采样点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿;
所述根据所述当前帧图像的特征点和边缘采样点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数包括:
根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型;
根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型;
根据IMU预积分获取IMU残差模型;
根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建所述优化函数;
根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建所述优化函数包括:
根据公式
Figure FDA0004088756970000011
构建非线性优化函数,其中,τ为当前帧图像j的状态向量,Ephoto(m,j)为所述光度误差模型,Eproj(k,j)为所述重投影误差模型,EIMU(i,j)为所述IMU残差模型,
Figure FDA0004088756970000012
为使τ取得最小值的函数,m为特征点和边缘采样点中的点,k为匹配的特征点,i为所述上一帧图像。
2.如权利要求1所述的视觉惯性里程计方法,其特征在于,根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型包括:
将所述当前帧图像和所述上一帧图像进行特征点匹配,获取匹配的特征点;
根据匹配的特征点,获取所述重投影误差模型。
3.如权利要求1所述的视觉惯性里程计方法,其特征在于,所述根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型包括:
获取所述上一帧图像的关键点在相机坐标系下的投影点,其中,所述上一帧图像的关键点包括所述上一帧图像的特征点和边缘采样点;
获取该投影点在图像坐标系下的投影点;
根据所述上一帧图像的关键点的灰度值和在所述图像坐标系下的投影点的灰度值,获取所述光度误差模型。
4.如权利要求1所述的视觉惯性里程计方法,其特征在于,所述根据IMU预积分获取IMU残差模型包括:
通过IMU获取所述移动设备在所述当前帧图像和所述上一帧图像之间的角速度测量值和加速度测量值;
对所述角速度测量值和所述加速度测量值进行积分,获取所述IMU残差模型。
5.如权利要求1至4任一项所述的视觉惯性里程计方法,其特征在于,所述当前帧图像和所述上一帧图像为相邻的关键帧图像。
6.一种视觉惯性里程计装置,其特征在于,所述视觉惯性里程计装置包括:
信息获取模块,用于获取当前帧图像的边缘信息和上一帧图像的边缘信息;
关键点提取模块,用于根据所述当前帧图像的边缘信息提取所述当前帧图像的特征点和边缘采样点,根据所述上一帧图像的边缘信息提取所述上一帧图像的特征点和边缘采样点;
函数构建模块,用于根据所述当前帧图像的特征点和边缘采样点、所述上一帧图像的特征点和边缘采样点以及惯性测量单元IMU预积分,构建优化函数,所述优化函数输出移动设备的位姿;
所述函数构建模块包括:
第一获取单元,用于根据所述当前帧图像的特征点和所述上一帧图像的特征点,获取重投影误差模型;
第二获取单元,用于根据所述上一帧图像的特征点和边缘采样点,获取光度误差模型;
第三获取单元,用于根据IMU预积分获取IMU残差模型;
构建单元,用于根据所述重投影误差模型、所述光度误差模型和所述IMU残差模型,构建所述优化函数;
所述构建单元具体用于:
根据公式
Figure FDA0004088756970000031
构建非线性优化函数,其中,τ为当前帧图像j的状态向量,Ephoto(m,j)为所述光度误差模型,Eproj(k,j)为所述重投影误差模型,EIMU(i,j)为所述IMU残差模型,
Figure FDA0004088756970000032
为使τ取得最小值的函数,m为特征点和边缘采样点中的点,k为匹配的特征点,i为所述上一帧图像。
7.一种移动设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述视觉惯性里程计方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述视觉惯性里程计方法的步骤。
CN201910396845.XA 2019-05-14 2019-05-14 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 Active CN110246147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910396845.XA CN110246147B (zh) 2019-05-14 2019-05-14 视觉惯性里程计方法、视觉惯性里程计装置及移动设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910396845.XA CN110246147B (zh) 2019-05-14 2019-05-14 视觉惯性里程计方法、视觉惯性里程计装置及移动设备

Publications (2)

Publication Number Publication Date
CN110246147A CN110246147A (zh) 2019-09-17
CN110246147B true CN110246147B (zh) 2023-04-07

Family

ID=67884331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910396845.XA Active CN110246147B (zh) 2019-05-14 2019-05-14 视觉惯性里程计方法、视觉惯性里程计装置及移动设备

Country Status (1)

Country Link
CN (1) CN110246147B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110717927A (zh) * 2019-10-10 2020-01-21 桂林电子科技大学 基于深度学习和视惯融合的室内机器人运动估计方法
CN110763251B (zh) * 2019-10-18 2021-07-13 华东交通大学 视觉惯性里程计优化的方法及系统
CN110779520B (zh) * 2019-10-21 2022-08-23 腾讯科技(深圳)有限公司 导航方法及装置、电子设备和计算机可读存储介质
WO2021081707A1 (zh) * 2019-10-28 2021-05-06 深圳市大疆创新科技有限公司 数据处理方法、装置、可移动平台及计算机可读存储介质
CN110823225A (zh) * 2019-10-29 2020-02-21 北京影谱科技股份有限公司 室内动态情景下的定位方法和装置
CN111060115B (zh) * 2019-11-29 2022-03-22 中国科学院计算技术研究所 一种基于图像边缘特征的视觉slam方法及系统
CN113034538B (zh) * 2019-12-25 2023-09-05 杭州海康威视数字技术股份有限公司 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
CN113532455B (zh) * 2020-04-17 2023-03-31 北京三快在线科技有限公司 视觉融合定位方法、装置、电子设备和可读存储介质
CN111797906B (zh) * 2020-06-15 2024-03-01 北京三快在线科技有限公司 基于视觉和惯性里程定位的方法及装置
CN111814869B (zh) * 2020-07-06 2022-11-08 北京邮电大学 一种同步定位与建图的方法、装置、电子设备及存储介质
CN111815679B (zh) * 2020-07-27 2022-07-26 西北工业大学 一种基于双目相机的空间目标特征点丢失期间轨迹预测方法
CN112132871B (zh) * 2020-08-05 2022-12-06 天津(滨海)人工智能军民融合创新中心 一种基于特征光流信息的视觉特征点追踪方法、装置、存储介质及终端
CN111951262B (zh) * 2020-08-25 2024-03-12 杭州易现先进科技有限公司 Vio误差的修正方法、装置、系统和电子装置
CN112070175A (zh) * 2020-09-04 2020-12-11 湖南国科微电子股份有限公司 视觉里程计方法、装置、电子设备及存储介质
CN112556692B (zh) * 2020-11-27 2023-01-31 绍兴市北大信息技术科创中心 一种基于注意力机制的视觉和惯性里程计方法和系统
CN112393723B (zh) * 2020-11-27 2023-10-24 北京三快在线科技有限公司 一种定位方法、设备、介质及无人设备
CN113034594A (zh) * 2021-03-16 2021-06-25 浙江商汤科技开发有限公司 位姿优化方法、装置、电子设备及存储介质
CN113034582A (zh) * 2021-03-25 2021-06-25 浙江商汤科技开发有限公司 位姿优化装置及方法、电子设备及计算机可读存储介质
CN113361365B (zh) * 2021-05-27 2023-06-23 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113432595A (zh) * 2021-07-07 2021-09-24 北京三快在线科技有限公司 设备状态获取方法、装置、计算机设备及存储介质
CN115239758A (zh) * 2022-05-24 2022-10-25 广东人工智能与先进计算研究院 时间戳校正方法、装置、设备、介质及计算机程序产品
CN115358962B (zh) * 2022-10-18 2023-01-10 中国第一汽车股份有限公司 一种端到端视觉里程计方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194114A (zh) * 2011-06-25 2011-09-21 电子科技大学 一种基于边缘梯度方向金字塔直方图的虹膜识别方法
CN104318561A (zh) * 2014-10-22 2015-01-28 上海理工大学 基于双目立体视觉与光流融合的车辆运动信息检测方法
CN106846417A (zh) * 2017-02-06 2017-06-13 东华大学 基于视觉里程计的单目红外视频三维重建方法
CN107748569A (zh) * 2017-09-04 2018-03-02 中国兵器工业计算机应用技术研究所 用于无人机的运动控制方法、装置及无人机系统
CN108846857A (zh) * 2018-06-28 2018-11-20 清华大学深圳研究生院 视觉里程计的测量方法及视觉里程计
CN108955718A (zh) * 2018-04-10 2018-12-07 中国科学院深圳先进技术研究院 一种视觉里程计及其定位方法、机器人以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3474230B1 (en) * 2017-10-18 2020-07-22 Tata Consultancy Services Limited Systems and methods for edge points based monocular visual slam

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102194114A (zh) * 2011-06-25 2011-09-21 电子科技大学 一种基于边缘梯度方向金字塔直方图的虹膜识别方法
CN104318561A (zh) * 2014-10-22 2015-01-28 上海理工大学 基于双目立体视觉与光流融合的车辆运动信息检测方法
CN106846417A (zh) * 2017-02-06 2017-06-13 东华大学 基于视觉里程计的单目红外视频三维重建方法
CN107748569A (zh) * 2017-09-04 2018-03-02 中国兵器工业计算机应用技术研究所 用于无人机的运动控制方法、装置及无人机系统
CN108955718A (zh) * 2018-04-10 2018-12-07 中国科学院深圳先进技术研究院 一种视觉里程计及其定位方法、机器人以及存储介质
CN108846857A (zh) * 2018-06-28 2018-11-20 清华大学深圳研究生院 视觉里程计的测量方法及视觉里程计

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于 RGBD 传感器的场景自适应性视觉里程计算法";段珊珊等;《计算机与现代化》;20170112(第12期);第73-77页 *

Also Published As

Publication number Publication date
CN110246147A (zh) 2019-09-17

Similar Documents

Publication Publication Date Title
CN110246147B (zh) 视觉惯性里程计方法、视觉惯性里程计装置及移动设备
CN110322500B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
CN111354042A (zh) 机器人视觉图像的特征提取方法、装置、机器人及介质
CN110717861B (zh) 图像拼接方法、装置、电子设备和计算机可读存储介质
CN110349212B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
WO2019104571A1 (zh) 图像处理方法和设备
CN113029128B (zh) 视觉导航方法及相关装置、移动终端、存储介质
CN111833447A (zh) 三维地图构建方法、三维地图构建装置及终端设备
WO2023005457A1 (zh) 位姿计算方法和装置、电子设备、可读存储介质
CN113587934B (zh) 一种机器人、室内定位方法、装置和可读存储介质
CN111609868A (zh) 一种基于改进光流法的视觉惯性里程计方法
CN113256719A (zh) 停车导航定位方法、装置、电子设备及存储介质
CN113610702B (zh) 一种建图方法、装置、电子设备及存储介质
Huttunen et al. A monocular camera gyroscope
CN110673607A (zh) 动态场景下的特征点提取方法、装置、及终端设备
CN112198878B (zh) 一种即时地图构建方法、装置、机器人及存储介质
CN112258647B (zh) 地图重建方法及装置、计算机可读介质和电子设备
CN113628284B (zh) 位姿标定数据集生成方法、装置、系统、电子设备及介质
CN111339226B (zh) 一种基于分类检测网络构建地图方法及装置
CN113763468A (zh) 一种定位方法、装置、系统及存储介质
CN112037261A (zh) 一种图像动态特征去除方法及装置
CN114234959B (zh) 机器人、vslam初始化方法、装置和可读存储介质
CN110660134B (zh) 三维地图构建方法、三维地图构建装置及终端设备
CN112348865B (zh) 一种回环检测方法、装置、计算机可读存储介质及机器人
TWI793584B (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