
三维视觉下的目标识别与位姿估计方法.docx
9页三维视觉下的目标识别与位姿估计方法简要:摘要:为了提高遮挡环境下三维目标点云的识别率,提出将聚类视点特征直方图(CVFH)算法与方向特征直方图(SHOT)算法相结合的特征融合识别(CV-SHOT)算法利用 CVFH 特征对分割的场景点云进行快速粗 摘要:为了提高遮挡环境下三维目标点云的识别率,提出将聚类视点特征直方图(CVFH)算法与方向特征直方图(SHOT)算法相结合的特征融合识别(CV-SHOT)算法利用 CVFH 特征对分割的场景点云进行快速粗识别,提取相似目标点云 SHOT 特征并获得模型-场景对应点集,通过引入 3D霍夫投票机制对场景目标进行精确识别并获得点云目标初始位姿基于最近点迭代(ICP)算法实现目标精确定位以及位姿估计并搭建实验环境,测试单物体场景以及多物体局部遮挡场景结果说明:CV-SHOT 算法识别率到达90%以上,比传统的点云识别算法识别率明显提高、鲁棒性更强,可对室内复杂场景中目标有效识别与位姿估计 关键词:机器视觉;三维目标识别;霍夫投票;点云分割;点云配准;位姿估计 王青; 贾秀海; 叶明露; 王启宇; 盛晓超 西安工程大学学报 2022-12-31 0 引 言 基于深度相机采集的三维点云数据不仅包括物体外表的几何特征、颜色信息,而且还包括深度信息[1],即采集的信息更接近现实场景,因此基于三维点云数据的物体识别与位姿估计技术是目前机器视觉领域研究的热点之一,被广泛用于机器人环境感知和导航、无人汽车自动驾驶、自动装配及虚拟现实等领 域[2]。
文 献 [3]使 用 快 速 点 特 征 直 方 图 (FPFH)计算局部特征,相比点特征直方图[4],极大地提高了点云的计算速度,并提出了一种基于样本一致性的初始对齐算法,解决了点云配准效率低的问题,但对噪声点云数据的鲁棒性较差文献[5]利用视点特征直方图(VFH)获取待配准点云特征,采用 KNN 算法和ICP 算法估计物体位姿,具有较强的稳 健 性 文 献 [6]利 用 聚 类 视 点 特 征 直 方 图 (CVFH)识别物体,可有效识别遮挡的点云以及包含噪声的点云文献[7]通过使用点对特征对在散乱堆放场景中的物体进行点云匹配和位姿估计,采用投票策略进行模板匹配,在仿真环境下抓取准确率到达了97.1%,但该算法没有涉及对复杂场景中多物体的识别文献[8]为了识别复杂场景中的多个目标,提出一种基于改良法矢的 C-SHOT 特征识别目标,使用 LM-ICP实现目标点云的位姿估计,对颜色鲜明、区别性强的物体识别率到达了99%,但对外表光滑、颜色相近的物体识别率较低 针对在复杂场景下点云目标被遮挡和含有噪声时目标识别率低的问题,本文结合 CVFH 与方向特征直方图(SHOT)描述子[9],提出一种改良的 CVSHOT 识别算法,并使用霍夫投票算法优化最近点迭代(ICP)算法[10-11],对复杂场景中目标进行识别和位姿估计。
1 点云数据处理 由于环境光线、相机本身误差等原因,深度相机采集的点云数据会包含数据噪点[12],并且除了物体点云信息外,还存在多余的背景信息、载物台平面信息等为了得到有效的分割聚类以及提高后续的识别效率,需要去除多余点云 1.1 数据预处理 针对深度相机采集的原始点云数据,为了快速找到感兴趣区域,采用点云直通滤波算法[13]去除冗余的背景信息,可以极大地减少点云数量,完整地保存目标特征的信息待识别的目标点云与相机的距离保持不变,故可以截取空间坐标轴方向一定范围内的点云数据作为感兴趣区域,然后进行目标点云的识别空间坐标轴各个方向上的距离阈值设置: Xmin ≤x ≤ Xmax Ymin ≤y ≤Ymax Zmin ≤z ≤Zmax ì î í ï ï ï ï (1) 式中:(Xmin,Xmax)、(Ymin,Ymax)、(Zmin,Zmax)阈值可通过计算获得 点云数据直通滤波效果如图 1 所示 图1中,(a)为原始数据点云,其冗余的点云信息主要是背景信息取Z 方向(-1,0)范围内的点云数据,直通滤波后的效果图如(b)所示滤波前后感兴趣区域的点云数量、形状、位置未发生变化, 原始点云的点数量为223778,直通滤波后的点数量为72103,极大地减少了点的数量,节约了计算资源。
在使用直通滤波的过程中,可以根据实际情况合理设置方向阈值,在减少点云数量和保存感兴趣区域之间到达平衡深度相机获取的点云数据比拟稠密,为了提高后续点云处理的速度,在保存物体特征信息的根底上,采用体素滤波算法[14]对点云进行下采样体素滤波算法:根据点云数据的特点建立三维体素栅格,组成多个微小立方体,采用小立方体的重心替代该立方体内的点,对点云数据进行稀疏化该方法简单高效,不需要建立复杂的拓扑结构,满足三维点云曲面快速重构的需求每个小立方体重心 (xc,yc,zc)的计算公式为 xc = ∑ n i=1 xi n yc = ∑ n i=1 yi n zc = ∑ n i=1 zi n ì î í ï ï ï ï ï ï ï ï ï ï ï ï (2) 式中:n 为小立方体中的点云数量,(xi,yi,zi)为小立方体中的第i个点体素内的点用小立方体重心表示,以完成点云数据的下采样 体素滤波如图2所示从图2可以看出,体素滤波中小立方体边长为5 mm,滤波前后点云的位置、形状保持不变,滤波前的数量为5713,滤波后的数量为1168,点云数量减少极大,提高了后续点云局部特征的计算速度小立方体边长可根据场景情况适当调节,在减少点云数量与保持点云轮廓信息之间到达平衡。
1.2 载物台平面去除 采用随机采样一致(RANSAC)算法[15]去除载物台平面RANSAC 算法通过迭代方式在含有外部点的点云数据中估计并优化数学模型,将数学模型设置为平面模型,将载物台平面与场景物体别离根据实验 室 场 景 的 复 杂 度,设 置 最 大 迭 代 次 数 为 50,距离阈值为0.01,对场景进行屡次平面滤除,去除载物台平面效果如图3所示相比左图,右图载物台主平面几乎被完全滤除,只有零散的几处小平面点云以及离群点未被滤除,平面上的物体点云形状、轮廓保持不变 1.3 离群点滤除 为了去除因深度相机采集产生的稀疏离群点、点云边缘噪声以及分割载物台平面留下的离群点, 并同时降低相互遮挡物体的连接性,采用统计离群点算法[16]进行点云数据处理,邻域平均距离的概率密度函数,即 f(li)= 1 2πσ exp - (li -u)2 2σ2 æ è ç ö ø ÷ ,i=1,2,3,… (3) 式中:li 为任意点的邻域平均距离该算法对每个点的k 近邻点进行分析,k 设置为50如果当前点距离k近邻点的平均距离超过整个点云数据点之间平均距离的一个标准差以上,那么视该点为离群点,离群点滤波效果如图4所示。
经过统计离群点滤波后,相比左图,右图中的离群点被滤除,相互接触的物体也被有效区别,得到了比拟规那么、光滑的多个物体点云聚类,可使后续的点云得到有效分割 1.4 点云场景分割 点云分割通常依据点云的法线、几何特征、颜色等信息将点云分割为互不相交的多个子集当场景物体经过点云预处理后,点云数据量急剧降低,各物体的连接性明显降低,此时采用欧式聚类[17]分割算法,相比于区域生长分割[18]、超体聚类分割[19-20]、最小分割[21]算法,可有效快速分割场景,分割实时性满足目标识别的需要 在点 云 维 度 空 间 建 立 数 据 索 引 树 形 结 构 (KDTree),利用 KDTree的最近邻查询算法加速欧式聚类的过程欧式聚类是基于欧式距离判断是否进行聚类的算法,点云三维空间中,点 (x1,y1,z1) 与点(x2,y2,z2)的欧氏距离,即 dE = (x1 -x2)2 + (y1 -y2)2 + (z1 -z2)2 (4) 首先 在 搜 索 空 间 中 选 取 一 点 p,然 后 利 用 KDTree数据结构在搜索范围内找到k 个离p 点最近的点,当搜索点的欧式距离小于设定阈值时,那么被聚类到集合A 中。
当集合A 中的点数不再增加,那么完成欧式聚类,否那么选取集合A 中除p点以外的点, 重复上述过程,直到 A 中的点数不再增加,即完成聚类分割 图5为采用欧式聚类算法分割后的效果图从图5可以看出,当场景中的物体不相互粘连时,场景中的牛奶盒、茶叶罐、布仔、可乐罐被有效聚类能够满足点云目标识别的要求 2 目标识别与位姿估计 在点云目标识别过程中,最重要的是三维描述子的设计,一个目标能否被有效识别,很大程度上取决于三维描述子获取目标特征信息的准确性与完整性,三维描述子具有分辨率不变性、强鲁棒性和旋转不变性[22]等特点三维特征按照空间搜索范围分为局部特征和全局特征[23]局部特征描述子是对点云数据局部特征的描述,不需要对场景点云进行分割,直接计算场景物体局部特征,并与模型库完成匹配,识别速度快、具有旋转尺度不变性,但对点云噪声比拟敏感;全局特征是对整个点云数据特征的描述,容易忽略细节信息,为了提高识别率,需要对场景点云进行适当分割面对复杂环境,特别是物体相互遮挡、存在相似目标的场景中,本文提出一种复合描述子 CV-SHOT,将全局特征的 CVFH 与局部特征的 SHOT 描述子结合起来,通过粗识别-精匹配两步法识别目标,并估计目标在场景中的位姿。
2.1 霍夫投票算法 3D霍夫变换用于检测平面、圆柱、球体以及不规那么几何体[8]以霍夫投票的票数为判断依据,实现目标点云的识别,并利用关键点局部坐标系的唯一性,获取识别目标的初始位姿本文通过计算模型、场景关键点的局部参考系,利用 SHOT 描述子得到的模型-场景对应点集作为投票的特征点,提高霍夫投票的准确性相机拍摄角度或场景物体的移动,使场景中的待识别物体模型发生旋转平移,因此在霍夫投票之前, 需要将模型参考向量坐标和场景坐标转换到同一个三维空间中,参考向量空间坐标转换如图6所示 选取模型质心参考点为 CM ,对于每个模型特征点FM i ,计算参考点CM 和特征点FM i 的参考向量 VM i,G ,计算公式为 VM i,G =CM -FM i 为了使参考向量具有旋转平移不变性,模型坐标的参考向量VM i,G 必须转换到相应特征点的局部坐标下,模型局部参考向量VM i,L 转换公式即 VM i,L =RM GL ·VM i,G式中:RM GL 为旋转矩阵,RM GL =[LM i,xLM i,yLM i,z]T,矩阵中每一行分别是3个坐标方向下特征点FM i 及其邻域内点构建的局部坐标的单位特征向量。
在局部坐标中参考向量具有旋转平移不变性, 那么局部坐标下的模型参考向量VM i,L 与场景参考向量 VS i,L 相等,即VS i,L =VM i,L 最后,全局坐标下的参考向量VS i,G 计算公式: VS i,G =RS LG ·VS i,L +FS j 式中:RS LG 为旋转矩阵,RS LG =[LS j,xLS j,yLS j,z],其每一列分别是3个坐标方向下特征点FS j 及其邻域内点构建的局部坐标的单位特征向量 通过上述变换, 特征点FS j 可以利用参考向量VS i,G 进行霍夫空间投票,将目标识别的问题转化为目标上每个参考向量在霍夫空间上对质心投票的问题 对模型-场景的对应点通过上述转换过程进行投票,利用场景中的匹配点确定每次投票的一个质心位置,根据特征向量VS i,G 的投票数值确定目标质心的真实位置在投票过程中,设计1个3D 投票数组进行投票计数,每对质心位置投。












