点云编码是计算机视觉吗,全视角点云数据定长有序化编码方法、设备及存储介质与流程...

18e4fad10af200737370a7078c8592b8.gif

本发明属于计算机视觉和图像处理领域,涉及三维点云编码方法。

背景技术:

随着三维传感设备的广泛应用,物体三维信息的获得与处理如三维重建受到越来越多的重视。点云是立体视觉和激光扫描仪等三维传感设备的原始输出,是三维视觉领域最基本的数据格式之一,它是获取物体三维信息和随后重建物体表面的基础,这种格式的数据通常以无序的形式记录被观测物体表面大量空间点的三维坐标。点云数据处理就是通过对大量具有坐标信息的点进行分析来获得这些点所表征物体的类别、位姿、三维等信息的过程。点云数据的无序性使得相关计算需要大量的计算资源,直接影响了后续的数据分析。

目前市面上常用的解决点云无序性的方法有三种。

第一种方法是模拟二维图像中的像素点,将点云转化为空间三维体素,该方法消除了点云的无序性,但计算复杂度仍然很高。

第二种方法是利用点云数据中各点相对位置关系对原始点云数据中的点重新排序,例如k-dtree结构和octree结构,但这种方法获得的数据只反映点云数据中各点间的位置关系,没有从原始点云数据中提取出全局特征,在点云识别领域作用有限。

第三种方法是利用对称函数,只要点云数据中包含的点信息不变,无论点的排序如何变化,对称函数总能从中提取到相同的信息。

深度网络pointnet使用了对称函数max-pooling,在对点云数据中所有点进行一系列同样运算后,获得运算结果中的最大值,在点云分类上取得了良好的效果,但max-pooling会导致点云原始信息的大量丢失,后续改进效果不佳,成果难以进一步提升。山东大学李团队设计的深度网络pointnet设计使用x-ray矩阵,用x-ray矩阵与原始点云数据相乘获得新的点云数据,当原始点云数据中点的顺序发生改变,x-ray矩阵也会相应发生改变,令获得的点云数据保持不变,该方法不会导致点云信息丢失,但其计算复杂度极高,且难以获得完美的x-ray矩阵。

技术实现要素:

发明目的:提供一种全视角点云数据定长有序化编码方法,以解决现有技术存在的上述问题。

技术方案:全视角点云数据定长有序化编码方法,包括如下步骤:

获取点云并归一化处理;

构建包含多个坐标系的规范坐标系集;

基于所述规范坐标系集,对所述点云进行重编码,计算并记录获得的交点数据,得到定长有序的三维结构数据;

将所述三维数据转化为定长有序的一维结构数据。

在进一步的实施例中,所述获取点云并归一化处理的过程进一步为:

去除点云中的离群点,设置以点云重心为坐标原点的新坐标系;

获取新坐标系中距离原点最远的点,以最远点和原点间的欧式距离为单位距离,方向保持原坐标系方向不变,以新坐标系中的原始点云作为输出,得到归一化的初始点云和新坐标系。

在进一步的实施例中,在构建新坐标系前,使用主向量分析法调整点云姿态。

在进一步的实施例中,所述构建包含多个坐标系的规范坐标系集的过程进一步为:

将规范坐标系集中的坐标系分成若干组,相同组别的坐标系,其x轴在新坐标系中方向相同

在进一步的实施例中,所述计算并记录获得的交点数据的过程具体为:

计算规范坐标系x轴在正方向与点云所表征物体表面相交点附近的拟合平面的近似方程;

计算规范坐标系x轴在正方向与点云所表征物体表面的相交点近似坐标。

在进一步的实施例中,当规范坐标系x轴在正方向与点云所表征物体表面没有交点时,构建以新坐标系的原点为球心,半径为1的单位球体球面,采用规范坐标系x轴正方向与球面的交点作为规范坐标系x轴在正方向与点云所表征物体表面的相交点。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项方法的步骤。

有益效果:输入为任意长度的无序点云数据,输出为具有定长结构的有序点云编码数据。该方法可以保证:表征相似物体的多个不同点云数据,经过点云编码之后,获得的定长数据彼此间具有极高的相似性,并且通过比较获得的定长数据间的编码码值差异,可度量物体相似度。

附图说明

图1是本发明的流程图。

图2a和图2b是表征相同物体的两份点云数据。

图3a和图3b是经过重编码后的点云数据效果图。

具体实施方式

如图1所示,描述本发明的具体处理过程和技术细节。

步骤一,对输入点云进行归一化处理

去除原始点云数据中明显离群点,根据情况决定是否使用主向量分析(pca)调整点云姿态,获得点云t。设置新的坐标系,该坐标系以点云t重心为坐标原点,获得t中距原点最远的点,以最远点和原点间的欧氏距离为单位距离,方向保持原坐标系方向不变,以新坐标系中的原始点云作为输出,得到归一化的初始点云p与新坐标系{g}。

