今天主要写针对主流VIO和VSLAM如VINS-MONO和DSO的工程改造思路

肯定是有相当价值的,总体写得比较简单,需要具备软件/硬件/算法等各方面综合能力才能掌握主要路径,具体实现方面以后由其他同事来针对每一个单一闭环来更新。

主流VIO系统核心问题如下:

1. ZUPT零速修正与各种特殊场景失效的问题:

这个在前文已经详细描述过6-7类常见问题,目前也已经在工程上完整的解决了,除了长时间的问题重复(如持续长时间的无纹理)或超长回环,其他问题均得到了很好的解决。在此提醒大家,使用的相机必须是室内全局快门+硬件MCU同步Td(最终Td控制到近乎于0),室外如果使用卷帘相机必须精确掌握曝光时间,才能够比较完美的闭环相关工程问题实现商用。我们在Real sense/Kinect V2/小觅等设备上均尝试了一系列工程,即使完成了所有工程部分,用i7-12代这类强算力平台跑结果均不理想(Kinect V2略好)。最终还是被迫自研了相机组件去彻底闭环了硬件问题。

2.主系统在工程侧沉重开销的设计

VINS-MONO和DSO都是很棒的系统,但是因为分别都属于实验室,即使后续扩展的VINS-Fusion和VI-DSO等,除了问题1外,仍存在工程侧沉重开销的问题。这里有2块必须解决掉的部分

(1)前端视频流显示与指引部分,作用是给人机界面清晰的视频指引,并准确让用户感知到初始化是否成功以及点跟踪的情况。这个部分是大家很少去注意的。如实验室的工程师们使用的Pangolin和RVIZ,VINS和DSO等都是直接拖出裸数据再用OPENCV软件进行叠点显示,这样会造成严重的问题,RAW DATA处理很吃开销,直接用CPU调库叠点开销更重。这类设计会导致改造后的主系统几乎无法在嵌入式系统上运行。即使能运行,这类视觉数据传输到用户端也有巨大的延迟

解决手段:利用强力的视觉SOC的编解码引擎进行编码Encoding处理,并使用其OSD等硬件叠图算子去处理和解决。这样的话无论在用户PC端还是嵌入式系统端均解决了视频流长延时和重开销的问题。这块虽然是我的专业,但如何做就不展开了,展开又是5万字。但本质这个事是个大成熟的机器视觉主流领域,一些基础SOC如海思3519A等就可以轻松实现,方案也比较多。需要具备较强的PCBA与SOC/嵌入式开发能力。

(2)3D点云与姿态展示部分,这个部分是很难处理的,实际改造后的VIO/VSLAM系统输出的核心数据就2种:点的逆深度信息(或齐次坐标等空间3维坐标描述形式)和相机位姿。对于大部分大系统来说这2块信息封装好SDK做好数据结构体即可。但问题来了,用户端或迟或早还是一定要做展示和人机交互的,这里就必须进行3D点云的处理。VINS和DSO在这块使用的RVIZ和Pangolin等是可以扩展的,但是不建议使用。

解决手段:如果要在嵌入式系统上做,用NV方案就不讨论了,很简单。如果用Mali等GPU方案,因为生态很差,需要精通Opencl的使用。这个也没法教,可以先忽略不计。

比较好的处理手段是在PC端上进行扩展自行开发(具备NV和Intel的GPU生态),首先做好点与位姿数据的结构体处理,再封装好SDK,这里方法1是建议使用PCL点云库结合QT进行开发(C++归一环境),方法2是在浏览器端开发,展开又是5万字的东西不写了。大家看看自己技能偏向哪方面就在那个方面做即可,并不难,一开始实现基础的旋转/平移/缩放即可。

这2项工作都是沉重和工作量较大的,尤其是在不具备相关研发能力的情况下;但是同样这2块工作也是必须要完成的,否则你的VIO/VSLAM系统也就是个普通的实验室研究罢了,不具备在工业界和其他用户侧落地的基础能力!有95%甚至以上的用户,是不会腾挪出额外的主控资源,去给这些无谓的工作提供算力开销。

PS: 核心资源从来都是留给最核心的系统的,在VIO或其他的多传感器融合融态中,最核心的系统仅指前端和后端,连回环都勉强只能算一半!

