一种三维点云处理方法及装置与流程

文档序号:20922568 发布日期:2020-05-29 14:20
一种三维点云处理方法及装置与流程

本申请涉及立体视觉技术领域,尤其涉及一种三维点云处理方法及装置。



背景技术:

立体视觉领域的技术应用得到广泛的关注,其中核心技术是三维点云的处理及物体表面重构。不论是三维激光扫描获取的点云数据,还是基于kinect相机获得的三维点云都存在点云数据量大,复杂度高的问题。采集获得的点云分为有序点云和无序点云,不同结构的点云处理方式不同。目前主要的点云滤波器有直通滤波器、体素格滤波器、统计滤波器、半径滤波器等,滤波器的选择和点云的采集方式息息相关。现有技术中没有一种针对散乱无序的稠密点云数据的处理。



技术实现要素:

本申请实施例提供了一种三维点云处理方法及装置,用以实现散乱无序的三维点云表面重构。

本申请实施例提供的一种三维点云处理方法,包括:

获取原始图像的稠密散乱点云数据;

将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;

对所述滤波后的点云进行分类;

计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;

根据所述点云边缘的信息,对所述分类后的点云进行表面拟合。

通过该方法,获取原始图像的稠密散乱点云数据;将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;对所述滤波后的点云进行分类;计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;根据所述点云边缘的信息,对所述分类后的点云进行表面拟合,从而实现散乱无序的三维点云表面重构。

可选地,对所述滤波后的点云进行分类,具体包括:

如果两团点云最近点之间的平均相对距离小于单个点云内部点之间的平均相对距离,则判断所述两团点云为两类点云。

可选地,计算所述分类后的点云数据的平均相对距离,具体包括:

假设点pi为任一类点云中的点,根据点云密度的大小,设置所述点pi的最邻近点的个数,采用如下公式计算所述最邻近点到所述点pi的平均相对距离:

其中,mp为所述点pi最邻近点的个数,pi为第i个最邻近点到所述点pi的距离,pright为所述最邻近点到所述点pi的平均相对距离。

可选地,如果点pi在该类点云的表面,则令所述点pi的最邻近点到所述点pi的平均相对距离为d1;

如果点pi在所述该类点云的边缘,则所述点pi最邻近点的一半在该类点云表面,所述一半最邻近点到所述点pi的平均相对距离d2等于d1,另一半在该类点云之外,所述另一半最邻近点到所述点pi的平均相对距离d3大于d1;

如果点pi在所述该类点云的角点位置,则所述点pi最邻近点的四分之一在该类点云表面。

可选地,根据点云数据的平均相对距离提取点云边缘,具体包括:

针对任一类点云:

将该类点云中每个点与所述每个点的最邻近点的平均相对距离进行排序,并确定所述该类点云中所有点的阶跃函数;

根据所述阶跃函数和所述点云的位置提取所述该类点云的边缘。

可选地,对提取的所述点云边缘的可信度进行评判。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

将根据原始图像的灰度信息获得的物体轮廓信息与所述点云平均相对距离信息获得的点云轮廓信息进行比较,确保所述点云轮廓的准确性。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

获得准确的点云轮廓之后,采用点云频率的方法,对所述点云进行滤波。

相应地,在装置侧,本申请实施例提供的一种三维点云处理装置,该装置包括:

第一单元,用于获取原始图像的稠密散乱点云数据;

第二单元,用于将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;

第三单元,用于对所述滤波后的点云进行分类;

第四单元,用于计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;

第五单元,用于根据所述点云边缘的信息,对所述分类后的点云进行表面拟合。

本申请实施例还提供的一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述本申请实施例提供的任一种所述的方法。

本申请另一实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种三维点云处理方法示意图;

图2为本申请实施例提供的一种三维点云处理方法的流程示意图;

图3为本申请实施例提供的一种三维点云分类示意图;

图4为本申请实施例提供的一种点pi在该类点云的表面时的三维点云示意图;

图5为本申请实施例提供的一种点pi在该类点云边缘位置时的三维点云示意图;

图6为本申请实施例还提供的一种点pi在该类点云角点位置时的三维点云示意图;

图7为本申请实施例提供的一种三维点云处理装置示意图;

