这是2016年一个点云目标识别研究的简单描述。测试
点云目标识别,顾名思义,须要有标准的目标点云或者标准的点云特征描述向量;对实时采集的点云数据,在里面寻找与目标点云类似度最高的点云块。spa
图2.1 点云在XY平面的投影图像3d
图2.2 圆环点云采集图像视频
经常使用点云滤波有带通滤波、统计滤波、半径滤波、去除背景平面、去除边缘。blog
带通滤波:就是设置一个x、y、z方向的一个取值范围,以过滤掉明显不在测试距离范围的点云;好比在kinect数据采集中,因为其成像范围Z轴方向比较大,所以会出现不少明显咱们不须要的背景噪声信息,这是能够设置一个合理的Z坐标阈值;get
半径滤波:就是搜寻给定半径R内的相邻点云个数,当个数少于给定阈值时,去除点云;主要用在去除孤立点;io
统计滤波:对每一个点,计算最近邻K个点云距离的均值;假设最近邻距离均值符合高斯分布,则剔除距离在一个sigma外的点云;主要用于去除不合群离散点。图像处理
去除背景平面:对放在平面上的物体,背景一般会有一个较大的平面;采用Ransac拟合平面,剔除平面。ast
图2.3 统计滤波阈值选取方式 程序
图2.4 圆环滤波后
三维点云数据通常数据量都很大,为了提升程序的速度,能够对滤波后的数据进行降采样;降采样的原则是保证点云的总体分布状况,又不能破坏边缘信息(相似于图像处理的边缘保留Edge-preserving)。均匀降采样使用体素格的重心来表示给定半径范围内点的总体信息,来实现降采样和滤波的目的。
图2.5 体素格降采样
图2.6 单一圆环体素格降采样(蓝色是原始点云数据,红色是降采样数据)
经过滤波后,点云被分红了不少基本不相邻的块,能够采用聚类的方法来进行分割(相似于二维图像的连通域标记)。
图2.7 点云分割
当数据量不大的时候,能够直接计算降采样数据的特征向量;数据量很大时,最好先计算特征点(知足旋转、平移、尺度、仿射不变性),而后计算特征点处的特征向量。
相似于二维图像,3d点云也能够计算每一个点的特征,经常使用的特征描述子有SHOT(signature histogram of orientation)、FPFH(Fast Point of Histogram)等;
匹配找到对应特征点对后,存在不少误匹配特征点对,须要采用Ransac对点对进行提纯,找到内点Inliners,采用ICP方法计算点对之间的旋转变换关系;
图2.8 识别的圆环(蓝色点是原始的圆环数据,红色的是识别后通过旋转、平移变化的圆环)
视频信息已经上传Youtube,附网址:
机器人抓取视频 https://www.youtube.com/watch?v=9UaWKWEigXo&feature=youtu.be