一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

点云压缩方法、编码器、解码器及存储介质与流程

2021-12-07 21:02:00 来源:中国专利 TAG:

点云压缩方法、编码器、解码器及存储介质
1.相关申请的交叉引用
2.本技术实施例基于申请号为202010508225.3、申请日为2020年06月05日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此以引入方式并入本技术实施例。
技术领域
3.本技术实施例涉及视频编码技术,涉及但不限于点云压缩方法、编码器、解码器及存储介质。


背景技术:

4.基于学习的点云几何压缩技术中,在点集上进行压缩的技术应用范围限制在点数量固定且点数少的小点云上,无法用于真实场景的复杂点云;而且基于三维密集卷积的点云压缩技术,由于将稀疏点云转换为体积模型进行压缩,没有充分挖掘点云的稀疏结构,造成计算冗余且编码性能不高。


技术实现要素:

5.本技术实施例提供点云压缩方法、编码器、解码器及存储介质。本技术实施例的技术方案是这样实现的:
6.第一方面,本技术实施例提供的点云压缩方法,包括:
7.获取待压缩视频的当前块;
8.确定所述当前块的点云数据的几何信息和对应的属性信息;
9.采用稀疏卷积网络,对所述几何信息和对应的属性信息进行下采样,得到隐层特征;
10.对所述隐层特征进行压缩,得到压缩码流。
11.第二方面,本技术实施例提供的点云压缩方法,包括:
12.获取待解压视频的当前块;
13.确定所述当前块的点云数据的几何信息和对应的属性信息;
14.采用转置卷积网络,对所述几何信息和对应的属性信息进行上采样,得到隐层特征;
15.对所述隐层特征进行解压缩,得到解压缩码流。
16.第三方面,本技术实施例提供的编码器,包括:
17.第一存储器和第一处理器;
18.所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现第一方面所述点云压缩方法。
19.第四方面,本技术实施例提供的解码器,包括:
20.第二存储器和第二处理器;
21.所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现第二方面所述点云压缩方法。
22.本技术实施例中,如此,针对获取的待编码视频的当前块,首先,确定当前块的点云数据的几何信息和对应的属性信息;然后,采用稀疏卷积网络,对所述几何信息和对应的属性信息进行下采样,得到隐层特征;最后,对所述隐层特征进行压缩,得到压缩码流;这样,通过采用稀疏卷积网络对当前块中的点云进行几何信息和属性信息的稀疏化下采样,从而能够实现对复杂点云的稀疏化转换,这样对得到隐层特征进行压缩,得到压缩码流,不仅能够提高运算速率,而且编码性能较高,进而可用于真实场景的复杂点云。
附图说明
23.图1为本技术实施例提供的示例性的编码流程框图;
24.图2为本技术实施例提供的示例性的解码流程框图;
25.图3a为本技术实施例点云压缩方法的实现流程示意图;
26.图3b为本技术实施例神经网络的结构示意图;
27.图3c为本技术实施例提供的点云压缩方法的另一实现流程示意图;
28.图4为本技术实施例点云压缩方法的另一实现流程示意图;
29.图5a为本技术实施例点云压缩和解压缩方法的实现流程示意图;
30.图5b为本技术实施例irn的结构示意图;
31.图5c为本技术实施例上下文模型的结构示意图;
32.图6为本技术实施例重建过程示意图;
33.图7为本技术实施例在多种数据上和其它方法的码率曲线对比示意图;
34.图8为本技术实施例在红色和黑色数据上相近码率的主观质量和其它方法的获得主观质量对比示意图;
35.图9为本技术实施例提供的编码器的组成结构示意图;
36.图10为本技术实施例提供的编码器的另一组成结构示意图;
37.图11为本技术实施例提供的解码器的组成结构示意图;
38.图12为本技术实施例提供的解码器的另一组成结构示意图。
具体实施方式
39.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
40.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
41.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
42.需要指出,本技术实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似或不
同的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
43.为了便于对本技术实施例所提供的技术方案的理解,首先提供一种g-pcc编码的流程框图和g-pcc解码的流程框图。需要说明的是,本技术实施例描述的g-pcc编码的流程框图和g-pcc解码的流程框图仅是为了更加清楚地说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定。本领域技术人员可知,随着g-pcc编码和解码技术的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
44.在本技术实施例中,在点云g-pcc编码器框架中,将输入三维图像模型的点云进行slice划分后,对每一个slice进行独立编码。
45.如图1所示的g-pcc编码的流程框图中,应用于点云编码器中,针对待编码的点云数据,先通过slice划分,将点云数据划分为多个slice。在每一个slice中,点云的几何信息和每个点云所对应的属性信息是分开进行编码的。在几何编码过程中,对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中,然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点云的几何信息相同,于是在基于参数来决定是否移除重复点,量化和移除重复点这一过程又被称为体素化过程。接着对bounding box进行八叉树划分。在基于八叉树的几何信息编码流程中,将包围盒八等分为8个子立方体,对非空的(包含点云中的点)的子立方体继续进行八等分,直到划分得到的叶子结点为1x1x1的单位立方体时停止划分,对叶子结点中的点进行算术编码,生成二进制的几何比特流,即几何码流。在基于三角面片集(triangle soup,trisoup)的几何信息编码过程中,同样也要先进行八叉树划分,但区别于基于八叉树的几何信息编码,该trisoup不需要将点云逐级划分到边长为1x1x1的单位立方体,而是划分到子块(block)边长为w时停止划分,基于每个block中点云的分布所形成的表面,得到该表面与block的十二条边所产生的至多十二个交点(vertex),对vertex进行算术编码(基于交点进行表面拟合),生成二进制的几何比特流,即几何码流。vertex还用于在几何重建的过程的实现,而重建的几何信息在对点云的属性编码时使用。
46.在属性编码过程中,几何编码完成,对几何信息进行重建后,进行颜色转换,将颜色信息(即属性信息)从rgb颜色空间转换到yuv颜色空间。然后,利用重建的几何信息对点云重新着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码过程中,主要有两种变换方法,一是依赖于细节层次(level of detail,lod)划分的基于距离的提升变换,二是直接进行区域自适应分层变换(region adaptive hierarchal transform,raht)的变换,这两种方法都会将颜色信息从空间域转换到频域,通过变换得到高频系数和低频系数,最后对系数进行量化(即量化系数),最后,将经过八叉树划分及表面拟合的几何编码数据与量化系数处理属性编码数据进行slice合成后,依次编码每个block的vertex坐标(即算数编码),生成二进制的属性比特流,即属性码流。
47.如图2所示的g-pcc解码的流程框图中,应用于点云解码器中。解码器获取二进制码流,针对二进制码流中的几何比特流和属性比特流分别进行独立解码。在对几何比特流的解码时,通过算术解码-八叉树合成-表面拟合-重建几何-反坐标变换,得到点云的几何
信息;在对属性比特流的解码时,通过算术解码-反量化-基于lod的反提升或者基于raht的反变换-反颜色转换,得到点云的属性信息,基于几何信息和属性信息还原待编码的点云数据的三维图像模型。
48.本技术实施例中的点云压缩方法,主要应用在如图1所示的g-pcc编码的流程和如图2所示的g-pcc解码的流程。也就是说,本技术实施例中的点云压缩方法,既可以应用于g-pcc编码的流程框图,也可以应用于g-pcc解码的流程框图,甚至还可以同时应用于g-pcc编码的流程框图和g-pcc解码的流程框图。
49.图3a为本技术实施例点云压缩方法的实现流程示意图,该方法可由编码器实现,如图3a所示,所述方法至少包括以下步骤:
50.步骤s301,获取待压缩视频的当前块。
51.需要说明的是,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(coding block,cb)。这里,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。
52.其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
53.还需要说明的是,预测模式参数指示了当前块的编码模式及该模式相关的参数。通常可以采用率失真优化(rate distortion optimization,rdo)的方式确定当前块的预测模式参数。
54.具体地,在一些实施例中,编码器确定当前块的预测模式参数的实现为:编码器确定当前块的待预测图像分量;基于当前块的参数,利用多种预测模式分别对待预测图像分量进行预测编码,计算多种预测模式下每一种预测模式对应的率失真代价结果;从计算得到的多个率失真代价结果中选取最小率失真代价结果,并将最小率失真代价结果对应的预测模式确定为当前块的预测模式参数。
55.也就是说,在编码器侧,针对当前块可以采用多种预测模式分别对待预测图像分量进行编码。这里,多种预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式,而传统帧内预测模式又可以包括有直流(direct current,dc)模式、平面(planar)模式和角度模式等,非传统帧内预测模式又可以包括有mip模式、跨分量线性模型预测(cross-component linear model prediction,cclm)模式、帧内块复制(intra block copy,ibc)模式和plt(palette)模式等,帧间预测模式可以包括:帧间几何划分预测模式(geometrical partitioning for inter blocks,geo)、几何划分预测模式、三角预测模式(triangle partition mode,tpm)等。
56.这样,在利用多种预测模式分别对当前块进行编码之后,可以得到每一种预测模式对应的率失真代价结果;然后从所得到的多个率失真代价结果中选取最小率失真代价结果,并将该最小率失真代价结果对应的预测模式确定为当前块的预测模式参数;如此,最终可以使用所确定的预测模式对当前块进行编码,而且在这种预测模式下,可以使得预测残差小,能够提高编码效率。
57.步骤s302,确定当前块的点云数据的几何信息和对应的属性信息。
58.在一些实施例中,点云数据包括点云区域的点数;当前块中点云数据满足预设条件,包括:当前块的点云数据为密集点云。以二维情况为例,如图3b所示,其示出了稀疏卷积和密集卷积的对比:在密集卷积下,卷积核遍历平面321每一个像素位置;在稀疏卷积下,由于数据在平面322内稀疏分布,所以不需要对平面所有位置进行遍历,只需要对数据存在的位置(即有颜色的方框位置)进行卷积处理,这对于点云这种在空间中分布非常稀疏的数据来说,可以极大的减少处理量。在一些可能的实现方式中,确定出这些点的几何信息和该几何信息对应的属性信息。其中,几何信息包括该点的坐标值,属性信息至少包括:颜色、亮度和像素值等。
59.步骤s303,采用稀疏卷积网络,对几何信息和对应的属性信息进行下采样,得到隐层特征。
60.在一些实施例中,隐层特征为对当前块的几何信息和对应的属性信息进行下采样之后的几何信息和对应的属性信息。步骤s303可以理解为,采用稀疏卷积网络,对几何信息和该几何信息对应的属性信息进行多次下采样,得到下采样后的几何信息和对应的属性信息。比如,按照步长为2,卷积核大小也为2的卷积实现,将每个2*2*2的空间单元内的体素的特征聚合到1个体素上,每次下采样后点云的长宽高尺度都减小一半,共有3次下采样,得到隐层特征。
61.步骤s304,对所述隐层特征进行压缩,得到压缩码流。
62.在一些实施例中,将最终得到的隐层特征的几何信息和属性信息分别编码成二进制码流,即可得到压缩码流。
63.在一些可能的实现方式中,首先,确定所述隐层特征中的几何信息出现的频率,比如,利用熵模型确定点云的几何坐标出现的频率;其中,该熵模型是基于一个可训练的通过因式分解表示的概率密度分布,或者是基于上下文信息的条件熵模型。然后,根据所述频率,对所述隐层特征进行加权调整,得到调整的隐层特征;比如,出现的概率越大,则权值越大。最后,将所述调整的隐层特征编码为二进制码流,以得到所述压缩码流。比如,通过算术编码的方式,对隐层特征的坐标和属性分别编码,得到压缩码流。
64.在本技术实施例中,通过采用稀疏卷积网络从点云中确定出点云数量较少的点云区域,从而对点云数量较多的点云区域进行特征属性的提取,不仅能够提高运算速率,而且编码性能较高,进而可用于真实场景的复杂点云。
65.在一些实施例中,为了能够更好的应用在复杂点云场景中,获取待压缩视频的当前块之后,还可以是通过首先,确定当前块的点云数据中的点数量;其次,在所述当前块中确定所述点数量大于等于预设数值的点云区域;再次,确定所述点云区域中点云数据的几何信息和对应的属性信息。最后,通过稀疏卷积网络对该区域的几何信息和对应的属性信息进行下采样,得到用于进行压缩的隐层特征。这样,通过对包括密集点云的区域,采用稀疏卷积网络进行下采样,从而能够实现对复杂场景的点云进行压缩。
66.在一些实施例中,为提高确定的几何信息和属性信息的准确性,步骤s302可以通过以下步骤实现:
67.步骤s321,确定所述点云数据中任一点在世界坐标系中的坐标值,得到所述几何信息。
68.这里,对于点云数据中的任一点,确定出该点在世界坐标系的坐标值,将该坐标值作为几何信息;还可以是将几何信息设置为全1,作为占用符。这样,能够节省对几何信息的计算量。
69.步骤s322,对所述任一点进行特征提取,得到与所述几何信息对应的所述属性信息。
70.这里,对于每一点的进行特征提取,得到包括该点的颜色、亮度和像素等信息的属性信息。
71.在本技术实施例中,通过确定点云数据中点在世界坐标系中的坐标值,将坐标值作为集合信息,以及进行特征提取得到属性信息,从而提高了确定的几何信息和属性信息的准确性。
72.在一些实施例中,步骤s303,采用稀疏卷积网络,对所述几何信息和对应的属性信息进行下采样,得到隐层特征,可以通过以下步骤实现,如图3c所示,图3c为本技术实施例提供的点云压缩方法的另一实现流程示意图,结合图3a进行以下说明:
73.步骤s401,对所述几何信息和对应的属性信息进行量化处理,得到单位体素,得到单位体素集合。
74.这里,以三维稀疏张量形式表示几何信息和对应的属性信息,对该三维稀疏张量进行量化,量化为单位体素,从而得到单位体素集合。其中,单位体素可以理解为是表示点云数据的最小单元。
75.步骤s402,根据稀疏卷积网络的下采样步长和卷积核尺寸,确定下采样次数。
76.这里,稀疏卷积网络可以采用稀疏卷积神经网络来实现,如图3b中322所示。下采样步长和卷积核尺寸越大,下采样次数越小;在一个具体例子中,下采样次数为下采样步长和卷积核尺寸相乘的次数。比如,首先,根据稀疏卷积网络的下采样步长和卷积核尺寸,确定能够进行压缩的体素空间,然后根据该空间的大小,确定采样次数。在稀疏卷积神经网络中可以将下采样步长设置为2,该网络的卷积核为2,那么能够进行压缩的体素空间为2*2*2,那么确定下采样次数为3。
77.步骤s403,按照下采样次数,对所述单位体素集合中的单位体素进行聚合,得到所述隐层特征。
78.比如,下采样次数为3次,即可实现聚合每个2*2*2的空间单元内的单位体素。
79.在一些可能的实现方式中,首先,根据所述下采样次数,将所述点云占据的区域划分为多个单位聚合区域;比如,下采样次数为3次,将点云占据的区域划分为多个2*2*2的单位聚合区域。然后,对每一单位聚合区域内的单位体素进行聚合,得到目标体素集合;比如,将每个2*2*2的单位聚合区域中的单位体素聚合到一个目标体素中,从而得到目标体素集合。最后,确定所述目标体素集合中每一目标体素的几何信息和对应的属性信息,以得到所述隐层特征。这里,通过对单位聚合区域内的单位体素进行聚合之后,确定每一目标像素的几何信息和对应的属性信息,以得到隐层特征。
80.在本技术实施例中,通过多次下采样,将单位聚合区域内的多个单位体素聚合到一个目标体素中,将目标体素的几何信息和对应的属性信息,作为隐层特征;从而实现了对多个体素进行压缩,进而提高了编码性能。
81.本技术实施例提供一种点云压缩方法,该方法应用于视频解码设备,即解码器。该
方法所实现的功能可以通过视频解码设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该视频编码设备至少包括处理器和存储介质。
82.在一些实施例中,图4为本技术实施例点云压缩方法的另一实现流程示意图,该方法可由解码器实现,如图4所示,所述方法至少包括以下步骤:
83.步骤s501,获取待解压视频的当前块。
84.步骤s502,确定所述当前块的点云数据的几何信息和对应的属性信息。
85.步骤s503,采用转置卷积网络,对所述几何信息和对应的属性信息进行上采样,得到隐层特征。
86.这里,转置卷积网络的卷积核与稀疏卷积网络的卷积核尺寸相同。在一些可能的实现方式中,可以采用步长为2,卷积核也是2的转置卷积网络对几何信息和对应的属性信息进行上采样。
87.步骤s504,对所述隐层特征进行解压缩,得到解压缩码流。
88.在一些实施例中,将最终得到的隐层特征的几何信息和属性信息分别编码成二进制码流,即可得到压缩码流。
89.在一些可能的实现方式中,首先,确定所述隐层特征中的几何信息出现的频率,比如,利用熵模型确定点云的几何坐标出现的频率;其中,该熵模型是基于一个可训练的通过因式分解表示的概率密度分布,或者是基于上下文信息的条件熵模型。然后,根据所述频率,对所述隐层特征进行加权调整,得到调整的隐层特征;比如,出现的概率越大,则权值越大。最后,将所述调整的隐层特征解码为二进制码流,以得到所述解压缩码流。比如,通过算术解码的方式,对隐层特征的坐标和属性分别进行解码,得到解压缩码流。
90.在本技术实施例中,通过采用稀疏转置网络从压缩的点云数据进行解压缩,不仅能够提高运算速率,而且编码性能较高,进而可用于真实场景的复杂点云。
91.在一些实施例中,为了能够更好的应用在复杂点云场景中,获取待压缩视频的当前块之后,还可以是通过首先,确定当前块的点云数据中的点数量;其次,在所述当前块中确定所述点数量大于等于预设数值的点云区域;再次,确定所述点云区域中点云数据的几何信息和对应的属性信息。最后,通过稀疏卷积网络对该区域的几何信息和对应的属性信息进行下采样,得到用于进行压缩的隐层特征。这样,通过对包括密集点云的区域,采用稀疏卷积网络进行下采样,从而能够实现对复杂场景的点云进行压缩。
92.在一些实施例中,为提高确定的几何信息和属性信息的准确性,步骤s502可以通过以下步骤实现:
93.步骤s521,确定所述点云数据中任一点在世界坐标系中的坐标值,得到所述几何信息。
94.步骤s522,对所述任一点进行特征提取,得到与所述几何信息对应的所述属性信息。
95.在本技术实施例中,通过确定点云数据中点在世界坐标系中的坐标值,将坐标值作为集合信息,以及进行特征提取得到属性信息,从而提高了确定的几何信息和属性信息的准确性。
96.在一些实施例中,步骤s503,采用转置卷积网络,对所述几何信息和对应的属性信息进行上采样,得到隐层特征,可以通过以下步骤实现:
97.第一步,确定所述几何信息和对应的属性信息所属的目标体素。
98.这里,由于当前块是进行压缩得到的,所以几何信息和属性信息也是压缩的,首先确定出几何信息和对应的属性信息所属的目标体素,该目标体素是由多个单位体素压缩得到的,所以这样先确定出几何信息和对应的属性信息所属的目标体素。
99.第二步,根据所述转置卷积网络的上采样步长和卷积核尺寸,确定上采样次数。
100.这里,转置卷积网络可以采用稀疏转置卷积神经网络来实现,下采样步长和卷积核尺寸越大,上采样次数越小。
101.在一些可能的实现方式中,首先,确定所述目标体素占据的单位聚合区域;比如,确定出该目标体素是由哪些区域的单位体素聚合得到的。
102.然后,在所述单位聚合区域内,根据所述上采样次数,将所述目标体素解压缩为多个单位体素;比如,单位聚合区域为2*2*2,那么根据上采样次数,进行三次解压缩,将目标体素解压缩为多个单位体素。
103.最后,确定每一单位体素的几何信息和对应的属性信息,以得到所述隐层特征。比如,得到以三维稀疏张量形式表示几何信息和对应的属性信息,对该三维稀疏张量进行量化,量化为单位体素,从而得到单位体素集合。
104.在一些可能的实现方式中,首先,确定所述当前块的当前层中非空单位体素占据总目标体素的比例。这里,确定出当前层中被占据的体素(即非空单位体素)与未被占据的体素(即空单位体素)的数量,得到当前层中非空单位体素占据总目标体素的比例。另外,对于当前块的每一层,均确定出其中被占据的体素和未被占据的空体素的数量,从而得到非空单位体素占据总目标体素的比例。在一些实施例中国,先是采用二分类神经网络,根据当前单位体素,确定下一个单位体素为非空体素的概率;这里,采用二分类神经网络,根据当前单位体素是否为非空体素的情况,预测下一个单位体素为非空体素的概率。然后,将概率大于等于预设占比阈值的体素确定为预测非空单位体素,以确定所述比例。比如,将概率大于0.8的体素预测为非空单位体素,从而确定出非空单位体素占据总目标体素的比例。
105.其次,根据所述比例,确定所述当前块中当前层的下一层的非空单位体素数量。
106.这里,将所述比例,确定为当前层的下一层的非空单位体素占据的比例,从而确定下一层的非空单位体素数量。
107.再次,至少根据所述非空单位体素数量,对所述当前层的下一层进行几何信息重建。
108.这里,按照上一步骤中,确定出非空单位体素数量,预测出下一层中满足该数量的所述非空单位体素,根据该预测出的非空单位体素和未预测出的非空单位体素,对当前层的下一层进行几何信息重建。
109.最后,确定所述下一层的点云数据的几何信息和对应的属性信息,以得到所述隐层特征。
110.这里,对下一层进行重建之后,确定出该层的云数据的几何信息和对应的属性信息;对于当前块的每一层重建之后,均可确定出该层的几何信息和对应的属性信息;将多层的几何信息和对应的属性信息,作为当前块的隐层特征。
111.在本技术实施例中,通过当前层中非空单位体素占据的比例预测下一层非空单位体素的数量,使得下一层非空体素数量更加接近真实值,根据点云中非空体素的真值数量,
对预设占比阈值进行调整,从而能够实现分类重建时利用体素数量进行自适应阈值的设置,进而提高了编码性能。
112.在一些实施例中,动态图像专家组(moving picture experts group,mpeg)、联合图像专家组(joint photographic experts group,jpeg)和音视频编码标准(audio video coding standard,avs)等标准组织都在发展点云压缩的相关技术标准。其中,mpeg点云压缩(point cloud compression,pcc)的技术标准较领先且具有代表性。它包括基于几何的点云压缩(geometry-based point cloud compression g-pcc)和基于视频的点云压缩(video-based point cloud compression,v-pcc)。g-pcc中的几何压缩主要通过八叉树模型和/或三角形表面模型实现。v-pcc主要通过三维到二维的投影和视频压缩实现。
113.按照压缩内容,点云压缩可以分为几何压缩和属性压缩。本技术实施例所述的技术方案属于几何压缩。
114.与本技术实施例内容相近的是,新兴的利用神经网络和深度学习的点云几何压缩技术。目前该研究方向尚处于起步探索阶段。目前出现的技术资料可分为基于三维卷积神经网络的体积模型压缩技术和直接在点集上利用pointnet等网络的点云压缩技术。
115.然而,g-pcc由于其不能充分对点云几何结构进行特征提取和变换,所以压缩率低。v-pcc在密集点云上的编码性能优于g-pcc,但是受限于投影的方法,仍不能对三维几何结构特征进行充分压缩,且编码器复杂度高。
116.相关的基于学习的点云几何压缩技术都缺乏满足标准条件的测试结果,并且缺少足够的同行评审以及缺少公开的技术和数据资料以进行对比验证。且其各种方案具有如下明显缺陷:直接在点集上进行压缩的技术应用范围限制在点数量固定且点数少的小点云上,不能直接用于真实场景的复杂点云。基于三维密集卷积的点云压缩技术,由于将稀疏点云转换为体积模型进行压缩,没有充分挖掘点云的稀疏结构,而造成计算冗余且编码性能不高等问题。
117.基于此,下面将说明本技术实施例在一个实际的应用场景中的示例性应用。
118.本技术实施例提供了一种多尺度点云几何压缩方法,使用端到端学习的自编码器框架,利用稀疏卷积神经网络构建分析变换和合成变换。点云数据以三维稀疏张量形式表示为坐标与对应属性:{c,f},输入的点云几何数据x的对应属性fx为全1,作为占用符。在编码器中,输入x经过分析变换被递进式地下采样到多个尺度,在此过程中,几何结构特征被自动提取并嵌入到稀疏张量的属性f中。最终得到的隐层表征y的坐标cy和特征属性fy被分别编码成二进制码流。在解码器中,隐层表征y被解码,然后经过合成变换中递进式地上采样,输出多尺度的重建结果。
119.所述方法的详细流程和编解码器结构如图5a所示,图中ae表示算术编码(arithmetic encoder),ad(arithmetic decoder)表示算术解码;
120.详细说明如下:
121.编解码的变换由多层稀疏卷积神经网络组成:初始-残差网络(inception-residual network,irn)被用于提高网络的特征分析能力,irn结构如图5b所示,在每一次上采样和下采样后,都有一个由3个irn单元组成的特征提取模块;下采样通过步长为2、卷积核大小也为2的卷积实现,将每个2
×2×
2的空间单元内的体素的特征聚合到1个体素上,每次下采样后点云的长宽高尺度都减小一半,共有3次下采样;在解码器中的上采样通过步
长为2、卷积核也为2的转置卷积实现,即,将1个体素划分为2
×2×
2个体素,点云的长宽高尺度将变为原来的2倍。每次上采样后,通过二分类从生成的体素中保留预测为被占据的体素,去除预测为空的体素及其属性,以实现几何细节的重建。通过分层递进式的重建,粗糙点云逐渐恢复出细节结构。其中,图5b所示的rel表示修正线性单元(rectified linear unit)。
122.关于多尺度分层重建的详细说明如下:可以通过二分类区分生成体素,从而实现重建。所以在解码器的每一个尺度的特征上,通过一层输出通道为1的卷积来预测每一个体素被占据的概率。在训练过程中,使用二值交叉熵损失函数(l
bce
)衡量分类失真并用于训练;在分层重建中,对应使用多尺度l
bce
,即以实现多尺度的训练;其中,n表示不同尺度的个数,多尺度l
bce
可以称为失真损失,即下文描述的失真损失d。在推断过程中,通过设置概率的阈值来进行分类,该阈值不固定,而是根据点数量自适应地设置,即通过排序,选择概率更大的体素,当设置重建体素数量和原始体素数量相同时,往往可以获得最优结果。一个具体的重建过程可以参照图6理解,如图6所示,从(a)到(b)表示1次下采样,从(b)到(c)表示1次下采样,从(c)到(d)表示1次下采样,即,从(a)到(d)表示编码过程中点云的3次下采样。从(e)到(j)表示点云的分层重建过程,(e)、(g)和(i)表示3次上采样的结果,颜色代表体素被占据的概率的大小,约接近绿色,被占据的概率越大,约接近蓝色,概率越小。(f)、(h)和(j)是根据概率分类的结果,共有3种可能,其中绿色和蓝色分别代表预测出的体素中正确的和错误的结果,而红色表示没有被正确预测出的体素。在训练时,为了避免前面没有预测出来的体素对后面的重建造成影响,同时保留了预测出的体素和没有被预测出的体素用于下一级的重建。
123.关于如何对特征进行编码的说明如下:通过分析变换得到的隐层特征y的坐标c
y
和属性f
y
被分别编码。坐标c
y
通过经典的八叉树编码器无损编码,仅占据较小的码率。属性f
y
经过量化得到然后通过算术编码进行压缩。算术编码依赖于一个学习到的熵模型来估计每一个的概率如下式(1)所示,该熵模型通过一个完全因式分解概率密度分布得到:
[0124][0125]
式中,ψ
(i)
为每个单变量分布的分布。该分布与一个均匀概率密度卷积得到概率值。
[0126]
此外,本技术实施例也提供了一个基于上下文信息的条件熵模型,假设特征的数值服从高斯分布n(μ
i

i2
),可以利用该分布得到该熵模型。为了利用上下文来预测高斯分布的参数,可以基于掩模卷积设计上下文模型,该模型用来提取上下文信息,如图5c所示,其示出了自回归先验的上下文模型(context model via autoregressive prior)的结构,对于输入的当前体素通过一个卷积核为5
×5×
5的掩模卷积来掩盖当前体素的后面的体素,以便利用前面的体素对当前体素进行预测,得到的输出的正态分布的均值和方差μ,
σ。通过实验表明,基于上下文的条件熵模型在测试集上和基于完全因式分集的概率密度模型相比,平均得到-7.28%的bd-rate。
[0127]
编解码器的参数需要经过训练得到,训练细节描述如下:所用数据集为shapenet数据集,对该数据集进行采样,得到密集点云;并将该密集点云中点的坐标量化到[0,127]范围内,以用于训练。用于训练的损失函数是失真损失d和码率损失r的加权和:j=r λd;
[0128]
其中,r可以通过上述熵模型估计的概率计算信息熵得到,即通过如下式得到:k表示待编码的数字(即卷积变换得到的数值)的总数;失真损失的表达式为:参数λ用于控制码率损失r和失真损失d的比重,该参数值例如可以设置为0.5、1、2、4或6等任意值,以获得不同码率的模型。训练可以使用适应性矩估计(adaptive moment estimation,adam)优化算法。损失函数从0.0008到0.00002衰减,训练32000批,每一批有8个点云。
[0129]
本技术实施例在mpeg pcc要求的测试点云长裙(longdress)、红色和黑色(redandblack)、篮球运动员(basketball player)和安德鲁(andrew)、抢劫(loot)、士兵(soldier)和舞者(dancer)以及联合摄影专家组要求的多种数据集上进行测试,利用基于点到点距离的峰值信噪比(d1 peak signal to noise ratio,d1 psnr)作为客观质量评价指标,相比v-pcc、g-pcc(octree)和g-pcc(trisoup),bd-rate(bjontegaard delta rate)分别为-36.93%、-90.46%、-91.06%。
[0130]
在长裙、红色和黑色、篮球运动员和安德鲁这4个数据上和其它方法的码率曲线对比如图7所示,从图7中可以看出,在每种数据上,本技术实施例提供的所述方法,无论在哪种码率(bit)下获得的psnr均高于其它方法,即本技术实施例所获得的压缩性能较好。
[0131]
在redandblack数据上相近码率的主观质量对比如图8所示,从图中可以看出,以上数据说明所述方法的压缩性能相比v-pcc、g-pcc有较大提升。
[0132]
此外,由于充分适应了点云稀疏且无结构的特点,本技术实施例相比于其它基于学习的点云几何压缩方法有更多的灵活性,不需要对点数量或者体积模型的大小进行限制,可以方便地处理任意大小的点云。且编解码所需要的时间和存储开销相比于基于体积模型的方法减少很多。在longdress、loot、redandblack和soldier上的平均测试显示,编码所需要的内存约为333mb,时间约为1.58s,解码所需要的内存约为1273mb,时间约为5.4s;其中,使用的测试设备为intel core i7-8700kw cpu和nvidia geforce gtx 1070gpu。
[0133]
在本技术实施例中,设计了一个基于稀疏张量和稀疏卷积的点云几何编解码方案。在编解码变换中,应用多尺度结构和损失函数提供多尺度的重建。基于分类重建时利用点数量进行自适应阈值设置。
[0134]
在一些实施例中,可以对神经网络的结构参数进行修改,例如增加或减少上下采样次数,和/或改变网络层数等。
[0135]
基于前述的实施例,本技术实施例提供的点云压缩的编码器和解码器,可以包括所包括的各模块、以及各模块所包括的各单元,可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器、微处理器、数
字信号处理器或现场可编程门阵列等。
[0136]
如图9所示,本技术实施例提供一种编码器900,包括:
[0137]
第一获取模块901,用于获取待编码视频的当前块;
[0138]
第一确定模块902,用于确定所述当前块的点云数据的几何信息和对应的属性信息;
[0139]
下采样模块903,用于采用稀疏卷积网络,对所述几何信息和对应的属性信息进行下采样,得到隐层特征;
[0140]
第一压缩模块904,用于对所述隐层特征进行压缩,得到压缩码流。
[0141]
在本技术的一些实施例中,所述第一确定模块902,还用于:确定所述点云数据中任一点在世界坐标系中的坐标值,得到所述几何信息;对所述任一点进行特征提取,得到与所述几何信息对应的所述属性信息。
[0142]
在本技术的一些实施例中,所述下采样模块903,还用于:对所述几何信息和对应的属性信息进行量化处理,得到单位体素,得到单位体素集合;根据所述稀疏卷积网络的下采样步长和卷积核尺寸,确定下采样次数;按照所述下采样次数,对所述单位体素集合中的单位体素进行聚合,得到所述隐层特征。
[0143]
在本技术的一些实施例中,所述下采样模块903,还用于:根据所述下采样次数,将所述点云占据的区域划分为多个单位聚合区域;对每一单位聚合区域内的单位体素进行聚合,得到目标体素集合;确定所述目标体素集合中每一目标体素的几何信息和对应的属性信息,以得到所述隐层特征。
[0144]
在本技术的一些实施例中,所述第一压缩模块904,还用于:确定所述隐层特征中的几何信息出现的频率;根据所述频率,对所述隐层特征进行加权调整,得到调整的隐层特征;将所述调整的隐层特征编码为二进制码流,以得到所述压缩码流。
[0145]
在实际应用中,如图10所示,本技术实施例还提供了一种编码器1000,包括:第一存储器1001和第一处理器1002;所述第一存储器1001存储有可在第一处理器1002上运行的计算机程序,所述第一处理器1002执行所述程序时编码器侧的点云压缩方法。
[0146]
如图11所示,本技术实施例提供一种解码器1100,包括:
[0147]
第二获取模块1101,用于获取待解压视频的当前块;
[0148]
第二确定模块1102,用于确定所述当前块的点云数据的几何信息和对应的属性信息;
[0149]
上采样模块1103,用于采用转置卷积网络,对所述几何信息和对应的属性信息进行上采样,得到隐层特征;
[0150]
解压缩模块1104,用于对所述隐层特征进行解压缩,得到解压缩码流。
[0151]
在本技术的一些实施例中,第二获取模块1101,还用于:确定所述当前块的点云数据中的点数量;在所述当前块中确定所述点数量大于等于预设数值的点云区域;确定所述点云区域中点云数据的几何信息和对应的属性信息。
[0152]
在本技术的一些实施例中,第二确定模块1102,还用于:确定所述点云数据中任一点在世界坐标系中的坐标值,得到所述几何信息;对所述任一点进行特征提取,得到与所述几何信息对应的所述属性信息。
[0153]
在本技术的一些实施例中,所述上采样模块1103,还用于:确定所述几何信息和对
应的属性信息所属的目标体素;根据所述转置卷积网络的上采样步长和卷积核尺寸,确定上采样次数;按照所述上采样次数,将所述目标体素解压缩为多个单位体素,以得到所述隐层特征。
[0154]
在本技术的一些实施例中,所述上采样模块1103,还用于:确定所述目标体素占据的单位聚合区域;在所述单位聚合区域内,根据所述上采样次数,将所述目标体素解压缩为多个单位体素;确定每一单位体素的几何信息和对应的属性信息,以得到所述隐层特征。
[0155]
在本技术的一些实施例中,所述上采样模块1103,还用于:确定所述当前块的当前层中非空单位体素占据总目标体素的比例;根据所述比例,确定所述当前块中当前层的下一层的非空单位体素数量;至少根据所述非空单位体素数量,对所述当前层的下一层进行几何信息重建;确定所述下一层的点云数据的几何信息和对应的属性信息,以得到所述隐层特征。
[0156]
在本技术的一些实施例中,所述上采样模块1103,还用于:采用二分类神经网络,根据当前单位体素,确定下一个单位体素为非空体素的概率;将概率大于等于预设占比阈值的体素确定为所述非空单位体素,以确定所述比例。
[0157]
在本技术的一些实施例中,所述解压缩模块1104,还用于:确定所述隐层特征中的几何信息出现的频率;根据所述频率,对所述隐层特征进行加权调整,得到调整的隐层特征;将所述调整的隐层特征解压缩为二进制码流,以得到所述解压缩码流。
[0158]
在实际应用中,如图12所示,本技术实施例还提供了一种解码器1200,包括:
[0159]
第二存储器1201和第二处理器1202;
[0160]
所述第二存储器1201存储有可在第二处理器1202上运行的计算机程序,所述第二处理器1202执行所述程序时实现解码器侧的点云压缩方法。
[0161]
相应的,本技术实施例提供了一种存储介质,其上存储有计算机程序,该计算机程序被第一处理器执行时,实现编码器的点云压缩方法;或者,该计算机程序被第二处理器执行时,实现解码器的点云压缩方法。
[0162]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0163]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的点云压缩方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0164]
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0165]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的
特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0166]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0167]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0168]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0169]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0170]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0171]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备(可以是手机、平板电脑、笔记本电脑、台式计算机、机器人、无人机等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0172]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0173]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0174]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以
任意组合,得到新的方法实施例或设备实施例。
[0175]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献