一种结合三维点云分割和局部特征匹配的实时物体检测方法与流程

文档序号:12124153阅读:627来源:国知局
一种结合三维点云分割和局部特征匹配的实时物体检测方法与流程

本发明涉及数字图像处理的技术领域,特别是一种结合三维点云分割和局部特征匹配的实时物体检测方法。



背景技术:

物体分类与检测的研究,是整个计算机视觉研究的基础,是解决跟踪、分割、场景理解等其他复杂视觉问题的基础。因此我们想对实际复杂场景进行自动分析与理解,首先就需要确定图像中存在什么物体(分类问题),或者是确定图像中什么位置存在什么物体(检测问题)。

在此之前,SwainMJ,BallardDH.在《Colorindexing》提出使用颜色直方图法来描述并识别物体,但该方法受光照影响较大;后来LoweDG.在《Objectrecognitionfromlocalscale-invariantfeatures》中提出的SIFT特征是图像的一种局部特征,具有尺度缩放、旋转和光照变化的不变性,在物体识别领域具有广泛应用,但是SIFT特征描述符是基于灰度信息的描述子,不具备足够的信息表达力,对形状相似颜色差异较大的物体图像的识别能力不强。StederB等人在《3Drangeimagefeaturesforobjectrecognition》提出了基于深度图像NARF特征的物体识别方法。此类方法均使用深度信息实现物体的检测,并运用三维几何特征进行物体识别,可于复杂场景中实现准确的物体定位,但只对几何特征差异较大的物体具有较好的识别效果。

顺利执行一个完整的物体抓取和搬运任务,服务机器人不仅需要安全可靠地在室内环境中进行定位、避障和导航,还需要有效的利用传感器获取的数据实现目标物体的检测和定位。而在非结构化的室内环境中,实现准确稳定的目标物体检测仍是一件十分困难的任务。传统上,人们基于普通摄像头获取的二维图像,利用图像的颜色、纹理、形状等信息来进行物体的分割与检测,但是通常由于摄像头本身的动态范围有限以及外界环境光照变化等因素的影响,对机器人而言,这种方式的物体检测并不理想。

在机器人领域的导航、地图构建等应用中,一般较多的使用激光扫描测距仪来获取环境的深度信息。近年来,随着深度传感器技术的迅猛发展,出现了基于多种技术的新型深度传感器设备,包括结构光技术、光编码技术等。因此,深度传感器在机器人领域,如三维物体重建、语义地图构建中获得了越来越广泛的应用。这种趋势带来的效应是基于深度传感器获取的信息,进行目标物体检测和定位研究也越来越成为机器人领域的热点。

公开号为CN105711498A的专利文件公开了一种物体检测装置、物体检测系统、物体检测方法以及程序,在物体检测装置中,流导出部基于在对自车辆的周边进行摄影的摄像机周期性得到的摄影图像的特征点来导出光流,物体检测部基于光溜来检测物体。另外,信号接收部取得自车辆的速度(步骤S11),参数设定部对应于自车辆的速度来设定影响特征点的数量的特征点参数(步骤S13、S14)。该方法通常由于摄像头本身的动态范围有限以及外界环境光照变化等因素的影响,物体检测的效果并不太理想。



技术实现要素:

为了解决上述的技术问题,本发明提出一种结合三维点云和彩色图像处理的实时物体识别方法,通过对三维点云的快速分割实现物体的检测和定位,并采用基于SURF特征匹配的方法实现目标物体的识别。利用有序点云数据的完整结构特点,提出采用一种结合积分图像和区域生长的方法,实现了更加快速的三维物体检测。此外,分两步进行特种匹配,提高了在特征数据库中匹配识别目标物体的速度。

本发明提供一种结合三维点云分割和局部特征匹配的实时物体检测方法,包括以下步骤:

步骤1:结合积分图像快速计算出三维点云中每个点的法向量对物体进行水平面分割;

步骤2:对物体进行分割;

步骤3:对目标物体特征进行提取;

步骤4:将提取出目标物体的特征与物体特征数据库进行对比。

优选的是,所述步骤1为根据区域增长法直接分割出三维点云中的所有水平面聚类。

