本发明涉及基于支持向量机的三维点云压缩编码优化方法,属于图像处理技术领域。
背景技术:
随着三维数据采集设备能力的提高,三维点云已经成为表达物体或者场景的一种有效方式。三维点云(点云数据)包括很多点的集合,即
点云压缩主要分为几何压缩和颜色属性压缩,现有的成熟且被广泛应用的点云压缩编码平台是基于点云库(pointcloudlibrary,pcl)的点云压缩软件(pointcloudcompression,pcc),即pcl-pcc点云压缩编码平台。此平台的压缩框架主要包含以下关键技术,如图1所示。
(1)几何压缩,根据点云的位置信息确定包围盒的大小,并将此包围盒作为根节点进行八叉树的分解,根据编码器中预先设定的八叉树层级分解参数octreelevel进行八叉树的迭代分解,如图2所示。最后对分解后的八叉树结构中每个子节点是否包含点的情况进行熵编码,进而实现几何信息的压缩。
(2)颜色属性压缩,八叉树分解完成后,基于深度优先的八叉树遍历原则,将点云的颜色信息映射到二维的jpeg图片网格中,然后使用已有的jpeg编码器,对颜色信息进行变换,根据预先设定的jpeg-value值对变换后的系数进行量化和熵编码。
基于上述分析,pcl-pcc编码器预先设定的编码参数很大程度上决定了编码效率和重建后点云的质量,尤其是决定几何信息压缩效率的重要参数octreelevel和决定颜色属性信息压缩效率的重要参数jpeg_value。然而,在现阶段这些编码参数的设定大都是靠经验给定,并没有切实有效的算法给出最优的编码参数对(octreelevel,jpeg_value)。
实际应用中,现有的octreelevel的经验值范围为5~9,jpeg-value的经验值范围为50~100,产生的可能的编码参数对(octreelevel,jpeg_value)为255种组合,对于给定的编码比特数,使得失真最小的编码参数对(octreelevel,jpeg_value)就是该点云压缩的最优编码参数对。上述问题可以转化为常见的回归问题,即从255种可能的编码参数对中预测出最优编码参数对。
机器学习中的支持向量机(svm)是一种基于数理统计理论发展起来的统计学习理论,能够解决回归问题、局部最优值等问题。svm的核心思想是寻找一个满足分类要求的最优分类超平面,该超平面在保证分类精度的同时,应使分类间隔最大化。svm算法具有系统结构简单,全局最优,推广能力强和学习时间短等优点。然而在svm解决回归问题时,目标特征的提取是该类算法的重要环节。结合点云的压缩过程发现,点云中的点的分布的特性很大程度上影响着几何和颜色信息的压缩性能。
技术实现要素:
针对现有的pcl-pcc点云编码器中的编码参数的优化问题,本发明提供了一种基于支持向量机svm的编码器参数优化方法,大大提高了点云的压缩性能。
本发明首次提出pcl-pcc编码器中基于支持向量机支持向量机对重要编码参数octreelevel和jpeg_value的优化算法,该算法首先对点云的几何信息和颜色信息进行预处理,去除点云采集过程中引入的误差;然后提取点云的特征向量,为下一步的支持向量机的训练过程和测试过程提供特征向量信息;对于给定的目标码率,利用全搜索的方法找到使得失真最小的最优的参数对(octreelevel,jpeg_value),对训练集中的所有点云都提取给定目标码率下的最优的标签,将最优标签信息和特征向量信息写入训练集,利用支持向量机以及训练集信息训练得到模型,紧接着利用训练得到的模型对测试集里的特征向量信息进行测试,预测出连续域上最优的测试标签,再根据预测的标签以及标签索引与参数对的对应关系得到测试集的最优的参数对(octreelevel,jpeg_value)。
本发明的技术方案为:
一种基于支持向量机的点云压缩编码器关键参数优化方法,包括步骤如下:
(1)点云数据预处理:
①对点云信息中的几何信息进行均一化预处理;
②对点云
③对点云信息中的颜色信息进行rgb与yuv格式转化预处理;
④对步骤③预处理后的颜色信息进行进一步的均一化处理;
(2)点云分布特征提取:
⑤将点云
⑥对于投射到x_y平面的点集
对于投射到y_z平面的点集
对于投射到x_z平面的点集
对于一个给定的点云数据,其特征向量定义为:
(3)svm的训练预测:
⑦从m0个点云数据中,挑选出m1个点云数据作为训练集,剩余的m0-m1个点云数据作为测试集;
⑧对于训练集,对于给定的目标码率rtarget,输入每个点云数据的特征向量f和标签loptimal;
在给定目标码率rtarget条件下,使用全搜索的方式找到最优的编码参数对(octreelevel,jpeg_value),octreelevel、jpeg_value分别表示三维点云编码编码器中的八叉树层数和量化参数;并将最优的编码参数对(octreelevel,jpeg_value)映射成对应的标签l(t,c),t表示目标码率的值,c表示的点云的名字。
根据本发明优选的,步骤①,是指:读取点云
根据本发明优选的,步骤②,对点云
式(i)中,
根据本发明优选的,步骤③,读取点云
式(ii)中,ri,gi,bi分别表示颜色信息的红色分量、绿色分量和蓝色分量,yi,ui,vi分别表示亮度信号、蓝色色差信号和红色色差信号。
根据本发明优选的,步骤④,对得到的(yi,ui,vi)信号进行进一步的均一化处理,如式(iii)所示:
式(iii)中,
根据本发明优选的,投射到x_y平面得到的点集
式中,pxy_i表示点云
投射到y_z平面得到的点集
式中,pyz,j表示点云
投射到x_z平面得到的点集
式中,pxz,k表示点云
根据本发明优选的,步骤⑥,提取x_y平面上点集
式中,nxy表示
根据本发明优选的,步骤⑥,提取y_z平面上点集
式中,nyz表示
根据本发明优选的,步骤⑥,提取x_z平面上点集
式中,nxz表示
根据本发明优选的,将最优的编码参数对(octreelevel,jpeg_value)映射成对应的标签l(t,c),包括步骤如下:
a、定义标签索引:l(t,c)=(octreelevel-5)×51+(jpeg_value-50)+1;
b、对每个点云使用255种可能的编码参数对对其进行编码,得到每一种编码参数对设置下,每个点云的编码比特数r(l,c)和失真d(l,c)值;
c、对于给定的rtarget,遍历每个点云的255种编码参数对下所有的r(l,c),找出小于rtarget的所有参数对的集合starget_search={j|rj(l,c)≤rtarget},在集合starget_search中找到唯一一个使得d(l,c)最小的编码参数对作为最优的编码参数对,并将其对应的标签索引;loptimal作为该点云在rtarget条件下的训练标签;
d、将m1点云的特征向量f与求得的训练标签loptimal以(loptimal,f)方式输入训练集:
训练得到svm模型;
e、将剩余的m0-m1个点云的特征向量f,依次输入测试集:
采用训练后的svm模型直接求出测试集中的点云在当前码率下对应的最优的标签,根据该标签的索引以及参数对与标签索引的关系,得到每个点云相应的最优的编码参数对(octreelevel,jpeg_value)。
本发明的有益效果为:
1、本发明首次提出了针对编码器关键参数的优化算法,同时考虑到几何和属性信息的编码参数,并同时对其各自的编码参数进行优化设置,大大提高了目标码率下的重建点云的质量。
2、本发明提出的基于支持向量机的编码器参数优化算法,具有很强的泛化能力,并且能够根据训练集的扩大和优化而不断的自动进行模型的更新,更加准确的预测出测试集中的最优编码参数对。
附图说明
图1是现有pcl-pcc点云编码框架流程图;
图2是svr框图;
图3是本发明基于支持向量机的编码器关键参数优化算法处理流程图;
图4(a)是点云dimitris低码率效果对比图;
图4(b)是点云longdress低码率效果对比图;
图4(c)是点云sequence_56低码率效果对比图;
图4(d)是点云egyptian_mask低码率效果对比图;
图4(e)是点云dimitris高码率效果对比图;
图4(f)是点云longdress高码率效果对比图;
图4(g)是点云sequence_56高码率效果对比图;
图4(h)是点云egyptian_mask高码率效果对比图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于支持向量机的点云压缩编码器关键参数优化方法,如图3所示,包括步骤如下:
(1)点云数据的预处理过程如下:
①对点云信息中的几何信息进行均一化预处理;是指:读取点云
②对点云
式(i)中,
③对点云信息中的颜色信息进行rgb与yuv格式转化预处理;读取点云
式(ii)中,ri,gi,bi分别表示颜色信息的红色分量、绿色分量和蓝色分量,yi,ui,vi分别表示亮度信号、蓝色色差信号和红色色差信号。
④对步骤③预处理后的颜色信息进行进一步的均一化处理;如式(iii)所示:
式(iii)中,
(2)点云分布特征提取:
⑤将点云
⑥对于投射到x_y平面的点集
对于投射到y_z平面的点集
对于投射到x_z平面的点集
对于一个给定的点云数据,其特征向量定义为:
(3)svm的训练预测:
⑦从m0个点云数据中,m0=30,挑选出m1个点云数据作为训练集,m1=26,剩余的4个点云数据作为测试集;
⑧对于训练集,对于给定的目标码率rtarget,输入每个点云数据的特征向量f和标签loptimal;
在给定目标码率rtarget条件下,使用全搜索的方式找到最优的编码参数对(octreelevel,jpeg_value),octreelevel、jpeg_value分别表示三维点云编码编码器中的八叉树层数和量化参数;并将最优的编码参数对(octreelevel,jpeg_value)映射成对应的标签l(t,c),t表示目标码率的值,c表示的点云的名字。
实施例2
根据实施例1所述的一种基于支持向量机的点云压缩编码器关键参数优化方法,其区别在于:
步骤⑤中,投射到x_y平面得到的点集
式中,pxy_i表示点云
步骤⑤中,投射到y_z平面得到的点集
式中,pyz,j表示点云
步骤⑤中,投射到x_z平面得到的点集
式中,pxz,k表示点云
实施例3
根据实施例1所述的一种基于支持向量机的点云压缩编码器关键参数优化方法,其区别在于:
步骤⑥,提取x_y平面上点集
式中,nxy表示
步骤⑥,提取y_z平面上点集
式中,nyz表示
步骤⑥,提取x_z平面上点集
式中,nxz表示
实施例4
根据实施例1所述的一种基于支持向量机的点云压缩编码器关键参数优化方法,其区别在于:
将最优的编码参数对(octreelevel,jpeg_value)映射成对应的标签l(t,c),包括步骤如下:
a、定义标签索引:l(t,c)=(octreelevel-5)×51+(jpeg_value-50)+1;
b、对每个点云使用255种可能的编码参数对对其进行编码,得到每一种编码参数对设置下,每个点云的编码比特数r(l,c)和失真d(l,c)值;
c、对于给定的rtarget,遍历每个点云的255种编码参数对下所有的r(l,c),找出小于rtarget的所有参数对的集合starget_search={j|rj(l,c)≤rtarget},在集合starget_search中找到唯一一个使得d(l,c)最小的编码参数对做为最优的编码参数对,并将其对应的标签索引;loptimal作为该点云在rtarget条件下的训练标签;
d、将26个点云的特征向量f与求得的训练标签loptimal以(loptimal,f)方式输入训练集:
训练得到svm模型;
e、将剩余的4个点云的特征向量f,依次输入测试集:
采用训练后的svm模型直接求出测试集中的点云在当前码率下对应的最优的标签,根据该标签的索引以及参数对与标签索引的关系,得到每个点云相应的最优的编码参数对(octreelevel,jpeg_value)。
本实施例的效果可以通过实验进一步说明。图4(a)是点云dimitris低码率效果对比图;图4(b)是点云longdress低码率效果对比图;图4(c)是点云sequence_56低码率效果对比图;图4(d)是点云egyptian_mask低码率效果对比图;图4(e)是点云dimitris高码率效果对比图;图4(f)是点云longdress高码率效果对比图;图4(g)是点云sequence_56高码率效果对比图;图4(h)是点云egyptian_mask高码率效果对比图;测试的点云中,点的数量变化范围较大,因此,编码每个点云使用的码率变化范围也很大,因此,本实施例中使用编码每个点的比特数作为目标码率(bpp)的计量方式。图4(a)-图4(h)中,横坐标表示的给定的不同的目标码率,纵坐标表示的是在给定的目标码率下选择的最优的编码参数对所对应的编码psnr,即r-psnr曲线。图4(a)-图4(d)表示的是低目标码率情况下,本发明与全搜索的对比结果;低码率的情况是bpp=1.6,2.2,2.8,3.4;图4(e)-图4(h)表示的是高码率情况下,本发明与全搜索的对比结果,高码率的情况是bpp=3.5,4.6,6,7.7。由图4(a)-图4(h)可知,本发明在不同的目标码率下,预测得到的r-psnr非常接近全搜索的结果,甚至可以与全搜索结果完全相同,而本发明仅需要3次预编码,效率远远高于使用255次编码的全搜索方法。