图8为本申请实施例还提供的一种三维点云处理装置示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前的技术方案中有提出对点云数据预处理转换到同一坐标空间,但没有明确数据的滤波处理方法,也有针对背景点云密度较小目标点云密度较大时提出采用密度分析法,但没有包含目标点云稀疏的情况,也有针对激光扫描获取的点云提出边缘点探测的方法,但不适用于识别无序点云的边缘点。

本申请实施例提供了一种三维点云处理方法及装置,用以实现散乱无序的三维点云表面重构。

下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。

本申请实施例属于三维点云的处理方法,立体视觉领域的三维点云图像包含有空间中三个维度的信息数据,利用图像中的深度信息实现物体和背景的解耦,提取点云的边缘信息,场景的边缘是前景和背景的不同分割,是点云的分类过程,解耦过程中需要使用不同的方法将信息萃取出来同时使用成熟的算法实现物体表面重构。

参见图1,为本申请实施例提供的一种三维点云处理方法,包括:

s101、获取原始图像的稠密散乱点云数据;

例如,基于双目相机获取稠密散乱点云数据和原始图像数据。通过激光扫描获得的点云信息是有序排列的点云信息,通过图像灰度信息获得的点云是散乱无序的。

s102、将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;

例如,采用密度聚类的方法,将密度大于第一阈值的三维点云数据剔除,即剔除离群点,保留信息量较多的点云数据;并通过体素格滤波器对点云进行滤波处理,以简化点云数据。

s103、对所述滤波后的点云进行分类;

s104、计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;

s105、根据所述点云边缘的信息,对所述分类后的点云进行表面拟合。

例如,采用移动立方体算法将分类后的点云连接在一起,进行表面拟合。

可选地,对所述滤波后的点云进行分类,具体包括:

如果两团点云最近点之间的平均相对距离小于单个点云内部点之间的平均相对距离,则判断所述两团点云为两类点云。

对于相同类的点云,点云内部点之间的平均相对距离较小,不同类点云之间的平均相对距离较大,因此通过计算距离可以将两类不同的点云进行分类。

可选地,计算所述分类后的点云数据的平均相对距离,具体包括:

假设点pi为任一类点云中的点,根据点云密度的大小,设置所述点pi的最邻近点的个数,采用如下公式计算所述最邻近点到所述点pi的平均相对距离:

其中,mp为所述点pi最邻近点的个数,pi为第i个最邻近点到所述点pi的距离,pright为所述最邻近点到所述点pi的平均相对距离。

例如,点云密度越大,点pi最邻近点的个数越多。

可选地,如果点pi在该类点云的表面,则令所述点pi的最邻近点到所述点pi的平均相对距离为d1;

如果点pi在所述该类点云的边缘,则所述点pi最邻近点的一半在该类点云表面,所述一半最邻近点到所述点pi的平均相对距离d2等于d1,另一半在该类点云之外,所述另一半最邻近点到所述点pi的平均相对距离d3大于d1;

如果点pi在所述该类点云的角点位置,则所述点pi最邻近点的四分之一在该类点云表面。

可选地,根据点云数据的平均相对距离提取点云边缘,具体包括:

针对任一类点云:

将该类点云中每个点与所述每个点的最邻近点的平均相对距离进行排序,并确定所述该类点云中所有点的阶跃函数;

根据所述阶跃函数和所述点云的位置提取所述该类点云的边缘。

例如,点云的位置包括点在物体的表面、边缘、角点等位置。

可选地,对提取的所述点云边缘的可信度进行评判。

例如,提取的任一边缘点为点pii,对点pii的最邻近点施加不同的权重之后,计算点pii的最邻近点到点pii的平均相对距离,若平均相对距离大于d1,则认为点pii为可信边缘点。其中,d1为预设值,具体取值根据实际需要而定,本申请不进行限制。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

将根据原始图像的灰度信息获得的物体轮廓信息与所述点云平均相对距离信息获得的点云轮廓信息进行比较,确保所述点云轮廓的准确性。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

获得准确的点云轮廓之后,采用点云频率的方法,对所述点云进行滤波。

