一个精简的开源点云库

本文转载自公众号「点云PCL」,原文:https://mp.weixin.qq.com/s/qoo_gCmo7w7Y2230WN8EQg

Cilantro是一个精简高效的点云数据处理库,编程是C++,依赖项较少,但是相比较于PCL来说,代码更有可读性,PCL中大量的使用C++高级特性,阅读起来比较难并且不易重构拆解代码,而cilantro重点放在了3D案例上,尽量减少了样板代码的数量,包含了对点云常见的操作,是一个比较简单易懂的API,所以该库可以被广泛的模块化,并且支持多维度数据进行操作,同时保证对算法模块的模块化和可扩展性。作者是一位在Magic leap公司工作的计算机视觉工程师,是马里兰大学伯克利分校的计算机科学博士,是感知机器人小组的成员。

模块划分

点云基本处理模块

(1)一般尺寸的KD树(与PCL一样都用了第三方依赖项nanoflann)

(2)基于原始点云的曲面法向量和曲率的估计

(3)基于常用的尺寸网格的点云重采样算法

(4)主成分分析

(5)三维点云基本的IO操作(其中依赖了第三方库tinyply和Eigen库)

(6)rgbd图像对和点云之间的转换程序

点云凹凸以及空间检测模块

(1)使用了第三方库Qhull实现从常见维度点云凸多面体检测

(2)实现多个图多面体的并集检测运算

点云分类模块

(1)依赖第三方库nanoflann实现多维度的基于距离度量的K-mean聚类算法

(2)基于第三方库Spectra的各种拉普拉斯类型的频谱聚类

(3)支持自定义的基于内核的mean-shift聚类算法

(4)支持任意点之间基于联通性的点云分割算法

点云配准模块

支持任意对应搜索方式的ICP点云配准

(1)点对点的度量方式(通用维度)点对平面的度量(二维或者三维)或者其他任意组合下的刚性或者仿射对齐算法

(2)在点到点和点到平面度量的任意组合下,通过稳定的正则化,局部刚体或者仿射变换,实现二维或者三维点集的非刚性对齐,并支持稠密和稀疏的点云变换的算法。

点云模型估计模块

ransac估计器模板及其在一般维度上的实例:

(1)稳健超平面估计

(2)给定噪声对应的刚性点云配准

点云可视化模块模块

主要是依赖了第三方库Pangolin

安装与实例

安装Eigen以及 Pangolin

安装Eigen3

sudo apt-get install libeigen3-dev

安装Pangolin

sudo apt-get install libglew-dev libpython2.7-dev libboost-dev libboost-thread-dev libboost-filesystem-dev -y

git clone https://github.com/stevenlovegrove/Pangolin

cd Pangolin

mdkir build

cd build

cmake ..

make

sudo make install

安装完成后下载源码并编译

(已经fork到我们的github组群中)

git clone https://github.com/dianyunPCL/cilantro.git

编译

mkdir build

cd build

cmake ..

make

从cmake中我们可以看出来代码是比较精简的,一般性的第三方库都已经在include中,并且直接将其编译为.so文件,而我们在安装成eigen和pangolin

之后,将会编译example中的代码。所以如果想修改其中的代码,相比较PCL的库简单很多。

此时我们找一个example运行一下。这里以可视化的函数为例

./visualizer  test.ply

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值