相位级次编码的虚拟结构光3D点云压缩方法

文档序号:35023821发布日期:2023-08-04 21:25阅读:66来源:国知局
相位级次编码的虚拟结构光3D点云压缩方法

本发明属于3d点云数据压缩领域,特别是涉及一种相位级次编码的虚拟结构光3d点云压缩方法。


背景技术:

1、3d点云数据在3d打印、自动驾驶及文物数字化等领域得到广泛应用,但随着获取数据设备的不断提升,使得3d点云数据不断稠密化,从而对点云数据的处理、传输、存储等提出挑战。因此,研究有效的3d点云压缩方法是目前亟待解决的问题。

2、3d点云的几何压缩方法有基于八叉树分解和基于映射的算法。garcia等人基于八叉树结构采用不同的上下文进行熵编码,实现了点云几何的无损帧内压缩;rente等人将八叉树分解与基于图的变换方法相结合,提出一种针对静态点云几何形状的编码方案;gao等人提出一种利用八叉树编码结合曲率特征评价的点云简化算法。八叉树算法可以实现点云搜索过程中的快速定位,但构建八叉树结构需要时间代价。

3、基于映射的算法时将点云数据转换为二维图像信息,再利用现有的图像压缩技术进行压缩。sun等人提出一种基于分割区域形状的预测方法,在自动驾驶任务中取得了较好的性能;quach等人采用深度卷积自动编码器,确保压缩效果和计算机内存消耗之间的良好平衡;徐等人提出端到端优化的3d点云几何信息有损压缩模型,该模型利用自编码器和深度卷积生成对抗网络算法解决了大面积点云缺失问题。基于深度学习映射的3d点云压缩,在确保精度的同时,实现了数据压缩,但是需要大量的标签数据集。

4、“全息图像”编码法是在结构光理论基础上,提出的一种3d点云几何表示方法,通过将3d点云的浮点型几何信息编码为2d彩色图像存储,有效节约了点云数据的存储空间,当需要3d点云数据时,再从2d图像中恢复即可,这类方法称为虚拟结构光编码算法。如hou等人提出利用彩色图像的两通道对三维轮廓数据进行编码存储方法,用来提高数据压缩效率;karpinsky等人将彩色图像两个主色通道编码为正弦和余弦条纹图,第三个通道编码为阶梯图,实现单幅彩色图像存储三维轮廓数据;wu等人针对虚拟结构光三维数据压缩算法在编解码过程中量化误差大的问题,分别提出了基于几何重排的3d点云虚拟结构光编码算法和虚拟结构光三维数据压缩算法的量化误差抑制方法。上述方法均将3d数据映射为三通道彩色条纹,b通道信息具有数据分布高度离散化、差异性小的特点,但仍然占用和r、g通道同等的数据空间。为了进一步提高该类算法的压缩率,本文提出相位级次编码的虚拟结构光3d点云压缩方法。


技术实现思路

1、为解决上述技术问题,提高虚拟结构光3d点云数据的压缩率,提出了一种相位级次编码的虚拟结构光3d点云压缩方法,与传统基于虚拟结构光的3d点云编码算法相比,本发明所提算法使得数据压缩率有了很大的提高。

2、本发明保护的技术方案为:相位级次编码的虚拟结构光3d点云压缩方法,按照以下步骤进行:

3、步骤1)将几何重排的点云数据通过虚拟结构光编码算法编码到2d图像r、g、b三通道中,其中r、g通道存储受点云模型调制的正、余弦条纹图,b通道存储条纹相位级次索引;

4、步骤2)对b通道的相位级次图进行游程编码,记录编码后的索引值和次数值;

5、步骤3)采用中值边缘预测med算法分别对r、g通道的正余弦条纹图进行预测得到其预测条纹图,计算条纹图与预测条纹图的差值确定标签映射,依据标签值获得编码的位置;

6、步骤4)根据数据存放规则将相位级次的索引值和次数值分别隐藏在r、g通道条纹图像中,得到隐写的正余弦条纹图;

7、步骤5)从正余弦条纹图中提取出编码信息,按照相位级次信息压缩方法,运用逆向思维,反求得到原始的相位级次信息,然后根据三通道存储的信息,进行数据解码过程,即可得到解码后的3d点云数据。

8、进一步的,步骤2)中的具体操作如下:

9、先将b通道存储的相位级次信息ib(i,j)进行游程编码,得到相位级次索引值及对应次数值;将相位级次索引值转换为二进制序列,作为编码信息m1;将相位级次索引对应次数值进行二进制霍夫曼编码压缩,作为编码信息m2,其中像素值x(i,j)转换为八位二进制的计算公式如式(1)所示:

10、

11、其中,表示向下取整。

12、进一步的,所述步骤3)编码位置确定的具体步骤如下:把虚拟结构光编码得到的r通道和g通道的条纹图标记为ir(i,j)、ig(i,j),其大小均为t×t;

13、首先,记录ir(i,j)的第t1行与第一列像素值,并将其转换为二进制序列,作为编码信息m3,其中,1≤t1≤t-1,记录ig(i,j)的第t2行与第一列像素值,并将其转换为二进制序列,作为编码信息m4,其中,1≤t2≤t-1,然后,将ir(i,j)经过med算法,计算每一个像素值x(i,j)(第t1行与第一列像素值除外)的预测值x′(i,j),同理,ig(i,j)计算除第t2行与第一列像素值之外的每一个像素值的预测值,计算公式如式(2)所示:

14、

15、其中,x(i,j)为当前像素,a、b、c为周围像素;

16、像素差值由公式(3)计算,由于像素值预测过程是基于med算法实现的,使得差值的数值范围大部分是分布在0附近的整数,当前像素的标签值通过设置阈值l确定,如式(4)所示;

17、d(i,j)=x(i,j)-x′(i,j)                                (3)

18、

19、其中,0≤l≤4,标签值g(i,j)组成的矩阵称为标签映射,g(i,j)=0代表当前像素位置可以编码信息;g(i,j)=1代表当前像素位置不能编码信息。

20、进一步的,步骤4)中的数据存放规则建立方法的具体步骤如下:

21、通过像素差值确定的标签映射是由标签值0和1组成的矩阵,记录了r、g条纹图像中对应像素位置是否可以用来编码;

22、根据步骤3)中计算得到的标签映射,可以判断条纹图像中某一个像素位置是否可以用来编码,当标签映射中的标签值等于0时,当前像素的八位二进制表示,同时也建立了编码位置的数据存放规则;

23、1)当像素差值d(i,j)=0时,设置像素最低位的标志值f=0,即x1(i,j)=0,由于差值为0不需要记录,剩余(7-r)bits可以全部用来编码信息,其中,0≤r≤6;

24、2)当像素差值d(i,j)≠0时,设置像素最低位的标志值f=1,即x1(i,j)=1,用qbits记录差值,其中,1≤q≤4,剩余(7-r-q)bits用来编码信息,其中,1≤r≤2,若d(i,j)>0,则极性值为0,即像素最高位记为0,即x8(i,j)=0;若d(i,j)<0,则极性值为1,即像素最高位记为1,即x8(i,j)=1;

25、根据上述存放规则,将编码信息m1、m3按照编码位置的数据存放规则编码到条纹图像ir(i,j)相应位置中;将编码信息m2、m4按照编码位置的数据存放规则编码到条纹图像ig(i,j)相应位置中,分别得到编码后的隐写条纹图ir′(i,j)和ig′(i,j)。

26、本发明与现有技术相比具有以下优点:本发明对b通道相位级次图进行游程编码,得到其索引值和次数值,对r、g通道的正余弦条纹图用中值边缘预测算法得到其预测条纹图,通过计算差值得到标签映射,根据标签值将相位级次的索引值和次数值分别隐藏在r、g通道条纹图像中,以实现数据压缩。实验结果表明在解码精度不变的条件下,数据压缩率平均提高46.54%,验证了本发明所提算法的有效性。

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