System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及视觉里程计,特别涉及到一种基于scharr提取边缘和轮廓的视觉里程计方法。
技术介绍
1、同步定位与地图构建(stimultaneous localization and mapping,简称slam)是机器人领域的研究热点,目的是获得精准的定位和环境地图,使得机器人能够准确定位自身位置。近年来,slam技术已成为机器人导航、增强现实(ar)、虚拟现实(vr)等新兴应用中不可或缺的关键技术之一。slam采用的传感器主要包括激光、相机、imu等。视觉slam以相机作为外部传感器,主要包括图像序列输入、视觉里程计(vo)、后端优化、回环检测、地图构建五大模块。其中,视觉里程计作为视觉slam的前端,可以为后端优化提供良好的初始位姿,有利于提高系统的定位精度和地图构建的准确性。
2、视觉里程计的作用是根据帧间图像估计相机的相对位姿,跟踪相机的运动从而解决未知环境下相机的定位问题。在视觉里程计的发展前期,图像信息主要以点特征的形式呈现,通过对帧间图像的点特征进行提取和匹配,最小化匹配特征的重投影误差来估计相机的相对位姿。除了对图像进行特征的提取,图像像素信息作为图像的另一种表现形式,也被广泛用于视觉里程计中。直接利用图像像素信息的视觉里程计方法称为直接法。与基于特征的方法不同的是,直接法不需要进行帧间图像的特征提取和匹配,而是通过最小化帧间图像的光度误差来估计相机的相对位姿。
3、点特征在纹理丰富的室内场景能够被大量准确地提取,但是点特征对环境的依赖较强,在弱纹理环境下仅仅提取点特征会使得较多的图像
技术实现思路
1、本专利技术的目的在于解决弱纹理环境下特征提取不足以及特征不连续的问题,进而提高系统的鲁棒性。
2、为实现本专利技术的目的,采用以下技术方案:
3、一种基于scharr提取边缘和轮廓的视觉里程计方法,包括以下步骤:
4、利用scharr算子对每一帧输入图像进行边缘特征提取得到scharr边缘图像;
5、对scharr边缘图像进行二值化处理得到边缘二值图像;
6、对边缘二值图像提取轮廓特征后得到轮廓图像;
7、对轮廓图像进行距离变换构造距离误差函数用于估计相机的相对位姿,跟踪相机相对运动。
8、进一步的改进在于,所述对边缘二值图像提取轮廓特征是通过opencv中的findcontours函数实现。
9、进一步的改进在于,所述估计相机的相对位姿的方法为利用lm算法求解误差函数。
10、进一步的改进在于,所述利用scharr算子对每一帧输入图像进行边缘特征提取得到scharr边缘图像的方法为:
11、通过放大卷积核中的权重系数来增强图像中像素间的差异,假设水平和垂直方向上的卷积核分别为gx、gy,则:
12、
13、
14、原始图像i在水平方向和垂直方向的图像差分分别为ix,iy,其中:
15、ix=gx*i
16、iy=gy*i
17、结合水平方向和垂直方向的分量获得scharr边缘图像。
18、进一步的改进在于,所述对轮廓图像进行距离变换构造距离误差函数用于估计相机的相对位姿的步骤中,通过坐标系的转换把相机坐标系下的空间坐标点变换到世界坐标系下,由变换矩阵t描述:
19、
20、其中,为旋转矩阵,为平移向量;
21、变换矩阵t构成了特殊欧氏群,李群表示为se(3),对应的李代数表示为ξ,ξ是一个6维的向量,其中3维表示旋转,3维表示平移。
22、进一步的改进在于,定义同一空间坐标点在第i帧和第j帧的像素坐标分别为pi,pj,以函数τ表示pi,pj的对应关系:
23、pj=τ(pi,z(pi),ξji)
24、其中,z(pi)表示pi对应的深度值,ξji表示第i帧的相机坐标系与第j帧的相机坐标系的刚体变换;
25、定义pi经坐标变换后在第j帧的图像坐标为则与pj存在帧间的重投影误差,通过构造误差函数并求解来估计优化后相机的相对位姿
26、
27、进一步的改进在于,定义当前帧fc的轮廓像素点pc经坐标变换ξrc后在参考帧fr中对应的像素为pr,则距离误差re表示为:
28、re=dr(pr)=dr(τ(pc,z(pc),ξrc))
29、通过函数dr返回对应轮廓像素点在距离变换图像中的距离,z(pc)表示轮廓像素点pc的深度值;
30、通过huber核函数对误差权重进行调整:
31、
32、其中θh为huber核函数的阈值,则完整的距离误差函数表示为:
33、
34、进一步的改进在于,所述方法还包括:
35、对每一个当前帧通过评估相机的跟踪质量来决定是否增加关键帧。
36、进一步的改进在于,如果需要增加关键帧,则选取上一帧作为关键帧,一旦更新了关键帧,则关键帧将作为新的参考帧用于估计当前帧相机的相对位姿。
37、进一步的改进在于,所述对每一个当前帧通过评估相机的跟踪质量来决定是否增加关键帧的方法为:
38、将跟踪完成的前n帧的特征像素点重投影到当前帧中,统计当前帧每一像素被重投影的次数,当前帧每一像素被重投影的次数为0-n次,用wi统计被重投影的次数为i的所有像素的数量,i的取值范围为[0-n],则w0表示被重投影的次数为0的所有像素的数量,根据wi与w0的比值来确定是否增加关键帧。
39、本专利技术的有益效果为:
40、本专利技术利用scharr算子增强了图像特征更好地解决了弱纹理环境下特征提取不足,导致的跟踪丢失或定位精度下降的问题。通过边缘二值图像提取连续的轮廓特征来获得可靠的距离变换,为误差函数提供良好的初始值,提高相机相对位姿估计的精度。本实施例采用特征法而非直接法,能够减少光照变化对系统的影响。
本文档来自技高网...【技术保护点】
1.一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述对边缘二值图像提取轮廓特征是通过OpenCV中的findContours函数实现。
3.根据权利要求1所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述估计相机的相对位姿的方法为利用LM算法求解误差函数。
4.根据权利要求1所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述利用Scharr算子对每一帧输入图像进行边缘特征提取得到Scharr边缘图像的方法为:
5.根据权利要求1所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述对轮廓图像进行距离变换构造距离误差函数用于估计相机的相对位姿的步骤中,通过坐标系的转换把相机坐标系下的空间坐标点变换到世界坐标系下,由变换矩阵T描述:
6.根据权利要求5所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,定义同一空间坐标
7.根据权利要求6所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,定义当前帧Fc的轮廓像素点pc经坐标变换ξrc后在参考帧Fr中对应的像素为pr,则距离误差re表示为:
8.根据权利要求1所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述方法还包括:
9.根据权利要求8所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,如果需要增加关键帧,则选取上一帧作为关键帧,一旦更新了关键帧,则关键帧将作为新的参考帧用于估计当前帧相机的相对位姿。
10.根据权利要求8或9所述的一种基于Scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述对每一个当前帧通过评估相机的跟踪质量来决定是否增加关键帧的方法为:
...【技术特征摘要】
1.一种基于scharr提取边缘和轮廓的视觉里程计方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述对边缘二值图像提取轮廓特征是通过opencv中的findcontours函数实现。
3.根据权利要求1所述的一种基于scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述估计相机的相对位姿的方法为利用lm算法求解误差函数。
4.根据权利要求1所述的一种基于scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述利用scharr算子对每一帧输入图像进行边缘特征提取得到scharr边缘图像的方法为:
5.根据权利要求1所述的一种基于scharr提取边缘和轮廓的视觉里程计方法,其特征在于,所述对轮廓图像进行距离变换构造距离误差函数用于估计相机的相对位姿的步骤中,通过坐标系的转换把相机坐标系下的空间坐标点变换到世界坐标系下,由变换矩阵t描述:
6.根...
【专利技术属性】
技术研发人员:骆开庆,李锦莹,韩鹏,邱健,彭力,刘冬梅,陈淼,
申请(专利权)人:华南师范大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。