在上述任一方案中优选的是,所述步骤1还为对于三维点云P中行列位置(i,j)处的三维点p(坐标为(xij,yij,zij),记作P(i,j)),计算该点处两个局部表面切向量的叉乘,可以得到其法向量

其中和为点p的两个局部表面切向量。它们由以点p为中心,一定大小的正方形像素邻域内近似计算而得。由于深度传感器获取的数据可能包含噪声,为了较平滑地计算点p的法向量,邻域的大小由点p与坐标原点间的距离来确定,若距离较小,则选择较小的邻域,否则选择较大的邻域。

在上述任一方案中优选的是,所述步骤1还为分别求以点p的上下左右四个相邻位置点pn、pd、pl、pr为中心,四个边长为2k的正方形像素邻域内所有点的三维坐标的平均值

在上述任一方案中优选的是,所述步骤1还为建立三维点云P的积分图像I,I中每个行列位置(m,n)处的元素值I(m,n)为P中从左上角位置(0,0)到(m,n)处的矩形区域内所有点的三维坐标向量的和(即所有点的x、y、z坐标分别相加),按照如下公式迭代求解:

I(m,n)=P(m,n)+I(m-1,n)+I(m,n-1)-I(m-1,n-1)。

在上述任一方案中优选的是,所述步骤2为对水平面分割结果集合S={T1,T2,…,Tn}中的每个水平面Ti进行物体分割。

在上述任一方案中优选的是,所述步骤2还为在对所述水平面Ti进行物体分割之前,需要先确定Ti的边界以及该水平面Ti上的物体的点云。

在上述任一方案中优选的是,所述步骤2还为使用Ti的边界Gramham算法计算出的包围Ti的所有点的二维凸包构成。

在上述任一方案中优选的是,所述Ti上物体的点云由三维点云P中所有高于Ti的点垂直投影到Ti后,投影点包含在所述Ti边界之内的点构成。

在上述任一方案中优选的是,步骤2还为对三维点云P中每个行列位置处的点进行标记,将属于水平面Ti上物体的点标记为1,其余点标记为0。

在上述任一方案中优选的是,所述步骤2还为采用区域增长法分割出Ti上相互独立的物体聚类。

在上述任一方案中优选的是,所述步骤3为对每个大小合适的物体聚类Ci(i=1,2,…,n),根据透视投影原理计算Ci的每个点在彩色图像上的投影像素点。

在上述任一方案中优选的是,所述步骤3还为建立一个包围所有投影点的最小矩形作为物体聚类Ci在彩色图像中对应的区域Ri,Ri中也包含了图像中物体边界的特征,然后使用SURF算法计算出该区域的特征点和相应的SURF特征向量。

在上述任一方案中优选的是,所述步骤4分为如下步骤:

步骤a:将数据库所有特征模板的特征点,组成一个集合,称为数据库特征点集合;对Ri的每个特征点,以SURF特征向量间的欧氏距离作为特征点的相似性度量标准,使用FLANN快速近似最近邻算法库中的随机K-D树搜索算法,在数据库特征点集合中查找最近邻特征点;依据最近邻特征点所属的特征模板,统计出Ri与每个特征模板匹配到最近邻特征点的个数,选择匹配个数最多的前m个作为候选特征模板集,并按由多到少的顺序排列;

步骤b:将Ri与候选特征模板集中的特征模板依次进行特征匹配;若Ri与某个特征模板匹配成功,则该特征模板所属的物体的标识即为Ri的识别结果,并不再继续与其它特征模板进行匹配;若Ri与m个特征模板都匹配失败,则Ri的识别结果为未知物体。

在上述任一方案中优选的是,所述Ri与特征模板的匹配算法如下:

(1)以SURF特征向量间的欧氏距离为相似性度量标准,使用随机K-D树搜索算法查找Ri的每个特征点pi在特征模板中的最近邻特征点pn1和次近邻特征点pn2,若最近邻距离和次近邻距离的比值小于某一阈值,则将pi和pn1组成的匹配点对加入候选匹配点对集合St;

(2)对候选匹配点对集合St,使用RANSAC算法迭代地计算出Ri与特征模板之间的最佳仿射变换模型,并删除St中不满足变换模型的匹配点对;若最终St中的匹配点对个数大于某一设定的阈值,则判定Ri与该特征模板匹配成功,否则认为匹配失败。