步骤二,在以g原点为球心,半径为1的单位球体内建立规范化坐标系集{sn}规范化坐标系集{sn}中单个坐标系{s}可由以下方式获得:一个原点与坐标轴方向与{g}完全相同的初始坐标系{o},仅令{o}绕任意轴(除x轴以外)旋转一次,使其x轴方向变为(α,β,γ),旋转矩阵记作m,再将其原点坐标平移到(x,y,z)。变换后的坐标系{s}可用w(x,y,z,α,β,γ)表示,其中(x,y,z)表示坐标系{s}的原点在{g}下的笛卡尔坐标,(α,β,γ)表示{s}的x轴正方向在{g}中的方向。

为使坐标系集{sn}中的坐标系更均匀的分布于空间,并使后续计算更为简单,将{sn}中的坐标系分为m组,每组共w个坐标系,并利用斐波那契球构建坐标系集{sm}。相同组别的坐标系,其x轴方向(αn,βn,γn)是相同的,由以下公式给出:

γn=(2*n-1)/2-1

其中:

此外,第i组别中第k个坐标系wik的空间原点位置(xik,yik,zik)由以下公式给出:

步骤三,计算坐标系wik的x轴在正方向与p所表征物体表面相交点附近的拟合平面的近似方程。

以坐标系wik的x轴正方向为圆柱中轴线,以0.2为圆柱半径,记录p中所有落在圆柱内的点,点集集合为v{a1,a2…},这些点即空间中位于wik的x轴附近的点。分别计算v中各点ai到wik的原点距离d和它的临近点{ai1,ai2,ai3},ai的临近点指的是v中除ai自身以外,离ai最近的三个点。选择可以通过自身与其临近点拟合出p所表征物体表面,且满足wik的x轴穿过此拟合表面,且距离原点最小的点ae。此时点ae与其3个临近点拟合的平面记为f,4个点坐标分别记作[x1y1z1],[x2y2z2],[x3y3z3],[x3y3z3]如果无法找到这些点,则拟合平面f表示为以{g}的原点为球心,半径为1的单位球体球面。

步骤四、计算坐标系{wik}的x轴正方向与p所表征物体表面的交点q。

a,当f是以{g}的原点为球心,半径为1的单位球体球面时,使用球面方程与wik位姿计算交点q。交点坐标q(xik,yik,znik)计算过程由以下公式给出:

b,当f是由p中4个空间点拟合时,利用双线性内插法,使用4点坐标与wik位姿计算交点q(xik,yik,zik),计算过程由以下公式给出:

步骤五,重复步骤三到步骤四,根据各坐标系在坐标系集中的顺序,对原始点云进行顺序固定的重编码,并将获得的交点依次记录,获得定长有序的三维结构数据。

步骤六,根据获得的三维结构数据,按照顺序计算数据中的点与其重编码时对应的坐标系原点间的距离,将定长有序的三维结构数据转化为定长有序的一维结构数据。

实施案例:

本专利使用的原始数据集由两部分组成,第一部分是modelnet40数据集,modelnet40数据集是点云集modelnet的子集,具有40类超过10000个经过人工验证方向的点云数据,是目前最流行的点云数据集之一。第二部分为自制点云数据集,由人工采集点云数据或cad转化的点云数据集组成。

对表征同一个物体,但具有不同数目及大小的点云数据进行重编码,比较编码后的误差。

步骤一:从数据集中取出表征同样物体,点云数目不同,点云空间坐标几乎没有重合的两份点云数据pointcloud1和pointcloud2。图2a和图2b是两幅点云图分别展示的图像。

步骤二:根据事先建立的规范坐标系集,将两份点云数据归一化后进行重编码,经过重编码后的点云数据都成为具有7200个点的点云数据,编码后的数据如图3a和图3b所示。

步骤三:计算两份点云数据重编码后的误差,根据重编码后的具有7200个一维数据的定长一维结构数据,计算这两个数据集的差距,计算公式如下:

其中a(i),b(i)分别表示重编码后的两份定长一维结构数据第i位数据。

两份重编后的点云数据比较误差d=0.016,由实验结果可知,该编码方式对点云数和空间坐标完全不同的,表征同一个物体的点云进行编码后,两个点云的误差极小,因此该编码方式可以有效的用于点云识别和点云分割等领域。

总之,基于上述对不同点云处理方法的分析,同时考虑到点云处理的自动化程度,稳定性及速度等因素,本发明提出了一种基于原始点云位姿信息的规范化点云编码方法,将原始点云编码为定长有序的结构数据,以利于后续点云处理。该方法可以将具有任意数量点的点云数据编码为定长结构的点云数据,具有速度快,方法简单易实施,编码后数据易于后续处理等优点。

以上详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换,这些等同变换均属于本发明的保护范围。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值