原文链接:「学习路线」SLAM/深度估计/三维重建/标定/传感器融合…(本文较长,建议收藏)
经常有粉丝问视觉/激光/SLAM、三维重建等方向的学习路线,这里我再总结给大家,如下所示:
随着最近几年智能机器人、自动驾驶、AR/MR等领域的快速发展,企业对3D视觉算法及SLAM算法需求越来越强烈,该领域迎来了爆发式发展。
按照应用不同我们把3D视觉及SLAM算法分为如下方向:
-
视觉深度估计
-
视觉(惯性)SLAM
-
激光/多传感器融合SLAM
-
几何/深度学习三维重建
-
视觉传感器标定
下面分别介绍(本文较长,建议收藏):
视觉深度估计
视觉深度估计的目的就是估计图像中场景的深度,即场景中各点像素到相机成像平⾯的垂直距离,分为绝对距离和相对距离。我们看下面这个例子,左边是原图,右边是算法估计的对应深度图:
最近⼏年,⾃动驾驶 、⼈机交互、虚拟现实、机器⼈等领域发展极为迅速,尤其是视觉⽅案在⾃动驾驶中取得惊艳的效果,在这些应⽤场景中,如何获取场景中的深度信息是关键且必须的。同时,从深度图中获得前后的关系更容易分辨出物体的边界,简化了CV中很多任务的算法,例如3D⽬标检测和分割、场景理解等。相⽐于激光雷达测距,相机价格低廉、体积小巧,操作简单等优点,目前视觉深度估计是三维视觉最重要的基础模块之一,不仅在学术届各大CV顶会上有很多深度估计相关新的论文,在工业界应用也非常广泛,是比较热门的研究⽅向。
深度估计在自动驾驶领域的应用
视觉(惯性)SLAM
SLAM是指某种移动设备(如机器人、无人机、手机、汽车、智能 穿戴设备等) 从一个未知环境里的未知地点出 发, 在运动过程中通过传感器(如相 机、激光雷达、 IMU等)观测定位 自身位置和姿态,再根据自身位 姿进行增量式的地图构建, 从而达到同时定位和地图构建的 目的。SLAM技术是智能机器人、自动驾驶汽车、AR/MR等领域的底层核心技术之一。
如果SLAM过程使用的主要是视觉相关的传感器(如单目、双目、RGB-D、鱼眼、全景相机),一般称之为视觉SLAM。目前最知名的、效果最好的视觉SLAM是ORB-SLAM2/3系列和VINS-Mono/Fusion系列。
2015年,西班牙萨拉戈萨大学机器人感知与实时研究组开源了ORB-SLAM第一个版本,由于其出色的效果受到广泛关注。该团队分别在2016年和2020年开源了第二个版本ORB-SLAM2和第三个版本ORB-SLAM3。
其中ORB-SLAM2是业内最知名、应用最广泛的开源代码。它有如下优点:
-
支持单目,双目和RGB-D相机的完整开源SLAM方案,能够实现地图重用、回环检测和重新定位的功能。
-
支持轻量级定位模式,可以达到零漂移,此时不使用局部建图和回环检测的线程,可以用视觉里程计来跟踪未建图区域。
-
采用ORB特征,具有旋转不变性、光照不变性、尺度不变性,匹配速度快,适合实时应用。无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车,ORB-SLAM2都能够在CPU上进行实时工作。
-
跟踪、局部地图、闭环、重定位等所有的任务都采用相同的ORB特征,使得系统内数据交互更高效、稳定可靠。
-
单目初始化和应用场景解耦,不管是平面还是非平面场景,都可以自动初始化,无需人工干预。
-
地图点和关键帧创建比较宽松,但后续会进行严格筛选,剔除冗余关键帧和误差大的地