本发明属于三维视觉,涉及一种基于自动编码器的三维点云几何信息编码压缩方法。
背景技术:
1、随着科学技术的逐步发展,人们不再只满足于通过二维的图片或视频来感知身处的三维世界。于是,能够直接描绘三维场景的点云愈发地受到人们的青睐,并且已经在ar/vr,自动驾驶,文物扫描保护,沉浸式通信等诸多领域得到了十分广泛的运用。但是,由于点云采集设备精度的提升,高精度点云往往拥有十分庞大的数据量。其庞大的数据量通常都超过了当前设备的储存能力和传输带宽。所以,在对点云进行处理之前,需要先将其编码压缩以减少设备的运算压力。而且,由于点云在空间上的稀疏性和无序性,使得传统的二维图片/视频编码方法难以被直接运用在三维点云上。因此,专门针对点云的新式编码压缩方法有着广阔的应用前景。
2、近年来,国内外已经拥有了很多关于点云几何编码的研究基础。在传统的压缩方法中,如由点云库(pcl:point cloud library)提出的pcl压缩框架和动态图像专家组(mpeg:moving picture expert group)提出的g-pcc压缩框架都先使用特定的结构,如八叉树(octree),将原始点云进行划分表示,然后根据划分后的节点关系完成对点云的编码。除此之外,也有诸多基于深度学习的几何编码方法被提出。它们往往是使用特殊的网络结构进一步处理被划分后的点云,或者利用类似于多层感知器的结构直接处理原始点云。这些点云压缩方法都取得了一定的成果。
3、但是,传统的压缩方法往往只针对于特定的点云形式,而基于深度学习的算法往往结构复杂且需要大量的训练时间才能取得比较好的结果。因此,非常需要研究一种结构较为简单,能处理多种类型点云且在高压缩效率下仍然能保持较高重建质量的几何编码方法。
技术实现思路
1、本发明的目的在于针对静态三维点云的几何信息,提出了一种基于自动编码器的三维点云几何信息编码压缩方法,所依托的自动编码器,具有结构较为简单且能在高压缩效率下保持较好重建质量;所述方法,包括:1)对三维点云的边界框进行划分,得到诸多子立方体并进行编码;同时,对子立方体内各点的相对坐标进行量化,以此记录每个点的位置细节;3)将初步编码的码流输入多层自动编码器编码结构进行降维以完成压缩;4)在解码端,各子立方体会首先被还原,然后根据解码得到的各点相对位置逐一在立方体中重建各点。
2、为了达到上述目的,本采取如下技术方案:
3、一种基于自动编码器的三维点云几何信息编码压缩方法,包括如下步骤:
4、步骤1、计算出输入点云的边界框,然后将边界框分割成子立方体;
5、步骤2、逐一检测子立方体,若该子立方体内部有点存在则将该子立方体及该子立方体内部点的个数进行编码,得到立方体编码码流;
6、步骤3、对于内部含有点的子立方体,将对应子立方体内部点的相对坐标进行量化编码,得到内部点量化编码码流;
7、步骤4、设定自动编码器的输入维度,将立方体编码码流以及内部点量化编码码流拼接到一起,得到一个长整数序列;然后将长整数序列拆分成若干段长度相等的短序列;
8、步骤5、将若干段长度相等的短序列输入至多层编码结构中进行降维压缩,得到压缩后数组;
9、步骤6、将压缩后数组转换成字节形式,再进行压缩并将压缩结果存为二进制文件;
10、步骤7、读取二进制文件并转换为字节形式,通过多层编码结构还原为多段长度相等的短序列;
11、步骤8、将短序列拼接回长序列,分割长序列,得到对立方体编码的码流和对点相对位置编码的码流;
12、步骤9、从边界框的最小坐标点开始,根据立方体编码的码流,逐一重建出所有含有点的子立方体;然后在每个子立方体的内部,根据该子立方体内部含有点的个数及点相对位置编码的码流,逐一恢复每个点,最终完成整个点云的重建。
13、骤1中所述子立方体的个数为n*n*n个,n代表分割尺度;且编码记录边界框顶点坐标最小值以及顶点坐标最大值。
14、步骤2所述编码,具体为:
15、将最靠近边界框最小顶点的子立方体定义为原点(0,0,0);
16、对于内部含有点的子立方体,检测该子立方体在x、y、z三个方向上与原点相隔的子立方体个数分别为nx,ny,nz,进一步将该目标立方体编码为(nx,ny,nz)并编码记录该子立方体内部点的个数。
17、步骤3所述量化编码,具体为:选择该子立方体的最小坐标的顶点作为原点,计算出从该原点到待处理点的向量;然后,先计算出向量在x,y,z方向上投影长度,再计算各方向投影长度与子立方体长、宽、高的长度之比;最后将得到的比例扩大m倍后,量化取整以此完成编码。
18、所述m大于等于100。
19、步骤4所述若干段,记为k段;所述k等于长整数序列的长度除以设定的自动编码器的输入维度并向上取整。当长整数序列的长度无法整除自动编码器的输入维度时,将随机整数补充入长整数序列,直至长整数序列的长度能被自动编码器的输入维度整除。多段短序列的长度等于自动编码器的输入维度。
20、步骤5所述多层编码结构,由s个自动编码器串联而成;所述s大于等于2。
21、步骤5具体实施时,每个自动编码器,包括3层全连接层,对输入的序列进行逐级降维;
22、所述步骤6再进行压缩,具体实施时,采用blosc实现;
23、步骤7具体实施时,保存的二进制文件通过解码端读取;
24、步骤8所述点相对位置编码的码流对应步骤3生成的内部点量化编码码流;
25、步骤9所述重建的点云即步骤1的输入点云。
26、本发明属于三维视觉技术领域,涉及一种基于自动编码器的三维点云几何信息编码压缩方法。所述方法,包括:对输入的三维点云进行分块并编码;对分割得到的子立方体中的点信息进行量化编码;汇总码流,使用自动编码器组成的多层编码结构降维以压缩;将降维后的码流转换成字节形式,使用blosc进行最后的压缩,并以二进制形式存储;在解码端,先读取存储文件,然后解码恢复出立方体编码和点信息编码的码流;最后,先重建出分割得到的立方体,再在每个立方体中添加各点,以此完成点云的解码重建。所述方法结构较为简单,训练时间较短。并且能够在较高的压缩率下,仍然能够保持比较高的重建质量。
27、有益效果
28、所述基于自动编码器的三维点云几何信息编码压缩方法,与现有技术相比,具有如下有益效果:
29、1.所述基于自动编码器的三维点云几何信息编码压缩方法首先对划分得到立方体进行编码,再对其中的点的相对位置进行编码,由此最大程度上保存了点云的几何信息;与传统压缩方法相比,解码重建得到的点云几何质量更高;
30、2.所述基于自动编码器的三维点云几何信息编码压缩方法使用的自动编码器只对多段较短的整数序列进行处理;所以,该自动编码器训练所需时间较短,并且能够取得较高的正确率;
31、3.所述基于自动编码器的三维点云几何信息编码压缩方法算法使用了两个自动编码器构成的多层编码结构对长序列进行压缩处理。该结构能够进一步地消除序列中的冗余信息,使输出结果的压缩程度更大。并且由于其中的两个自动编码器能够分别达到较高的正确率,最后还原得到的序列也能够达到较高的正确率。