APP下载

基于多特征融合的物体识别研究

2021-08-27马志军杨俊友孙义真

科技与创新 2021年16期
关键词:位姿聚类平面

马志军,杨俊友,孙义真

(沈阳工业大学,辽宁 沈阳110000)

1 引言

随着老龄化越来越严重,家庭服务机器人越来越受到人们的欢迎,同时对于机器人的研究越来越多,其中机器人视觉研究十分热门。

FROME等提出了3D形状描述子(3D Shape Context),该算法计算复杂并且必须在关键点计算描述子。RUSU等提出了快速点特征直方(Fast PointFeature Histogram,FPFH)[2],它对点云具有旋转平移不变性,但是计算复杂度较高。近几年RUSU又提出全局特征视点特征直方图(View Feature Histogram,VFH)。该特征具有旋转及缩放不变性,但识别中会受到遮挡的影响。针对以上问题,本文提出了点云特征描述子融合的算法(VFH-FPFH)。该算法既有VFH的高效性,同时也包含了FPFH特征较高的鲁棒性。

2 点云分割

本文采用的分割算法主要包括RANSAC平面分割[4]和欧式聚类分割[5]。

RANSAC算法主要分割掉场景点云中平面部分,本文主要分割支撑平面和背景平面部分。算法原理为:①设平面方程ax+by+zx+d=0,点云数据中任意三个点P{pi,pj,pk};②选取点云数据中多组点,求取A·B=0的最优解为B=Bx,得到拟合平面ABx=0;③输入点云数据,满足拟合平面的为内点,否则为外点,保留内点。

经过平面分割处理后,还需要对点云进行聚类分割,本文利用欧式聚类分割算法对点云进行分割。

为了获得最好的聚类效果,对欧式聚类分割算法参数进行设置,近邻搜索半径设为0.02,聚类点数的范围为[100,1 000]。

3 多特征融合算法

3.1 特征描述子

FPFH的算法原理为:FPFH只计算查询点和其邻域点的PFH值,统计为SPFH,然后再计算邻域点的SPFH值,最后对邻域点SPFH进行加权计算:

式(1)中:ωi为查询点P到邻域点Pi的距离。

此外,基于FPFH特征识别,不受遮挡的影响,还可以求取点云配准的6D位姿。但是FPFH计算复杂,导致识别时间过长,在实际应用中依然受限。

视点特征直方图(VFH)属于全局特征描述子,VFH由FPFH演变而来,主要的改进是加入视点方向,如图1所示。算法原理为:VFH以整个点云为对象,选取点云中心点Pi为查询点,然后选点云的采样点为邻域点,计算点云的FPFH,同时将视点方向融入到计算中:

计算完五个特征元素cosα、cosβ、θ、cosφ、d,分别统计每个元素在不同区间的百分比,最终完成直方图的构建。

VFH具有旋转不变性和缩放不变性。VFH的识别速度比局部特征PFH和FPFH快很多。虽然识别速度快,但是VFH沿视觉方向具有旋转不变性,无法进行6D位姿估计。VFH特征描述如图1所示。

图1 VFH特征描述

综上,本文采用局部特征和全局特征融合方法,完成识别和位姿估计。

3.2 多特征模型库的建立

模型库的建立包括深度相机采集点云、点云滤波、点云分割、提取点云特征。具体步骤如下:①只有目标物体的场景下,对目标进行多角度拍摄,然后对拍摄的点云进行滤波和分割处理,得到只有目标物体的点云。计算每个角度目标点云的特征描述子VFH和FPFH,然后将特征数据和对应的点云数据放到同一个文件夹data下,最后转换为FLANN格式[6];②为了加快搜寻和匹配速度,将FLANN格式数据转换为Kd-tree结构[7];③设卡方距离阈值为200,近邻搜索值为16,对测试点云进行搜索,结果红色点云表示不满足要求,绿色点云表示在参数范围内,测试表明运行算法能够满足识别要求。

4 识别实验

4.1 实验平台建立

本文采用ubuntu 16.04系统,配置PCL 1.8.0函数库,ROS-kinetic操作环境。硬件为Intel(R)Core(TM)i5-4200H CPU,16 G内存,RealSense深度相机,实验室“小粉”机器人,如图2所示。

图2 “小粉”机器人

本实验选取茶叶盒为目标对象,分别在茶叶盒简单场景、茶叶盒和其他物体组合复杂场景、茶叶盒被类似茶叶盒遮挡复杂场景三种场景下分别进行实验。

4.2 实验步骤

在线识别过程和模型库建立过程有很多相同的部分,主要包括深度相机采集场景点云、点云滤波、点云分割、点云特征计算、场景点云和模型库点云搜索匹配、目标物体位姿估计。具体步骤如下。

第一,深度相机采集包含目标物体的场景点云。

第二,利用直通滤波去除场景点云中离散点,再通过体素滤波算法降低点云密度。

第三,通过平面分割算法分割掉平面点云,然后利用欧式聚类分割算法对剩余点云进行聚类分割。

第四,计算聚类分割后每个点云的VFH特征,利用最近邻算法[7](K-nearest neighbor)在模型库中对每个聚类的VFH特征进行匹配搜索。设卡方距离阈值为D,模型点云Pi和场景点云Qi卡方距离为Di,若Di>D,则标为红色,否则标为绿色,小于阈值D的卡方值形成集合P{D1,D2,…,Dk},并对集合中的卡方距离按从小到大排序。设最小和最大卡方距离分别为Dmin、Dmax,任意小值为ε。若Dmin<<Dk且min≠k,则Dmin对应的聚类为目标点云,进行第六步;若Dmax-Dmin=ε,则表明场景中存在目标物遮挡和目标物相似的情况,进行第五步。

第五,分别计算集合对应的点云和模型点云的FPFH特征,进行配准识别。

第六,求取模型点云Pj和目标点云Qj的特征FPFH,利用SAC-IA+FPFH和ICP+FPFH分别求得初始变换T1和精确变换T2,则配准的位姿变换Ti=T1·T2。

第七,如果模型点云相对于相机的位姿转换关系为Tj,则目标点云相对于相机的位姿为T=Ti·Tj。

4.3 实验结果与分析

如图3、图4、图5三种场景,分别表示茶叶盒、茶叶盒与其他物体组合、茶叶盒被其他物体遮挡三种场景的识别结果,点云图中地面上密度较大的点云集为识别结果。图3表示只有茶叶盒的简单场景,图4表示茶叶盒在复杂环境中。对比图3和图4的实验环境,图4中目标物体周围的物体对识别产生了一定的干扰。对比图4和图5的实验环境,图5中除了摆放了较多的物体,还存在目标物被遮挡的现象。上述三种场景基本涵盖了家庭环境中杂乱、遮挡、相似物等问题。

图4 茶叶盒和其他物体组合图

图5 茶叶盒被类似茶叶盒遮挡

表1是在无遮挡场景中,通过FPFH、VFH、本文算法三种算法,对单物(只有茶叶盒)和多物(茶叶盒和其他物体组合)两类场景不同内容进行200次识别实验,结果发现本文算法(VFH+FPFH)识别率最高。

表1 无遮挡场景

表2是在遮挡场景中,通过FPFH、VFH、本文算法三种算法,对多物体(不遮挡组合)和多物(遮挡组合)两种场景进行200次实验,发现本文的算法识别率最高,综合表1和表2,说明本文算法识别率最高。

表2 遮挡场景

5 总结

为了让服务机器人在复杂的家庭环境下高效地识别和定位物体,本文提出了特征描述子融合(VFH-FPFH)的方法,当目标物体没有被遮挡和被类似物干扰时,VFH能够快速识别;当目标物遇到干扰和遮挡时,基于FPFH不受遮挡影响的特性继续识别,最终完成目标物的识别。相比于VFH和FPFH识别算法,复杂场景下本文算法识别率分别提高了6%和8%。实验结果表明本文算法有很强的鲁棒性和高效性,能够满足服务机器人在家庭环境下的识别需求。未来计划将本文算法应用于服务机器人的识别抓取中。

猜你喜欢

位姿聚类平面
一种傅里叶域海量数据高速谱聚类方法
基于知识图谱的k-modes文本聚类研究
一种改进K-means聚类的近邻传播最大最小距离算法
基于PLC的六自由度焊接机器人手臂设计与应用
基于位置依赖的密集融合的6D位姿估计方法
基于模糊聚类和支持向量回归的成绩预测
曲柄摇杆机构的动力学仿真
立体几何基础训练A卷参考答案
立体几何强化训练B卷参考答案
参考答案