[发明专利]用于SLAM过程的基于差分进化算法进行BA问题求解的方法有效
申请号: | 201910690395.5 | 申请日: | 2019-07-29 |
公开(公告)号: | CN112304311B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 吴益飞;周唯;李胜;靳懿;郭健;张通;时锋;高珺宁;丛宇 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G01C21/20 | 分类号: | G01C21/20 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 210094 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 slam 过程 基于 进化 算法 进行 ba 问题 求解 方法 | ||
1.一种用于SLAM过程的基于差分进化算法进行BA问题求解的方法,其特征在于,包括以下步骤:
步骤1、读取机器人的视觉图像,提取当前帧与上一帧图像的特征点,并获取所有匹配的特征点对(ai,bi);ai为上一帧图像中的特征点,bi为当前帧图像中的特征点;其中,0<i≤m,m为特征点对的数目;
步骤2、计算上一帧图像中所有特征点ai各自对应的空间坐标Pi;
步骤3、根据步骤2求得的各个特征点ai的空间坐标Pi以及当前帧的对应特征点bi计算误差函数;
步骤4、利用差分进化算法求取误差函数的最优解所对应的相机的位姿ξ即完成BA问题的求解;具体为:
步骤4-1、种群初始化,在解空间中随机均匀产生M个个体,每个个体均为6维向量;
步骤4-2、进行变异操作,具体为:在第g次迭代进行第i个个体的进化过程中,在种群中随机选择3个个体:xp1(g),xp2(g),xp3(g),且p1≠p2≠p3≠i,求取变异向量vi(g);
步骤4-3、进行交叉操作,具体为:在第g次迭代进行第i个个体的进化过程中,将vi(g)与当前种群中第i个个体vi(g)的每一维的数据以交叉概率Cr进行交叉操作,生成新的个体ui(g);
步骤4-4、进行选择操作,具体为:在第g次迭代进行第i个个体的进化过程中,将新的个体ui(g)与当前种群中第i个个体xi(g)分别代入误差函数中获得各自对应的适应度,选取适应度低的个体作为下一代个体xi(g+1);
步骤4-5、重复步骤4-2~步骤4-4,直至第g次迭代中所有个体完成更新,并执行下一步;
步骤4-6、进行终止条件判断,具体为:设第g代每个个体的适应度为f(xi(g)),判断其中最大适应度与最小适应度的差值e是否小于设定阈值,若小于,则结束整个过程,并输出最小适应度对应的值ξmin即完成BA问题的求解,否则进入第g+1代循环,执行步骤4-2~步骤4-5。
2.根据权利要求1所述的用于SLAM过程的基于差分进化算法进行BA问题求解的方法,其特征在于,步骤2所述计算上一帧图像中所有特征点ai各自对应的空间坐标Pi,所用公式为:
式中,K为相机的内参数矩阵,fx为图像坐标的u轴缩放因子与焦距的乘积,单位为像素,fy为图像坐标的v轴缩放因子与焦距的乘积,单位为像素;cx、cy为图像原点的平移量,[u,v]T为特征点的像素坐标,Z为该特征点的深度,P为计算得到的特征点的空间坐标。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910690395.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种食品容器
- 下一篇:文字识别装置、翻译笔、图像翻译方法及图像翻译装置