《论文笔记》Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles
时间:2013
作者:
工作方式:
多agent(资源受限,但能自主完成VO)+中心化server(无限资源)
协同感知原理:
server为每个agent创建一个local map,出现交集后融合
通信模型:
agent→server(传递信息:关键帧提取的特征+上一关键帧的相对位姿估计)
agent→server→agent
注:获取当前位姿方法:上一时刻位姿(server已知)+相对位姿(agent传送)
创新点:
1.提出一种解决方案(CSFM, Collaborative Structure from Motion)来解决机载估计轨迹和地面站估计轨迹之间的尺度差异(CSFM本身有回环检测和局部BA,VO没有)
2.对数据结构及处理过程进行设计,允许多线程并发读写map,来保证实时性(并行+异步)
系统模型:
系统整体包含前端和后端,前端由MAV自身VO建图,后端server为每个MAV创建一个Frame handler,对应保存其局部地图。当检测到重叠时,局部地图融合。多agent对应同一map。后端具体流程图如下:
后端更新过程:
帧处理线程(每个agent都有)对frame进行处理(主要是判断KF,特征提取,生成特征描述),再将数据传递至重叠部分检测线程。检测到重叠时,若来自同一map,则执行局部BA。来自不同map则进行map合并。此处针对多图合并设计特殊数据结构和C++并发控制机制,允许多个帧处理线程安全访问和更新,来保证实时性
部分实现细节:
1.CSfM系统不保留关键帧的时间顺序,也考虑旧关键帧。设置核心关键帧(一组四个)、外围关键帧(所有关键帧,要求是与核心或者新关键帧至少共享一个公共MP)
2.使用词袋模型进行place recongnization,全局使用一个词袋模型。这为跨地图回环检测提供基础(跨地图回环检测后面就要进行地图融合了)
3.当位置识别模块返回一个与当前关键帧相似的帧后,再进行几何验证(P3P算法)。几何验证只应用于不同map间发现重叠。验证成功计算两帧的转换矩阵(集成了P3P的RANSAC)。
4.对冗余信息的改进:每个重叠地图区域中的所有地图点将重新投影到其他地图的关键帧中,并合并响应的地图点。地图融合的时候,用RANSAC+P3P,计算转换矩阵,把回环帧投影到当前帧上,如果点重合,则消除点,减少冗余信息
重要细节:将比例因子s应用于在变换贴图上操作的所有帧处理程序的比例差因子,这对于确保从BO接收到的相对位置估计值相对于地图正确缩放是必要的。
5.改进优化完成贴图和关键帧,
循环结束后,优化完成贴图和关键帧的标准解决方案是运行全局BA。但具有两点缺点:
1.计算要求很高
2.可能收敛到局部极小值而完全失败。
本文改进(两步走):
1.将地图点边缘化,使贴图表示减少为姿势图(全局位姿图优化)。
2.在姿势图优化后,更新贴图点并进行全局BA优化地图点和关键帧姿势(两步未理解)
6.并发数据的访问设计实现
原理:互斥锁
建立KF-list(保存所有关键帧),每个KF保留观测到的MP(维护MP列表),每个MP也保留其组成的KF。一个线程拥有关键帧的锁,它可以去读整个关键帧观测到的所有MP。对KF修改前需要获取该KF的锁,对MP修改前需要获取所有可观测到该MP的KFs的锁。也就是说,锁只加在KF上,而不加在MP上,因为MP远多于KF,对MP加锁会大大加重性能负担
参考资料:
协作SLAM论文赏析 - 简书 (jianshu.com)
因作者水平有限,如有不足之处,请在下方评论区指正,谢谢!
《论文笔记》Collaborative Monocular SLAM with Multiple Micro Aerial Vehicles相关推荐
- 《论文笔记》Multi-UAV Collaborative Monocular SLAM
时间:2017 作者: 实现条件: 多agent+一中心服务器.每一个agent自带单目摄像头,中心服务器可与所有agent通信.agent没有任何先验知识.不考虑任何的传输延时所带来的不良影响. ...
- 论文笔记02 Link Prediction by Multiple Motifs in Directed Networks
论文笔记02 Link Prediction by Multiple Motifs in Directed Networks 1.基于单个子图朴素贝叶斯模型的链路预测 2.基于两个子图朴素贝叶斯模型的 ...
- 论文笔记-Self-Supervised Monocular Depth Hints
论文信息 论文标题:Self-Supervised Monocular Depth Hints 论文作者:Jamie Watson, Michael Firman, Gabriel J. Brosto ...
- 论文笔记:ReDet: A Rotation-equivariant Detector for Aerial Object Detection
论文 paper:https://arxiv.org/pdf/2103.07733.pdf code:https://github.com/csuhan/ReDet 概述 之前说过,cv的论文图画的好 ...
- [论文笔记]Integrated Networking, Caching, and Computing for Connected Vehicles: A DRL Approach
目前大部分工作将网络.缓存.计算分立研究并优化,但本文将这三者进行联合优化,提出一个集成的动态管理架构.本文将此框架中的资源分配策略指定为一个联合优化问题,其综合考虑了网络.缓存.和计算的效用.对于系 ...
- 【每日论文阅读】Collaborative Visual Inertial SLAM for Multiple Smart Phones
文章目录 论文阅读:Collaborative Visual Inertial SLAM for Multiple Smart Phones 摘要 主要贡献 算法逻辑 算法结果 论文阅读:Collab ...
- 《论文笔记》COVINS: Visual-Inertial SLAM for Centralized Collaboration
时间:2021 作者: Multi-UAV Collaborative Monocular SLAM的后续之作,关于之前那篇可参照:<论文笔记>Multi-UAV Collaborat ...
- 【论文笔记】虚拟领导者控制编队机动
[名称]Formation control of unmanned micro aerial vehicles for straitened environments [刊物]Autonomous R ...
- CubeSLAM: Monocular 3D Object SLAM 论文笔记
CubeSLAM: Monocular 3D Object SLAM 论文笔记 摘要 提出了一种静态和动态环境下单幅图像3D长方体目标检测和多视点目标SLAM的方法,并证明了这两个部分是相互促进的. ...
最新文章
- 2.登录linun 输入密码登录不进去 进入单用户模式 修改 然后reboot
- 一只变成产品经理的狗
- windows10环境运用SSH和SwitchySharp自由翱翔
- C语言字符型、整型和变量的长度
- 为 GridView 添加一列单选按钮50
- 基于xp系统搭建android开发环境
- Redis缓存穿透、缓存击穿和缓存雪崩
- new+date+xxx+java_SpringMVC+MyBatis - 12 spring mvc4返回的json日期为Long的解决方案
- 单循环链表(用尾指针表示)
- 如果Linux从未出现,我们的生活会变成怎样?
- kerberos认证下kafka报错Bootstrap broker host:ip (id: -1 rack: null) disconnected
- clouder manager卸载
- 企业最大的危机是来自于内部
- 硬盘内部传输速率和外部传输速率的区别
- c语言ftell的作用,C语言的文件随机访问fseek()和ftell()函数
- 网页短信平台开发为什么要用短信服务程序
- PowerDesigner15.5 逆向生成mysql数据PDM文件
- java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
- PLC程序的基本组成和编程语言
- node后台实现分页
热门文章
- motionVFX mRevealer Glitch Mac(fcpx插件:30个故障干扰马赛克毛刺失真特效)
- c语言高低位拷贝_C语言中的大小端转换与高低位颠倒
- Android笔记-Xposed的使用(Hook登录函数获取用户名密码)
- Web笔记-session及cookie
- 软考系统架构师笔记-综合知识重点(三)
- Qt工作笔记-QSort的基本使用
- win32项目-最基础的窗口程序
- Linux 禁用msi模式,禁用MSI模式支持
- python 字节码指令含义_python 字节码指令列表
- c语言中用于获取字符串长度的函数是,C语言中求字符串长度的函数的几种实现方法...