一种点云属性预测方法及其设备与流程

文档序号:27945019发布日期:2021-12-11 13:42阅读:97来源:国知局
1.本技术属于点云数据处理
技术领域
:,具体而言,涉及一种点云属性预测方法及其设备。
背景技术
::2.三维点云是现实世界数字化的一种重要表现形式。随着三维扫描设备(如激光雷达、深度摄像机等)的快速发展,点云的精度和分辨率变得越来越高。高精度点云在众多领域(比如三维建模、科学可视化等)具有广泛的应用。特别地,三维点云数据越来越成为虚拟现实、增强现实、无人驾驶、机器人定位与导航等新兴应用中极其重要的核心数据之一,其在众多热门研究中起到了技术支撑作用。点云是三维扫描设备对物体表面采样所获取的,一帧点云的点数一般是百万级别,其中每个点包含几何信息和颜色、反射率等属性信息,数据量十分庞大。三维点云庞大的数据量给数据存储、传输等带来了巨大挑战,因此对点云进行压缩变得十分重要。技术实现要素:3.本公开旨在至少一定程度上解决上述技术问题,基于发明人对以下事实和问题的发现和认识:点云压缩的框架,目前主要有国际标准组织mpeg(movingpictureexpertsgroup)所提供的tmc13v12.0(testmodelforcategory1&3version12.0)和中国avs(audiovideocodingstandard)点云压缩工作组所提供的pcrmv2.0(pointcloudreferencesoftwaremodelversion2.0)两个测试平台。两个测试平台均采用基于几何(geometry‑basedpointcloudcompression,g‑pcc)的压缩方法,该方法对点云的几何信息与属性信息分别进行编码。在测试平台pcrmv2.0中,针对点云的属性信息,特别针对其中的激光雷达点云数据集的反射率属性,在对其进行基于插值预测的点云属性预测编码时,会将所有点按照一定的顺序(莫顿序,希尔伯特序)进行排列,基于此顺序,使用差分方式进行属性预测,第一步首先遍历排序后的点云。对于第一个点,因为没有参考点进行预测,其预测值为0,设当前待编码点属性值为a0,则预测残差r0=a0,在接受一定程度的属性信息损失的情况下,为了节省码率,会对预测残差进行量化,对量化残差进行熵编码。将第一个点的量化残差码流解码,再经过反量化即可得到预测残差(量化与反量化是有损的操作,此时的预测残差不等于r0),此时的预测残差加上第一个点的预测值0即可得到第一个点的属性重建值。对于剩余待编码点,在编码其中某一个点的反射率属性时,在已经编码的点集合中寻找当前编码点的k个最近邻居点作为预测点,然后利用k个预测点与当前待编码点之间的曼哈顿距离的倒数作为权重,计算k个邻居点的属性重构值的加权平均值,作为当前待编码点的属性预测值。与第一步相同,得到量化残差,对其进行熵编码。重复上述步骤,直至处理完点云中的所有点,得到激光雷达点云反射率属性的码流。4.然而对于激光雷达点云,反射率属性与角度,反射系数也有较强的相关性,上述的加权模式存在以下问题:基于希尔伯特序或莫顿序查找到与当前待编码点曼哈顿距离最近的k个预测点中,部分点的反射率属性相关性被其他影响因素削弱,导致这些预测点与当前待编码点的属性值差异过大,导致预测残差变大,降低了压缩效率。5.鉴于此,本公开提出了一种点云属性预测方法及其设备,以解决相关技术中存在的问题,提高激光雷达点云属性信息(反射率)的压缩性能。6.根据本公开的第一方面,提出点云属性预测方法,包括:7.确定当前待编码点的k个近邻点;8.确定点云属性预测模式;9.根据预测模式确定当前待编码点的属性预测值。10.可选地,所述确定当前待编码点的k个近邻点,包括:11.(1)设原始点云中第k个点的笛卡尔坐标为(xk,yk,zk),k=0,···k‑1,k为原始点云中的点云数;12.(2)对原始点云的笛卡尔坐标进行量化转换,量化后的点云笛卡尔坐标为xk=round(xk/qs),yk=round(yk/qs),zk=round(zk/qs),其中,qs为设定的几何量化步长,qs>0,round(s)为距离s最近的整数的运算符,13.(3)对点云进行重构,包括:14.(3‑1)对点云的笛卡尔坐标进行反量化转换,反量化转换后的点云坐标为xk′=round(xk*qs),yk′=round(yk*qs),zk′=round(zk*qs),得到重构点云的几何信息;15.(3‑2)为重构点云中的每个点计算新的属性值,对点云属性重上色,包括:16.(3‑2‑1)设原始点云和重构点云的几何信息分别为(pi)i=0…k‑1和设原始点云中原始点pi的原始属性值(ai)i=0…k‑1,其中k和krec分别为原始点云和重构点云的总点数;17.(3‑2‑2)针对重构点云中的每个点在原始点云中建立与q(i)的关系,其中q(i)为原始点云中被量化为的点集,q(i)=(pk(i))k∈{1,…,d(i)},d(i)为q(i)中包含点的个数;18.(3‑2‑3)计算重构点云中每个点的重构属性值的重构属性值其中,ak(i)为与原始点云中原始点pk(i)相对应的原始属性值,wk(i)表示每个原始点的加权权重wk(i),其中,表示原始点pk(i)除以几何量化步长qs后的值,‖‖1为矩阵的1‑范数,∈为一个常数,∈>0;19.(4)遍历重构点云中所有点的几何坐标,利用迭代查询表hilberttable[12][64][2],得到与重构点云中所有点相对应的希尔伯特码;按照从小到大的顺序,对所有希尔伯特码进行排序,得到希尔伯特序;[0020](5)设当前待编码点为pcur,当前待编码点为pcur的几何坐标为(xcur,ycur,zcur),根据所述希尔伯特序,将当前待编码点pcur的前m个点为pj,pj的几何坐标为(xj,yj,zj),j=0···m‑1;利用公式|xcur‑xj|+|ycur‑yj|+|zcur‑zj|,分别计算当前待编码点与m个点的曼哈顿距离,从m个点中选取与当前待编码点pcur的曼哈顿距离最近的k个点,将该k个点作为当前待编码点pcur的k个最近邻点,k<m。[0021]可选地,所述确定预测模式,包括:[0022](1)对当前待编码点云pcur的k个近邻点进行由近及远排序,得到序列p1p2···pk,其中p1为与当前待编码点pcur的曼哈顿距离最近的点;[0023](2)设p1的属性值为a1,与当前待编码点的曼哈顿距离最远的点即为pk,设pk的属性值为ak;[0024](3)设定阈值为a_diff;[0025](4)根据最近邻点p1与最远邻点pk的属性值差值的绝对值|a1‑ak|与预设阈值a_diff的大小关系确定预测模式:[0026]若最近邻点p1与最远邻点pk的属性值差值的绝对值不超过阈值,即|a1‑ak|≤a_diff,则使用加权模式来获取当前待编码点的属性预测值a,若最近邻点p1与最远邻点pk的属性值差值的绝对值超过阈值,|a1‑ak|>a_diff,则采用最近邻点预测模式来获取当前待编码点的属性预测值a。[0027]根据本公开的第二方面,提出一种点云属性预测设备,包括处理器、存储器、通信接口以及通信总线;存储器上存储有可被处理器执行的计算机可读程序;通信总线实现处理器和存储器之间的连接通信;处理器执行计算机可读程序时实现:[0028]确定当前待编码点云的k个近邻点;[0029]确定点云属性预测模式;[0030]根据预测模式确定当前待编码点的属性预测值。[0031]根据本公开的实施例,通过加权模式与最近邻点预测模式的结合,更好地利用了激光雷达点云的每个点与其邻居点的空域关联性,提高预测的精度,从而减小了预测残差,有效地提高了激光雷达点云属性信息编码的效率。[0032]本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明[0033]为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显然,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0034]图1是根据本公开一个实施例的点云属性预测方法的流程示意图。[0035]图2是根据本公开一个实施例,点云属性预测方法在pcrmv2.0具体实施的流程框图。[0036]图3是pcrmv2.0通用测试条件下几何量化步长示意图。[0037]图4是希尔伯特顺序查询表hilberttable[12][64][2]。[0038]图5是希尔伯特顺序排序示意图。[0039]图6是本发明提供的另一种点云属性预测方法实施例的流程图。具体实施方式[0040]下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。[0041]图1是根据本公开一个实施例示出的一种点云属性预测方法的流程示意图,本实施例所示的一种点云属性预测方法,可以适用于用户设备。[0042]如图1所示,点云属性预测方法可以包括以下步骤:[0043]在步骤1中,确定当前待编码点云的k个近邻点;[0044]在一个实施例中,确定当前待编码点的k个近邻点,包括:[0045](1)设原始点云中第k个点的笛卡尔坐标为(xk,yk,zk),k=0,···k‑1,k为原始点云中的点云数;[0046]开始对点云信息的几何部分进行编码,对于待编码的点云数据,首先处理点云的几何位置信息,几何位置信息即各个点的三维坐标信息,在几何信息能接受一定限度损失的情况下,如果输入点云中存在重复点(多个点的几何坐标相同),可选择在该几何坐标位置仅保留一个点。即去除多余的重复点,且点云中的点的坐标会通过量化转换成整数型的坐标。[0047](2)对原始点云的笛卡尔坐标进行量化,量化后的点云笛卡尔坐标为xk=round(xk/qs),yk=round(yk/qs),zk=round(zk/qs),其中,qs为设定的几何量化步长,qs>0,round(s)为距离s最近的整数的运算符,[0048](3)对点云进行重构,包括:[0049](3‑1)对点云的笛卡尔坐标进行反量化转换,反量化转换后的点云坐标为xk′=round(xk*qs),yk′=round(yk*qs),zk′=round(zk*qs),得到重构点云的几何信息;[0050](3‑2)为重构点云中的每个点计算新的属性值,对点云属性重上色,包括:[0051](3‑2‑1)设原始点云和重构点云的几何信息分别为(pi)i=0…k‑1和设原始点云中原始点pi的原始属性值(ai)i=0…k‑1,其中k和krec分别为原始点云和重构点云中的点数;[0052](3‑2‑2)针对重构点云中的每个点在原始点云中建立与q(i)的关系,其中q(i)为原始点云中被量化为的点集,q(i)=(pk(i))k∈{1,…,d(i)},d(i)为q(i)中包含点的个数;[0053](3‑2‑3)计算重构点云中每个点的重构属性值的重构属性值其中,ak(i)为与原始点云中原始点pk(i)相对应的原始属性值,wk(i)表示每个原始点的加权权重wk(i),其中,表示原始点pk(i)除以几何量化步长qs后的值,‖‖1为矩阵的1‑范数,∈为一个常数,∈>0,本发明的一个实施例中,∈的取值可以为0.1;[0054](4)遍历重构点云中所有点的几何坐标,利用如图4所示的迭代查询表hilberttable[12][64][2],得到与重构点云中所有点相对应的希尔伯特码;按照从小到大的顺序,对所有希尔伯特码进行排序,得到希尔伯特序如图5所示;[0055](5)设当前待编码点为pcur,当前待编码点为pcur的几何坐标为(xcur,ycur,zcur),根据所述希尔伯特序,将当前待编码点pcur的前m个点为pj,pj的几何坐标为(xj,yj,zj),j=0···m‑1;分别计算当前待编码点与m个点的曼哈顿距离,曼哈顿距离的计算方法为|xcur‑xj|+|ycur‑yj|+|zcur‑zj|,从m个点中选取与当前待编码点pcur的曼哈顿距离最近的k个点,将该k个点作为当前待编码点pcur的k个最近邻点,k<m。[0056]在步骤2中,确定点云属性预测模式;[0057]在一个实施例中,确定预测模式,包括:[0058](1)对当前待编码点云pcur的k个近邻点进行由近及远排序,得到序列p1p2···pk,其中p1为与当前待编码点pcur的曼哈顿距离最近的点;[0059](2)设p1的属性值为a1,与当前待编码点的曼哈顿距离最远的点即为pk,设pk的属性值为ak;[0060](3)设定阈值为a_diff;[0061](4)根据最近邻点p1与最远邻点pk的属性值差值的绝对值|a1‑ak|与预设阈值a_diff的大小关系确定预测模式:[0062]若最近邻点p1与最远邻点pk的属性值差值的绝对值不超过阈值,即|a1‑ak|≤a_diff,则使用加权模式来获取当前待编码点的属性预测值a,wi为权重,wi的值等于第i个近邻点与当前待编码点的曼哈顿距离。若最近邻点p1与最远邻点pk的属性值差值的绝对值超过阈值,|a1‑ak|>a_diff,则采用最近邻点预测模式来获取当前待编码点的属性预测值a,a=aj,j=1。[0063]通过加权模式与最近邻点预测模式的结合,更好地利用了激光雷达点云的每个点与其近邻点的空域关联性,提高了点云属性预测的精度,从而减小了预测残差,有效地提高了激光雷达点云属性信息编码的效率。[0064]在一个实施例中,阈值a_diff设为:a_diff=3×attrquantstep+30,其中attrquantstep为属性量化参数。在pcrmv2.0的通用测试条件下,attrquantstep可设为8、16、24、32、40、48。在属性无损,即重建点云与原始点云的属性信息相同的条件下,属性量化参数为0,此时的阈值简化为30。[0065]与本公开的一种点云属性预测方法相对应地,提出了一种点云属性预测设备,本公开的一个实施例中,点云属性预测设备如图6所示,包括处理器、存储器、通信接口以及通信总线;存储器上存储有可被处理器执行的计算机可读程序;通信总线实现处理器和存储器之间的连接通信;处理器执行计算机可读程序时实现:[0066]确定当前待编码点云的k个近邻点;[0067]确定点云属性预测模式;[0068]根据预测模式确定当前待编码点的属性预测值。[0069]为了使本
技术领域
:的人员更好的理解本公开的内容,下面结合附图和以下实施例对本公开作进一步详细描述。[0070]在步骤1中,如图2,本实例具体实施在点云压缩参考平台pcrmv2.0中,对于输入的原始点云,首先处理点云的几何位置信息,几何位置信息即各个点的三维坐标信息,在原始点云中,第k个点的笛卡尔坐标可表示为(xk,yk,zk),k=0,···k‑1,k是点云中的点数。在几何的信息能接受一定限度损失的情况下,如果输入点云中存在重复点(几何坐标相同),可选择在该几何坐标位置仅保留一个点,即去除多余的重复点,且点云中的点的坐标会通过量化转换成整数型的坐标。几何量化步长定义为qs,在pcrmv2.0的通用测试条件中,qs设定如图3所示,在两种几何位宽的情况下(几何位宽为点云中所有点的笛卡尔坐标分量转换为二进制后的最大位数),qs可设定为r1到r6所示的值。量化后的坐标为xk=round(xk/qs),yk=round(yk/qs),zk=round(zk/qs)(这里round(s)函数返回值为距s最近的整数,[0071]为了对几何信息进行编码,使用了八叉树结构,通过莫顿码将整个点云适配到一个立方体,不断地将该立方体分割为八个子立方体,直到每个子立方体只包含单个点。利用莫顿码来构建几何八叉树,用n比特来表示每个坐标值,第k个点的坐标可以表示成莫顿码来构建几何八叉树,用n比特来表示每个坐标值,第k个点的坐标可以表示成莫顿码来构建几何八叉树,用n比特来表示每个坐标值,第k个点的坐标可以表示成第k个点对应的莫顿码可以表示为将每三个比特用八进制数表示为则第k个点对应的莫顿码可以表示成依据莫顿码,按照广度优先从根节点(第0层)构建几何八叉树。第一步,首先将所有的点根据莫顿码的第0个八进制数分到8个子节点中:[0072]·所有的点分到第0个子节点中,[0073]·所有的点分到第1个子节点中[0074]·…[0075]·所有的点分到第7个子节点中[0076]则八叉树第一层的节点划分完毕,由此8个节点构成。第二步,根据划分好的8个节点信息,8比特表示根节点的8个子节点是否被占用。如果至少包含点云中的一个点,其对应的比特bk=1,反之如果该子节点不包含任何点,bk=0。第三步,根据几何位置的莫顿码的第1个八进制数对第一层中被占用的节点进一步划分成8个子节点;用8个比特表示其子节点的占用信息(ln是被占用节点的序号,n=0,…,n1‑1,n1表示第一层被占用的节点数)。第四步,再根据几何位置的莫顿码中的第t个八进制数对第t=2,3,…,n‑2层中被占用的节点进一步划分成八个子节点;并用八个比特表示将其子节点的占用信息(ln是被占用节点的序号,n=0,…,nt‑1,nt表示第t层被占用的节点数)。第五步,对第t=n‑1层,所有的节点成为叶节点。如果编码器配置允许重复点,需要在码流中记录每个被占用的叶节点上的重复点数。至此,点的位置被树的每个节点的占位信息所取代,在每次八叉树节点划分时,该节点的空间占用码包含八个比特(b7b6b5b4b3b2b1b0),分别表示该节点的八个子节点占用的情况,对每个比特进行熵编码。对点云信息的几何部分编码完成后,基于解码后的几何位置处理属性信息。首先对点云进行重构,对点云的笛卡尔坐标进行反量化转换,反量化转换后的点云坐标为xk′=round(xk*qs),yk′=round(yk*qs),zk′=round(zk*qs),得到重构点云的几何信息;给定原始点云的几何和属性信息,以及解码后的重构点云的几何信息,重上色就是为重构点云中的每个点计算新的属性值,使得重构点云和原始点云的属性误差最小。在通用测试条件中,主要使用基于量化的快速重上色的方法,该方法实现过程如下:第一步,设原始点云和重构点云的几何信息分别为(pi)i=0…n‑1和(其中n和nrec分别为原始点云和重构点云中的点数);第二步,对于重构点云中的每个点令q(i)=(pk(i))k∈{1,…,d(i)}为原始点云中,被量化为的点集,其中d(i)为q(i)中包含点的个数;第三步,则是为重构点云中的每个点计算重构的属性值,计算公式表示为其中ak(i)表示点pk(i)对应的原始属性值。wk(i)表示每个原始点的加权权重,权重计算公式其中表示原始点pk(i)除以几何量化步长后的值,∈是一个常数。在进行属性预测之前,首先要对点云进行希尔伯特重排序,然后才进行差分预测。遍历重建的点云几何坐标,基于点云的几何坐标通过迭代查询如图4所示的表hilberttable[12][64][2]得到当前待编码点对应的希尔伯特码。按照希尔伯特码从小到大的顺序对点云进行重排序得到希尔伯特序如图5所示。重排序之后,使用差分方式进行属性预测,第一步首先遍历重排序后的点云。对于第一个点,没有参考点进行预测,其预测值为0,设当前待编码点属性值为a0,则预测残差r0=a0,对于剩余点,均根据当前待编码点在希尔伯特顺序下的前若干点的属性重建值计算出当前待编码点的属性预测值即a′i。设当前待编码点属性值为ai,则预测残差为ri=ai‑a′i,重复第二步直至遍历完整帧点云。具体而言,设当前待编码点为pcur,在预测当前待编码点的属性值acur时,存储了希尔伯特顺序下当前待编码点的前m个点,选取距离当前待编码点曼哈顿距离最近的k(k<m)个点作为当前待编码点的k个最近邻点。[0077]在步骤2中,需要确定预测模式。由步骤1找到的pcur的k个近邻点,由近及远排序为p1p2···pk,距离当前点pcur最近的点即为p1,设其重建属性值为a1,距离当前点最远的点即pk,设其重建属性值为ak,通过比较最近邻点p1与最远邻点pk的属性值差值的绝对值|a1‑ak|与预设阈值a_diff的大小关系来确定预测模式。本方案中阈值设为:a_diff=3×attrquantstep+30,其中attrquantstep为属性量化参数(在pcrmv2.0的通用测试条件下,attrquantstep可设为8、16、24、32、40、48)。在属性无损(重建点云与原始点云的属性信息相同)的条件下,属性量化参数为0,此时的阈值简化为30。当最近邻点p1与最远邻点pk的属性值差值的绝对值不超过阈值时,即|a1‑ak|≤a_diff,使用加权模式来获取当前点的属性预测值a,反之若|a1‑ak|>a_diff,则采用最近邻点预测模式来获取当前点的属性预测值a。[0078]在步骤3中,若使用加权模式,则当前点的预测值权重wi为第i个近邻点与当前点的曼哈顿距离,若采用最近邻点预测模式,则当前点的预测值a=a1。则预测残差r=acur‑a,相应的量化残差为(其中offset为控制舍入的参数),反量化则可得到重建残差相应当前点的重建属性值对剩余的点重复使用该方法,编码每个点的量化残差,得到点云反射率属性的码流。[0079]本公开上述实施例中的基于最近邻点的激光雷达点云反射率属性预测方法,通过加权模式与最近邻点预测模式的结合,削弱了因点与点之间角度,或点与点所在区域反射系数相差过大,造成的近邻点与当前点相比的属性突变,对预测当前待编码点的影响,提高预测的精度,减小预测残差,提高激光雷达点云反射率属性预测的效率。[0080]以上实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1