CN113034627A - 基于几何重排的虚拟结构光3d点云压缩方法 - Google Patents
基于几何重排的虚拟结构光3d点云压缩方法 Download PDFInfo
- Publication number
- CN113034627A CN113034627A CN202110339863.1A CN202110339863A CN113034627A CN 113034627 A CN113034627 A CN 113034627A CN 202110339863 A CN202110339863 A CN 202110339863A CN 113034627 A CN113034627 A CN 113034627A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- data
- structured light
- point
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明属于3D点云数据压缩领域,具体公开了一种基于几何重排的虚拟结构光3D点云压缩方法,该算法将点云空间三坐标位置信息重排后形成二维点阵,再将该点阵经虚拟结构光系统映射为“类全息”图像存储,可有效避免点云X、Y方向坐标与二维图像像素坐标线性映射带来的量化误差,提高数据解码精度。另外,本发明算法涉及的数据重排改变了原始点云数据的几何结构,在数据压缩的同时实现了3D数据几何信息隐藏,在点云数据版权保护中具有重要意义,实验验证了本发明算法的有效性,与传统虚拟结构光编码算法相比,在相同压缩率下,可使解码数据RMSE平均降低79.86%;在解码精度相近的条件下,本发明算法的压缩率是传统算法的1.96倍。
Description
技术领域
本发明属于3D点云数据压缩领域,特别是涉及一种基于几何重排的虚拟结构光3D点云压缩方法。
背景技术
随着三维获取技术的快速发展,3D点云数据作为一种重要而流行的三维物体表示方法,广泛应用于虚拟和混合现实、自动驾驶、文物数字化及3D打印等多个领域。与传统的二维多媒体数据相比,3D点云数据包含更加生动的细节。一般情况下,一个高精度的3D点云包含数百万个点,每个点又包含位置、颜色和法向量等信息,造成3D点云数据量庞大,为后期数据处理、存储、传输提出新的挑战。因此,研究有效的3D点云压缩算法成为当下数据处理领域一个热点话题。
3D点云的压缩方法大致可以分为属性压缩和几何压缩两种。点云属性一般包括颜色、法向量等,通常属性压缩的目的主要是减少颜色值的冗余。点云的几何信息是指给定笛卡尔坐标系中点的位置,并以(x,y,z)坐标表示,点云的几何压缩通常对点云的几何空间位置进行处理。几何压缩算法大致可以分为两类:基于八叉树的算法和基于映射的算法。八叉树是一种树形结构,它递归地将三维空间细分为八个子单元格,每个单元格对应树中的一个节点。基于八叉树分解,Jiang等人提出了一种通过最大化切平面的连续性来优化子单元遍历的顺序,有效的压缩了几何信息。Garcia等人基于八叉树结构采用不同的上下文进行熵编码,实现了点云几何的无损帧内压缩。Rente等人将八叉树分解与基于图的变换方法相结合,提出一种针对静态点云几何形状的编码方案。
与基于八叉树的算法不同,基于映射的算法通过将点云数据转换为二维图像信息,再利用现有的图像压缩技术进行压缩。Ahn等人提出一种混合距离图像编码算法,用于大尺度3D点云几何压缩。Golla等人提出一种基于局部二维参数化方法,实现了点云数据实时压缩和解压缩。Gu等利用虚拟条纹投影系统,提出一种基于“类全息”图像的点云压缩技术,将3D点云浮点型几何信息转化为2D彩色图像存储。Hou等提出使用彩色图像的两个通道实现三维轮廓数据的压缩存储,从而提高压缩效率。Karpinsky等人将彩色图像两个主色通道编码为正弦和余弦条纹图,第三个通道编码为阶梯图,实现24位彩色图像存储三维轮廓数据。之后又提出使用图像抖动算法对存储三维轮廓数据的24位彩色图像进行处理,进一步提高了数据压缩比。上述基于虚拟结构光投影系统实现3D点云数据压缩的方法中,X,Y方向数据基于线性压缩,Z方向数据基于非线性压缩,存在X,Y,Z三个方向解码精度不一致的问题,X,Y方向线性压缩引入量化误差,且该误差会进一步传递到Z方向,影响数据最终的解码精度。
发明内容
为解决上述技术问题,本发明对传统虚拟结构光3D点云压缩算法进行改进,提出了一种基于几何重排的3D点云压缩方法,将3D点云三个方向的数据都进行非线性映射,来提高数据整体的解码精度。
本发明保护的技术方案为:基于几何重排的虚拟结构光3D点云压缩方法,按照以下步骤进行:
步骤1)将点云所有点X、Y、Z三个方向的位置信息分别用向量XN、YN、ZN表示,N为向量长度,即点云总点数,3D点云的重排通过以下公式实现:
步骤2)将M(i′,j′)非线性调制于条纹图的R通道和G通道,B通道用于存储相位级次索引K(i′,j′),R通道和G通道的强度可表示为:
Ir′(i′,j′)=256/2·{1+sin[2πi′/p+k·M(i′,j′)]} (10)
Ig′(i′,j′)=256/2·{1+cos[2πi′/p+k·M(i′,j′)]} (11)
其中,p、k为虚拟结构光系统的系统参数,p表示条纹的周期,k为线性系数;
步骤3)基于最小二乘法来确定虚拟结构光系统的系统参数k与p;
步骤4)数据解码时,联立(10)、(11)式求得M(i′,j′):
最后根据数据重排规则反求XN、YN、ZN。
优选的,步骤3)中:基于最小二乘法的系统参数确定的具体步骤如下:3D点云数据X、Y、Z三个方向的位置信息重排导致点云描述的模型几何信息丢失,所有数据散乱分布无规律,将原始点云分布中每一个点云数据记为n(XN(n),YN(n),ZN(n)),n=1,2,...,N,则重排后几何重排后的点云分中每一个点云数据可记为n′(i′,j′,M(i′,j′)),为了方便表述,将n(XN(n),YN(n),ZN(n))简化为n,将n′(i′,j′,M(i′,j′))简化为n′。数据结构的变化导致虚拟结构光系统的系统参数(线性系数k、条纹周期p)需要重新设定,理论上来讲,虚拟结构光编码系统来源于正弦结构光三维重建系统,系统的解码精度由以下公式决定:
其中,λeff称为等效波长,代表了虚拟结构光系统的解码精度;p代表条纹周期;θ表示投影方向,等效于虚拟结构光系统的线性系数k,垂直投影时,θ=0,对应k=0。基于公式(13),k越大,p越小,系统解码精度越高,但在实际编码时,对于表面陡变程度较大的点云模型,k取值太大,p取值太小,会使得变形条纹错级,影响后期相位展开。因此,k、p的取值应当适中。
点云模型的表面陡变程度可以用曲率描述,局部邻域协方差矩阵的特征值可用来估计点云模型局部表面的变化程度,等效于计算局部表面的曲率,其定义为:
其中,λ0、λ1和λ2表示点云中任意一点n的s邻域协方差矩阵的特征值,λmin代表特征值λ0、λ1和λ2的最小值。
重排后的点云任意一点n′的协方差矩阵可表示为:
对协方差矩阵H进行特征值分解,根据公式(14),可以计算重排后点云数据在点n′处的曲率σs(n′),为了减少噪声点对曲率计算的影响,选取点n′与其s邻域点曲率之和的均值作为点n′处的曲率,公式如下:
为了描述点云模型的整体陡变程度,对Cs(n′)进行降序排列并记为Cs′(n′),选取前2%的曲率值求平均,作为表征点云模型的表面陡变程度的指标C,公式如下:
基于点云模型的陡变程度估计,结合公式(13),提出以下非线性模型来确定虚拟结构光系统的系统参数k与p:
p=b1·C2+b2·C+b3 (19)
其中,a1、a2、a3、b1、b2、b3为待定系数,由最小二乘法求得,具体过程如下:
1:取U(U≥3)组不同的点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CU,固定条纹周期p(取经验值10个像素),不断调整线性系数k的值,基于上面的数据编解码算法,绘制压缩算法的解码均方根误差(RootMean Square Error,RMSE)随k的变化曲线,根据曲线谷值位置确定不同模型对应的最优k1,k2,...,kU。将C1,C2,...,CU,k1,k2,...,kU的值代入公式(18),经最小二乘法求得a1、a2、a3的值。
2:另取V(V≥3)组点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CV,代入公式(18)计算对应的k1,k2,...,kV,固定k1,k2,...,kV,不断调整条纹周期p的值,绘制压缩算法的RMSE随p的变化曲线,根据曲线谷值位置确定不同模型对应的最优p1,p2,...,pV。将C1,C2,...,CV,p1,p2,...,pV的值代入公式(19),经最小二乘法求得b1、b2、b3的值。
本发明与现有技术相比具有以下优点:
1.精度更高,且在X、Y、Z三个方向的数据解码精度一致
本发明所提压缩算法在对3D点云进行压缩时,X、Y、Z三个方向的坐标信息均采用非线性映射,有效提高了数据解码精度,解决了传统虚拟结构光编码算法X、Y方向线性映射,Z方向非线性映射造成的三个方向解码精度不匹配的问题。同时,几何重排消去了X、Y、Z三个方向数据的空间相关性,避免了传统算法X、Y方向数据编码量化误差向Z方向传递的问题,进一步提高了Z方向数据的解码精度。
2.数据压缩的同时,实现了信息隐藏
本发明算法在数据压缩时,几何重排改变了原始3D点云的数据分布,压缩后得到的彩色条纹图只受重排后点云数据的几何分布调制,条纹相位分布与原始3D点云数据的几何分布无关,实现了3D点云几何信息的隐藏。
3.系统参数更少
本发明算法在数据编码时只涉及2个系统参数,条纹周期p和线性系数k。而传统算法需要5个系统参数,条纹周期p、线性系数k、每个像素的实际物理尺寸1/W以及X、Y方向数据平移量Δi、Δj。较少的系统参数能够进一步简化数据解码过程,同时节约存储系统参数的空间。
附图说明
下面结合附图对本发明做进一步详细的说明。
图1为本发明算法的流程图。
图2为基于虚拟结构光编码的3D点云数据压缩原理图。
图3为点云几何重排前后的数据分布图。(a)原始点云分布;(b)几何重排后的点云分布。
图4为RMSE随k、p的变化曲线。(a)teapot模型p=10时,RMSE随k的变化曲线;(b)rabbit模型k=0.20时,RMSE随p的变化曲线。
图5为基于3D点云elephant的数据压缩。(a)原始3D点云分布;(b)压缩得到的彩色条纹图;(c)解码后的3D点云分布。
图6为基于3D点云gargoyle的参数取值合理性验证。(a)原始3D点云分布;(b)经验值p=10时,RMSE随k的曲线;(c)固定k=0.21时,RMSE随p的曲线;(d)不同系统参数的RMSE对比。
图7为基于3D点云hippo的参数取值合理性验证。(a)原始3D点云分布;(b)经验值p=10时,RMSE随k的曲线;(c)固定k=0.64时,RMSE随p的曲线;(d)不同系统参数的RMSE对比。
图8为3D点云ogre在不同k值时的压缩结果。(a)原始3D点云;(b)、(c)、(d)传统算法在k=0.2、k=2、k=20时的压缩结果;(e)、(f)、(j)改进算法在k=0.2、k=2、k=20时的压缩结果。
图9为不同点云模型的封装结果。a(1)-a(5)原始3D点云封装结果;b(1)-b(5)传统算法解压缩后3D点云封装结果;c(1)-c(5)本发明改进算法解压缩后3D点云封装结果。
具体实施方式
为使本发明的目的、特征和优点能够明显易懂,下面结合附图对本发明的具体实施方式做详细说明。
为了更好的理解本发明算法的原理,下面先对基于虚拟结构光编码的3D点云数据压缩原理进行简要的说明。
基于虚拟结构光编码的3D点云数据压缩原理如图2所示,该压缩算法采用逐点编码的方式,先将3D点云每一个点的空间坐标(x,y)的值映射为2D条纹图的像素坐标值(i,j),再将与(x,y)对应的z坐标值映射为2D条纹图像素坐标(i,j)位置的灰度值。其数据编码、解码原理如下:
3D数据编码
根据现有文献建立虚拟结构光投影系统并设定系统参数,3D点云X、Y方向的位置信息(x,y)和2D图像的像素坐标(i,j)的映射关系满足如下:
i=x·W+Δi (1)
j=y·W+Δj (2)
式中:1/W为每个像素的实际物理尺寸;Δi、Δj分别表示X、Y方向数据平移量。
3D点云的Z方向坐标值与2D条纹图对应像素位置的灰度值存在非线性映射关系,这种非线性映射关系基于虚拟结构光系统,先将Z方向坐标值z(x,y)线性映射为相位信息再将该相位信息非线性调制于正弦条纹中,z(x,y)与的映射关系如下:
其中,k为线性系数。
当条纹的周期为p个像素时,频率为f=1/p,受3D点云Z方向坐标信息调制的2D条纹图的R、G通道条纹图的强度可表示为:
用B通道存储相位展开级次索引K(i,j),为了合理利用灰度级,将K(i,j)平均分布到256个灰度级,B通道条纹的强度可表示为:
Ib(i,j)=gray[K(i,j)] (6)
式中:gray[·]表示将K(i,j)归一化后再线性映射到[0-255]。
数据解码
联立(4)、(5)式可得:
提取2D条纹图R和G通道的灰度信息,带入(7)式,可计算得到条纹的相位信息。由于(7)式采用反正切计算,相位φ′(i,j)在[-π,π]之间截断,需要进行相位展开。相位展开所需的相位级次索引K(i,j)通过解码B通道条纹图得到,相位展开结果可表示为:
φ(i,j)=φ′(i,j)+2π·K(i,j) (8)
通过上面的介绍,可以发现虚拟结构光3D数据压缩算法在X、Y方向的数据压缩基于线性映射,在Z方向的数据压缩基于非线性映射,使得该算法在X、Y方向和Z方向的数据解码精度不一致。X、Y方向的解码精度取决于W的取值,浮点型数据(x,y)编码为整型数据(i,j)时引入量化误差,且该量化误差在数据解码时无法补偿。Z方向的解码精度取决于虚拟结构光系统参数的设定,且X、Y方向的数据量化误差的引入会造成z(x,y)与的匹配错误,最终使得Z方向数据解码错误。针对该问题,本发明对传统虚拟结构光3D数据压缩算法进行改进,将3D点云三个方向的数据都进行非线性压缩,以保证X、Y、Z三个方向数据具有一致的解码精度,进而提高数据整体的解码精度。本发明算法的流程图如图1所示。下面详细介绍本发明算法的具体原理:
一、数据编码及解码
由于3D点云每一个点的位置信息由一组(x,y,z)值确定,传统虚拟结构光编码算法考虑了点云Z坐标值与X、Y坐标值的空间相关性,采用了逐点编码的方式,即z(x,y)与的映射,在该映射过程中,(x,y,z)信息的编码是成组完成的,X、Y方向数据的编码量化误差会造成z(x,y)与的匹配误差。如果能在数据编码时去除(x,y,z)的相关性,数据编码后再恢复它们的相关性,就可以有效避免这种匹配误差。
本发明算法在进行数据编码时,直接忽略X、Y、Z三个方向数据的位置相关性,将其视为一组浮点型数据重排后形成新的矩阵,再将该矩阵映射为条纹的相位信息。后期通过变形条纹求解相位,根据数据重排规则反求X、Y、Z三个方向的位置信息。
将点云所有点X、Y、Z三个方向的位置信息分别用向量XN、YN、ZN表示,N为向量长度,即点云总点数,3D点云的重排通过以下公式实现:
将M(i′,j′)非线性调制于条纹图的R通道和G通道,B通道用于存储相位级次索引K(i′,j′),R通道和G通道的强度可表示为:
Ir′(i′,j′)=256/2·{1+sin[2πi′/p+k·M(i′,j′)]} (10)
Ig′(i′,j′)=256/2·{1+cos[2πi′/p+k·M(i′,j′)]} (11)
其中,p、k为虚拟结构光系统的系统参数,p表示条纹的周期,k为线性系数。
数据解码时,联立(10)、(11)式求得M(i′,j′):
最后根据数据重排规则反求XN、YN、ZN。
二、基于最小二乘法的系统参数确定
3D点云数据X、Y、Z三个方向的位置信息重排导致点云描述的模型几何信息丢失,所有数据散乱分布无规律,点云几何重排前后的数据分布如图3所示,图3(a)为原始点云分布,图3(b)为几何重排后的点云分布。若将图3(a)中每一个点云数据记为n(XN(n),YN(n),ZN(n)),n=1,2,...,N。则重排后图3(b)中每一个点云数据可记为n′(i′,j′,M(i′,j′)),为了方便下文表述,将n(XN(n),YN(n),ZN(n))简化为n,将n′(i′,j′,M(i′,j′))简化为n′。数据结构的变化导致虚拟结构光系统的系统参数(线性系数k、条纹周期p)需要重新设定,理论上来讲,虚拟结构光编码系统来源于正弦结构光三维重建系统,系统的解码精度由以下公式决定:
其中,λeff称为等效波长,代表了虚拟结构光系统的解码精度;p代表条纹周期;θ表示投影方向,等效于虚拟结构光系统的线性系数k,垂直投影时,θ=0,对应k=0。基于公式(13),k越大,p越小,系统解码精度越高。但在实际编码时,对于表面陡变程度较大的点云模型,k取值太大,p取值太小,会使得变形条纹错级,影响后期相位展开。因此,k、p的取值应当适中。
点云模型的表面陡变程度可以用曲率描述,在现有文献中,局部邻域协方差矩阵的特征值可用来估计点云模型局部表面的变化程度,等效于计算局部表面的曲率,其定义为:
其中,λ0、λ1和λ2表示点云中任意一点n的s邻域协方差矩阵的特征值,λmin代表特征值λ0、λ1和λ2的最小值。
重排后的点云任意一点n′的协方差矩阵可表示为:
对协方差矩阵H进行特征值分解,根据公式(14),可以计算重排后点云数据在点n′处的曲率σs(n′)。为了减少噪声点对曲率计算的影响,选取点n′与其s邻域点曲率之和的均值作为点n′处的曲率,公式如下:
本发明为了描述点云模型的整体陡变程度,对Cs(n′)进行降序排列并记为Cs′(n′),选取前2%的曲率值求平均,作为表征点云模型的表面陡变程度的指标C,公式如下:
基于点云模型的陡变程度估计,结合公式(13),本发明提出以下非线性模型来确定虚拟结构光系统的系统参数k与p:
p=b1·C2+b2·C+b3 (19)
其中,a1、a2、a3、b1、b2、b3为待定系数,由最小二乘法求得,具体过程如下:
1:取U(U≥3)组不同的点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CU,固定条纹周期p(取经验值10个像素),不断调整线性系数k的值,基于本发明给出的数据编解码算法,绘制本发明压缩算法的解码均方根误差(Root Mean Square Error,RMSE)随k的变化曲线,根据曲线谷值位置确定不同模型对应的最优k1,k2,...,kU。将C1,C2,...,CU,k1,k2,...,kU的值代入公式(18),经最小二乘法求得a1、a2、a3的值。
2:另取V(V≥3)组点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CV,代入公式(18)计算对应的k1,k2,...,kV,固定k1,k2,...,kV,不断调整条纹周期p的值,绘制本发明压缩算法的RMSE随p的变化曲线,根据曲线谷值位置确定不同模型对应的最优p1,p2,...,pV。将C1,C2,...,CV,p1,p2,...,pV的值代入公式(19),经最小二乘法求得b1、b2、b3的值。本发明求得的a1、a2、a3、b1、b2、b3的值如表1所示。
表1待定系数取值
为了演示步骤1、步骤2多组模型对应最优k1,k2,...,kU和p1,p2,...,pV的寻找过程,以点云模型teapot为例,固定p=10,模型的解码精度RMSE随k的变化如图4(a)所示,此时RMSE的最小值为1.8692×10-3,对应k=1.25为最优值;另以点云模型rabbit为例,计算其模型陡变指标C=0.1112,代入公式(18)求得k=0.20。固定k=0.20,模型的解码精度RMSE随p的变化如图4(b)所示,此时RMSE的最小值1.1375×10-2,对应p=8为最优值。
为了论证本发明所提基于几何重排的虚拟结构光3D点云压缩算法的有效性,从三个方面进行了实验,包括算法可行性论证、虚拟结构光系统参数合理性验证、压缩后数据的定性和定量评价。具体实验结果和数据分析如下:
算法可行性论证
为了验证本发明所提算法可实现3D点云数据的有效压缩,且能将压缩后的数据准确解码,以3D点云模型elephant为测试对象进行数据编、解码。3D点云模型的几何分布如图5(a)所示。采用本发明所提压缩算法将其映射为彩色条纹图像,如图5(b)所示。原始3D点云数据大小为365KB,压缩后的彩色条纹图大小为138KB,可见本发明算法可实现3D数据的压缩。解码后的3D点云数据如图5(c)所示,对比图5(a)与图5(c),解码后的3D点云与原始3D点云具有相同的视觉效果,验证了本发明算法可从压缩后的2D图像有效解码3D点云数据。
虚拟结构光系统参数合理性验证
为了验证本发明算法中系统参数k、p取值的合理性,选取点云gargoyle和hippo进行实验,采用不同的k、p组合对点云进行编码,通过对比解码数据的RMSE来评价本发明参数选取的有效性。以gargoyle点云为例,如图6(a)所示,基于本发明算法提出的参数确定方法,求得k=0.30、p=5.38≈5(条纹周期为整数像素,四舍五入取整),采用本发明算法对该点云进行压缩,解码后数据的RMSE=7.6475×10-3。另外,通过单向寻优来找到最优k、p的组合:p取经验值10,k取不同值,基于本发明算法对gargoyle点云进行压缩,解码后数据的RMSE的分布如图6(b)所示,当k=0.21时,数据解码RMSE最小,其值为1.0924×10-2;固定k=0.21,p取不同值,基于本发明算法对点云进行压缩,解码后数据的RMSE的分布如图6(c)所示,当p=9时,数据解码RMSE最小,其值为1.0832×10-2。基于本发明参数确定方法和参数单向寻优得到的数据解码RMSE对比图如图6(d)所示,说明基于本发明算法可得到较优的系统参数,使得数据的解码精度较高。
同样对图7(a)所示的hippo点云模型,基于本发明参数确定方法得到的最优参数组合为k=0.67、p=7.73≈8,基于单向寻优获取的最优参数组合分别为p=10、k=0.64和k=0.64、p=5,如图7(b)和图7(c)所示,在三种不同参数下,数据解码的RMSE对比图如图7(d)所示,基于本发明算法确定的系统参数获得的数据解码精度最高,进一步说明本发明所提系统参数优化方法的有效性与普适性。
压缩后数据的定性和定量评价
本发明算法在数据压缩时,几何重排改变了原始3D点云的数据分布,压缩后得到的彩色条纹图只受重排后点云数据的几何分布调制,条纹相位分布与原始3D点云数据的几何分布无关,实现了3D点云几何信息的隐藏。而传统算法成组将z(x,y)映射为点云轮廓对彩色条纹图进行调制,系统参数k越大,这种调制越明显,使得编码后的条纹图一定程度反映了3D点云的几何分布。以图8(a)中点云模型ogre为压缩对象,通过公式(19)计算虚拟结构光系统参数p=6.89≈7,分别取参数k=0.2、k=2、k=20,采用传统虚拟结构光编码算法与本发明算法对其进行压缩,压缩后得到的彩色条纹图如图8(b)-(j)所示。对比图8(b)、(c)、(d)的局部放大区域可以看出,随着k的取值不断增大,使用传统算法编码得到的彩色条纹图中点云的几何信息越来越明显。而对比图8(e)、(f)、(j)可以看出,由于本发明算法在数据重排时消去了X,Y,Z坐标之间的空间相关性,无论k取值如何变化,都不会泄露原始点云的几何信息,更好的实现了点云几何信息的隐藏。
为了进一步定性及定量评价本发明所提基于几何重排的虚拟结构光3D点云压缩算法在性能上优于传统虚拟结构光压缩算法,采用五组点云模型进行实验。在相同压缩率下,不同点云数据在X,Y,Z三个方向的数据解码RMSE对比结果如表2所示。从表2可以看出,本发明算法在X,Y,Z三个方向具有相同的数据解码精度,而传统算法X,Y方向与Z方向的数据解码精度不一致,原因在于,在X,Y方向改进算法使用了非线性映射,使得数据解码精度有所提高。在Z方向,传统算法因量化误差的引入造成z(x,y)与匹配错误,使得Z方向数据的解码精度较低。
表2相同压缩率下传统算法与改进算法的RMSE(mm)对比
对上边五组解压缩后的点云模型进行封装,得到的多边形网格模型图如图9所示。其中a(1)-a(5)代表原始3D点云模型的封装结果;b(1)-b(5)代表传统虚拟结构光编码算法解压缩后3D点云的封装结果;c(1)-c(5)代表本发明算法解压缩后3D点云的封装结果。整体比较不同模型的封装效果,传统算法压缩后马的腿部(图9b(2)虚线框区域)出现了错误,河马左侧的轮廓(图9b(4)虚线框区域)发生了畸变,牛的角部、耳部、腿部(图9b(5)虚线框区域)出现了错误,而本发明算法压缩后的模型封装后与原模型具有相同的视觉效果。选择每个模型的局部细节(图9实线框区域)进行放大,与传统算法的封装结果相比,本发明算法的封装结果图与原始模型的封装结果图更为接近,说明本发明算法可有效提高数据的解码精度。两种算法解码后的点云数据与原始点云数据封装之后的体积误差如表3所示,可以看出本发明算法的体积误差更小,具有更高的数据解码精度。
表3两种算法的体积误差(mm3)对比
最后,控制本发明算法与传统虚拟结构光编码算法在X,Y方向具有相近解码精度,比较此时两种算法的压缩比,如表4所示。由表4可知,在X,Y方向数据解码精度相近时,本发明算法压缩比更高。
表4X、Y方向解码精度相近时两种算法的压缩比对比
为了提高传统虚拟结构光3D点云压缩算法的数据解码精度,本发明算法将3D点云的坐标信息进行了几何重排,去除X、Y、Z三个方向数据的空间相关性后,对三个方向的空间信息均进行非线性映射,得到压缩后的条纹图。在对数据非线性映射时,提出了基于最小二乘法的系统参数确定方法,以提高数据解码精度。实验验证了所提3D点云压缩算法及系统参数优化模型的有效性:本发明算法在完成数据压缩的同时,实现了点云几何信息的隐藏,有助于数据版权保护;基于本发明所提虚拟结构光系统参数确定方法,可获得较高的数据解码精度。与传统虚拟结构光编码算法相比,在相同压缩率下,本发明算法可使解码数据RMSE平均降低79.86%,解码后数据封装的体积误差平均降低70.42%;在解码精度相近的条件下,本发明算法的压缩率是传统算法的1.96倍。
上面结合附图对本发明方案的实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (2)
1.基于几何重排的虚拟结构光3D点云压缩方法,其特征在于,按照以下步骤进行:
步骤1)将点云所有点X、Y、Z三个方向的位置信息分别用向量XN、YN、ZN表示,N为向量长度,即点云总点数,3D点云的重排通过以下公式实现:
步骤2)将M(i′,j′)非线性调制于条纹图的R通道和G通道,B通道用于存储相位级次索引K(i′,j′),R通道和G通道的强度可表示为:
Ir′(i′,j′)=256/2·{1+sin[2πi′/p+k·M(i′,j′)]} (10)
Ig′(i′,j′)=256/2·{1+cos[2πi′/p+k·M(i′,j′)]} (11)
其中,p、k为虚拟结构光系统的系统参数,p表示条纹的周期,k为线性系数;
步骤3)基于最小二乘法来确定虚拟结构光系统的系统参数k与p;
步骤4)数据解码时,联立(10)、(11)式求得M(i′,j′):
最后根据数据重排规则反求XN、YN、ZN。
2.根据权利要求1所述的基于几何重排的虚拟结构光3D点云压缩方法,其特征在于,步骤3)中:基于最小二乘法的系统参数确定的具体步骤如下:3D点云数据X、Y、Z三个方向的位置信息重排导致点云描述的模型几何信息丢失,所有数据散乱分布无规律,将原始点云分布中每一个点云数据记为n(XN(n),YN(n),ZN(n)),n=1,2,...,N,则重排后的每一个点云数据可记为n′(i′,j′,M(i′,j′)),为了方便表述,将n(XN(n),YN(n),ZN(n))简化为n,将n′(i′,j′,M(i′,j′))简化为n′。数据结构的变化导致虚拟结构光系统的系统参数(线性系数k、条纹周期p)需要重新设定,理论上来讲,虚拟结构光编码系统来源于正弦结构光三维重建系统,系统的解码精度由以下公式决定:
其中,λeff称为等效波长,代表了虚拟结构光系统的解码精度;p代表条纹周期;θ表示投影方向,等效于虚拟结构光系统的线性系数k,垂直投影时,θ=0,对应k=0。基于公式(13),k越大,p越小,系统解码精度越高,但在实际编码时,对于表面陡变程度较大的点云模型,k取值太大,p取值太小,会使得变形条纹错级,影响后期相位展开。因此,k、p的取值应当适中。
点云模型的表面陡变程度可以用曲率描述,局部邻域协方差矩阵的特征值可用来估计点云模型局部表面的变化程度,等效于计算局部表面的曲率,其定义为:
其中,λ0、λ1和λ2表示点云中任意一点n的s邻域协方差矩阵的特征值,λmin代表特征值λ0、λ1和λ2的最小值。
重排后的点云任意一点n′的协方差矩阵可表示为:
对协方差矩阵H进行特征值分解,根据公式(14),可以计算重排后点云数据在点n′处的曲率σs(n′),为了减少噪声点对曲率计算的影响,选取点n′与其s邻域点曲率之和的均值作为点n′处的曲率,公式如下:
为了描述点云模型的整体陡变程度,对Cs(n′)进行降序排列并记为Cs′(n′),选取前2%的曲率值求平均,作为表征点云模型的表面陡变程度的指标C,公式如下:
基于点云模型的陡变程度估计,结合公式(13),提出以下非线性模型来确定虚拟结构光系统的系统参数k与p:
p=b1·C2+b2·C+b3 (19)
其中,a1、a2、a3、b1、b2、b3为待定系数,由最小二乘法求得,具体过程如下:
1:取U(U≥3)组不同的点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CU,固定条纹周期p(取经验值10个像素),不断调整线性系数k的值,基于上面的数据编解码算法,绘制压缩算法的解码均方根误差(RootMean Square Error,RMSE)随k的变化曲线,根据曲线谷值位置确定不同模型对应的最优k1,k2,...,kU。将C1,C2,...,CU,k1,k2,...,kU的值代入公式(18),经最小二乘法求得a1、a2、a3的值。
2:另取V(V≥3)组点云模型,根据公式(17)计算其对应的陡变指标C1,C2,...,CV,代入公式(18)计算对应的k1,k2,...,kV,固定k1,k2,...,kV,不断调整条纹周期p的值,绘制压缩算法的RMSE随p的变化曲线,根据曲线谷值位置确定不同模型对应的最优p1,p2,...,pV。将C1,C2,...,CV,p1,p2,...,pV的值代入公式(19),经最小二乘法求得b1、b2、b3的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339863.1A CN113034627B (zh) | 2021-03-30 | 2021-03-30 | 基于几何重排的虚拟结构光3d点云压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110339863.1A CN113034627B (zh) | 2021-03-30 | 2021-03-30 | 基于几何重排的虚拟结构光3d点云压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113034627A true CN113034627A (zh) | 2021-06-25 |
CN113034627B CN113034627B (zh) | 2022-09-02 |
Family
ID=76452984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110339863.1A Active CN113034627B (zh) | 2021-03-30 | 2021-03-30 | 基于几何重排的虚拟结构光3d点云压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113034627B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554175A (zh) * | 2021-12-28 | 2022-05-27 | 福州大学 | 一种基于分类重排的点云无损压缩方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768427A (en) * | 1995-06-27 | 1998-06-16 | Motorola, Inc. | Method and system for compressing a video signal using nonlinear interpolation |
CN104484852A (zh) * | 2014-11-19 | 2015-04-01 | 温州大学 | 一种点云曲面的复合几何图像表示方法 |
CN107025673A (zh) * | 2017-04-11 | 2017-08-08 | 太原科技大学 | 虚拟结构光3d数据压缩算法的局部误差抑制方法 |
US20190197311A1 (en) * | 2017-12-26 | 2019-06-27 | Harbin Institute Of Technology | Evaluation Method of Solar Energy Utilization Potential in Urban High-density Areas Based on Low-altitude Photogrammetry |
CN110363822A (zh) * | 2018-04-11 | 2019-10-22 | 上海交通大学 | 一种3d点云压缩方法 |
US20190355152A1 (en) * | 2017-07-28 | 2019-11-21 | Peking University Shenzen Graduate School | Point cloud attribute compression method based on kd tree and optimized graph transformation |
CN112203099A (zh) * | 2020-09-24 | 2021-01-08 | 太原科技大学 | 基于虚拟正交结构光编码的3d数据压缩算法 |
-
2021
- 2021-03-30 CN CN202110339863.1A patent/CN113034627B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768427A (en) * | 1995-06-27 | 1998-06-16 | Motorola, Inc. | Method and system for compressing a video signal using nonlinear interpolation |
CN104484852A (zh) * | 2014-11-19 | 2015-04-01 | 温州大学 | 一种点云曲面的复合几何图像表示方法 |
CN107025673A (zh) * | 2017-04-11 | 2017-08-08 | 太原科技大学 | 虚拟结构光3d数据压缩算法的局部误差抑制方法 |
US20190355152A1 (en) * | 2017-07-28 | 2019-11-21 | Peking University Shenzen Graduate School | Point cloud attribute compression method based on kd tree and optimized graph transformation |
US20190197311A1 (en) * | 2017-12-26 | 2019-06-27 | Harbin Institute Of Technology | Evaluation Method of Solar Energy Utilization Potential in Urban High-density Areas Based on Low-altitude Photogrammetry |
CN110363822A (zh) * | 2018-04-11 | 2019-10-22 | 上海交通大学 | 一种3d点云压缩方法 |
CN112203099A (zh) * | 2020-09-24 | 2021-01-08 | 太原科技大学 | 基于虚拟正交结构光编码的3d数据压缩算法 |
Non-Patent Citations (4)
Title |
---|
N. KARPINSKY等: "Composite phase-shifting algorithm for three-dimensional shape compression", 《OPTICAL ENGINEERING 》 * |
候志凌等: "三维面形信息压缩的虚拟结构光编码算法", 《光学学报》 * |
杜小燕等: "基于几何图像的点云数据简化算法", 《苏州大学学报(工科版)》 * |
武迎春等: "虚拟结构光三维数据压缩算法的量化误差抑制", 《激光与光电子学进展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114554175A (zh) * | 2021-12-28 | 2022-05-27 | 福州大学 | 一种基于分类重排的点云无损压缩方法 |
CN114554175B (zh) * | 2021-12-28 | 2024-02-13 | 福州大学 | 一种基于分类重排的二维点云距离图像的无损压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113034627B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110572655B (zh) | 一种基于邻居权重的参数选取和传递的点云属性编码和解码的方法及设备 | |
US20230196625A1 (en) | Point cloud intra prediction method and device based on weights optimization of neighbors | |
CN108632607B (zh) | 一种基于多角度自适应帧内预测的点云属性压缩方法 | |
CN108335335B (zh) | 一种基于增强图变换的点云属性压缩方法 | |
CN108632621B (zh) | 一种基于层次划分的点云属性压缩方法 | |
CN108833927B (zh) | 一种基于删除量化矩阵中0元素的点云属性压缩方法 | |
US10552989B2 (en) | Point cloud attribute compression method based on KD tree and optimized graph transformation | |
WO2020186548A1 (zh) | 点云编码和解码的方法、编码设备和解码设备 | |
CN108322742B (zh) | 一种基于帧内预测的点云属性压缩方法 | |
CN101626509A (zh) | 三维网格编码、解码方法及编码、解码装置 | |
CN107025673B (zh) | 虚拟结构光3d数据压缩算法的局部误差抑制方法 | |
WO2019008519A1 (en) | SYSTEMS AND METHODS FOR PROVIDING SYNTHESIS OF NON-PARAMETRIC TEXTURE OF ARBITRARY SHAPE AND / OR MATERIAL DATA IN A UNIFIED FRAMEWORK | |
JP2019521417A (ja) | シーンを表す点群を符号化する方法、符号化器システム、及びプログラムを記憶した非一時的コンピューター可読記録媒体 | |
CN110691243A (zh) | 一种基于深度卷积网络的点云几何压缩方法 | |
CN102625126A (zh) | 一种基于预测的三维网格编码方法 | |
CN113034627B (zh) | 基于几何重排的虚拟结构光3d点云压缩方法 | |
CN113284250A (zh) | 一种点云的几何编码方法和解码方法及设备 | |
CN114782564B (zh) | 一种点云的压缩方法、装置、电子设备及存储介质 | |
CN113518226A (zh) | 一种基于地面分割的g-pcc点云编码改进方法 | |
WO2022067790A1 (zh) | 一种点云分层方法及解码器、编码器、存储介质 | |
Morán et al. | Comparison of wavelet-based three-dimensional model coding techniques | |
Kiani et al. | Planelets—A piecewise linear fractional model for preserving scene geometry in intra-coding of indoor depth images | |
CN112203099B (zh) | 基于虚拟正交结构光编码的3d数据压缩算法 | |
CN105741332B (zh) | 一种真实感三维网格压缩方法 | |
CN117319683A (zh) | 基于纹理驱动的图稀疏度优化的点云属性压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |