基于RGBD的平面提取方法总结
作者:互联网
Real-Time Plane Segmentation using RGB-D Cameras:
该论文是基于depth图像做的平面检测, 根据depth得到的三维点, 根据三维点所在邻域平面法向量以及平面距原点的距离,对其进行聚类, 具体流程如下:
- 利用depth点上下左右的点,计算出该点邻域平面的法向量;
- 将所有的点根据上述求出来的三维法向量, 分配到三维的voxel grid里去, 这也就是第一步分类(Initial segmentation in normal space);
- 上述分好的类里再根据原点到平面的距离进行第二次分类,
- 考虑到depth测量时受距离影响比较大, 所以第3步得到的还只是初始分类,再用相邻类之间的检验来合并类别。
Robust Plane Detection Using Depth Information From a Consumer Depth Camera
该论文也是仅利用深度图进行平面检测,采用区域增长法。
检测流程如上图所示。
-
Valid Seed Patches Generation
用一个LxL的滑窗在图像上滑动, 然后用Linear Least Squares (LLS)方法拟合出一个平面,最后根据拟合出来的平面和滑窗内所有点的信息来计算该滑窗区域的平面度, -
Region Growing Process
将上一步得到的各个滑窗区域按平面度进行排序,平面度越高的,将首先用来初始化得到一个平面并逐渐像周围增长,增长的依据是临近点到平面的距离,同时根据传感器测量噪声问题,用一些准则来动态调整这个距离阈值(测量距离,平面大小等)。 -
Refinement of Detected Planes
经过上述处理得到的平面,会存在 Over-Growing和Under-Growing的问题。对于前者,需要检测出平面的相交线,然后将合并在一起的平面分开;后者则需要合并两两平面。
该方法没有用到点的法向信息,实时性还值得怀疑。
Fast and Accurate Ground Plane Detection for the Visually Impaired from 3D Organized Point Clouds
基于RANSAC从深度图像中提取地平面的方法。
整个流程比较简单,大都用PCL实现,论文运行速度达到21FPS.
SRRG-SASHAGO plane-detector
没有找见相关论文,从源码里提炼出其方法。
该项目中利用了RGB信息和深度信息来提取平面, 流程如下:
- 根据深度图像计算出三维点云图以及对应的法向量图, 点的法向量计算方法也是利用临近的点线叉乘得到;
- 对RGB图像进行滤波降噪, 计算梯度,得到轮廓图, 轮廓由那些梯度值较大的像素点构成;
- 根据轮廓图,法向量图和点云图,利用区域增长法对点云进行聚类,轮廓是区域增长的终止点;
- 在聚好的类中提取平面。
An Effective Ground Plane Extraction using Depth Map Estimation from a Kinect Device
基于分类思想的地面提取算法,流程如下:
-
GDM ground plane detection:
a, 计算深度图的梯度图;
b, 将有近似梯度的点聚到同一类,并去除不属于地面的类别;
c, 地面选取:将原始深度图分成多个块区域,并统计区域内属于地面点的比例,如该比例高于一个阈值, 则将该区域是为地面区域。 -
Ground Plane Refining:考虑到测量噪声,利用光滑窗口去填充深度图中的错误的黑洞区域。
Fast plane segmentation with line primitives for RGB-D sensor
基于从线段中提取平面的方法。
- 提取线段;
- 利用PCA方法计算线段中点附近区域的法向量和曲率,曲率小于一定的值,该线段附近才被认为是平面区域候选区;
- 递归地提取平面:先排除掉候选平面中法向量光滑区域内点较少的候选平面,然后用最近邻搜索和点面距离来扩大平面,并用最中得到的内点来计算新的平面参数,如此递归,直到所有候选区域都被访问到。
标签:深度图,提取,区域,Plane,RGBD,平面,向量 来源: https://blog.csdn.net/weixin_43827285/article/details/110671920