主流VIO/VSLAM系统改造与工程化落地相关推荐

  1. 闲话自动驾驶的工程化落地

    以下文章来源于计算机视觉深度学习和自动驾驶 ,作者黄浴 大家有一种认知,觉得自动驾驶进入了"下半场".类似demo或者POC的早期工作已经不是人们关心的,这里所谓"上半场 ...

  2. 活动预告 | DataFunSummit 2022-MLOps 及 AI 工程化落地论坛

    11月19日 13:30-17:30,OpenMLDB 项目发起人.第四范式技术副总裁 郑曌作为出品人发起 DataFunSummit 2022 MLOps 及 AI 工程化落地论坛.OpenMLDB ...

  3. ssh改造springboot微服务系统改造升级步骤及注意事项(一)

    ssh改造springboot微服务系统改造升级步骤及注意事项(一) 本次系统改造是以目前市场较为前沿.主流的技术为标准进行改造.为了达到系统性能的提升.实现高并发.高可用以及增强系统可扩展性等目的. ...

  4. 系统改造升级步骤及注意事项(一)

    系统改造升级步骤及注意事项(一) 本次系统改造是以汇中综合业务系统中的调度系统(Dispatch)为核心展开的全面升级,以目前市场较为前沿.主流的技术为标准进行改造.为了达到系统性能的提升.实现高并发 ...

  5. 基于NopCommerce的开源电商系统改造总结

    距离项目的结项会议差不多有一个月的时间了,研发人员也基本上都从该项目撤出.之前一直就想写一下这个项目的总结无奈身兼多职未能抽出身来写这篇文章.不过我们有幸能够在项目开始之初就接触到了.NET领域优秀的 ...

  6. wincc无法修改服务器名称_WinCC(TIA)组件SIVARC在BA空调及冷热源系统改造项目中的应用...

    中文摘要:本文将着重论述 TIAWinCC SiVarc(画面生成器)在BA系统改造中的应用,并详细展示如何通过SiVar画面.变量等规则建立WinCC(TIA)画面与程序的关联,实现WinCC变量. ...

  7. 云上高并发系统改造最佳实践

    简介:在水平扩展阶段通过SLB挂nginx增加负载均衡扩展性,在数据库拆分阶段通过DRDS进行分库分表. 直达最佳实践:[云上高并发系统改造] 最佳实践频道:[点击查看更多上云最佳实践] 这里有丰富的 ...

  8. 过磅系统更换服务器,无人值守过磅系统改造方案

    智能无人值守过磅系统改造方案 以前,汽车运输的物料计量工作采用汽车衡仪表显示计量数据,司磅员手工填写单据.报表,这就造成了管理上的许多问题如:安全性差.操作繁琐.作弊.统计错误.数据不能共享等,给企业 ...

  9. 北京交管部门多举措进行二环慢行系统改造,提升通行安全与效率

    10月10日,新京报联合北京市公安局公安交通管理局举行二环真"骑"妙--二环路慢行系统公益骑行活动. 按照北京市委市政府总体部署,从2020年10月份起,北京市交管局会同交管委,东 ...

最新文章

  1. 哪些数据可以放进缓存?记录生产环境一次缓存评估的过程
  2. 新疆银行招聘计算机,新疆2017年银行招聘考试计算机学_计算机基础试题(19页)-原创力文档...
  3. 怎么安装python3-Ubuntu16.04怎样安装Python3.6
  4. css 小经验: 重构css的优化与技巧
  5. mate30升级鸿蒙系数据会被清空吗,145直接升级鸿蒙会不会掉资料
  6. 一起谈.NET技术,Expression Blend中文教程 - 开篇
  7. 100的阶乘c语言代码,求10000的阶乘(c语言代码实现)
  8. A*算法在最短路问题的应用及其使用举例
  9. 增加无线模块传输距离的方法
  10. 22 大端序和小端序
  11. 【以太坊源码】交易(一)
  12. android studio 配置应用生成多个dex
  13. 未明学院:云计算热门机器学习项目来袭!收割亚马逊、阿里等一众巨头都看重的实操技能与项目经历!
  14. Linux内核设计与实现 Robert Love
  15. 食品级L-天门冬氨酸市场现状及未来发展趋势
  16. 一、数据库之理论基础
  17. 微信小程序入门:和风天气小程序
  18. 政务云迁移服务项目预算制定
  19. ObjectArx自定义实体入门(C++)及注意事项
  20. 2023.0125.1-edge浏览器与百分浏览器

热门文章

  1. 斐讯提“新共享”,区块链+共享经济能碰撞出什么火花?
  2. Linux png转jpg (convert命令)
  3. 基于人工表面等离激元周期调制的漏波天线设计
  4. 5-2中央处理器-指令周期的数据流
  5. 我的世界服务器怎么修改地图,《我的世界手机版》pocketmine服务器怎么更换地图?...
  6. php成绩查询实例,成绩查询php源码
  7. Matlab混响器——无限个回声混响器
  8. P57 3-3数数字
  9. 专利申请与专利授权的区别?
  10. CEGUI的下载、安装与运行