[发明专利]一种基于单目视觉的定位与地图构建方法有效
申请号: | 202110591607.1 | 申请日: | 2021-05-28 |
公开(公告)号: | CN113298904B | 公开(公告)日: | 2022-12-02 |
发明(设计)人: | 齐咏生;陈培亮;刘利强;李永亭;董朝铁 | 申请(专利权)人: | 内蒙古工业大学 |
主分类号: | G06T11/00 | 分类号: | G06T11/00;G06V20/40;G06N3/04;G06N3/08;G06T5/00;G06T7/10;G06T7/246 |
代理公司: | 北京冬瓜知识产权代理事务所(普通合伙) 11854 | 代理人: | 李佳 |
地址: | 010051 内蒙古自治*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 目视 定位 地图 构建 方法 | ||
1.一种基于单目视觉的定位与地图构建方法,其特征在于,包括以下步骤:
(1)采用Mask R-CNN神经网络对创建地图的视频帧进行处理,分割出环境中的先验动态目标得到分割的图像帧;
(2)利用低成本跟踪模块将所述分割的图像帧定位在地图中;
(3)将经过上述步骤处理的分割的图像帧运用多视图几何模块进行动态目标的跟踪检测定位;
(4)对地图中被动态目标遮挡部分的背景进行基于时间加权滤波的背景修复;
(5)获取上述步骤(1)-(4)所建立的地图,当发生地图跟踪失败时,自适应生成一个新的局部地图,并在回环时将该地图与之前所建立的地图进行融合以实现多地图构建线程;
所述步骤(3)中,运用多视图几何模块的方法包括:
S11、先计算各地图点从上一帧投影到当前帧像素点的深度;
S12、计算上一帧和当前帧该像素点反投影的视差角,用视差角与设定阈值进行比较,若大于阈值则认为是动态点,同时采用上一帧与当前帧像素点的重投影误差进行判断,若误差大于设定阈值,则认为是动态点;
S13、将所有检测到的动态点去除,生成一个新的分割的图像帧进行跟踪检测定位;
检测所述动态点的方法包括:
利用三角测量的方法计算上一帧的像素点x投影到当前帧像素点x'的深度zproj,如下:
式中:—x'的反对称矩阵,两者之间为点乘关系;
计算x和x'的反向投影之间的视差角α;
式中:—图中的向量,代表图中由点x、X计算出的向量xX;—图中的向量,代表图中由点x’、X’计算出的向量x’X’;
判断α角度是否大于设定阈值β,若大于β,则认为该动态点被遮挡,忽略此动态点;
其中,当为静态点也有存在大于β的情形,因此增加如下限定条件,即先获取当前帧像素点x'的深度z',再计算其重投影误差zproj,最后比较z'与zproj的差值Δz,
Δz=zproj-z' (3)
式中:zproj—重投影误差;z'—深度;
若Δz超过阈值τz,则认为像素点x'属于动态点,否则反之;
所述步骤(4)中,所述基于时间加权滤波的背景修复的方法包括:
回溯前n个时刻的关键帧图像来进行背景修复,令不同时间的关键帧所占的融合权重不同,越靠近当前帧的关键帧权重越大,则有:
式中:KFSi—ti时刻的关键帧;KFSc—当前关键帧;
上述公式利用n个关键帧合成一个关键帧用于背景修复;
所述步骤(5)中,多地图构建线程的方法包括:
S21、创建第一个地图M0及其局部关键帧数据库KFS0,并将其传入到多地图构建线程中,再由跟踪线程、局部建图线程和回环检测线程在地图M0中进行跟踪和建图,在跟踪线程没有跟丢的前提下多地图构建线程处于空闲状态;
S22、第n次跟踪线程跟丢后,跟踪线程将创建一个新的地图Mn及其局部关键帧数据库KFSn,并将其传递给多地图构建线程中的全局地图M和全局关键帧数据库;
S23、跟踪线程尝试重新初始化,初始化成功后,就会通知各线程将跟踪和建图的任务转移到局部地图Mn中运行,此时多地图构建线程会扫描新地图的局部关键帧数据库KFSn中存储的关键帧,并与之前的全局关键帧数据库中存储的关键帧进行匹配;
S24、遍历之前所有的局部关键帧数据库KFS0~KFSn-1,并用下述公式(6)计算之前所有关键帧与当前关键帧之间的最小相似性评分来查询之前的地图中是否有与当前关键帧Kc匹配的关键帧;
式中:S—之前所有关键帧与当前关键帧之间的最小相似性评分;
n—视觉词汇数;
ai—第i种特征点在全局关键帧数据库中出现的次数;
bi—第i种特征点在局部关键帧数据库中出现次数;
S25、对每一个Mi∈[M0~Mn-1]局部地图中的关键帧Kj,若它与Kc有超过十五个匹配点,则让求解器来计算它们之间的相似变换,或者对每个Kj执行随机采样一致性迭代,直到找到具有足够匹配点的Kj,或者所有的候选帧都失败;若随机采样一致性迭代后能够返回一个相似变换,则可对这个相似变换进行优化,若优化之后仍有足够的匹配点,则Kj被认为是一个回环关键帧,而所有在Kj及其相邻帧中看到的地图点都会在Kc被检测和重投影,再利用计算出的相似变换搜索更多的匹配帧,若所有的匹配帧对应的点数超过阈值,则认为此处为回环;
S26、将检测到回环的地图与当前地图进行地图融合,并对相机位姿进行优化,最后生成新的全局地图M';
所述地图融合的方法包括:
先计算出Kc与Kj的相似变换矩阵Scw,再利用Scw将局部地图Mn与产生回环的地图Mi通过回环融合连接在一起,若这两个地图是第一次融合,则检索Mn的所有关键帧和地图点,否则就只检索Kc的相邻帧及其地图点,之后再将Kc的位姿设置为Scw进行校正,并将检测到的每个关键帧的位姿用下列方程转换为地图Mi坐标系下的坐标:
Tic=Tiw*Twc (7)
Tcorr=Tic*Twc (8)
式中:Tiw—校正前检索到的关键帧位姿;Twc—校正前Kc的逆位姿;Tic—需要校正的位姿;Tcorr—在Mi坐标系中对检索到的关键帧进行校正后的位姿。
2.根据权利要求1所述的基于单目视觉的定位与地图构建方法,其特征在于,当合成后的关键帧有少量空缺部分未被修复的情况下,采用对合成关键帧的像素进行平滑滤波来修复少量未被修复的部分,其计算方法包括:
当像素位置第i1~i2行到第j1~j2列未被修复,则设置平滑阈值k,进行平滑滤波,计算公式如下:
式中:ui,j—图像修复前图像第i行第j列的像素值;u'i,j—图像修复后图像第i行第j列的像素值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古工业大学,未经内蒙古工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110591607.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分布式数据库多表关联查询的方法及系统
- 下一篇:一种体育器材智能管理系统