一种基于全景环带相机的视觉SLAM方法及系统与流程

文档序号:29999097发布日期:2022-05-11 14:34阅读:411来源:国知局
一种基于全景环带相机的视觉SLAM方法及系统与流程
一种基于全景环带相机的视觉slam方法及系统
技术领域
1.本发明属于视觉slam处理技术领域,具体涉及一种基于全景环带相机的视觉slam方法及系统。


背景技术:

2.随着人工智能技术的应用越来越广泛,越来越多的工业利用机器人自主进行各项作业,这对机器人的自主定位和导航提出了更高的要求。传统的导航技术主要依赖于北斗、gps等定位方式,但这些定位方式的精度存在缺陷,无法解决需要精确到米、甚至厘米的定位问题。对于这种精确定位,需要同步定位与地图构建(simultaneous localization and mapping,slam)技术的支撑。具体来说,slam是指搭载传感器的主体,在没有环境先验信息的情况下,利用传感器带有噪声的数据,在运动过程中建立环境的模型,同时估计自身的位姿信息。根据所搭载传感器的类型不同,slam可分为激光和视觉两大类,其中视觉slam由于相机成本低廉、信息量丰富,受到研究者青睐,目前已普遍搭载于各类消费产品中,例如智能手机。
3.近年来,随着orb-slam,dso、svo等视觉slam算法的开发,视觉slam得到了广泛的关注和长足的发展,并逐渐为各种人工智能应用赋能。目前,在纹理特征充足、由静态物体组成的场景中,且相机运动不剧烈时,现有的视觉slam技术已能满足日常应用。
4.现有的视觉slam在实际应用中的环境可能与理想情况相差甚远,比如视觉slam在运行过程中难免会遇到一些弱纹理区域,如白色墙面,在这些区域无法提取到充足的特征,使得特征跟踪难以继续;当行人、车辆等运动物体充斥在相机的视野内时,也会很大概率出现错误的三维建模;在一些应用场景,如手持/头戴式ar设备,用户由于使用过程中存在的快速转动,会使得相机拍摄到的相邻帧图像间的重叠区域快速减少,使得位姿估计的结果不再可靠。究其原因,很大程度在于slam所采用的相机视场(field of view,fov)的限制,目前主流的视觉slam算法大多依托于传统的有限视场的针孔相机,视场角大约在60
°
到120
°
。狭窄的视场使得它们在提取不到足够的特征时,无法捕获纹理更加丰富的区域;当环境并非完全静态时,面对其中的运动物体容易捕获不到;当相机快速旋转时,无法在前后帧图像之间保持有效的数据关联。另外,有限的相机视场极大程度的限制了现有的视觉slam系统在实际应用中的性能。为了扩大视场,目前较为成熟的方案是使用鱼眼镜头,但是会引入较大的负畸变,严重压缩边缘图像,导致边缘视场的径向分辨率远不如中心视场,大大影响视觉slam应用中的位姿估计和三维结构恢复的精度。而且,鱼眼镜头结构复杂,通常需要采用大于10片的透镜以及诸如超高折射率、超低色散透镜等高质量的光学材料,成本颇高。
5.全景环带镜头(panoramic annular lens,pal)在边缘视场的f-theta畸变控制的更好,不会压缩边缘视场的分辨率,像面的相对照度更加均匀;但是,传统的针对鱼眼模型的处理流程受限于鱼眼相机边缘相当大的畸变,并不能直接移植到全景环带相机模型上来,因为这会导致无法有效利用全景环带相机良好的边缘视场。


技术实现要素:

6.基于现有技术中存在的上述缺点和不足,本发明的目的之一是至少解决现有技术中存在的上述问题之一或多个,换言之,本发明的目的之一是提供满足前述需求之一或多个的一种基于全景环带相机的视觉slam方法及系统。
7.为了达到上述发明目的,本发明采用以下技术方案:
8.一种基于全景环带相机的视觉slam方法,包括以下步骤:
9.s1、对全景环带相机采集的全景环带视觉图像进行角点提取,得到初始角点集;
10.s2、对初始角点集的各角点进行角点质量评价,根据角点质量评价结果筛选得到所需数量的目标角点;
11.s3、根据惯性测量单元测量的全景环带相机的运动信息,确定角点在像面上移动的目标距离;
12.s4、根据目标角点移动目标距离对应的位置在下一帧全景环带视觉图像中利用光流法或直接法搜索相同的角点;
13.s5、基于下一帧全景环带视觉图像中搜索得到的角点,利用对极几何约束求解全景环带相机的位姿信息;
14.s6、根据所有帧的全景环带视觉图像的位姿信息,确定定位信息。
15.作为优先方案,所述步骤s1之前,还包括以下步骤:
16.s0、对全景环带相机采集的全景环带视觉图像进行直方图均衡化。
17.作为优先方案,所述步骤s1中,采用shi-tomasi角点检测算法进行角点提取。
18.作为优先方案,所述shi-tomasi角点检测算法,包括:
19.假设全景环带视觉图像中选取的窗口内的像素点(x,y)对应的像素灰度值为i(x,y),若窗口在x和y方向分别产生微小的移动u和v,则等效于像素点(x,y)移动至(x+u,y+v)处,其像素灰度值为i(x+u,y+v),则窗口移动引起的灰度值变化为[i(x+u,y+v)-i(x,y)];
[0020]
以像素点至图像中心点的距离r为权重,则窗口移动引起的灰度值变化的加权求和e(u,v)=∑
(x,y)r×
[i(x+u,y+v)-i(x,y)]2;
[0021]
对加权求和公式利用泰勒公式展开,将i(x+u,y+v)表示为i(x+u,y+v)=i(x,y)+ui
x
+viy,其中,由此得到:
[0022][0023]
将u和v提取出来,得到:其中,矩阵m为:
[0024][0025]
r为对角化处理之后得到的正交矩阵,r-1
为r的逆矩阵,λ1和λ2为对角化处理之后的特征值;
[0026]
取λ1和λ2中的较小值,并判断较小值是否大于预设阈值,若是,则将相应的像素点
作为角点。
[0027]
作为优先方案,所述步骤s2中,对初始角点集的各角点进行角点质量评价,包括:
[0028]
以所选角点为中心、半径为3的圆上进行16个像素点与所选角点的像素值做差得到像素差;
[0029]
若16个像素点中存在连续n个像素点对应的像素差的绝对值均超过目标阈值,记为fast-n;
[0030]
根据n的个数划分数个等级并赋予相应的分值,n越大对应的分值越高;相应地,所选角点的质量评价分数为m为所选角点赋予的分值;
[0031]
根据角点的质量评价分数对各角点从高到低或从低到高排序,得到角点质量评价结果;
[0032]
基于角点质量评价结果,根据质量评价分数从高到低筛选得到所需数量的目标角点。
[0033]
作为优先方案,所述步骤s3中,全景环带相机的运动信息包括x方向移动距离l
x
和y方向移动距离ly;
[0034]
设全景环带相机的视场角最小为θ1、视场角最大为θ2、中心视场的盲区半径为r0,边缘视场的点在像面上移动距离为l,则不同视场角物体在像面上的移动距离为其中,θ为实际视场角;
[0035]
已知边缘视场在空间和在像面上的移动距离的比值为w,则像面上边缘点移动的目标距离在x方向和y方向上分别为wx和wy,其他视场角的点移动的目标距离分别为和
[0036]
作为优先方案,所述步骤s5中,还利用三角化得到角点的三维坐标。
[0037]
作为优先方案,所述步骤s5中,在得到所有帧的全景环带视觉图像的位姿信息以及角点的三维坐标之后,利用重投影误差构造残差项优化位姿信息和角点的坐标位置。
[0038]
作为优先方案,所述步骤s5中,还利用惯性测量单元测量的全景环带相机的运动信息对优化后的位姿信息进行修正。
[0039]
本发明还提供一种基于全景环带相机的视觉slam系统,包括:
[0040]
运动底座;
[0041]
全景环带相机,通过支撑杆安装在运动底座之上;
[0042]
惯性测量单元,用于测量全景环带相机的运动信息;
[0043]
中央处理器,与全景环带相机、惯性测量单元、运动底座信号连接,还用于加载如上任一方案所述的视觉slam方法。
[0044]
本发明与现有技术相比,有益效果是:
[0045]
(1)本发明采用的全景环带相机可以有效利用边缘大视场,由于全景环带相机的f-theta畸变是线性的,结合角点质量评价来线性评价角点的质量,并有效地为不同视场提供不同权重,合理利用整个视场;
[0046]
(2)本发明利用全景环带相机的大视场以及边缘信息的优秀质量,提出将imu信息
作为一种先验的方法,先由视觉进行初始化和三角化获得尺度信息,后面利用imu先验信息在下一帧图像完成角点的预搜索工作,匹配可以在局部区域完成,无需全图提取角点,同时利用先验可以减少搜索次数,提升匹配的准确率;
[0047]
(3)本发明采用的全景环带相机相比鱼眼镜头而言,成本显著降低,更适合规模化应用。
附图说明
[0048]
图1是本发明实施例的基于全景环带相机的视觉slam方法的流程图;
[0049]
图2是现有的全景环带相机的平面柱状投影示意图;
[0050]
图3是本发明实施例的基于全景环带相机的视觉slam系统的构架图。
具体实施方式
[0051]
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0052]
如图1所示,本发明实施例的基于全景环带相机的视觉slam方法,包括以下步骤:
[0053]
s0、对全景环带相机采集的全景环带视觉图像进行直方图均衡化;提升图像对比度,以便对角点进行提取。
[0054]
s1、对全景环带相机采集的全景环带视觉图像进行角点提取,得到初始角点集;
[0055]
具体地,本实施例采用shi-tomasi角点检测算法进行角点提取。
[0056]
其中,shi-tomasi角点检测算法,包括:
[0057]
假设全景环带视觉图像中选取的窗口内的像素点(x,y)对应的像素灰度值为i(x,y),若窗口在x和y方向分别产生微小的移动u和v,则等效于像素点(x,y)移动至(x+u,y+v)处,其像素灰度值为i(x+u,y+v),则窗口移动引起的灰度值变化为[i(x+u,y+v)-i(x,y)]。根据图2所示的全景环带相机的成像模型,边缘视场会成像在像面上的边缘区域,投影到sensor上会占据更多的像素点。也就是,对三维场景同样的范围成像,像面边缘区域(对应大的视场角)成像质量要优于中心区域(对应小的视场角),可以近似认为成像质量等同于同等视场情况下占据的像素数,与像素点至图像中心点的距离r成正比。
[0058]
因此,以像素点至图像中心点的距离r为权重,则窗口移动引起的灰度值变化的加权求和e(u,v)=∑
(x,y)r×
[i(x+u,y+v)-i(x,y)]2;
[0059]
对加权求和公式利用泰勒公式展开,将i(x+u,y+v)近似表示为i(x+u,y+v)=i(x,y)+ui
x
+viy,其中,由此得到:
[0060][0061]
将u和v提取出来,得到:
[0062]
其中,矩阵m为:
[0063]
矩阵m的转化公式中的第二式到第三式是对实对称矩阵进行对角化处理的结果,r是一个正交矩阵,可以看做是旋转因子;r-1
表示对正交矩阵r取逆矩阵;而λ1和λ2则为对角化处理之后的特征值,也就是两个正交方向的变化分量。取λ1和λ2中的较小值,并判断较小值是否大于预设阈值,若是,则将相应的像素点作为角点。本实施例以像素点至图像中心点的距离为权重,提升了角点提取的精度。
[0064]
s2、对初始角点集的各角点进行角点质量评价,根据角点质量评价结果筛选得到所需数量的目标角点;
[0065]
具体地,对初始角点集的各角点进行角点质量评价,包括:
[0066]
以所选角点为中心、半径为3的圆上进行16个像素点与所选角点的像素值做差得到像素差;
[0067]
若16个像素点中存在连续n个像素点对应的像素差的绝对值均超过目标阈值,记为fast-n;
[0068]
根据n的个数划分数个等级并赋予相应的分值,n越大对应的分值越高;相应地,所选角点的质量评价分数为m为所选角点赋予的分值;例如,按照n的个数为10,13和16记为三个等级,分别为fast-10,fast-13,fast-16三级,分别赋以1、2、3的分值,其他情况赋值为0,分值记为m;同时结合不同视场的成像质量,按照全景环带相机成像模型(f-theta),对不同半径区域的角点赋以不同大小的成像质量因子,即质量评价分数。
[0069]
根据角点的质量评价分数对各角点从高到低或从低到高排序,得到角点质量评价结果;
[0070]
基于角点质量评价结果,根据质量评价分数从高到低筛选得到所需数量的目标角点。例如,如果光流法需要的角点个数为k,则按照质量评价分数高低依次选出最好(得分最高)的k个点作为角点进行后续的光流法或直接法。
[0071]
s3、根据惯性测量单元测量的全景环带相机的运动信息,确定角点在像面上移动的目标距离;
[0072]
具体地,在步骤s2中得到所需的符合要求的角点之后,进行光流追踪,由于全景环带镜头具有普通鱼眼镜头所不具备的线性f-theta关系,因此可以在此时引入imu信息作为先验信息,根据全景环带相机的成像模型,如果全景环带相机的运动信息经过惯性测量单元测量后为x方向移动距离l
x
和y方向移动距离ly,则全景环带相机拍摄到的图像投影到成像面上的移动距离是一个与视场角有关的函数。
[0073]
根据f-theta线性的成像模型,设全景环带相机的视场角最小为θ1、视场角最大为θ2、中心视场的盲区半径为r0,边缘视场的点在像面上移动距离为l,则不同视场角物体在像面上的移动距离为其中,θ为实际视场角;
[0074]
已知边缘视场在空间和在像面上的移动距离的比值为w,则像面上边缘点移动的目标距离在x方向和y方向上分别为wx和wy,其他视场角的点移动的目标距离分别为
和例如,全景环带相机的视场角最小为30
°
、视场角最大为120
°
,代入相应的公式即可。
[0075]
s4、根据目标角点移动目标距离对应的位置在下一帧全景环带视觉图像中利用光流法或直接法搜索相同的角点;由于已经基于imu信息进行了预搜索,lk光流法的准确性会得到提升,直接法也能更快得到梯度下降最终的结果。
[0076]
s5、基于下一帧全景环带视觉图像中搜索得到的角点,利用对极几何约束求解全景环带相机的位姿信息;
[0077]
具体地,搜索到匹配的角点之后,使用对极几何约束求解全景环带相机的位姿信息,包括相机的r、t,还可以再使用三角化得到角点的三维坐标,之后再利用pnp求解其他点的r、t。在得到所有帧全景环带视觉图像的r、t以及角点的三维坐标后,还可以使用重投影误差构造残差项来优化位姿信息和角点的坐标位置;之后还可以再次利用imu信息再次修正相机的位姿信息,即利用imu信息进行联合求解,得到imu的加速度计方向和大小,再使用已知的当前加速度计的大小精细优化加速度计的方向,具体可参考现有技术,在此不赘述。
[0078]
初始化完成之后,进行后端优化。具体优化的状态向量包括滑动窗口内的n+1个关键帧时刻的imu坐标系的位置、姿态、旋转姿态、加速度计偏置、陀螺仪偏置、相机到imu的外参,以及m+1个3d路标点的逆深度。要求解的目标函数主要由三项构成,分别为边缘化的先验信息、imu的测量残差以及视觉测量残差。后端优化的具体过程可参考现有技术,在此不赘述。
[0079]
最后进行回环检测,采用brief描述子的dbow2词袋进行闭环检测,对新来的关键帧重新检测500个角点来进行闭环检测,同时对所有角点进行brief描述,然后计算当前帧和词袋的相似度,并与关键帧数据库中的所有帧进行对比,通过闭环一致性检测得到闭环候选帧。回环检测的具体过程可参考现有技术,在此不赘述。
[0080]
s6、根据所有帧的全景环带视觉图像的位姿信息,确定定位信息。
[0081]
如图3所示,本发明实施例还提供基于全景环带相机的视觉slam系统,包括:
[0082]
运动底座;
[0083]
全景环带相机1,通过支撑杆安装在运动底座之上;
[0084]
惯性测量单元2,用于测量全景环带相机的运动信息;
[0085]
中央处理器3,与全景环带相机1、惯性测量单元2、运动底座信号连接,还用于加载本实施例的视觉slam方法。
[0086]
其中,全景环带相机1和惯性测量单元(imu)2组成数据采集模块,由四个移动轮4、一个电机5以及一个遥控器6组成的运动底座。数据采集模块靠支撑杆7安装在运动底座之上。数据采集模块采集到的数据通过数据线8传输到中央处理器3,中央处理器3内部进行数据处理之后,获取自身定位信息,再通过数据线8传送到电机5,通过电机控制四个移动轮4进行运动。当系统需要初始化建立地图模型的时候,也可以通过遥控器6接收遥控信号,再传送给中央处理器3进行输出控制,并最终通过数据线8传送到电机5控制移动轮4的运动,从而使全景环带相机1和惯性测量单元2可以按照用户制定的路线进行初始化,以达到控制系统运动进行slam初始化的目的。
[0087]
本实施例的数据采集模块通过支撑杆7架高,主要是为了让全景环带相机1获取到
足够视场的信息,避免贴地过近导致获取的全景图像缺乏180
°
以外视场,最大程度发挥全景环带相机大视场的优势,同时合适的高度也便于获取到纹理丰富的图像。
[0088]
本发明实施例还提供基于全景环带相机的视觉slam系统的结构紧凑,数据采集模块仅使用了一个全景环带镜头和一个惯性测量单元,且连接紧凑,整个结构体积较小,提升了在狭小空间中的通过性。
[0089]
本发明利用全景环带镜头(pal),通过反射和折射来实现全景成像。pal具有两个反射面,通过对入射光线的两次反射产生周遭360
°
场景的环形虚像,再由后面的中继透镜(relay lens)成像在图像传感器上。通过这种方式,pal将围绕光轴的三维圆柱区域投影到图像传感器上形成二维平面上的环带,又称为平面柱状投影(flat cylinder perspective,fcp),如图2所示。pal的两个反射面和两个折射面集成在一个块状全景头部单元中,相比于采用单个反射面的折反射全景系统,pal的结构非常紧凑,体积显著减小,安装更加方便。相比于鱼眼镜头,pal也有着更加均匀的像面相对照度,在相同通光口径下有更大的视场范围,边缘处有更小的径向畸变。这些优点使得基于pal的slam系统有更广泛的应用场景。
[0090]
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1