CN110807809A - 基于点线特征和深度滤波器的轻量级单目视觉定位方法 - Google Patents
基于点线特征和深度滤波器的轻量级单目视觉定位方法 Download PDFInfo
- Publication number
- CN110807809A CN110807809A CN201911023186.1A CN201911023186A CN110807809A CN 110807809 A CN110807809 A CN 110807809A CN 201911023186 A CN201911023186 A CN 201911023186A CN 110807809 A CN110807809 A CN 110807809A
- Authority
- CN
- China
- Prior art keywords
- frame
- points
- feature
- matrix
- depth
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 50
- 238000012937 correction Methods 0.000 claims abstract description 7
- 238000005070 sampling Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 9
- 230000003287 optical effect Effects 0.000 claims description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 7
- 238000003384 imaging method Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010494 dissociation reaction Methods 0.000 claims description 2
- 230000005593 dissociations Effects 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009833 condensation Methods 0.000 description 1
- 230000005494 condensation Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
Images
Classifications
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/045—Combinations of networks
-
- 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/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于点线特征和深度滤波器的轻量级单目视觉定位方法。包括:采集标定图像信息对相机进行标定,得到相机的畸变参数和内参矩阵;采集图像数据,进行畸变校正,得到校正后的图像数据;检测校正后图像的特征点;选取关键帧初始化系统;提取图像线段特征和特征点,跟踪每一帧得到图像的位姿;三维特征加入时使用CNN初始化深度滤波器;对种子进行迭代更新直到收敛。本发明适用于计算性能受限的设备,可用于纹理比较缺乏的场景,不计算、匹配描述子,具有更高的运行速度;加入了线段特征,能够得到更多的特征点;使用了CNN估计的深度值初始化深度滤波器,大大降低迭代的次数。
Description
技术领域
本发明属于视觉实时定位与建图技术领域,更具体地,涉及一种基于点线特征和深度滤波器的轻量级单目视觉定位方法。
背景技术
当今在机器人实时定位与建图领域中,通常采用激光雷达作为定位的核心传感器,以激光雷达为核心的各种定位技术,经过长期发展,已经走向了成熟,甚至广泛应用到了市场。视觉传感器相比于激光雷达,采样频率更高,跟重要的是,价格低廉,以视觉作为主要传感器的定位技术,越来越受到重视。视觉里程计计算效率更高,硬件成本得到显著降低。
目前视觉传感器可以分类三类:单目、双目和深度相机,深度相机采用结光的原理获取场景的深度,在室内可以得到测量精度比较高的值,但在室外大场景下,深度相机几乎失效;双目相机利用双目视觉和已知基线可以获取共视点的深度,可用于室外,但深度计算本生就是计算量比较大的一部分;单目视觉传感器成本更低,也不受基线影响,可以利用三角化来初始化场景的深度,室内室外均适用。
当前的视觉实时定位与建图多采用匹配特征点的方式来跟踪位姿,该做涉及计算特征点、为所有特征点计算描述子、匹配描述子,在匹配描述子的过程中,往往采用暴力匹配的方式,比较耗时,同时在特征非常缺乏的场景无法工作。基于直接法的匹配方式,通过最小化灰度值误差来迭代产生相机位姿,速度远远高于特征点法,在获得比较好的初始位姿时,迭代将会快速收敛,但直接法的缺点显而易见:对光度敏感、容易跟丢。
使用单目相机作为传感器,成本低、速度快,但无法引入尺度信息,通过三角化测量可以恢复二维点的深度,但具有尺度不确定性,随着时间推移,尺度误差将会累积,极大影响了定位效果。
LSD是在2012年被提出来的一种线段检测算法,相比于常规的线段检测算法,LSD能够在线性级别的时间内,得到亚像素精度的检测结果。LSD算法是检测图像中的局部直线边缘,边缘被定义为图像灰度从黑到白变化明显的区域。LSD因其较高的检测速率,可以满足SLAM对实时性的要求。
深度滤波器被广泛用于单目稠密重建中,深度滤波器通过三角化测量,得到二维点的初始深度,每得到一次观测就对种子进行更新,直到种子的不确定性小于某种程度停止更新,并将种子加入地图。实验证明,深度滤波器因为初始的不确定性过大,往往在SLAM结束的时候,绝大多数种子依然没有收敛,对定位产生了比较大的误差影响。
发明内容
本发明为克服上述现有技术中的缺陷,提供一种基于点线特征和深度滤波器的轻量级单目视觉定位方法。
为解决上述技术问题,本发明采用的技术方案是:一种基于点线特征和深度滤波器的轻量级单目视觉定位方法,包括以下步骤,
S1.使用待标定单目相机采集含有标定板信息的图像数据,使用标定得到相机模型的内参和畸变参数;
S2.将载有单目相机的设备放置至目标环境中,记录传感器数据,对采集到的每一帧图片进行畸变校正,并计算ORB特征和LSD线段特征;
S3.跟踪步骤S2得到的特征点,确定第一个关键帧和第二个关键帧,计算单应矩阵和基础矩阵,并确定最佳的参数,作为单目初始化全局的尺度;
S4.将采集线段特征得到的线段进行等距采样得到新的点,对所有ORB特征点和LSD特征上的点,确定一块特征块,使用直接法对所有特征块的位姿参数迭代,通过最小化特征块灰度差值,得到相机的初始位姿;利用得到的初始位姿和当前帧具有共视关系的关键帧,计算仿射变换并最小化光度误差,来对特征块的位置进行优化;最后利用得到的位姿和特征位置计算重投影误差,通过高斯牛顿法优化位姿和三维点的位置;
S5.计算当前帧与所有关联关键帧平移量,如果平移足够大则确定当前帧是关键帧;
S6.对于关键帧,使用CNN计算特征点的深度值初始化深度滤波器;对于普通帧,融合观测数据和预测数据,得到新的关于深度估计的高斯分布。
进一步的,所述的S1步骤中得到相机模型的内参的方法,包括:
在包含标定板的图像数据中,标定板所在的平面为Π,成像平面为π,已知成像平面π和标定板平面Π的信息,可以求得两个平面的单应矩阵Η,可以得到如下的等式:
Η=KT
K为内参矩阵,Τ为变换矩阵,由于标定板上特征点可以被检测到,所以标定板的信息已知,通过对应的点对解得Η后,可以通过上面的等式得到内参矩阵K。
进一步的,所述的步骤S2中畸变校正的方法包括:
畸变可以分为径向畸变和切向畸变,这里只考虑径向畸变,采用张氏标定法即可获取畸变参数,设径向畸变参数为k1,k2,k3,则校正后的归一化坐标可以表示为:
xtrue=x(1+kir2+k2r4+k3r6)
ytrue=y(1+k1r2+k2r4+k3r6)
其中x,y为归一化平面的坐标;由归一化的坐标根据标定得到的内参可以得到像素平面的坐标u,v。
进一步的,所述的步骤S3中单目相机初始化的方法,包括:
当传感器开始采集数据后,则开始检测每一帧图像的特征点数量,当检测到某一帧的特征点的数量大于100的时候,则选取该帧作为此次定位观察到的第一帧,并且确定为关键帧;
使用LK光流法计算稀疏光流来进行跟踪特征点,如果接下来的某一帧跟踪成功到的特征点数量大于50,并且像素差均值大于50个像素点,则认为该帧是关键帧,作为第二的关键帧,用来初始化,像素差均值是所有跟踪到的特征点与其在第一帧中二维位置的像素差总和除以跟踪成功的像素点数量得来,用来体现是否移动了足够的距离;
确定成功前两个关键帧后,计算匹配到的二维点对的之间单应矩阵Η和基础矩阵F,并通过RANSAC抽样,获取最优的单应矩阵Η和基础矩阵F,然后根据情况选择选用其中一个矩阵;在初始化场景是平面的情况下,使用单应矩阵在非平面场景下,使用基础矩阵;
三角化二维点对集来得到特征点的三维坐标,三维点全部作为地图点加入地图中,并使用这些地图点的深度初始化尺度。
进一步的,所述的S4步骤具体包括:
S41.判断当前帧检测到的特征点数量是否大于设置的最大特征点数量,如果没有,则将从线段特征中提取点,提取点的方式采取等距采样,采样的步长由需要补充的特征点数量决定;
S42.对于每一个点,取固定像素长度的矩形块,特征点为矩形块的中心,设初始的位姿为单位矩阵,以该特征块为单位投影到上一帧的所在像素位置,使用直接法最小化灰度误差来优化位姿,得到一个比较准确的初始位姿;
S43.寻找与当前帧具有共视关系的关键帧序列,利用步骤S42已经求得的位姿将关键帧上的地图点投影到当前帧,通过最小化光度误差来迭代优化当前帧的像素位置,直到收敛;
S44.使用BundleAdjustment来优化位姿和三维坐标。
进一步的,所述的步骤S6具体包括:
S61.对于得到的每一个关键帧,使用CNN得到关键帧的深度值,得到的深度值作为深度滤波器初始的均值,对于线段特征,只取线段的两个端点加入深度滤波器,估计两个端点的三维坐标;
S62.对于每一个非关键帧,计算所有种子在当前帧上的极线,计算种子所在帧与当前帧之间的仿射矩阵,在当前帧上进行极线搜索,得到匹配的位置,将当前测量深度与原先的分布进行深度融合得到新的均值和不确定性,对种子队列重复更新直到收敛。
与现有技术相比,有益效果是:
1.本发明适用于在计算性能受限的设备实现实时定位,采取直接法和光流法跟踪图像的特征点,只计算图像的ORB特征点,并不计算和匹配描述子,极大节省了前端跟踪的时间;
2.本发明采用的是单目传感器,成本相对于双目更低,对于单目的深度不确定性本发明采用了深度滤波器来解决;
3.本发明实现了准确的相机初始化功能,使用光流法跟踪图像帧,确定初始的关键帧,计算单应矩阵和基础矩阵,并且在没有外部设置的情况下,能够自适应的选择单应矩阵和基础矩阵,得到最好的初始化效果;
4.本发明使用深度滤波器来得到地图点,并且使用CNN估计的深度来作为初始化种子,利用非关键帧来更新种子的深度和不确定性,直到种子收敛并加入地图。
附图说明
图1是本发明的总流程图。
图2是本发明深度融合的流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
实施例1:
如图1和图2所示,一种基于点线特征和深度滤波器的轻量级单目视觉定位方法,基本的步骤如下:
S1.使用待标定单目相机采集含有标定板信息的图像数据,使用标定得到相机模型的内参和畸变参数;
S2.将载有单目相机的设备放置至目标环境中,记录传感器数据,对采集到的每一帧图片进行畸变校正,并计算ORB特征和LSD线段特征;
S3.跟踪S2得到的特征点,确定第一个关键帧和第二个关键帧,计算单应矩阵和基础矩阵,并确定最佳的参数,为单目初始化全局的尺度;
S4.将采集线段特征得到的线段等距采样得到新的点,对所有ORB特征点和LSD特征上的点,确定一块特征块,使用直接法对所有特征块的位姿参数迭代,通过最小化特征块灰度差值,得到相机的初始位姿;利用得到的初始位姿和当前帧具有共视关系的关键帧,计算仿射变换并最小化光度误差,来对特征块的位置进行优化;最后利用得到的位姿和特征位置计算重投影误差,通过高斯牛顿法优化位姿和三维点的位置;
S5.计算当前帧与所有关联关键帧平移量,如果平移足够大则确定当前帧是关键帧;
S6.对于关键帧,使用CNN计算特征点的深度值初始化深度滤波器;对于普通帧,融合观测数据和预测数据,得到新的关于深度估计的高斯分布。
对于步骤S1所述的实施标定内参的过程中,因为标定是一种基于平面棋盘格的标定,所以标定平面到成像平面具有单应性,在包含标定板的图像数据中,标定板所在的平面为Π,成像平面为π,已知成像平面π和标定板平面Π,可以求得两个平面的单应矩阵Η,可以得到如下的等式:
Η=KΤ
K为内参矩阵,Τ为变换矩阵,由于标定板上特征点可以被检测到,标定板的信息已知,通过对应的点对解得Η后,可以通过上面的等式得到内参矩阵K。
对于步骤S2所述的畸变校正方法,畸变可以分为径向畸变和切向畸变,这里只考虑径向畸变,采用传统方式如张氏标定法即可获取畸变参数,设径向畸变参数为k1,k2,k3,则校正后的归一化坐标可以表示为:
xtrue=x(1+k1r2+k2r4+k3r6)
ytrue=y(1+k1r2+k2r4+k3r6)
其中x,y为归一化平面的的坐标。由归一化的坐标根据标定得到的内参可以得到像素平面的坐标u,v,像素坐标如下:
u=fx*xtrue+Cx
v=fy*ytrue+Cy
其中,fx为相机x轴方向上的焦距,fy为相机y轴上的焦距,cx、cy分别是x轴和y轴方向上的偏移。
对于步骤S3所述的特征检测,在实施中,首先提取ORB点特征,从图像中选取一点P,以P为中心取一个半径为3像素的圆,圆周上如果有连续N个像素点的灰度值比P点的灰度值大或小,则认为P为特征点。提取特征点前,可以快速剔除非特征点,首先检测特征点上下左右四个位置上的灰度值,如果P是特征点,那么这四个位置上有3个或3个以上的像素值都大于或者小于P点的灰度值。
其中,线段特征采用LSD算法来检测,LSD是在2012年被提出来的一种线段检测算法,相比于常规的线段检测算法,LSD能够在线性级别的时间内,得到亚像素精度的检测结果,可以满足SLAM对实时性的要求。线段特征往往在环境中纹理信息不是很充足的情况下使用,采用等距采样即可从线段中提取特征点,供跟踪线程迭代。
对于步骤S3所述的相机初始化过程,包括如下步骤:
(1)当传感器开始采集数据后,即开始检测每一帧图像的特征点数量,当检测到某一帧的特征点的数量大于100的时候,即选取该帧作为此次定位观察到的第一帧,并且确定为关键帧。
(2)使用LK光流法计算稀疏光流来进行跟踪特征点,如果接下来的某一帧跟踪成功到的特征点数量大于50,并且像素差均值大于50个像素点,则认为该帧是关键帧,作为第二的关键帧,用来初始化,像素差均值是所有跟踪到的特征点与其在第一帧中二维位置的像素差总和除以跟踪成功的像素点数量得来,用来体现是否移动了足够的距离。
(3)确定成功前两个关键帧后,计算匹配到的二维点对的之间单应矩阵Η和基础矩阵F,并通过RANSAC抽样,获取最优的单应矩阵Η和基础矩阵F,然后根据情况使用外部配置,指定选用其中一个矩阵,一般在初始化场景是平面的情况下,使用单应矩阵在非平面场景下,使用基础矩阵。也可以在不使用外部配置的情况自适应选择,步骤如下:
i.分别使用单应矩阵Η和基础矩阵F投影将当前帧投影到参考帧上,计算出两种情况下的内点和外点。
ii.对于两种情况下的所有内点,计算深度小于0的点的数量,作为误差点数。
iii.选取误差点数更小的模型作为变换矩阵。
(4)三角化二维点对集来得到特征点的三维坐标,计算这些三维点平均深度,并作为初始的尺度。
实施步骤S4具体过程如下:
S41.判断当前帧检测到的特征点数量是否大于设置的最大特征点数量,如果没有,则将从线段特征中提取点,提取点的方式采取等距采样,采样的步长由需要补充的特征点数量决定。
S42.对于每一个点,取固定像素长度的矩形块,这里采用4×4的矩形块,特征点为矩形块的中心,设初始的位姿为单位矩阵,以该特征块为单位投影到上一帧的所在像素位置,使用直接法最小化灰度误差来优化位姿,得到一个比较准确的初始位姿。将上述过程转化为如下公式:
利用高斯牛顿法迭代最小化光度误差,得到相对位姿Tk,k-1的最优估计,其中ui为像素位置,δI表示光度误差。
S43.步骤S42中采取相邻帧间的匹配来得到初始位姿,随着匹配的帧数增多,会带来累积误差,所以需要通过关键帧来做进一步的约束。寻找与当前帧具有共视关系的关键帧序列,利用S42已经求得的位姿计算仿射矩阵Ai,将关键帧上的地图点投影到当前帧,通过最小化光度误差块来迭代优化当前帧的像素位置ui,公式表示如下:
k表示当前帧的编号,r表示关键帧的编号,Ir表示矩阵块在参考帧的灰度值。
S44.得到准确的位姿后,则可以使用经典的BundleAdjustment来优化位姿和三维坐标,在这里使用高斯牛顿法最小化重投影误差即可。
对于步骤S6所述的深度融合,主要包括以下过程:
S61.对于得到每一个关键帧,使用CNN估计关键帧的深度值,将所有的特征点加入深度滤波器,得到的深度值作为深度滤波器初始的均值,针对线段特征,只取线段的两个端点加入深度滤波器,估计两个端点的三维坐标。
S62.对于每一个非关键帧,将会被用来更新种子,计算所有种子在当前帧上的极线,因为采用的不是单个像素特征,而是使用一个矩形窗口来描述像素特征,矩阵的形状可能发生改变,所以需要计算种子所在帧与当前帧之间的仿射矩阵,在当前帧上进行极线搜索,得到匹配的位置。
其中,深度滤波器假设像素深度服从高斯分布,对于新的观测数据,假设依然服从高斯分布,将当前测量深度与原先的分布进行深度融合得到新的高斯分布。每当有新的普通帧被读入,就对种子进行更新,直到种子收敛。使用深度滤波器进行深度融合的流程如附图2所示。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,包括以下步骤:
S1.使用待标定单目相机采集含有标定板信息的图像数据,使用标定得到相机模型的内参和畸变参数;
S2.将载有单目相机的设备放置至目标环境中,记录传感器数据,对采集到的每一帧图片进行畸变校正,并计算ORB特征和LSD线段特征;
S3.跟踪步骤S2得到的特征点,确定第一个关键帧和第二个关键帧,计算单应矩阵和基础矩阵,并确定最佳的参数,作为单目初始化全局的尺度;
S4.将采集线段特征得到的线段进行等距采样得到新的点,对所有ORB特征点和LSD特征上的点,确定一块特征块,使用直接法对所有特征块的位姿参数迭代,通过最小化特征块灰度差值,得到相机的初始位姿;利用得到的初始位姿和当前帧具有共视关系的关键帧,计算仿射变换并最小化光度误差,来对特征块的位置进行优化;最后利用得到的位姿和特征位置计算重投影误差,通过高斯牛顿法优化位姿和三维点的位置;
S5.计算当前帧与所有关联关键帧平移量,如果平移足够大则确定当前帧是关键帧;
S6.对于关键帧,使用CNN计算特征点的深度值初始化深度滤波器;对于普通帧,融合观测数据和预测数据,得到新的关于深度估计的高斯分布。
2.根据权利要求1所述的基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,所述的S1步骤中得到相机模型的内参的方法,包括:
在包含标定板的图像数据中,标定板所在的平面为Π,成像平面为π,已知成像平面π和标定板平面Π的信息可以求得两个平面的单应矩阵Η,可以得到如下的等式:
Η=KT
K为内参矩阵,Τ为变换矩阵,由于标定板上特征点可以被检测到,所以标定板的信息已知,通过对应的点对解得Η后,可以通过上面的等式得到内参矩阵K。
3.根据权利要求1所述的基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,所述的步骤S2中畸变校正的方法包括:
畸变可以分为径向畸变和切向畸变,这里只考虑径向畸变,采用张氏标定法即可获取畸变参数,设径向畸变参数为k1,k2,k3,则校正后的归一化坐标可以表示为:
xtrue=x(1+k1r2+k2r4+k3r6)
ytrue=y(1+k1r2+k2r4+k3r6)
其中x,y为归一化平面的坐标;由归一化的坐标根据标定得到的内参可以得到像素平面的坐标u,v。
4.根据权利要求1所述的基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,所述的步骤S3中单目相机初始化的方法,包括:
当传感器开始采集数据后,则开始检测每一帧图像的特征点数量,当检测到某一帧的特征点的数量大于100的时候,则选取该帧作为此次定位观察到的第一帧,并且确定为关键帧;
使用LK光流法计算稀疏光流来进行跟踪特征点,如果接下来的某一帧跟踪成功到的特征点数量大于50,并且像素差均值大于50个像素点,则认为该帧是关键帧,作为第二的关键帧,用来初始化,像素差均值是所有跟踪到的特征点与其在第一帧中二维位置的像素差总和除以跟踪成功的像素点数量得来,用来体现是否移动了足够的距离;
确定成功前两个关键帧后,计算匹配到的二维点对的之间单应矩阵Η和基础矩阵F,并通过RANSAC抽样,获取最优的单应矩阵Η和基础矩阵F,然后根据情况选择选用其中一个矩阵;在初始化场景是平面的情况下,使用单应矩阵在非平面场景下,使用基础矩阵;
三角化二维点对集来得到特征点的三维坐标,三维点全部作为地图点加入地图中,并使用这些地图点的深度初始化尺度。
5.根据权利要求1所述的基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,所述的S4步骤具体包括:
S41.判断当前帧检测到的特征点数量是否大于设置的最大特征点数量,如果没有,则将从线段特征中提取点,提取点的方式采取等距采样,采样的步长由需要补充的特征点数量决定;
S42.对于每一个点,取固定像素长度的矩形块,特征点为矩形块的中心,设初始的位姿为单位矩阵,以该特征块为单位投影到上一帧的所在像素位置,使用直接法最小化灰度误差来优化位姿,得到一个比较准确的初始位姿;
S43.寻找与当前帧具有共视关系的关键帧序列,利用步骤S42已经求得的位姿将关键帧上的地图点投影到当前帧,通过最小化光度误差来迭代优化当前帧的像素位置,直到收敛;
S44.使用BundleAdjustment来优化位姿和三维坐标。
6.根据权利要求1所述的基于点线特征和深度滤波器的轻量级单目视觉定位方法,其特征在于,所述的步骤S6具体包括:
S61.对于得到的每一个关键帧,使用CNN得到关键帧的深度值,得到的深度值作为深度滤波器初始的均值,对于线段特征,只取线段的两个端点加入深度滤波器,估计两个端点的三维坐标;
S62.对于每一个非关键帧,计算所有种子在当前帧上的极线,计算种子所在帧与当前帧之间的仿射矩阵,在当前帧上进行极线搜索,得到匹配的位置,将当前测量深度与原先的分布进行深度融合得到新的均值和不确定性,对种子队列重复更新直到收敛。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023186.1A CN110807809B (zh) | 2019-10-25 | 2019-10-25 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911023186.1A CN110807809B (zh) | 2019-10-25 | 2019-10-25 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110807809A true CN110807809A (zh) | 2020-02-18 |
CN110807809B CN110807809B (zh) | 2021-04-09 |
Family
ID=69489217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911023186.1A Active CN110807809B (zh) | 2019-10-25 | 2019-10-25 | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110807809B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611913A (zh) * | 2020-05-20 | 2020-09-01 | 北京海月水母科技有限公司 | 一种单目人脸识别探头人形定位技术 |
CN111652933A (zh) * | 2020-05-06 | 2020-09-11 | Oppo广东移动通信有限公司 | 基于单目相机的重定位方法、装置、存储介质与电子设备 |
CN112184786A (zh) * | 2020-10-16 | 2021-01-05 | 西安应用光学研究所 | 一种基于合成视觉的目标定位方法 |
CN112348868A (zh) * | 2020-11-06 | 2021-02-09 | 养哇(南京)科技有限公司 | 一种通过检测和标定恢复单目slam尺度的方法及系统 |
CN112734862A (zh) * | 2021-02-10 | 2021-04-30 | 北京华捷艾米科技有限公司 | 深度图像的处理方法、装置、计算机可读介质以及设备 |
CN112767480A (zh) * | 2021-01-19 | 2021-05-07 | 中国科学技术大学 | 一种基于深度学习的单目视觉slam定位方法 |
CN112880687A (zh) * | 2021-01-21 | 2021-06-01 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN113034617A (zh) * | 2021-04-09 | 2021-06-25 | 北京爱笔科技有限公司 | 相机的焦距的获取方法及装置、设备 |
CN113514067A (zh) * | 2021-06-24 | 2021-10-19 | 上海大学 | 一种基于点线特征的移动机器人定位方法 |
CN116051815A (zh) * | 2023-03-31 | 2023-05-02 | 四川省寰宇众恒科技有限公司 | 一种基于单目摄像头的目标定位方法及系统 |
CN116662600A (zh) * | 2023-06-08 | 2023-08-29 | 北京科技大学 | 一种基于轻量结构化线地图的视觉定位方法 |
CN117011344A (zh) * | 2023-10-07 | 2023-11-07 | 中国科学院光电技术研究所 | 一种两步在轨校正星敏感器内参数的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615244A (zh) * | 2018-03-27 | 2018-10-02 | 中国地质大学(武汉) | 一种基于cnn和深度滤波器的图像深度估计方法及系统 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位系统 |
CN109917419A (zh) * | 2019-04-12 | 2019-06-21 | 中山大学 | 一种基于激光雷达与图像的深度填充密集系统及方法 |
CN110189390A (zh) * | 2019-04-09 | 2019-08-30 | 南京航空航天大学 | 一种单目视觉slam方法及系统 |
-
2019
- 2019-10-25 CN CN201911023186.1A patent/CN110807809B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615244A (zh) * | 2018-03-27 | 2018-10-02 | 中国地质大学(武汉) | 一种基于cnn和深度滤波器的图像深度估计方法及系统 |
CN108986037A (zh) * | 2018-05-25 | 2018-12-11 | 重庆大学 | 基于半直接法的单目视觉里程计定位方法及定位系统 |
CN110189390A (zh) * | 2019-04-09 | 2019-08-30 | 南京航空航天大学 | 一种单目视觉slam方法及系统 |
CN109917419A (zh) * | 2019-04-12 | 2019-06-21 | 中山大学 | 一种基于激光雷达与图像的深度填充密集系统及方法 |
Non-Patent Citations (1)
Title |
---|
刘浩敏等: "基于单目视觉的同时定位与地图构建方法综述", 《计算机辅助设计与图形学学报》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652933A (zh) * | 2020-05-06 | 2020-09-11 | Oppo广东移动通信有限公司 | 基于单目相机的重定位方法、装置、存储介质与电子设备 |
CN111652933B (zh) * | 2020-05-06 | 2023-08-04 | Oppo广东移动通信有限公司 | 基于单目相机的重定位方法、装置、存储介质与电子设备 |
CN111611913A (zh) * | 2020-05-20 | 2020-09-01 | 北京海月水母科技有限公司 | 一种单目人脸识别探头人形定位技术 |
CN112184786B (zh) * | 2020-10-16 | 2024-03-26 | 西安应用光学研究所 | 一种基于合成视觉的目标定位方法 |
CN112184786A (zh) * | 2020-10-16 | 2021-01-05 | 西安应用光学研究所 | 一种基于合成视觉的目标定位方法 |
CN112348868A (zh) * | 2020-11-06 | 2021-02-09 | 养哇(南京)科技有限公司 | 一种通过检测和标定恢复单目slam尺度的方法及系统 |
CN112767480A (zh) * | 2021-01-19 | 2021-05-07 | 中国科学技术大学 | 一种基于深度学习的单目视觉slam定位方法 |
CN112880687A (zh) * | 2021-01-21 | 2021-06-01 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN112880687B (zh) * | 2021-01-21 | 2024-05-17 | 深圳市普渡科技有限公司 | 一种室内定位方法、装置、设备和计算机可读存储介质 |
CN112734862A (zh) * | 2021-02-10 | 2021-04-30 | 北京华捷艾米科技有限公司 | 深度图像的处理方法、装置、计算机可读介质以及设备 |
CN113034617A (zh) * | 2021-04-09 | 2021-06-25 | 北京爱笔科技有限公司 | 相机的焦距的获取方法及装置、设备 |
CN113034617B (zh) * | 2021-04-09 | 2024-05-28 | 北京爱笔科技有限公司 | 相机的焦距的获取方法及装置、设备 |
CN113514067A (zh) * | 2021-06-24 | 2021-10-19 | 上海大学 | 一种基于点线特征的移动机器人定位方法 |
CN116051815B (zh) * | 2023-03-31 | 2023-06-20 | 四川省寰宇众恒科技有限公司 | 一种基于单目摄像头的目标定位方法及系统 |
CN116051815A (zh) * | 2023-03-31 | 2023-05-02 | 四川省寰宇众恒科技有限公司 | 一种基于单目摄像头的目标定位方法及系统 |
CN116662600A (zh) * | 2023-06-08 | 2023-08-29 | 北京科技大学 | 一种基于轻量结构化线地图的视觉定位方法 |
CN116662600B (zh) * | 2023-06-08 | 2024-05-14 | 北京科技大学 | 一种基于轻量结构化线地图的视觉定位方法 |
CN117011344A (zh) * | 2023-10-07 | 2023-11-07 | 中国科学院光电技术研究所 | 一种两步在轨校正星敏感器内参数的方法 |
CN117011344B (zh) * | 2023-10-07 | 2024-02-02 | 中国科学院光电技术研究所 | 一种两步在轨校正星敏感器内参数的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110807809B (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110807809B (zh) | 基于点线特征和深度滤波器的轻量级单目视觉定位方法 | |
CN108986037B (zh) | 基于半直接法的单目视觉里程计定位方法及定位系统 | |
CN110070615B (zh) | 一种基于多相机协同的全景视觉slam方法 | |
CN111462200B (zh) | 一种跨视频行人定位追踪方法、系统及设备 | |
CN109345588B (zh) | 一种基于Tag的六自由度姿态估计方法 | |
CN110319772B (zh) | 基于无人机的视觉大跨度测距方法 | |
CN110009732B (zh) | 基于gms特征匹配的面向复杂大尺度场景三维重建方法 | |
CN109974743B (zh) | 一种基于gms特征匹配及滑动窗口位姿图优化的视觉里程计 | |
CN111144213B (zh) | 一种对象检测方法和相关设备 | |
CN108519102B (zh) | 一种基于二次投影的双目视觉里程计算方法 | |
WO2006083297A2 (en) | Method and apparatus for aligning video to three-dimensional point clouds | |
CN113658337B (zh) | 一种基于车辙线的多模态里程计方法 | |
Cvišić et al. | Recalibrating the KITTI dataset camera setup for improved odometry accuracy | |
CN110827321B (zh) | 一种基于三维信息的多相机协同的主动目标跟踪方法 | |
CN111127613B (zh) | 基于扫描电子显微镜的图像序列三维重构方法及系统 | |
CN112419497A (zh) | 基于单目视觉的特征法与直接法相融合的slam方法 | |
CN111998862A (zh) | 一种基于bnn的稠密双目slam方法 | |
CN110428461B (zh) | 结合深度学习的单目slam方法及装置 | |
CN112767546A (zh) | 移动机器人基于双目图像的视觉地图生成方法 | |
Tang et al. | A vertex-to-edge weighted closed-form method for dense RGB-D indoor SLAM | |
CN112017259B (zh) | 一种基于深度相机与热像仪的室内定位与建图方法 | |
CN116576850B (zh) | 一种位姿确定方法、装置、计算机设备及存储介质 | |
CN117406234A (zh) | 基于单线激光雷达与视觉融合的目标测距和追踪的方法 | |
CN116468786B (zh) | 一种面向动态环境的基于点线联合的语义slam方法 | |
CN116894876A (zh) | 基于实时图像的6-dof的定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |