其他分享
首页 > 其他分享> > 常见开源库

常见开源库

作者:互联网

可视化

1. opengl:Open Graphics Library,译名:开放图形库或者“开放式图形库”。是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。

  即为可视化开发API,强项在于交互功能。

2. Pangolin是SLAM常用的库之一,主要用于SLAM系统的可视化。它是基于OpenGL的,主要优势在于使用比OpenGL简单。

3. PlotJuggler:时序数据可视化工具。

4. Webviz:是由 cruise 开发的一个data replay工具。https://webviz.io/

5. Foxglove:webviz开发人员从cruise 独立了出来开发了foxglove:https://foxglove.dev/

 

图像算法库

1. opencv:(开源的计算机视觉库)是基于BSD协议,因此它可免费用于学术和商业用途。其提供C++,C,Python和Java接口,支持Windows,Linux,Mac OS,iOS和Android。OpenCV致力于高效运算和即时应用开发。

  即主要为图形/点云运算库,带可视化输出。

2. pcl:点云运算库。

 

偏硬件加速库

1. opencl:(全称Open Computing Language,开放运算语言)是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境,便于软件开发人员为高性能计算服务器、桌面计算系统、手持设备编写高效轻便的代码,而且广泛适用于多核心处理器(CPU)、图形处理器(GPU)、Cell类型架构以及数字信号处理器(DSP)等其他并行处理器,在游戏、娱乐、科研、医疗等各种领域都有广阔的发展前景。

  即类似CUDA,但其cover了更多硬件类型。

2. CUDA

数学求解库

1. Eigen:是一个 C++ 开源线性代数库。它提供了快速的有关矩阵的线性代数运算,还包括解方程等功能。许多上层的软件库也使用 Eigen 进行矩阵运算,包括 g2o、Sophus 等。

2. g2o:一个(主要在 SLAM 领域)广为使用的优化库:(General Graphic Optimization,G 2 O)。它是一个基于图优化的库。图优化是一种将非线性优化与图论结合起来的理论。

3. Sophus:一个较好的李代数库,是 Strasdat 维护的 Sophus 库  。Sophus 库支持 SO(3) 和 SE(3),此外还含有二维运动 SO(2), SE(2) 以及相似变换Sim(3) 的内容。它是直接在 Eigen 基础上开发的,我们不需要要安装额外的依赖库。

4. ceres:Ceres 库面向通用的最小二乘问题的求解库

5. ipopt:非线性优化求解器,使用内点法进行求解。appolo就应用了这个库做轨迹、速度优化

6. osqp:自动驾驶的规划问题中,我们有时将问题转化为一个QP问题,这样才能解决,而OSQP就是一种二次规划的求解器。OSQP 算法的核心便是ADMM算法

 

10. 

11. 

标签:运算,求解,常见,开源,SLAM,可视化,Sophus,优化
来源: https://www.cnblogs.com/zengjianrong/p/16514522.html