低频点云在尺度上较大,例如可以为建筑物墙面、地面等;高频点云在尺度上较小,例如可以为建筑物窗框、路面障碍锥等。基于点云频率的方法,针对任一点云,在小尺度上,即小范围内计算点云的法线n1,在大尺度上,即大范围内计算点云的法线n2,计算公式n0=n1-n2,将n0值小于第三阈值的点过滤,以避免点云数据冗余,处理速度慢的缺点。

如图2所示,为本申请实施例提供的一种三维点云处理方法的流程示意图,具体步骤如下:

基于双目相机获取稠密点云数据和原始图像数据;

使用密度聚类的方法,将密度大于预设的第一阈值的点云数据剔除,即剔除明显的离群点,保留信息量较多的点云数据;

通过体素格滤波器的方法对点云进行滤波处理,以简化点云数据;

采用欧几里得算法对滤波后的点云进行分类,如图3所示,为本申请实施例提供的三维点云分类示意图,如果两团点云最近点之间的平均相对距离小于单个点云内部点之间的平均相对距离,则判断所述两团点云为两类点云,也就是说,若r3>r1,且r3>r2时,判断两团点云为两类点云,具体实现方法包括:

统计点云数据每个维度上(例如x轴、y轴、z轴)的数据方差,挑选出最大的方差值,对应的维就是split域的值,将点云数据按照第split维进行排序,中间的数据点为轴点,建立kdtree拓扑关系;另外,点云拓扑关系的建立也可以采用octree算法。

找到三维点云空间中任一点p10,通过kdtree找到最邻近的n个点,并计算n个点到点p10的距离,将距离小于预设阈值2的点p12,p13……放在类q中,在q\p10中,即在类q的点p10最邻近的n个点中,找到p12,继续通过kdtree找到p12最邻近的点,并计算这些点到点p12的距离,将距离小于预设的第二阈值的点放在类q中;不断重复上述操作,直到q中包含了所有点,完成搜索。

假设点pi为任一点云中的点,根据点云密度的大小,设置点pi的最邻近点的个数,并采用如下公式计算点pi最邻近点到点pi的平均相对距离:

其中,mp为所述点pi最邻近点的个数,pi为第i个最邻近点到所述点pi的距离,pright为所述最邻近点到所述点pi的平均相对距离。

如图4所述,为点pi在该类点云的表面时的三维点云示意图,图中点pi的最邻近点都在点云的表面,令点pi的平均相对距离为d1;

如图5所述,为点pi在该类点云边缘位置时的三维点云示意图,图中点pi最邻近点的一半在该类点云的表面,这一半最邻近点到点pi的平均相对距离d2等于d1;另一半在该类点云之外,这另一半最邻近点到点pi的平均相对距离d3大于d1;

如图6所示,为点pi在该类点云角点位置时的三维点云示意图,图中点pi最邻近点的四分之一在该类点云的表面,其他四分之三在该类点云之外;

将点云中所有点的平均相对距离进行大小排序,并确定所有点的平均相对距离的阶跃函数,根据点云的位置信息(即某个点在该类点云的表面、边缘或角点位置)和阶跃函数提取该类点云的边缘。

对点云边缘的可信度进行评判:例如点pii为边缘点,对点pii最邻近点施加不同的权重,并采用如下公式计算点pii最邻近点到点pii的平均相对距离,若平均相对距离大于d1,则认为点pii为可信边缘点。

其中,m1为点pii最邻近点中与点pii的距离小于平均相对距离d1的点的个数,m2是点pii最邻近点中与点pii的距离大于平均相对距离d1的点的个数,e1+e2=1,调节e1和e2,满足pright大于d1时,e1的值越大,pii的可信度越高。也就是说,m1的占比越小,点pii的可信度越高。

根据该类点云的位置信息和提取的边缘确定分类后点云的轮廓。

根据原始图像的灰度信息获得物体轮廓信息,具体步骤例如包括:

首先将原始图像的彩色信息转变为灰度信息;然后将转换后的图像分为相同大小的格子空间,例如16*16的格子空间,提取每个格子中灰度值大于该格子平均灰度值的像素点;最后通过提取整个图像中所有格子中灰度值大于所在格子平均灰度值的像素点,确定图像中物体的轮廓结构。