本发明具有:参数少,计算简单,处理速度快,图像识别效果好等特点。

附图说明

图1为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的一优选实施例的流程图。

图2为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的RGB-D图像的一优选实施例的原始图。

图2a为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的水平面分割的如图2所示的实施例的结果图。

图2b为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的物体分割的如图2所示的实施例的结果图。

图2c为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的SURF特征提取的如图2所示的实施例的结果图。

图2d为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的特征匹配的如图2所示的实施例的过程图。

图2e为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的特征匹配的如图2所示的实施例的结果图。

图3为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的一优选实施例的带分割物体的点云图。

图3a为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的如图3所示的实施例的相互独立的物体聚类图。

图4为按照本发明的结合三维点云分割和局部特征匹配的实时物体检测方法的点的一优选实施例的正方形像素邻域图。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的阐述。

实施例一

针对以前方法的缺点和服务机器人在实际应用中的需求,本文提出一种结合三维点云和彩色图像处理的实时物体识别方法,通过对三维点云的快速分割实现物体的检测和定位,并采用基于SURF特征匹配的方法实现目标物体的识别。利用有序点云数据的完整结构特点,提出采用一种结合积分图像和区域生长的方法,实现了更加快速的三维物体检测。本方法分两步进行特种匹配,输入为三维点云和彩色图像,共分为两步。第一步实现物体的检测,由于室内环境中的机器人可操作物体(如饮料、杯子、笔筒等)通常放置于桌子、架子等水平面上,我们首先将这些水平面从三维点云中分割出来,以此为基础再对每个水平面之上的剩余点云进行分割得到相互独立的物体聚类,这些聚类即检测出的物体。第二步进行物体识别,首先定位每个物体聚类在彩色图像中的区域,并提取每个区域的SURF特征,然后与物体特征数据库进行特征匹配,输出识别的物体标识。下面详述本方法的实现细节:

顺序执行步骤100和步骤110,输入RGB-D图像,并对输入图像进行水平面分割。

首先计算三维点云中每个点的法向量,然后采用区域增长法直接分割出三维点云中的所有水平面聚类。

对于三维点云P中行列位置(i,j)处的三维点p(坐标为(xij,yij,zij),记作P(i,j)),计算该点处两个局部表面切向量的叉乘,可以得到其法向量

其中和为点p的两个局部表面切向量。它们由以点p为中心,一定大小的正方形像素邻域内近似计算而得。由于深度传感器获取的数据可能包含噪声,为了较平滑地计算点p的法向量,邻域的大小由点p与坐标原点间的距离来确定,若距离较小,则选择较小的邻域,否则选择较大的邻域。

首先分别求以点p的上下左右四个相邻位置点pn、pd、pl、pr为中心,四个边长为2k的正方形像素邻域内所有点的三维坐标的平均值为例,为了加快计算的速度,我们事先建立三维点云P的积分图像I,I中每个行列位置(m,n)处的元素值I(m,n)为P中从左上角位置(0,0)到(m,n)处的矩形区域内所有点的三维坐标向量的和(即所有点的x、y、z坐标分别相加),按照如下公式迭代求解:

I(m,n)=P(m,n)+I(m-1,n)+I(m,n-1)-I(m-1,n-1) (2)

执行步骤120,对输入图像进行物体分割。

我们分别对水平面分割结果集合S={T1,T2,…,Tn}中的每个水平面Ti进行物体分割。在对水平面Ti进行物体分割之前,需要先确定Ti的边界以及该水平面Ti上的物体的点云。Ti的边界Gramham算法计算出的包围Ti的所有点的二维凸包构成。Ti上物体的点云由三维点云P中所有高于Ti的点垂直投影到Ti后,投影点包含在Ti边界之内的点构成。

物体分割的方法与水平面分割类似,首先对三维点云P中每个行列位置处的点进行标记,将属于水平面Ti上物体的点标记为1,其余点标记为0。然后采用区域增长法分割出Ti上相互独立的物体聚类。执行步骤130,提取输入图像的SURF特征。

对每个大小合适的物体聚类Ci(i=1,2,…,n),根据透视投影原理计算Ci的每个点在彩色图像上的投影像素点。并建立一个包围所有投影点的最小矩形作为物体聚类Ci在彩色图像中对应的区域Ri,Ri中也包含了图像中物体边界的特征,然后使用SURF算法计算出该区域的特征点和相应的SURF特征向量。执行步骤140,将得到的特征与数据库中的特征点集合进行特征匹配。

第一步,将数据库所有特征模板的特征点,组成一个集合,称为数据库特征点集合。对Ri的每个特征点,以SURF特征向量间的欧氏距离作为特征点的相似性度量标准,使用FLANN快速近似最近邻算法库中的随机K-D树搜索算法,在数据库特征点集合中查找最近邻特征点。依据最近邻特征点所属的特征模板,统计出Ri与每个特征模板匹配到最近邻特征点的个数,选择匹配个数最多的前m个作为候选特征模板集,并按由多到少的顺序排列。

第二步,将Ri与候选特征模板集中的特征模板依次进行特征匹配。若Ri与某个特征模板匹配成功,则该特征模板所属的物体的标识即为Ri的识别结果,并不再继续与其它特征模板进行匹配;若Ri与m个特征模板都匹配失败,则Ri的识别结果为未知物体。Ri与特征模板的匹配算法如下

(1)以SURF特征向量间的欧氏距离为相似性度量标准,使用随机K-D树搜索算法查找Ri的每个特征点pi在特征模板中的最近邻特征点pn1和次近邻特征点pn2,,若最近邻距离和次近邻距离的比值小于某一阈值,则将pi和pn1组成的匹配点对加入候选匹配点对集合St。

(2)对候选匹配点对集合St,使用RANSAC算法迭代地计算出Ri与特征模板之间的最佳仿射变换模型,并删除St中不满足变换模型的匹配点对。若最终St中的匹配点对个数大于某一设定的阈值,则判定Ri与该特征模板匹配成功,否则认为匹配失败。执行步骤150,得到物体识别结果。

实施例二

如图2、2a、2b、2c、2d、2e所示,图2中的图片上有三个花色不同的桶状物体,一个是红颜色带花纹的听可乐,一个是蓝颜色带花纹的薯片桶,还有一个是带把的白色底带曲线花纹的水杯。第一步,进行水平面聚类,将图2中所示的RGB-D原始图像进行水平面分割,得到图2a,先确定这三个桶状物体是在同一个水平面I上。第二步,进行物体聚类,将图2a中所示的图片进行物体分割,得到图2b,将三个桶状物体周边的景物去掉,只保留三个桶状物体,提取每个桶状物体的上的底色、花纹和是否有突出物,也就是物体的特征,并存入特征库。第三步,对图2中所示的图像进行特征提取,得到图2c,确定要拿取的是一个桶状物体。第四步,把图2c中得到的三个桶状物体的图像的每一个区域的特征与特征库中的特征进行比对,如图2d所示,确定杯子是带把的,白色底的,上面带有曲线花纹的。第五步,得到物体识别结果,如图2e所示带把的白色底上带有曲线花纹的杯子被挑选出来。

实施例三

如图3所示,在图像的三维点云中,Ⅰ处表示分割出来的一个水平面,Ⅱ处表示该水平面的边界,Ⅲ处表示该水平面上有三个物体的点云。

如图3a所示,给出了图3中I处水平面上的三个Ⅲ处物体的点云分割后的结果。其中Ⅳ处表示分割出的相互独立的三个物体聚类。

实施例四

如图4所示,其中阴影部分区域表示以pr为中心,边长为2k的正方形像素点邻域。为了求得该区域内所有点三维坐标的平均值我们事先建立三维点云P的积分图像I,I中每个行列位置(m,n)处的元素值I(m,n)为P中从左上角位置(0,0)到(m,n)处的矩形区域内所有点的三维坐标向量的和(即所有点的x、y、z坐标分别相加),按照如下公式迭代求解:

I(m,n)=P(m,n)+I(m-1,n)+I(m,n-1)-I(m-1,n-1)

为了更好地理解本发明,以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。本说明书中每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1