Kinect点云的平面提取算法研究
2016-06-22黄忠义李建胜郝向阳王腾
黄忠义,李建胜,郝向阳,王腾
(信息工程大学 导航与空天目标工程学院, 郑州 450001)
Kinect点云的平面提取算法研究
黄忠义,李建胜,郝向阳,王腾
(信息工程大学 导航与空天目标工程学院, 郑州 450001)
摘要:在室外环境下GPS、北斗等卫星定位系统是主要的定位手段,但是在室内或者城市高楼林立的环境下卫星定位系统会出现不能共作的情况,视觉定位却能很好地工作,平面检测是视觉定位基础工作之一,将Kinect摄像机应用到定位导航领域,相比于传统的视觉算法,结合红外光等主动距离传感器的平面检测稳定、适应性强。在检测过程中,先利用mean-shift算法进行图像分割,再将基于深度图像生成的三维点投射到分割的图像中,然后对每个点云区域做平面变换,计算出相应的变换参数,最后根据上述参数特性聚类平面区域。实验证明,该方法能够聚类出复杂环境中的平面,对下一步的定位定姿具有十分重要的意义。
关键词:平面聚类;图像分割;点云分割;三维重建
0引言
近年来,随着自主导航、智能避障的需求增加,障碍物检测技术在智能交通、移动机器人自主导航、行星探测等领域得到越来越多的应用。因为真实场景中障碍物都是立体的,而路面则是平面的,所以为障碍物检测工作打下了坚实的基础。
Kinect 是微软推出的 3D 摄像机,能够同时获取语音信息、彩色图像和深度图像。深度图像中每个像素的像素值,即为物体空间坐标点与 Kinect 摄像机之间的距离。Kinect主要包含主控芯片、红外摄像机、彩色摄像机、红外发射器、麦克风阵列等。Kinect 采用光编码技术实时得到深度图像信息,并可结合彩色图像信息实时生成场景的三维点云,常用的平面提取多采用3维Hough变换,章大勇等提出了一种基于对偶空间分割的平面提取方法解决了3维Hough空间不一致的问题[1-2],李明磊等利用点云中每点的法向量进行Hough变换,除了能识别平面特征,还能对墙角等地标进行提取[3],杜廷伟在硕士论文中用高斯聚类的方法对RGB-D图像进行了分割,对室内对象识别和场景理解有很大的帮助[4],本文将Kinect摄像机应用到智能导航领域时,先利用mean-shift算法进行图像分割,再将基于Kinect彩色图像和深度图像生成的三维点投射到分割的图像中,然后根据三维点的立体特性检测出平面区域并对相似特性的平面区域加以聚类。
1算法原理
常用的平面的检测算法包括最小二乘法,特征值法[5],当采用参数法表示平面时,可以表示成如下的参数形式
ρ=x·cosθ·sinφ+y·sinθ·
sinφ+z·cosφ,
θ∈[0°,360°), φ∈[0°,90°],
(1)
式中: 参数(θ,φ)决定了平面法向量的方向,而参数ρ决定了平面到原点的距离,参数θ表示平面的法向n在xoy平面中的投影和x轴止向之间的夹角;φ表示n和xoy平面的夹角。
1.1平面变换参数求解
假设前面分割结果中某一类中有n个数据点{(xi,yi,zi),i=1,2,…n},则任意一点到平面的距离可以表示为
di=|xi·cosθ·sinφ+yi·sinθ·sinφ+zi·cosφ-ρ|,
(2)
可以利用拉格朗日乘法求解最小值
(sinθ·sinφ)2+(cosφ)2),
(3)
首先对ρ求导并令其结果为0,有:
sinθ·sinφ+zi·cosφ-ρ)=0,
(4)
求得:
(5)
将结果带入拉格朗日乘法公式中并令cosθ·sinφ=a,sinθ·sinφ=b,cosφ=c,然后对a,b,c分别求导,令导数等于0,可以组成如下的方程组:
(6)
将上面的方程组化成Ax=λx的形式
其中
A=
(7)
由于A为实对称阵,考虑到a2+b2+c2=1,即(x,x)=1,那么有:
(8)
即A的最小特征值即为最小的距离平方和,对应于平面的法向量。根据求得的参数(a,b,c)可以得到参数(θ,φ)以及最小距离λ.
1.2平面聚类
可以认为上面的操作是对该点集做了一个平面变化,而所求到一系列参量就是最后的变换结果。最小距离的平均值也可以作为平面拟合好坏的依据。由于kinect在4 m距离时的深度测量精度是1.4%.误差在5~6 mm之间,这里取一倍误差(5 mm)作为判断阈值,低于阈值的区域被认为是地面待检测区域。将所有区域的(X,Y,Z,θ,φ,ρ)作为参数(XYZ是区域的质心坐标),进行一个KMeans(最邻近区域)分类。
但是分析参数空间的参量,会发现参数(θ,φ)是一个没有量纲的量,和其他参量相差一个尺度因子,因此确定参数(θ,φ)的尺度因子,也可以认为是一个定权的过程。将平面参数(θ,φ,ρ)变换为(nx,ny,nz),nx=cosθ·sinφ·ρ,ny=sinθ·sinφ·ρ,nz=cosφ·ρ.算法的流程图如图1所示。
图1 平面聚类算法流程图
2实验
2.1实验步骤
1) 对彩色图(实验数据集为VoB3d[6])进行mean-shift分割,meanshift是一种特征空间分析方法,要利用此方法来解决特定问题,需要将该问题映射到特征空间。图像分割就是求每一个像素点的类标号。关于meanshift分割的详细原理,这里不再赘述,参考文献[7]给出了比较详细的介绍。
2) 根据彩图投影对应的深度图来分割点云。
3) 求解每个点云区域的平面参数。
4) 根据平均偏差的阈值(取5mm,前文已经说明)剔除掉非平面区域。统计点云集样本大于阈值(这里取10 000个),记为K也就是后面分类的类别数,然后对剩下的平面区域进行Kmeans分类,但是这里计算聚类质心的时候需要加一个权重,大小为每个区域点的数量除以50取整,得到聚类区域。
2.2实验结果
实验共分3组,分别在简单场景(如图2(a)),强光照场景(如图3(a))和复杂场景下(如图4(a)),相对应的深度如图2(b)、3(b)、4(b)所示。经过meanshift算法分割后,三组实验结果如图2(c)、图3(c)、图4(c)所示,将图像分成125,115,193个区域,部分结果如表1、表2、表3所示,点数大于10 000个的区域为5,6,6,故取KMeans聚类为6,7,7类。聚类结果如第一组实验图2(d)、图3(d),图4(d)所示。其中红色,黄色,浅红色区域为非平面区域,剩下的为5,6,6个平面聚类区域。
图4 第三组实验选图 (a) 原始彩色图; (b) 原始深度; (c) 分割结果; (d) 聚类结果
2.3实验分析
从实验结果可以看出该算法能够很好地分割图像和分离出非平面区域、平面聚类结果和这些平面实际所属类别能很好的吻合。简单场景下(如图2所示)能取得很好的结果,即使地面有大量杂物(如图3所示)或者光线较弱(如图4所示)的情况下该算法也能很好的聚类平面区域。处理结果对智能车导航的路面提取和避障是十分有意义的,如第一组实验图2(d)中的黄色区域,图4(d)中的红色区域表示是地面区域。但是算法还是存在部分噪点处理不够的地方,当分割区域较小而刚好该区域有效深度点较少的时候,无法完成点集合分类,如图2(d)中示出了地毯边缘的噪声,但是这部分区域较少。
表1 第一组实验平面变换后的参数
表2 第二组实验平面变换后的参数
表3 第三组实验平面变换后的参数
3结束语
针对RGB-D信息的处理,给出了一种新的平面聚类方法,提出了一种鲁棒性强的平面判定与参数计算方法,根据图像的meanshift分割结果分割深度图像生成的点云,比单纯的基于深度图的分割更能反应环境的类别,最后按照区域的中心,所在平面的参数进行聚类,实验结果证明该算法能很好的聚类相似平面,而且在不同的场景下都能取得很好的效果,对后续的视觉定位定姿有十分重要的意义。
参考文献
[1]朱笑笑,曹其新,杨扬,等.一种改进的KinectFusion三维重构算法[J].机器人,2014(3):129-137.
[2]章大勇,吴文启,吴美平,等.基于三维Hough变换的机载激光雷达平面地标提取[J].国防科技大学学报,2010,32(2):130-136.
[3]李明磊,李广云,王力,等. 3DHoughTransform在激光点云特征提取中的应用[J].测绘通报,2015(2):29-33.
[4]杜廷伟.基于高斯混合模型聚类的Kinect深度数据分割[D].北京:北京工业大学,2013.
[5]LAIK,BOL,RENX,et al.ALarge-scalehierarchicalmulti-viewRGB-Dobjectdataset[C].//IEEEInternationalConferenceonRoboticsandAutomation(ICRA), 2011.
[6]贺超,刘华平,孙富春, 等. 采用Kinect的移动机器人目标跟踪与避障[J].智能系统学报, 2013,8(5):426-432.
[7]COLLINSR,LIUY,LEORDEANUM.Onlineselectionofdiscriminativetrackingfeatures[J].IEEETransonPatternAnalysisandMachineIntelligence, 2005, 27(10): 1631-1643.
黄忠义(1990-),男,湖北恩施人,硕士生,主要研究领域为机器视觉,视觉导航。
李建胜(1975-),男,湖北钟祥人,教授,硕士生导师,主要研究领域为计算机视觉导航,视觉仿真。
郝向阳(1966-),男,河南济源人,教授,博士生导师,主要研究领域为计算机视觉导航,遥感图像处理。
王腾(1991-),男,安徽安庆人,硕士生,主要研究方向为信号处理与计算机视觉。
Planar Detection Algorithm Based on Kinect Point Cloud
HUANG Zhongyi,LI Jiansheng,HAO Xiangyang,WANG Teng
(SchoolofNavigationandAerospaceEngineering,InformationEngineeringUniversity,Zhengzhou450001,China)
Abstract: In outdoor environment, GPS Beidou and other satellite position system are the mainly Position method. However, when they can’t work well in indoor or some other environment, such as some places in city where many high building exist. Visual position is a good way to solve this problem. Plane detection is a basic work of the visual position. In this article we will apply Kinect camera to the position and navigation field. Compare with the traditional visual algorithm, the detection of plane combine with infrared light or other active range detector is more stable and more adaptive. In processing we firstly use mean-shift algorithm to segment the RGB image, and then projected three-dimensional point based on depth image to segmented image. After that, make the plane transformation for each point cloud region,and the corresponding plane transformation parameters are calculated, lastly clustering plane area with the characteristics of the parameters calculated. Experiments show that the method can cluster plane from complex environments, and it is of great importance for positon and posture.
Keywords:Plane clustering panel; image segment; point cloud segment; 3D reconstruction
doi:10.13442/j.gnss.1008-9268.2016.02.016
收稿日期:2015-12-22
中图分类号:TP274.2
文献标志码:A
文章编号:1008-9268(2016)02-0085-05
作者简介
资助项目: 自然科学基金(批准号:41371436)
联系人: 黄忠义 E-mail:2009301610383@whu.edu.cn