将根据原始图像的灰度信息获得的物体轮廓结构,与根据点云的位置信息和边缘信息获得的点云轮廓进行比较,确保点云被正确分类,点云轮廓信息无误。

采用点云频率的方法,针对点云中任一点,在小尺度上(即小范围内)计算点云法线n1,在大尺度上(即大范围内)计算点云法线n2;计算n0=n1-n2,将n0值小于预设的第三阈值的点过滤,以避免点云数据冗余,处理速度慢。

通过移动立方体算法将点云轮廓进行表面拟合处理。

参见图7,为本申请实施例提供的一种三维点云处理装置,包括:

第一单元11,用于获取原始图像的稠密散乱点云数据;

第二单元12,用于将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;

第三单元13,用于对所述滤波后的点云进行分类;

第四单元14,用于计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;

第五单元15,用于根据所述点云边缘的信息,对所述分类后的点云进行表面拟合。

参见图8,本申请实施例还提供的一种三维点云处理装置,包括:

处理器600,用于读取存储器610中的程序,执行下列过程:

获取原始图像的稠密散乱点云数据;

将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;

对所述滤波后的点云进行分类;

计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;

根据所述点云边缘的信息,对所述分类后的点云进行表面拟合。

通过该装置,获取原始图像的稠密散乱点云数据;将所述点云数据中的离群点剔除,并对剔除离群点后的点云数据进行滤波;对所述滤波后的点云进行分类;计算所述分类后的点云数据的平均相对距离,并根据点云数据的平均相对距离提取点云边缘;根据所述点云边缘的信息,对所述分类后的点云进行表面拟合,用以实现散乱无序的三维点云表面重构。

可选地,对所述滤波后的点云进行分类,具体包括:

如果两团点云最近点之间的平均相对距离小于单个点云内部点之间的平均相对距离,则判断所述两团点云为两类点云。

可选地,计算所述分类后的点云数据的平均相对距离,具体包括:

假设点pi为任一类点云中的点,根据点云密度的大小,设置所述点pi的最邻近点的个数,采用如下公式计算所述最邻近点到所述点pi的平均相对距离:

其中,mp为所述点pi最邻近点的个数,pi为第i个最邻近点到所述点pi的距离,pright为所述最邻近点到所述点pi的平均相对距离。

可选地,如果点pi在该类点云的表面,则令所述点pi的最邻近点到所述点pi的平均相对距离为d1;

如果点pi在所述该类点云的边缘,则所述点pi最邻近点的一半在该类点云表面,所述一半最邻近点到所述点pi的平均相对距离d2等于d1,另一半在该类点云之外,所述另一半最邻近点到所述点pi的平均相对距离d3大于d1;

如果点pi在所述该类点云的角点位置,则所述点pi最邻近点的四分之一在该类点云表面。

可选地,根据点云数据的平均相对距离提取点云边缘,具体包括:

针对任一类点云:

将该类点云中每个点与所述每个点的最邻近点的平均相对距离进行排序,并确定所述该类点云中所有点的阶跃函数;

根据所述阶跃函数和所述点云的位置提取所述该类点云的边缘。

可选地,对提取的所述点云边缘的可信度进行评判。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

将根据原始图像的灰度信息获得的物体轮廓信息与所述点云平均相对距离信息获得的点云轮廓信息进行比较,确保所述点云轮廓的准确性。

可选地,在根据所述点云边缘的信息,对所述分类后的点云进行表面拟合之前,该方法还包括:

获得准确的点云轮廓之后,采用点云频率的方法,对所述点云进行滤波。

其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器610代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。

本申请实施例还提供了一种计算设备,具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(personaldigitalassistant,pda)等。该显示终端可以包括中央处理器(centerprocessingunit,cpu)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

针对不同的用户设备,可选地,用户接口620可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。

处理器600负责管理总线架构和通常的处理,存储器610可以存储处理器600在执行操作时所使用的数据。

可选地,处理器600可以是cpu(中央处埋器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或cpld(complexprogrammablelogicdevice,复杂可编程逻辑器件)。

存储器610可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。

处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。

本申请实施例提供了一种计算机存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。

所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nandflash)、固态硬盘(ssd))等。

综上所述,本申请实施例提供的一种三维点云处理方法及装置,用以实现散乱无序的三维点云表面重构。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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