CN118055244A - 一种点云数据的解码方法及装置 - Google Patents
一种点云数据的解码方法及装置 Download PDFInfo
- Publication number
- CN118055244A CN118055244A CN202211436793.2A CN202211436793A CN118055244A CN 118055244 A CN118055244 A CN 118055244A CN 202211436793 A CN202211436793 A CN 202211436793A CN 118055244 A CN118055244 A CN 118055244A
- Authority
- CN
- China
- Prior art keywords
- candidate
- vertexes
- vertex
- vertices
- derivative
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000005070 sampling Methods 0.000 claims abstract description 85
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000013528 artificial neural network Methods 0.000 claims abstract description 41
- 238000013527 convolutional neural network Methods 0.000 claims description 61
- 238000003860 storage Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 37
- 230000002829 reductive effect Effects 0.000 abstract description 24
- 239000011159 matrix material Substances 0.000 abstract description 21
- 238000012216 screening Methods 0.000 abstract description 8
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 101001014572 Homo sapiens MARCKS-related protein Proteins 0.000 description 49
- 102100032514 MARCKS-related protein Human genes 0.000 description 49
- 101000940764 Homo sapiens Cysteine and glycine-rich protein 3 Proteins 0.000 description 47
- 101001120884 Rana temporaria Melittin-like peptide Proteins 0.000 description 47
- 101001133082 Rattus norvegicus Intestinal mucin-like protein Proteins 0.000 description 47
- 238000013461 design Methods 0.000 description 35
- 238000011176 pooling Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 21
- 230000009466 transformation Effects 0.000 description 20
- 238000000605 extraction Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000013139 quantization Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 238000007781 pre-processing Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000004931 aggregating effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 101100481876 Danio rerio pbk gene Proteins 0.000 description 2
- 241000509579 Draco Species 0.000 description 2
- 101000986621 Homo sapiens ATP-binding cassette sub-family C member 6 Proteins 0.000 description 2
- 101100481878 Mus musculus Pbk gene Proteins 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- PRQROPMIIGLWRP-UHFFFAOYSA-N N-formyl-methionyl-leucyl-phenylalanin Chemical compound CSCCC(NC=O)C(=O)NC(CC(C)C)C(=O)NC(C(O)=O)CC1=CC=CC=C1 PRQROPMIIGLWRP-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001212 derivatisation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
一种点云数据的解码方法及装置,涉及图像处理技术领域,用以降低解码复杂度,提高解码效率。本申请在执行上采样的过程中,是在图模型的基础上通过图卷积神经网络来执行,在处理稀疏点云数据过程中采用矩阵运算,无需逐个遍历空间所有的体素,可以降低时间复杂度,提高解码效率。在编码过程中将非空体素的几何坐标编入码流,从而解码端根据几何坐标构建解码的体素模型的骨架,进而在骨架的基础上进行上采样,提高解码的准确度。在衍生的顶点先筛选出锚顶点作为衍生顶点,然后再利用锚顶点在设定范围内筛选衍生顶点,即采用逐步缩小范围的方式采样衍生顶点,有效调整局部区域非空体素上采样的数量,可以避免上采样点云出现较大程度失真。
Description
技术领域
本申请涉及图像处理技术领域,特别涉及一种点云数据的解码方法及装置。
背景技术
点云广泛应用于文化遗产/博物馆、3D自由视点视频、实时沉浸式远程呈现、具有交互式视差的VR、移动地图绘制和自主导航等场景中。实时动态更新的点云数据相比于静态点云数据能够提供更好的交互体验。但是,在现有的传输带宽条件下,实时传输数据量大的点云数据,是一件具有挑战性的事情。因此,高效的点云压缩技术迫在眉睫。
为了有效处理点云数据,每个点首先被量化在由尺寸体素组成的立方网格内。在编码端通过降采样方式来减少传输的数据量,进而在解码端通过上采样的方式来恢复数据。目前上采样采用的方式是,使用3D CNN提取体素化后的点云数据特征,然后通过点云数据特征预测上采样后体素的非空概率。但是使用3D CNN进行点云特征提取,特征提取时间复杂度较高,降低编解码效率。
发明内容
本申请实施例提供一种点云数据的解码方法及装置,用以降低解码复杂度,提高解码效率。
第一方面,本申请实施例提供一种点云数据的解码方法,包括:接收码流;从所述码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征。根据所述非空体素的几何坐标以及所述几何特征构建图模型。其中,所述图模型中的顶点用于表示所述非空体素,所述图模型中每两个顶点之间的边用于描述所述两个顶点之间几何特征的关联关系。通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
示例性地,所述第一体素模型是编码设备针对点云数据进行体素化得到的体素模型的基础上进行降采样得到的。
本申请实施例中在执行上采样的过程中,是在图模型的基础上通过图卷积神经网络来执行,图卷积神经网络相对与3D CNN而言,在处理稀疏点云数据过程中采用矩阵运算,无需逐个遍历空间所有的体素,可以降低时间复杂度,也就是可以降低解码复杂度,提高解码效率。另外,在编码过程中将非空体素的几何坐标编入码流,从而解码端根据几何坐标构建解码的体素模型的骨架,进而在骨架的基础上进行上采样,提高了解码的准确度。
在一种可能的设计中,通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,包括:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数。
在一种可能的设计中,通过图卷积神经网络中级联的多个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,包括:
通过第一图卷积子网络执行,所述第一图卷积子网络为所述多个图卷积子网络中的一个:
基于所述图模型中M个顶点分别对应的几何特征和几何坐标获得所述每个顶点分别对应的(2k)3个候选顶点的几何坐标;k为所述第一图卷积子网络的采样因子;
根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点;所述锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点;
从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,其中,所述锚顶点作为衍生顶点,所述衍生顶点对应的体素为所述第二体素模型中非空体素。
本申请上述设计中,在衍生的顶点先筛选出锚顶点作为衍生顶点,然后再利用锚顶点在设定范围内筛选衍生顶点,即锚顶点对应的体素的设定范围内筛选其它的非空体素。相比从所有的候选顶点中筛选衍生顶点来说,本申请采用逐步缩小范围的方式来采样得到衍生顶点,有效调整局部区域非空体素上采样的数量,并且可以避免上采样点云出现较大程度失真,提高上采样性能。
在一种可能的设计中,所述从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,包括:
提取每个锚顶点对应的(2k)3-1个候选顶点的几何特征,并根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点;其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点中确定的Ni个候选衍生顶点为(2k)3-1个候选顶点中预测为非空体素概率最大的Ni个候选顶点;1≤i≤M,
提取Nc个候选衍生顶点的几何特征,并根据所述Nc个候选衍生顶点的几何特征从所述Nc个候选衍生顶点中选择L个几何特征最大的候选衍生顶点作为衍生顶点,其中所述锚顶点作为所述衍生顶点。
本申请上述设计中,在衍生的顶点先筛选出锚顶点作为衍生顶点,然后再利用锚顶点在设定范围内筛选候选衍生顶点,然后再进一步在候选衍生顶点中筛选衍生顶点。相比从所有的候选顶点中筛选衍生顶点来说,本申请采用逐步缩小范围的方式来采样得到衍生顶点,有效调整局部区域非空体素上采样的数量,可以降低显存的占用率,并且可以避免上采样点云出现较大程度失真,提高上采样性能。
在一种可能的设计中,根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点,包括:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点,以得到Nc个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率。
在一种可能设计中,所述方法还包括从所述码流中解码待解码点云的数量;
其中,所述Nc≤(NGT-M),NGT表示待解码点云的数量。
在一种可能的设计中,所述方法还包括:从所述码流中解码待解码点云的数量;
所述根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点,包括:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni′个候选顶点作为候选衍生顶点,以得到Nc′个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率;
在确定满足Nc′>(NGT-M)时,从所述Nc′个候选衍生顶点选择Nc个候选衍生顶点。
本申请上述设计中,在衍生的顶点先筛选出锚顶点作为衍生顶点,然后再利用锚顶点在设定范围内筛选候选衍生顶点,为了降低显存占用率,进一步缩小候选衍生顶点的数量,然后在候选衍生顶点中筛选衍生顶点。相比从所有的候选顶点中筛选衍生顶点来说,本申请采用逐步缩小范围的方式来采样得到衍生顶点,有效调整局部区域非空体素上采样的数量,并且可以避免上采样点云出现较大程度失真,提高上采样性能。
在一种可能的设计中,根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点,包括:
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征;所述第一顶点为所述M个候选顶点中的任一顶点;
根据所述(2k)3个候选顶点的几何特征预测所述(2k)3个候选顶点中每个候选顶点对应的体素为非空体素的概率;
从所述(2k)3个候选顶点中选择概率最大的候选顶点作为锚顶点。
在一种可能的设计中,所述第一图卷积子网络包括第一边缘卷积网络;根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征,包括:
将所述第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征作为所述第一边缘卷积网络的输入,通过所述第一边缘卷积网络提取所述(2k)3个候选顶点的几何特征。
在一种可能的设计中,所述第一图卷积子网络包括图注意力网络、第二多边缘卷积网络;
分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量,包括:
通过所述图注意力网络预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中第二概率最大的Ni个候选顶点作为候选衍生顶点,包括:
通过所述第二多边缘卷积网络预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率;
从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni候选顶点作为候选衍生顶点。
第二方面,本申请实施例提供另一种点云数据的解码装置,包括:
接收单元,用于接收码流;
熵解码单元,用于从所述码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征;所述第一体素模型是编码设备针对点云数据进行体素化得到的体素模型的基础上进行降采样得到的;
上采样单元,用于根据所述非空体素的几何坐标以及所述几何特征构建图模型,其中,所述图模型中的顶点用于表示所述非空体素,所述图模型中每两个顶点之间的边用于描述所述两个顶点之间几何特征的关联关系;通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
在一种可能的设计中,所述上采样单元,具体用于:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数。
在一种可能的设计中,所述上采样单元,具体用于:
通过第一图卷积子网络执行,所述第一图卷积子网络为所述多个图卷积子网络中的一个:
基于所述图模型中M个顶点分别对应的几何特征和几何坐标获得所述每个顶点分别对应的(2k)3个候选顶点的几何坐标;k为所述第一图卷积子网络的采样因子;
根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点;所述锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点;
从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,其中,所述衍生顶点对应的体素作为所述第二体素模型中非空体素。
在一种可能的设计中,所述上采样单元,具体用于:
提取每个锚顶点对应的(2k)3-1个候选顶点的几何特征,并根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点;其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点中确定的Ni个候选衍生顶点为(2k)3-1个候选顶点中预测为非空体素概率最大的Ni个候选顶点;1≤i≤M,
提取Nc个候选衍生顶点的几何特征,并根据所述Nc个候选衍生顶点的几何特征从所述Nc个候选衍生顶点中选择L个几何特征最大的候选衍生顶点作为衍生顶点,其中所述锚顶点作为所述衍生顶点。
在一种可能的设计中,所述上采样单元,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点,以得到Nc个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率。
在一种可能的设计中,所述熵解码单元,还用于从所述码流中解码待解码点云的数量;
其中,所述Nc≤(NGT-M),NGT表示待解码点云的数量。
在一种可能的设计中,所述熵解码单元,还用于从所述码流中解码待解码点云的数量;
所述上采样单元,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni′个候选顶点作为候选衍生顶点,以得到Nc′个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率;
在确定满足Nc′>(NGT-M)时,从所述Nc′个候选衍生顶点选择Nc个候选衍生顶点。
在一种可能的设计中,所述上采样单元,具体用于:
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征;所述第一顶点为所述M个候选顶点中的任一顶点;
根据所述(2k)3个候选顶点的几何特征预测所述(2k)3个候选顶点中每个候选顶点对应的体素为非空体素的概率;
从所述(2k)3个候选顶点中选择概率最大的候选顶点作为锚顶点。
在一种可能的设计中,所述第一图卷积子网络包括第一边缘卷积网络;
所述上采样单元,具体用于:
将所述第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征作为所述第一边缘卷积网络的输入,通过所述第一边缘卷积网络提取所述(2k)3个候选顶点的几何特征。
在一种可能的设计中,所述第一图卷积子网络包括图注意力网络、第二多边缘卷积网络;
所述上采样单元,具体用于:
通过所述图注意力网络预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中第二概率最大的Ni个候选顶点作为候选衍生顶点,包括:
通过所述第二多边缘卷积网络预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率;
从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni候选顶点作为候选衍生顶点。
第三方面,本申请实施例提供一种点云数据的编码方法,包括:
针对待处理的点云数据连续执行N次降采样处理得到降采样处理后的点云数据对应的第一体素模型,M为正整数,N次降采样中的第i次降采样处理包括:
对第i-1次降采样后的点云数据进行体素化处理,得到第i次的体素模型;
基于所述第i次的体素模型生成所述点云数据的第i次的图模型;
通过图卷积神经网络基于所述图模型对所述第i次的体素模型进行降采样处理,以得到第i次降采样后的点云数据;
发送码流,所述码流中包括所述第一体素模型中的多个非空体素的几何坐标以及所述多个非空体素分别对应的几何特征。
在一种可能的设计中,通过图卷积神经网络基于所述图模型对所述第二体素模型进行降采样处理得到第一体素模型,包括:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述待处理的点云数据执行N次降采样处理得到第一体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第一体素模型相对于所述第二体素模型的采样降低倍数。
在一种可能的设计中,通过所述图卷积子网络执行:
提取图模型中每个顶点的全局几何特征和局部几何特征;
基于图模型中每个顶点的全局几何特征和局部几何特征对所述图模型对应的第二点云体素模型进行下采样;
聚合下采样后的所述第二点云体素模型中各个非空体素的几何特征。
在一种可能的设计中,所述图卷积子网络包括至少一个多边缘卷积网络。提取图模型中每个顶点的全局几何特征和局部几何特征,包括,通过所述至少一个多边缘卷积网络提取所述图模型中每个顶点的全局几何特征和局部几何特征。
第四方面,本申请实施例提供一种点云数据的几何编码装置,包括:
降采样单元,用于针对待处理的点云数据连续执行N次降采样处理得到降采样处理后的点云数据对应的第一体素模型,M为正整数,N次降采样中的第i次降采样处理包括:
对第i-1次降采样后的点云数据进行体素化处理,得到第i次的体素模型;
基于所述第i次的体素模型生成所述点云数据的第i次的图模型;
通过图卷积神经网络基于所述图模型对所述第i次的体素模型进行降采样处理,以得到第i次降采样后的点云数据;
发送单元,用于发送码流,所述码流中包括所述第一体素模型中的多个非空体素的几何坐标以及所述多个非空体素分别对应的几何特征。
在一种可能的设计中,所述降采样单元具体用于:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述待处理的点云数据执行N次降采样处理得到第一体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第一体素模型相对于所述第二体素模型的采样降低倍数。
在一种可能的设计中,所述降采样单元,具体用于通过所述图卷积子网络执行:
提取图模型中每个顶点的全局几何特征和局部几何特征;
基于图模型中每个顶点的全局几何特征和局部几何特征对所述图模型对应的第二点云体素模型进行下采样;
聚合下采样后的所述第二点云体素模型中各个非空体素的几何特征。
在一种可能的设计中,所述图卷积子网络包括至少一个多边缘卷积网络。所述降采样单元,具体用于通过所述至少一个多边缘卷积网络提取所述图模型中每个顶点的全局几何特征和局部几何特征。
第五方面,本申请实施例还提供一种点云数据的解码装置,包括至少一个处理器和存储器;所述存储器,用于存储计算机程序或指令;所述至少一个处理器,用于执行所述计算机程序或指令,以使得如第一方面或者第一方面的任意设计所述的方法被执行。
第六方面,本申请实施例还提供一种点云数据的编码装置,包括至少一个处理器和存储器;所述存储器,用于存储计算机程序或指令;所述至少一个处理器,用于执行所述计算机程序或指令,以使得如第三方面或者第三方面的任意设计所述的方法被执行。
第七方面,本申请实施例还提供一种芯片***,所述芯片***包括处理器;所述处理器与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如第一方面或者第一方面的任意设计所述的方法。
第八方面,本申请实施例还提供一种芯片***,所述芯片***包括处理器;所述处理器与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如第三方面或者第三方面的任意设计所述的方法。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被计算机执行时,使得如第一方面或者第一方面的任意设计所述的方法被执行。
第十方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被计算机执行时,使得如第三方面或者第三方面的任意设计所述的方法被执行。
第十一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有如第一方面或者第三方面的所述的码流。
第十二方面,本申请实施例提供一种分发码流的装置,包括通信接口和存储器,所述存储器存储有如第一方面或者第三方面中所述的码流,所述通信接口用于发送所述码流或者接收所述码流。
第十三方面,本申请实施例提供一种包含计算机程序或指令的计算机程序产品,当其在计算机上运行时,使得上述第一方面或者第一方面的任意设计所述的方法被执行。
第十四方面,本申请实施例提供一种包含计算机程序或指令的计算机程序产品,当其在计算机上运行时,使得上述第三方面或者第三方面的任意设计所述的方法被执行。
本申请在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本申请实施例提供的体素化示意图;
图2为本申请实施例提供的下采样示意图;
图3为本申请实施例提供的卷积神经网络结构示意图;
图4为本申请实施例提供的点云处理***结构示意图;
图5A为本申请实施例提供的编码端的编码流程示意图;
图5B为本申请实施例提供的解码端的解码流程示意图;
图6为本申请实施例提供的点云数据的编码方法流程图;
图7A为本申请实施例提供的图卷积神经网络结构示意图;
图7B为本申请实施例提供的图卷积子网络执行流程示意图;
图8为本申请实施例提供的边缘卷积网络的网络结构示意图;
图9为本申请实施例提供的边缘卷积示意图;
图10为本申请实施例提供的点云数据的解码方法流程示意图;
图11为本申请实施例提供的图卷积子网络执行流程示意图;
图12为本申请实施例提供的体素上采样示意图;
图13为本申请实施例提供的顶点上采样示意图;
图14为本申请实施例提供的图卷积子网络的网络结构示意图;
图15为本申请实施例提供的第一图卷积神经网络的网络结构示意图;
图16为本申请实施例提供的上采样流程示意图;
图17为本申请实施例提供的一种解码装置示意图;
图18为本申请实施例提供的另一种解码装置示意图;
图19为本申请实施例提供的点云解码效果对比示意图;
图20为本申请实施例提供的R-D曲线示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,示例性的给出了与本申请相关概念的说明以供参考。
1)、点云数据:通过测量设备测量得到的物体外观表面上的点数据集合可称之为点云数据。点云数据是在获取物体表面每个采样点的空间坐标后得到的一个点的集合,也称为目标对象表面特性的海量点集合。
基于激光测量原理测量到的点云数据(也可以称为激光点云数据)包括三维坐标和激光反射强度(intensity)等信息。基于摄影测量原理得到的点云数据包括三维坐标和颜色等信息,其中,颜色信息可以为红绿蓝(red、green、blue,RGB)格式的颜色数据。结合激光测量原理和摄影测量原理得到点云数据包括三维坐标、激光反射强度和颜色等信息。
一般将点云数据中的点云的三维坐标称为几何坐标,将激光反射强度和颜色等信息称为点云的属性信息(或者属性值)。
2)体素:
将点云数据进行网格化表示后,每个网格称之为体素(Voxel)。其中,包含点云的网格称之为非空体素;不包含点云的网格称之为空体素。
点云和体素的转化关系如图1所示。每一个体素如图1中的最小立方体所示。体素的尺寸为1个单位。每一个体素在体素化模型中也存在一个坐标(vx,vy,vz)。体素坐标与体素的空间范围之间的关系如公式(1)所示。
(vx,vy,vz)→[x-0.5,x+0.5)×[y-0.5,y+0.5)×[z-0.5,z+0.5) (1)
点云所有的点(x,y,z)量化至体素的中心位置。此时访问体素的坐标即可等价于访问点云中点的坐标,二者之间仅存在一个常数偏移量。对比二维灰度图象的灰度值量化,点云几何坐标的量化可能会出现多个点出现在同一个量化区间内的情况,即此时一个体素内包含多个点。
3)去重复点:
将出现在同一个量化空间内的多个点合并为一个点,即将一个体素内的多个点合并为一个点。该多个点的坐标均对应于体素的中心。可以理解为,一个体素内包括多个点。
4)剩余点属性值分配:
一个体素内包括多个点,该体素的属性值可以是该体素内的多个点的属性值的加权平均值。
5)体素下采样:
体素下采样的结果是体素稀疏。体素下采样二维平面显示如图2所示。则体素下采样从二维角度理解为二维图像下采样。比如,体素下采样的采样因子为k,那么下采样的体素坐标如公式(2)所示。体素下采样后,针对相同体素坐标的体素执行等同于上述重复点去除操作。
6)图(Graph):
一种用于表征信号的数据结构。多个信号可以通过图(Graph)进行相连,表示连接的信号具有一定程度的相关性。在本申请实施例中,除了描述附图中用“图”外,单独出现的“图”均表示Graph。一般而言,图是由“顶点(V)”和相互连接两个顶点的“边(E)”两部分组成。其中,N为图中顶点的数量。图中的顶点V为体素模型中所有非空体素的集合。“3”表示体素的几何坐标维度。“d”表示体素的特征维度。在图卷积神经网络中,除每个顶点的三维坐标外,每一个顶点均赋有一个对应的特征值,卷积计算过程中,往往通过顶点的几何坐标构建顶点间的连接关系,然后网络计算每一个顶点对应的特征值,从而实现既定目标。非空体素对应图模型中的顶点。
7)几何编码:
点云数据由每个点的三维几何坐标以及其属性(颜色、反射、法线等)两部分组成。因此点云编码分为几何编码以及属性编码两部分。几何编码可以包括几何有损编码和几何无损编码。属性编码,顾名思义是对点云数据中每个点的属性进行编码。
几何有损编码是指点云几何编码中,点云几何坐标在编解码前后出现几何坐标不一致的情形。几何无损编码是指点云几何编码中,点云几何坐标在编解码前后保持一致。
8)神经网络:
本申请涉及的神经网络可以包括多种类型,如深度神经网络(deep neuralnetworks,DNN)、卷积神经网络(convolutional neural networks,CNN)、图卷积神经网络(Graph Convolutional Network,GCN)、循环神经网络(recurrent neural networks,RNN)、残差网络、采用transformer模型的神经网络或其他神经网络等。下面对一些神经网络进行示例性介绍。
深度神经网络中的每一层的工作可以用数学表达式来描述:从物理层面深度神经网络中的每一层的工作可以理解为通过五种对输入空间(输入向量的集合)的操作,完成输入空间到输出空间的变换(即矩阵的行空间到列空间),这五种操作包括:1、升维/降维;2、放大/缩小;3、旋转;4、平移;5、“弯曲”。其中1、2、3的操作由/>完成,4的操作由+b完成,5的操作则由a()来实现。这里之所以用“空间”二字来表述是因为被分类的对象并不是单个事物,而是一类事物,空间是指这类事物所有个体的集合。其中,W是权重向量,该向量中的每一个值表示该层神经网络中的一个神经元的权重值。该向量W决定着上文所述的输入空间到输出空间的空间变换,即每一层的权重W控制着如何变换空间。
训练神经网络的目的,也就是最终得到训练好的神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。因此,神经网络的训练过程本质上就是学习控制空间变换的方式,更具体的就是学习权重矩阵。
卷积神经网络(convolutional neural networks,CNN)是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的数据进行处理。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为卷积核。卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。以图像处理为例,不同的权重矩阵所提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入的数据中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,多个卷积层/池化层并行,将分别提取的特征均输入给神经网络层130进行处理。
GCN的本质目的是用来提取图(graph)结构的空间特征,这里的图结构是指数学(即图论)中的用顶点(vertex)和边(edge)建立相应关系的拓扑图,一个图结构的空间特征具有如下两个特征:a、节点特征,即每个节点有自己的特征,该特征体现在节点本身;b、结构特征,即图结构中节点与节点之间的联系,该特征体现在边上(节点与节点之间的连接线)。对于GCN来说,既要考虑节点信息又要考虑结构信息,GCN可以看作是卷积神经网络(convolutional neural network,CNN)在图结构上的自然推广,它能同时对节点特征与结构特征进行端到端的学习,是目前对图结构类型数据进行学习任务的最佳选择。并且,GCN适用性极广,适用于任意拓扑结构的图。
其中,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。另外,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。并且,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。还需要说明的是,除非特殊说明,一个实施例中针对一些技术特征的具体描述也可以应用于解释其他实施例提及对应的技术特征。
本申请适用于点云数据的编码压缩。主要应用场景是为文化遗产/博物馆、移动地图绘制和自主导航中使用的点云数据高效传输提供技术支持。在文化遗产应用领域,点云数据扫描用于存档和可视化博物馆中的对象,包括历史雕像和建筑物。
为了更快的传输或减少存储,需要使用压缩技术来减少表示点云时所需的数据量。图4为可用于本申请实施例的一种实例的点云处理***的示意性框图。点云处理***可以用于实现点云编码和点云解码。
如图4所示,点云处理***包含源设备10和目的地设备20。源设备10产生经编码点云数据。因此,源设备10可被称为点云编码装置。目的地设备20可对由源设备10所产生的经编码的点云数据进行解码。因此,目的地设备20可被称为点云解码装置。源设备10、目的地设备20或两个的各种实施方案可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于随机存取存储器(random access memory,RAM)、只读存储器(read-only memory,ROM)、带电可擦可编程只读存储器(electrically erasableprogrammable read-only memory,EEPROM)、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体。
源设备10和目的地设备20可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
虽然图4将源设备10和目的地设备20绘示为单独的设备,但设备实施例也可以同时包括源设备10和目的地设备20或同时包括两者的功能性,即源设备10或对应的功能性以及目的地设备20或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施源设备10或对应的功能性以及目的地设备20或对应的功能性。
目的地设备20可经由链路30从源设备10接收经编码点云数据。链路30可包括能够将经编码点云数据从源设备10移动到目的地设备20的一或多个媒体或装置。在一个实例中,链路30可包括使得源设备10能够实时将经编码点云数据直接发送到目的地设备20的一或多个通信媒体。在此实例中,源设备10可根据通信标准(例如无线通信协议)来调制经编码点云数据,且可将经调制的点云数据发送到目的地设备20。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从源设备10到目的地设备20的通信的其它设备。
在另一实例中,可将经编码数据从输出接口140输出到存储装置(图4中未示出)。类似地,可通过输入接口140从存储装置存取经编码点云数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、数字多功能光盘(digital versatile disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器、易失性或非易失性存储器,或用于存储经编码点云数据的任何其它合适的数字存储媒体。
在另一实例中,存储装置可对应于文件服务器或可保持由源设备10产生的经编码点云数据的另一中间存储装置。目的地设备20可经由流式传输或下载从存储装置存取所存储的点云数据。文件服务器可为任何类型的能够存储经编码的点云数据并且将经编码的点云数据发送到目的地设备20的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attachedstorage,NAS)装置或本地磁盘驱动器。目的地设备20可通过任何标准数据连接(包含因特网连接)来存取经编码点云数据。这可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线路(digital subscriber line,DSL)、电缆调制解调器等),或适合于存取存储在文件服务器上的经编码点云数据的两者的组合。经编码点云数据从存储装置的传输可为流式传输、下载传输或两者的组合。
图4中所说明的点云处理***仅为实例,并且本申请的技术可适用于未必包含点云编码装置与点云解码装置之间的任何数据通信的点云译码(例如,点云编码或点云解码)装置。在其它实例中,数据从本地存储器检索、在网络上流式传输等等。点云编码装置可对数据进行编码并且将数据存储到存储器,和/或点云解码装置可从存储器检索数据并且对数据进行解码。在许多实例中,由并不彼此通信而是仅编码数据到存储器和/或从存储器检索数据且解码数据的装置执行编码和解码。
在图4的实例中,源设备10包含点云数据源120、编码器100和输出接口140。在一些实例中,源设备10还可以包括点云数据预处理器160。在一些实例中,输出接口140可包含调节器/解调器(调制解调器)和/或发送器(或称为发射器)。点云数据源120可包括点云捕获装置(例如,摄像机)、含有先前捕获的点云数据的点云存档、用以从点云内容提供者接收点云数据的点云馈入接口,和/或用于产生点云数据的计算机图形***,或点云数据的这些来源的组合。
点云数据预处理器160可以用于接收点云数据源120,并对点云数据源120执行预处理,以获取经过预处理的数据。例如预处理可以包括点云去噪、体素化等预处理。
编码器100可对来自点云数据源120的点云数据进行编码。在一些实例中,源设备10经由输出接口140将经编码点云数据直接发送到目的地设备20。在其它实例中,经编码点云数据还可存储到存储装置上,供目的地设备20以后存取来用于解码和/或播放。编码器100可用于执行点云几何编码和点云属性编码。在一些实施例中,编码器100可以用于执行后文所描述的各个实施例中的编码方法。
在图4的实例中,目的地设备20包含输入接口240、解码器200和显示装置220。在一些实例中,目的地设备20还可以包括点云数据后处理器260。在一些实例中,输入接口240包含接收器和/或调制解调器。输入接口240可经由链路30和/或从存储装置接收经编码点云数据。显示装置220可与目的地设备20集成或可在目的地设备20外部。解码器220用于对从输入接口240接收到的经编码点云数据执行解码操作,比如执行下采样、熵解码等等。一般来说,显示装置220显示经解码点云数据。显示装置220可包括多种显示装置,例如,液晶显示器(liquid crystal display,LCD)、等离子显示器、有机发光二极管(organic light-emitting diode,OLED)显示器或其它类型的显示装置。
点云数据后处理器260用于对经解码的点云执行后处理,比如可以包括滤波、增强等等处理。
尽管图4中未图示,但在一些方面,编码器100和解码器200可各自与音频编码器和音频解码器集成,且可包含适当的多路复用器-多路分用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,以处置共同数据流或单独数据流中的音频和视频两者的编码。在一些实例中,如果适用的话,那么MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(user datagram protocol,UDP)等其它协议。
编码器100和解码器200各自可实施为例如以下各项的多种电路中的任一者:一个或多个微处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件来实施本申请,那么装置可将用于软件的指令存储在合适的非易失性计算机可读存储媒体中,且可使用一或多个处理器在硬件中执行所述指令从而实施本申请技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可被视为一或多个处理器。编码器100和解码器200中的每一者可包含在一或多个编码器或解码器中,所述编码器或解码器中的任一者可集成为相应装置中的组合编码器/解码器(编码解码器)的一部分。
本申请可大体上将编码器100称为将某些信息“发信号通知”或“发送”到例如解码器200的另一装置。术语“发信号通知”或“发送”可大体上指代用以对经压缩点云数据进行解码的语法元素和/或其它数据的传送。此传送可实时或几乎实时地发生。替代地,此通信可经过一段时间后发生,例如可在编码时在经编码位流中将语法元素存储到计算机可读存储媒体时发生,解码装置接着可在所述语法元素存储到此媒体之后的任何时间检索所述语法元素。
如背景所述,在编码端通过降采样方式来减少传输的数据量,进而在解码端通过上采样的方式来恢复数据。目前上采样采用的方式是,使用3D CNN或者3D稀疏卷积网络提取体素化后的点云数据特征,并通过点云数据特征预测上采样后体素的非空概率。但是使用3D CNN或者3D稀疏卷积网络进行点云特征提取,特征提取时间复杂度较高,降低编解码效率。比如,一个车载激光雷达点云,坐标的分辨率为1mm时,体素化后的体素坐标分布空间为[0,218)。例如,使用卷积核尺寸为3×3×3的3D CNN在218×218×218的体素中依次遍历三个维度来提取特征,时间复杂度显著提升。并且车载激光雷达点云分布比较稀疏,绝大数情况下,各个非空体素之间的间隔较大,从而卷积运算过程中通过卷积核执行卷积运算命中为空体素的概率较大,导致计算资源浪费。
基于此,本申请实施例提供一种点云数据的编码和点云数据的解码方法,用于降低解码端的时间复杂度,并减少资源浪费。本申请实施例中针对点云建立图模型,在编码侧通过图卷积神经网络执行特征提取。通过图卷积神经网络针对建立的图模型进行处理,达到减少点云数据之间的空间冗余以及统计冗余。从而可以减少计算资源的浪费。在解码侧,无需逐个遍历空间所有的体素来提取特征,可以降低时间复杂度。
作为一种举例,本申请实施例提供端到端的点云编解码方案。参见图5A所示,示例一种端到端的点云编码框架示意图。参见图5B所示,示例一种端到端的点云解码框架示意图。
参见5A所示,编码端:点云数据编码流程包括点云数据预处理、分析变换处理、量化和熵编码。预处理可以包括体素化处理等预处理。点云数据经过体素化等预处理操作后,进行分析变换处理。分析变换处理主要包括降采样以及特征提取两部分工作。分析变换主要为了减少待编码体素数量以及编码非空体素坐标所消耗的比特,降低点云数据内部的相关性。量化(Quantization)是在不降低视觉效果的前提下减少点云编码长度,减少视觉恢复中不必要的信息。熵编码可以采用算术编码,进一步降低点云数据的统计冗余,并输出编码的二进制码流。在一些实施例中,编码端的处理操作可以由源设备实现。一些场景中,编码端的处理操作可以由编码器100来实现。
参见5B所示,解码端:点云数据解码流程包括熵解码、反量化、合成变换以及点云数据后处理。解码端在熵解码后的核心模块为合成变换。合成变换主要包括上采样以及特征提取两部分操作。利用解码所得降采样后的体素坐标以及特征,上采样获得同编码端输入点云近似的点云数据。在一些实施例中,编码端的处理操作可以由目的地设备实现。一些场景中,解码端的处理操作可以由解码器200来实现。
如下结合附图6对点云数据编码方法中点云数据预处理、分析变换处理流程进行详细说明。
601,对获得的点云数据进行体素化处理,得到点云体素模型-1。点云体素模型-1包括多个非空体素块。比如,每个非空体素块的特征值可以是所述非空体素块包括的点云的特征加权平均值。
一些实施例中,在对点云数据体素化之前,可以先执行点云数据的几何坐标偏移。几何坐标偏移也可以理解为将点云数据归一化在设定范围内。比如,归一化在[0,2d-1)区间内。d的取值与点云几何最大值与最小值的差有关。
比如,获取到的点云数据的几何坐标为绝对坐标。坐标值的分布区域参差不齐。这种几何坐标给特征提取带来较大的影响。
示例性地,可以按照如下公式(3)、公式(4)和公式(5-1)将点云的坐标映射到[0,2d-1)区间内。其中,x坐标的区间、y坐标的区间以及Z坐标的区间可以相同也可以不同。示例性。例如,将点云的x坐标映射到[0,2dx-1),将点云的y坐标映射到[0,2dy-1),将点云的z坐标映射到[0,2dz-1)。
将点云数据的几何坐标集合表示为Gpos={(xk,yk,zk)|k=1,2,3…,m},则偏移后的点云几何坐标集合可以表示为Gp′os={(x′k,y′k,z′k)|k=1,2,3…,m},其中R3表示维度为3的实数集合。
进一步地,对偏移化处理后的点云进行体素化处理。比如,体素化后的体素表示为vi∈[0,2dx-1)×[0,2dy-1)×[0,2dz-1)。并且体素vi的取值可以满足如公式(6)所示的条件。
602,基于点云体素模型生成所述点云数据的图模型。
将点云体素模型-1转化成图模型的本质是将点云体素模型-1中所有的非空体素作为图模型中的顶点集,每一个体素的属性值为图上每一个顶点对应的取值。此时图模型的顶点可表示为值得注意的是,本申请实施例中点云体素模型与图模型紧密联系且可以相互转化。具体转换方式,可以参见如前针对图(Graph)的相关描述。
603,基于所述点云数据的图模型通过图卷积神经网络对所述点云数据进行降采样处理得到降采样后的点云数据。降采样处理也可以称为分析变换处理。所述分析变换处理包括特征提取和体素下采样。
示例性地,分析变换处理可以通过多个“特征提取与体素下采样”模块来实现。特征提取与体素下采样模块的数量可以基于显存的能力和/或可接受的时间复杂度来设定。
分析变换处理可以由图卷积神经网络来实现。比如每个“特征提取与体素下采样”模块可以由一个图卷积子网络来实现。此处将实现分析变换处理的图卷积神经网络称为图卷积神经网络1-1。此处将图卷积子网络称为图卷积子网络2-1。
作为一种举例,参见图7A所示,图卷积神经网络1-1可以包括至少一个图卷积子网络2-1。至少一个图卷积子网络2-1中每个图卷积子网络2-1可以包括多个边缘卷积网络、体素化(Voxelization)单元、多层感知机(Multilayer Perceptron,MLP)s网络。本申请实施例中边缘卷积网络可以采用多边缘卷积网络(multi-edgeConv)。
每个图卷积子网络2-1均用于执行如下图7B中的步骤701-703。
701,通过多个边缘卷积网络提取图模型中每个顶点的全局几何特征和局部几何特征。
702,通过下采样(Voxelization)单元基于图模型中每个顶点的全局几何特征和局部几何特征对所述图模型对应的点云体素模型-1进行下采样。可以针对当前的点云体素模型-1通过增加每个体素尺寸的方式对点云体素模型-1进行下采样得到点云体素模型-2。具体的,增加体素的尺寸后,之前分别包含于两个不同体素上的点云,增加体素的尺寸后,两个不同体素上的点云合并在增加尺寸的一个体素内,从而达到下采样的目的。
703,通过MLPs网络聚合下采样后的点云体素模型-2中各个非空体素的几何特征。
MLPs网络可以包括多个MLP子网络。MLPs网络中每个MLP子网络包括三层:输入层,隐藏层和输出层。第一层称为输入层,最后一层称为输出层,中间的层称为隐藏层。MLP的不同层之间是全连接的(即上一层的任意一个神经元与下一层的所有神经元都有连接)。本申请实施例中并不限制隐藏层的数量,例如可以中间的隐藏层的数量可以为10。一些实施例中,MLPs网络中还可以包括残差结构,比如在每两个MLP子网络之间通过残差结构连接。MLPs网络中不同的MLP子网络包括中间的隐藏层的数量可以相同也可以不同,本申请实施例对此不作具体限定。残差结构主要是将输出表述为输入和输入的一个非线性变换的线性叠加。
作为一种举例,边缘卷积网络的网络构成可以参见图8所示。边缘卷积网络中依次包括边缘卷积(EdgeConv)层1-1、MLP层1-1、最大池化层1-1、边缘卷积(EdgeConv)层1-2、MLP层1-2、最大池化(MAX)层1-2、边缘卷积层1-3、MLP层1-3、最大池化层1-3、MLP层1-4、ReLU激活函数、MLP层1-5。从上可以看出,边缘卷积网络中包括多个边缘卷积子网,每个边缘卷积子网包括边缘卷积层、MLP层以及最大池化层。图8中以边缘卷积网络包括3个边缘卷积子网为例。需要说明的是,本申请实施例不限定边缘卷积网络包括的边缘卷积子网的数量。
应理解的是,图卷积神经网络的核心包括计算每一个“顶点”的取值以及通过“边”所连接的其它顶点的取值传递到当前顶点,然后以加权求和等方式更新当前“顶点”的取值。本申请实施例中的边缘卷积(EdgeConv)层的计算方式利用图卷积神经网络的思想。
参见图9所示为边缘卷积的示意图。定义边缘特征(edge features)为:eij=hΘ(xi,xj)。xi和xj表示图(Graph)模型中的两个顶点。其中,hΘ:RF×RF→RF是由多个通过训练所得的参数组成的非线性函数。F表示顶点特征的维度。hΘ用于表示与当前顶点相连的顶点的特征值与当前顶点的特征值之间的关系。可以再定义一个特征传递操作算子(例如:∑或者max)将与当前顶点相连的顶点的特征值传递到当前顶点,以更新当前顶点的特征值。
一些实施例中,边缘特征也可以定义为eij=hΘ(xi,xj-xi)或者hΘ(xi)。本申请实施例中优选的边缘特征定义为eij=hΘ(xi,xj-xi)。eij=hΘ(xi,xj-xi)能够兼顾顶点的局部几何特征与全局几何特征。边缘特征定义为eij=hΘ(xi),则提取的特征将为全局所有顶点的特征,表征全局形状信息,但是往往忽略了局部相邻顶点间的结构特性。边缘特征定义为eij=hΘ(xj-xi),则提取的特征将为局部相连接顶点间的特征,丢失了全局形状结构信息。
示例性地,EdgeConv可以表示为公式(7)。公式(7)中hΘ可由多层MLP网络实现。
其中,表示一种由许多通过训练所得参数组成的非线性函数。例如MLP网络。E表示连接节点i和节点j的边。xi′表示更新后顶点xi的特征值。
本申请实施例中通过EdgeConv提取图模型中的每个顶点的特征,包括全局几何特征(用于表征点云的整体结构)以及局部几何特征(用于表征点云的局部细节)。在边缘卷积网络中通过MLP层聚合当前顶点的相连顶点的特征值以及当前顶点的特征值后,通过MAX层来获取相邻顶点传递过来的最大特征值。
本申请实施例中通过多个图卷积子网络2-1,多次增加体素的尺寸的方式实现体素下采样的过程。比如,采样因子为k,则点云体素模型中每(2k)3个体素融合成一个体素。作为一种举例,图卷积子网络2-1的数量为4时,经过4个图卷积子网络2-1的处理后,点云体素模型中每(2k)3个体素被融合成一个体素。
经过本申请实施例提供的体素下采样后,整个点云数据的体素模型变小,三维空间中各个维度的体素数量以及非空体素数量均减少。相同条件下,表征非空体素的几何信息所耗费的比特数降低。
在基于点云数据的图模型对点云数据的体素模型执行下采样后得到点云体素模型称为第一点云体素模型,进一步针对第一点云体素模型进行熵编码(即针对第一点云体素模型的几何信息进行编码)。熵编码能够有效降低编码信息的统计冗余,从而进一步提升编码性能。在本申请实施例中熵编码时所执行的编码内容中的几何信息包括两个部分。第一部分为:体素下采样后非空体素(对应图上顶点)的几何坐标。第二部分为:分析变换输出的非空体素的几何特征。
本申请实施例中所提出方案所针对的编码对象是非常稀疏的点云数据。常规通过编码的几何特征直接生成点云难度大,且现阶段网络很难直接理解如此稀疏的点云空间结构。本申请实施例中编码端所需编码的降采样后的非空体素进一步减少,使得非空体素更加稀疏。进一步增大了解码端网络生成点云的难度。因此,本申请实施例的熵编码内容添加最后一层降采样后的非空体素的几何坐标。在解码端可以以此坐标为“骨架”生成点云,降低复杂度。从而使得解码端网络可以更好的理解点云的结构。
另一方面,熵编码内容添加体素几何坐标不会带来显著性的比特代价。实际上,在编码体素几何坐标后,已经减少编码特征的维度,从而减少编码的总比特代价。目前通常通过增加编码特征的维度来减少生成点云的失真,以达到一个较好的R-D性能。特征维度的提升,编码该特征占用的比特也增加。本申请实施例在编码体素的几何坐标后,解码端对于生成点云有较强的“先验知识”。此时往往可以减少编码特征的维度。最终在编码体素几何坐标和编码特征的维度参数选择之间做一个权衡。
作为一种举例,本申请在编码非空体素的几何坐标时,可以采用动态图像专家组(moving picture experts group,MPEG)基于几何的点云压缩(geometry-point cloudcompression,G-PCC)参考软件试验模型目录(test model category,TMC)13对非空体素(即图顶点)的几何坐标进行无损几何编码。
应理解的是,熵编码过程中对点云数据的特征进行编码的过程中可以使用带超参数的熵编码器,也可以使用不带超参数的熵编码器,本申请实施例对此不作具体限定。
编码端在完成点云数据的熵编码得到码流,并发送给解码端。解码端针对接收到的码流执行解码,包括熵解码、反量化、合成变换以及点云数据后处理。解码端执行熵解码过程中可以使用熵编码所采用的熵编码器所对应的熵解码器对码流进行解码,比如采用算术解码方式。本申请对此不作具体限定。
如下结合附图10对点云数据的解码方法流程进行详细说明。合成变换处理主要是在当前体素模型的基础上,减少体素的尺寸并适当的填充非空体素,以达到上采样的目的。
1001,接收码流。
1002,从码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征。
一些实施例中,对所述码流进行熵解码,以从码流中解码得到第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征。
1003,根据第一体素模型中非空体素的几何坐标以及几何信息构建图模型。其中,图模型中的顶点用于表示非空体素,图模型中每两个顶点之间的边用于描述两个顶点之间几何信息的关联关系。
1004,通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型。所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
为了便于与编码端的图卷积神经网络1-1区分,此处解码端将图卷积神经网络称为图卷积神经网络1-2。
一些可能的实施例中,图卷积神经网络1-2可以包括级联的多个图卷积子网络2-2,按照步进的方式通过多个图卷积子网络2-2来对第一体素模型进行上采样处理得到第二体素模型。例如,图卷积神经网络中包括级联的N个图卷积子网络2-2。N个图卷积子网络2-2基于图模型对第一体素模型中每个非空体素进行上采样处理得到第二体素模型。N个图卷积子网络2-2中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数,多个图卷积子网络2-2中不同图卷积子网络2-2所采用的采样因子可以相同,也可以不同。
作为一种举例,每个图卷积子网络2-2的处理流程可以参见图11所示。例如,以第一体素模型中的非空体素的数量是M为例。M为正整数。则基于第一体素模型构建的图模型中顶点的数量为M。通过第i个图卷积子网络2-2进行上采样后输出的体素模型中的非空体素的数量为Mi,则第i个图卷积子网络2-2输出的体素模型对应的图模型中的顶点的数量为Mi。则可以理解第i+1个图卷积子网络2-2输入的体素模型的非空体素的数量为Mi。
如下以第1个图卷积子网络2-2进行上采样的流程进行描述。其它图卷积子网络2-2上采样的方式与第1个图卷积子网络2-2进行上采样的方式类似,不再重复描述。
1101,基于所述图模型中M个顶点分别对应的几何特征以及几何坐标对所述M个顶点中每个顶点对应的非空体素进行衍生。从而得到所述每个顶点分别对应的(2k)3个候选顶点;k为所述第一图卷积子网络2-2的采样因子。
作为一种举例,一个体素在采样因子k的作用下,非空体素在采样前后在所述点云体素模型中的位置可以通过公式(8)表示。上采样前非空体素的坐标表示为(vx,vy,vz)。上采样后非空体素的坐标表示为(v′x,v′y,v′z)。
其中,采样因子,可以理解为,将当前一个体素上采样成(2k)3个体素,进而判断每个位置的体素是否为非空。示例性地,参见图12所示,具有填充的方格表示非空体素,无填充的方格表示空体素。图12中(a)和图12中(b)的虚线框表示上采样前后体素的空间位置关系。图12中以k=2为例。需要说明的是,图12中仅以其中一个平面为例。
参见图13所示,图模型中顶点衍生候选顶点的示意图。图13中(a)中实线圆表示衍生前的图模型中的各个顶点。图13中(b)中实心圆表示衍生前的图模型中各个顶点,虚线空心圆表示确定的图模型中各个顶点的候选顶点。应理解的是,图13中仅显示部分顶点之间的连接关系,仅作为一种示例。
参见图12,针对非空体素衍生后,顶点衍生对应的位置2k×2k×2k范围内的体素至少有一个为非空体素。针对空体素执行上采样后并不会产生非空体素。基于此,本申请实施例基于图模型执行衍生只有针对每个顶点对应的体素在2k×2k×2k范围内衍生出多个候选顶点。
由公式(8)计算所得的衍生得到的非空体素的几何坐标在图12中对应到每个虚线边框区域内左下角位置的体素虚线边框区域内剩余体素均为空体素。这与降采样前非空体素的分布存在较大的误差。因此按照此种方式直接生成点云将产生较大的失真。本申请实施例中进一步从剩余体素中确定哪些体素可以作为该体素的衍生体素。参见步骤1102-1103。可以理解衍生体素为上采样得到的非空体素,每个非空体素包括点云。
1102,从所述每个顶点对应的候选顶点中确定所述每个顶点对应的锚顶点。
示例性地,从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点。锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点。
可以理解为,锚顶点对应的体素为(2k)3个候选顶点分别对应体素中预测为非空体素概率最大的体素,也可以为,锚顶点对应的体素为(2k)3个候选顶点分别对应体素中预测包括点云的概率最大的体素。
进而从锚顶点对应的候选顶点中确定衍生顶点(即衍生体素)。
本申请实施例中为了进一步从剩余体素中确定哪些体素可以作为该体素的衍生体素,需要在图12中非空体素对应的虚线边框内包括的体素中确定一个锚体素。也可以理解为,在图13中的四个虚线空心圆表示的顶点中确定一个顶点为锚顶点。
一些实施例中,参见图14所示,每个图卷积子网络2-2可以包括体素化(de-Voxelization)模块将所述图模型中M个顶点分别对应的几何特征以及几何坐标作为体素化(de-Voxelization)模块输入,得到(2k)3个候选顶点的几何坐标。
参见图14所示,每个图卷积子网络2-2还包括第一多边缘卷积网络。第一多边缘卷积网络用于根据每个顶点对应的(2k)3个候选顶点的几何坐标以及每个顶点对应的几何特征,提取每个顶点对应的(2k)3个候选顶点的几何特征(为高维几何特征)。第一多边缘卷积网络可以包括多个多边缘卷积子网络(Multi-EdgeConv)。每个图卷积子网络2-2还可以包括锚顶点预测网络。锚顶点预测网络可以采用MLP网络。通过MLP网络根据(2k)3个候选顶点的几何特征预测每个候选顶点对应的体素为非空体素的概率(也可以理解为每个候选顶点成为锚顶点的概率)。MLP网络将高维几何特征降维为设定维度输出的特征作为每个候选顶点成为锚顶点的概率。
多个Multi-EdgeConv以及MLP网络,可以通过公式(9)来表达,即通过公式(9)计算所有候选顶点可成为锚顶点的概率(每个顶点对应的(2k)3个候选顶点分别对应的体素位非空体素的概率)。
TVProb=ft(vi;θt) (9)
其中,θt表示多个Multi-EdgeConv以及MLP网络的网络权重(也可以称为网络参数)。vi表示图模型中的顶点。进一步地,根据多个Multi-EdgeConv以及MLP网络确定的每个顶点对应的候选顶点可成为锚顶点的概率,选择概率最大的候选顶点作为锚顶点。TVProb表示候选顶点是锚顶点的概率;ft表示包括多个Multi-EdgeConv以及MLP网络的网络模型。
参见图14所示,每个图卷积子网络2-2还包括最大池化层(MAX),通过最大池化层根据MLP网络输出的每个顶点对应的(2k)3个候选顶点成为锚顶点的概率,选择最大概率的候选顶点作为锚顶点。
一些实施例中,针对每个锚顶点获取在图模型中的几何特征信息。示例性地,可以通过MLPs网络来实现。例如,根据TVProb通过MLPs网络按照公式(10)确定每个锚顶点在图模型中的几何特征信息。
TVfeat=fMLP(TVProb;θMLP) (10)
其中,θMLP表示MLPs网络的网络权重。fMLP表示MLPs网络;TVfeat表示锚顶点TVProb的在图模型中的几何特征信息。
1103,基于确定的锚顶点从每个顶点对应的除锚顶点以外的候选顶点中((2k)3-1个候选顶点)确定衍生顶点。锚顶点作为衍生顶点。
本申请实施例在确定锚顶点后,通过锚顶点的几何坐标及其在图模型中的几何特征信息,从其它的(2k)3-1候选顶点中挑选出剩余的衍生顶点。本申请实施例中,将基于锚顶点确定衍生顶点的方法称为“锚顶点生成法(Target Vertex Generation,TVG)”,当然也可以命名为其它的名字,本申请对此不作具体限定。
锚顶点生成法(Target Vertex Generation,TVG)主要思想是:采用逐步缩小候选顶点选择范围的方案得到剩余的衍生顶点。由于图卷积神经网络中最常用的计算是矩阵计算。矩阵计算虽然时间复杂度低,但是占用的硬件资源相比于卷积神经网络大。本申请将点云几何编码问题转换成图模型上的信号处理的问题,每一个非空体素等价于图模型中的一个顶点,以适应车载激光雷达点云数据的稀疏性问题。采用上述方法得到的候选顶点数目较大,从而会增加使用图卷积神经网络消耗的计算资源。基于此本申请实施例采用锚顶点生成法(Target Vertex Generation,TVG)来逐步缩小候选顶点选择范围以得到剩余的衍生顶点,以降低需要处理的顶点的数据,以减小消耗的计算资源。
“锚体顶点生成法(Target Vertex Generation,TVG)”可以包括顶点数量区域选择、顶点数量边界选择、顶点数量修正。或者TVG包括顶点数量区域选择以及顶点数量修正。
如下以TVG包括顶点数量区域选择、顶点数量边界选择、顶点数量修正为例。
顶点数量区域选择:
顶点数量区域选择主要目的是:确定针对每个非空体素在该每个非空体素的2k×2k×2k区域内包括的非空体素。
一些实施例中,顶点数量区域选择可以包括:
A1,分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量。其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同。
示例性地,将每一个锚顶点对应的2k×2k×2k区域内的衍生顶点总数范围分为多个数量类别,比如4个数量类别。4类中每一数量类别的范围分别为[1,(2k)3/4],[(2k)3/4,(2k)3/2],[(2k)3/2,3×(2k)3/4],[3×(2k)3/4,(2k)3]。再比如8个数量类别。8类中每一数量类别的范围分别为[1,(2k)3/8],[(2k)3/8,(2k)3/4],[(2k)3/4,3×(2k)3/8],[3×(2k)3/8,(2k)3/2],[(2k)3/2,5×(2k)3/8],[5×(2k)3/8,3×(2k)3/4],[3×(2k)3/4,7×(2k)3/8],[7×(2k)3/8,(2k)3]。预测每个锚顶点对应的(2k)3-1个候选顶点中包括候选衍生顶点的数量分别属于每个数量类别的第一概率。选择第一概率最大的数量类别,比如为第一数量类别。每个数量类别对应一个候选衍生顶点的数量,一个数量类别对应的候选衍生顶点的数量位于该数量类别对应的数量范围内。例如,每个数量类别对应的候选衍生顶点的数量为该数量类别对应的数量范围的最大数量。即候选衍生顶点数量为Ni′∈{(2k)3/4,(2k)3/2,3×(2k)3/4,(2k)3}。i为锚顶点的索引。
A2,根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni′个候选顶点作为候选衍生顶点。(2k)3-1个候选顶点的第二概率为(2k)3-1个候选顶点分别对应的体素包括点云的概率,或者(2k)3-1个候选顶点分别对应的体素为非空体素的概率。
一些实施例中,参见图14所示,每个图卷积子网络2-2还可以包括图注意力网络以及第二多边缘卷积网络。图注意力网络可以包括多个图注意力层和MLPs层。通过多个图注意力层和MLPs层预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率。所述第二边缘卷积网络用于预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率。进而从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的确定数量个候选顶点作为候选衍生顶点。参见图14所示,可以通过区域选择单元通过从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的确定数量个候选顶点作为候选衍生顶点。
图注意力层可以采用自注意力神经网络(self attention network)或者其它注意力网络,比如卷积注意力网络等等。
目前相关技术中,采用的方式为从待输出体素模型中选择概率最大的前k个非空体素作为最后输出的体素。概率比较的范围是整个体素模型。而本申请实施中将概率比较的范围缩小在非空体素的2k×2k×2k区域范围内。由于车载激光雷达呈现稀疏且不均匀分布。如果直接采取在整个体素模型内选择概率最大的前k个非空体素作为最后输出的体素,会导致概率高的点集中于某一个区域,最终造成细节丢失以及点云失真。采用本申请实施例的顶点数量区域选择的方式,可以降低细节丢失以及点云失真的概率。
顶点数量边界选择:
一些实施例中,确定某个区域的候选衍生顶点数量时,所确定的候选衍生顶点的数量是2k×2k×2k区域范围内的所有体素,即为预测区间的上界。例如经过顶点数量区域选择确定的所有的候选衍生顶点以及锚顶点的数量和为N31。即,假设上采样后事实上得到的顶点数量为NGT,锚顶点数量为M。本申请实施例中可以配置一个边界值为k1。k1≤(N31-M)。
则确定的候选衍生顶点的数量NC满足如下公式(11)所示的条件:
示例性地,NGT可以是实验得到的经验值。一些场景中,可以设置不同的NGT,不同的NGT对应不同的锚顶点数量M。
通过上述顶点数量边界选择后,对候选衍生顶点的数量进行控制,以确保确定的候选衍生顶点的数量不会过大,从而降低确定每个候选衍生顶点的特征过程中所导致的资源浪费。参见图14所示,可以通过边界选择单元来执行边界选择的操作。
顶点数量修正:
进一步提取每个候选衍生顶点以及锚顶点在图模型中的几何特征,基于每个候选衍生顶点以及锚顶点在图模型中的几何特征进一步预测候选衍生顶点对应的体素为非空体素的概率。选择概率最大的Li个顶点作为衍生顶点。Li为当前图卷积子网络2-2上采样的点云的数量。可以理解最后一个图卷积子网络2-2上采样的点云的数量可以为编码端所编码的点云数据的图模型中包括的顶点数量。
示例性地,参见图14所示,顶点数量修正可以由图卷积子网络2-3和顶点选择单元来执行。图卷积子网络2-3用于提取每个候选衍生顶点以及锚顶点在图模型中的几何特征、并预测候选衍生顶点对应的体素为非空体素的概率。顶点选择单元用于基于候选衍生顶点对应的体素为非空体素的概率选择衍生顶点。图卷积子网络2-3可以包括至少一个MLPs网络和至少一个多图卷积网络(Multi-GCN)。预测候选衍生顶点对应的体素为非空体素的概率可以通过MLPs网络来实现。
在一些可能的实施例中,编码端中“特征提取与体素下采样”模块的数量(或者图卷积子网络2-1的数量)可以与下采样中使用的图卷积子网络2-2的数量相同。多个图卷积子网络2-1下采样分别输出的顶点数量与多个图卷积子网络2-2分别进行上采样输入的数量一一对应。比如,4个图卷积子网络2-1分别对应的输入和输出的顶点数量为Q->Q1->Q2->Q3->Q4,则4个图卷积子网络2-2分别对应的输出的数量为Q4->Q3->Q2->Q1。
一些场景中,在执行完成顶点数量区域选择后,可以不再执行顶点数量边界选择,即执行完顶点数量区域选择后直接执行顶点数量修改。示例性地,分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量。其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别。然后,根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点。然后进一步获取个候选衍生顶点的几何特征,然后提取/>个候选衍生顶点在图模型中的几何特征,基于/>个候选衍生顶点以及M个锚顶点在图模型中的几何特征进一步预测/>个候选衍生顶点对应的体素为非空体素的概率。然后选择概率最大的Li个顶点作为衍生顶点。
一些实施例中,图卷积子网络2-2还可以包括锚顶点特征提取单元,用于提取锚顶点的几何特征。比如锚顶点特征提取单元可以采用MLPs网络。最终图卷积子网络2-2输出锚顶点和衍生顶点的几何特征以及坐标。
下面以编码侧的图卷积神经网络1-1包括4个图卷积子网络2-1,分别为图卷积子网络2-1-1、图卷积子网络2-1-2、图卷积子网络2-1-3以及图卷积子网络2-1-4。解码侧的图卷积子网络1-2包括4个图卷积子网络2-2,分别为图卷积子网络2-2-1、图卷积子网络2-2-2、图卷积子网络2-1-3以及图卷积子网络2-1-4。4个图卷积子网络2-1分别对应的下采样因子为V1、V2、V3和V4。4个图卷积子网络2-2分别对应的上采样因子分别为V4、V3、V2和V1,参见图15所示。以点云数据包括点云的数量为N为例。
在编码侧:图卷积子网络2-1-1、图卷积子网络2-1-2、图卷积子网络2-1-3以及图卷积子网络2-1-4中分别包括的体素化(Voxelization)单元用于通过增大体素尺寸的方式进行体素化,以达到降采样的目的。通过图卷积子网络2-1-1、图卷积子网络2-1-2、图卷积子网络2-1-3以及图卷积子网络2-1-4进行降采样之后得到的N4个非空体素的3维的几何坐标和D维的几何特征。然后针对N4个非空体素的3维的几何坐标执行G-PCC编码。针对N4个非空体素的D维的几何坐标通过熵模型执行AE编码。
在解码侧,针对码流(即比特流)执行G-PCC编码得到N4个非空体素的3维的几何坐标,以及执行熵解码得到N4个非空体素的D维的几何特征。
图15中图卷积子网络2-2-1~图卷积子网络2-2-4可以采用图16所描述的网络结构。图16中以图卷积子网络2-2-1的处理流程对图卷积子网络2-2的处理原理进行说明。
“de-Voxelization V4”模块“V4”表示采样因子。de-Voxelization表示解码体素化模块,用于针对图模型中的每个顶点,基于采样因子V4衍生出(个候选顶点。
de-Voxelization输出候选顶点的坐标以及N4个顶点的D维特征。输入到第一多边缘卷积网络中。图16中以第一多边缘卷积网络包括2个multi-edgeConv网络为例。2个multi-edgeConv网络用于对每个顶点的个候选顶点进行特征提取获得各个候选顶点的特征构成的特征矩阵。图16中以锚顶点预测网络采用MLP1为例。MLP1,根据2个multi-edgeConv网络输出的候选顶点的特征矩阵确定每个候选顶点作为锚顶点的概率,即
最大池化层(Max),用于从每个顶点对应的个候选顶点中选择概率最大的候选顶点作为锚顶点。选择的锚顶点的数量为N4。可以理解的是,MAX输出锚顶点的几何坐标,锚顶点的数量与输入的图模型中顶点的数量相同。
MLPs1网络,用于针对N4个锚顶点进一步执行特征提取获取锚顶点的特征矩阵。进一步将锚顶点的特征矩阵与锚顶点的几何坐标通过连接函数连接,输出的数据维度为N4×(3+D)。D表示锚顶点的特征矩阵维度。3表示几何坐标。
图16中,以图注意力(Graph Attention)网络包括3个图注意力层和MLPs2为例。3个图注意力层用于将与每个锚顶点相连接的锚顶点的特征进行加权求和的结果更新作为每个锚顶点的特征。每两个锚顶点连接的权重可以通过在训练Graph Attention网络过程中更新得到。Graph Attention网络也可以理解为一种图神经网络模型。
经过3个图注意力(Graph Attention)层重新获得图模型中锚顶点的特征矩阵输入到MLPs2网络中来预测每个锚顶点对应的个候选顶点中所包括的候选衍生顶点的数量所属的数量类别。输出的数据维度为N4×4。图16以4个数量类别为例。N4×4中的4表示每个锚顶点对应的候选衍生顶点的数量分别位于4个数量类别的概率。
图16中,以第二多边缘卷积网络包括2个多边缘卷积层和MLPs3为例。第二多边缘卷积网络中2个multi-edgeConv网络和MLPs3,用来预测所述每个锚顶点对应的个候选顶点分别对应的第二概率,输出/>维度的数据。
区域选择单元的输入包括N4×4维度的数据,以及维度的数据。区域选择单元用于每个锚顶点对应的候选衍生顶点的数量分别位于4个数量类别的概率,以及所述每个锚顶点对应的/>个候选顶点分别对应的第二概率,针对每个锚顶点从每个锚顶点对应的/>个候选顶点中,选择最大数量类别对应的数量的候选顶点作为候选衍生顶点,输出数据的维度为N31×(3+1)。N31表示候选衍生顶点的数量。3表示候选衍生顶点的几何坐标,1表示每个候选顶点的概率维度。
进一步地,边界选择单元用于缩小候选衍生顶点的数量为N32×3维度的数据。N32表示进一步缩减后的候选衍生顶点的数量。3表示经过缩减后的候选衍生顶点的几何坐标。
图16中,以图卷积子网络2-3包括MLPs4、多图卷积网络(Multi-GCN)、MLPs5和MLPs6为例。MLPs4、多图卷积网络(Multi-GCN)以及MLPs5用于获取N32个候选衍生顶点在图模型上的D维几何特征。MLPs6用于基于N32个候选衍生顶点在图模型上的D维几何特征预测N32个候选衍生顶点对应的体素为非空体素的概率。边界选择单元根据N32个候选衍生顶点对应的体素为非空体素的概率从N32个候选衍生顶点选择N33个衍生顶点。一些实施例中,图卷积神经网络1-2中的每个图卷积子网络2-2后,还可以包括MLPs层,用于进一步获取衍生顶点的几何特征(包括全局几何特征和局部几何特征)。
最后图卷积子网络2-2-4后的“MLPs”层的输出可以为每个顶点的几何坐标偏移pos_offset,以实现对输出顶点坐标优化的目的。可由公式(12)计算解码端输出点云的坐标。
基于以上实施例,本申请还提供一种点云数据的几何解码装置。参见图17所示,解码装置包括接收单元1710,熵解码单元1720,上采样单元1730。
接收单元1710,用于接收码流;
熵解码单元1720,用于从所述码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征;所述第一体素模型是编码设备针对点云数据进行体素化得到的体素模型的基础上进行降采样得到的;
上采样单元1730,用于根据所述非空体素的几何坐标以及所述几何特征构建图模型,其中,所述图模型中的顶点用于表示所述非空体素,所述图模型中每两个顶点之间的边用于描述所述两个顶点之间几何特征的关联关系;通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
在一种可能的实施方式中,所述上采样单元1730,具体用于:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数。
在一种可能的实施方式中,所述上采样单元1730,具体用于:
通过第一图卷积子网络执行,所述第一图卷积子网络为所述多个图卷积子网络中的一个:
基于所述图模型中M个顶点分别对应的几何特征和几何坐标获得所述每个顶点分别对应的(2k)3个候选顶点的几何坐标;k为所述第一图卷积子网络的采样因子;
根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点;所述锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点;
从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,其中,所述衍生顶点对应的体素作为所述第二体素模型中非空体素。
在一种可能的实施方式中,所述上采样单元1730,具体用于:
提取每个锚顶点对应的(2k)3-1个候选顶点的几何特征,并根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点;其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点中确定的Ni个候选衍生顶点为(2k)3-1个候选顶点中预测为非空体素概率最大的Ni个候选顶点;1≤i≤M,
提取Nc个候选衍生顶点的几何特征,并根据所述Nc个候选衍生顶点的几何特征从所述Nc个候选衍生顶点中选择L个几何特征最大的候选衍生顶点作为衍生顶点,其中所述锚顶点作为所述衍生顶点。
在一种可能的实施方式中,所述上采样单元1730,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点,以得到Nc个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率。
在一种可能的实施方式中,所述熵解码单元1720,还用于从所述码流中解码待解码点云的数量;
其中,所述Nc≤(NGT-M),NGT表示待解码点云的数量。
在一种可能的实施方式中,所述熵解码单元1720,还用于从所述码流中解码待解码点云的数量;
所述上采样单元1730,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni′个候选顶点作为候选衍生顶点,以得到Nc′个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率;
在确定满足Nc′>(NGT-M)时,从所述Nc′个候选衍生顶点选择Nc个候选衍生顶点。
在一种可能的实施方式中,所述上采样单元1730,具体用于:
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征;所述第一顶点为所述M个候选顶点中的任一顶点;
根据所述(2k)3个候选顶点的几何特征预测所述(2k)3个候选顶点中每个候选顶点对应的体素为非空体素的概率;
从所述(2k)3个候选顶点中选择概率最大的候选顶点作为锚顶点。
在一种可能的实施方式中,所述第一图卷积子网络包括第一边缘卷积网络;
所述上采样单元1730,具体用于:
将所述第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征作为所述第一边缘卷积网络的输入,通过所述第一边缘卷积网络提取所述(2k)3个候选顶点的几何特征。
在一种可能的实施方式中,所述第一图卷积子网络包括图注意力网络、第二多边缘卷积网络;
所述上采样单元1730,具体用于:
通过所述图注意力网络预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中第二概率最大的Ni个候选顶点作为候选衍生顶点,包括:
通过所述第二多边缘卷积网络预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率;
从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni候选顶点作为候选衍生顶点。
本申请实施例还提供该装置另外一种结构,如图18所示,装置中可以包括通信接口1810、处理器1820。可选的,装置中还可以包括存储器1830。其中,存储器1830可以设置于装置内部,还可以设置于装置外部。一种示例中,上述图17中所示的接收单元1710,熵解码单元1720,上采样单元1730均可以由处理器1820实现。另一种示例中,接收单元1710的功能由通信接口1810来实现。熵解码单元1720,上采样单元1730的功能由处理器1820实现。处理器1820通过通信接口1810接收码流,并用于实现图6、图7B、图10-图11、图16中所述的方法。在实现过程中,处理流程的各步骤可以通过处理器1820中的硬件的集成逻辑电路或者软件形式的指令完成图6、图7B、图10-图11、图16中所述的方法。
本申请实施例中通信接口1810可以是电路、总线、收发器或者其它任意可以用于进行信息交互的装置。其中,示例性地,该其它装置可以是与装置相连的设备。
本申请实施例中处理器1820可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件单元组合执行完成。处理器1820用于实现上述方法所执行的程序代码可以存储在存储器1830中。存储器1830和处理器1820耦合。
本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
处理器1820可能和存储器1830协同操作。存储器1830可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器1830是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
本申请实施例中不限定上述通信接口1810、处理器1820以及存储器1830之间的具体连接介质。本申请实施例在图18中以存储器1830、处理器1820以及通信接口1810之间通过总线连接,总线在图18中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图18中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例将点云几何编码问题转换为图模型上的信号处理问题。具体是在图模型的基础上通过图卷积神经网络来执行,图卷积神经网络相对与3D CNN而言,在处理稀疏点云数据过程中采用矩阵运算,无需逐个遍历空间所有的体素,可以降低时间复杂度,也就是可以降低解码复杂度,提高解码效率。另外,在编码过程中将非空体素的几何坐标编入码流,从而解码端根据几何坐标构建解码的体素模型的骨架,进而在骨架的基础上进行上采样,提高了解码的准确度。另外,在衍生的顶点的过程中,先筛选出锚顶点作为衍生顶点,然后再利用锚顶点在设定范围内筛选衍生顶点,即锚顶点对应的体素的设定范围内筛选其它的非空体素。相比从所有的候选顶点中筛选衍生顶点来说,本申请采用逐步缩小范围的方式来采样得到衍生顶点,有效调整局部区域非空体素上采样的数量,并且可以避免上采样点云出现较大程度失真,提高上采样性能。
作为一种举例,为验证本申请实施例提供的锚顶点生成法的有效性,通过比较原始点云数据、采用本申请实施例提供的方法解码的点云数据,以及从所有的候选顶点中筛选衍生顶点的方法解码的点云数据的分布情况,参见图19所示。图19中(a)为原始点云数据。图19中(b)为采用本申请实施例提供的方法解码的点云数据。图19中(c)为从所有的候选顶点中筛选衍生顶点的方法(图19中称为topk)解码的点云数据。
通过图19可以看出,使用“topk”方案在中心位置存在较大的细节丢失。但是本申请实施例中提出的锚顶点生成法能够有效恢复点云的空间结构。细节丢失的原因在于车载激光雷达生成的点云相比于面向人眼视觉的点云分布更加稀疏,网络对于点云的空间结构理解能力有限,因此会存在细节丢失的情形。锚顶点生成法,首先保留锚顶点以确定点云的“骨架”,然后在这个“骨架”的基础上从候选顶点中逐步缩小选择范围,最终生成的点云更加精确。
作为另一种举例,通过多种已有数据集对比现有的几何解码方法与本申请提供的几何解码方法的编码性能,参见图20所示。以现有的几何解码方法中MPEG基于几何的点云压缩(Geometry-based Point Cloud Compression,G-PCC)以及Draco为例。Draco是开发的图形压缩库,用于压缩和解压缩3D几何网格(geometric mesh)和点云(point cloud)。
图20中,以点到点(D1)峰值信噪比(Peak Signal to Noise Ratio,PSNR)作为衡量解码端生成的点云数据的失真度,使用码率用于衡量编码输入点云所消耗的比特率。码率的单位是BPIP(bits per input point),PSNR的单位是分贝dB。图20中(a)以Ford_01序列作为测试数据集为例的R-D曲线示意图。图20中(b)以Ford_02序列作为测试数据集为例的R-D曲线示意图。图20中(c)以Ford_03序列作为测试数据集为例的R-D曲线示意图。图20中(d)以KITTI数据集中第17个场景序列为例的R-D曲线示意图。图20(e)为以KITTI数据集中第18个场景序列为例的R-D曲线示意图。图20(f)为以KITTI数据集中第19个场景序列为例的R-D曲线示意图。图20(g)为以KITTI数据集中第20个场景序列为例的R-D曲线示意图。
从图20可以看出,在低比特率的时候,采用本申请实施例提供的方案相比于MPEGG-PCC在不同的数据集上均有较好的编码性能。反映了在较大降采样因子条件下,本申请实施例提供的方案情况下,解码端输出点云失真度均较低。从图20也可以看出本申请实施例提供的方案的解码性能整体优于G-PCC以及Draco。
基于以上实施例,本申请实施例还提供了一种计算机存储介质,该存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时可实现上述任意一个或多个实施例提供的方法。所述计算机存储介质可以包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种芯片,该芯片包括处理器,用于实现上述任意一个或多个实施例所涉及的功能,例如获取或处理上述方法中所涉及的信息或者消息。可选地,所述芯片还包括存储器,所述存储器,用于处理器所执行必要的程序指令和数据。该芯片,可以由芯片构成,也可以包含芯片和其他分立器件。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的通信***的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
最后应说明的是:以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的通信***的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (24)
1.一种点云数据的解码方法,其特征在于,包括:
接收码流;
从所述码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征;
根据所述非空体素的几何坐标以及所述几何特征构建图模型,其中,所述图模型中的顶点用于表示所述非空体素,所述图模型中每两个顶点之间的边用于描述所述两个顶点之间几何特征的关联关系;
通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
2.根据权利要求1所述的方法,其特征在于,通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,包括:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数。
3.根据权利要求2所述的方法,其特征在于,通过图卷积神经网络中级联的多个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,包括:
通过第一图卷积子网络执行,所述第一图卷积子网络为所述多个图卷积子网络中的一个:
基于所述图模型中M个顶点分别对应的几何特征和几何坐标获得所述每个顶点分别对应的(2k)3个候选顶点的几何坐标;k为所述第一图卷积子网络的采样因子;
根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点;所述锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点;
从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,其中,所述衍生顶点对应的体素作为所述第二体素模型中非空体素。
4.根据权利要求3所述的方法,其特征在于,所述从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,包括:
提取每个锚顶点对应的(2k)3-1个候选顶点的几何特征,并根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点;其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点中确定的Ni个候选衍生顶点为(2k)3-1个候选顶点中预测为非空体素概率最大的Ni个候选顶点;1≤i≤M,
提取Nc个候选衍生顶点的几何特征,并根据所述Nc个候选衍生顶点的几何特征从所述Nc个候选衍生顶点中选择L个几何特征最大的候选衍生顶点作为衍生顶点,其中所述锚顶点作为所述衍生顶点。
5.根据权利要求4所述的方法,其特征在于,根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点,包括:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点,以得到Nc个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括从所述码流中解码待解码点云的数量;
其中,所述Nc≤(NGT-M),NGT表示待解码点云的数量。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
从所述码流中解码待解码点云的数量;
所述根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点,包括:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni ′个候选顶点作为候选衍生顶点,以得到Nc ′个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率;
在确定满足Nc ′>(NGT-M)时,从所述Nc ′个候选衍生顶点选择Nc个候选衍生顶点。
8.根据权利要求3-7任一项所述的方法,其特征在于,根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点,包括:
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征;所述第一顶点为所述M个候选顶点中的任一顶点;
根据所述(2k)3个候选顶点的几何特征预测所述(2k)3个候选顶点中每个候选顶点对应的体素为非空体素的概率;
从所述(2k)3个候选顶点中选择概率最大的候选顶点作为锚顶点。
9.根据权利要求8所述的方法,其特征在于,所述第一图卷积子网络包括第一边缘卷积网络;
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征,包括:
将所述第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征作为所述第一边缘卷积网络的输入,通过所述第一边缘卷积网络提取所述(2k)3个候选顶点的几何特征。
10.根据权利要求3-9任一项所述的方法,其特征在于,所述第一图卷积子网络包括图注意力网络、第二多边缘卷积网络;
分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量,包括:
通过所述图注意力网络预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中第二概率最大的Ni个候选顶点作为候选衍生顶点,包括:
通过所述第二多边缘卷积网络预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率;
从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni候选顶点作为候选衍生顶点。
11.一种点云数据的解码装置,其特征在于,包括:
接收单元,用于接收码流;
熵解码单元,用于从所述码流中解码第一体素模型中的多个非空体素的几何坐标,以及所述多个非空体素分别对应的几何特征;
上采样单元,用于根据所述非空体素的几何坐标以及所述几何特征构建图模型,其中,所述图模型中的顶点用于表示所述非空体素,所述图模型中每两个顶点之间的边用于描述所述两个顶点之间几何特征的关联关系;通过图卷积神经网络基于所述图模型对所述第一体素模型进行上采样处理得到第二体素模型,所述第二体素模型包括的多个非空体素中每个非空体素的几何坐标对应为一个点云的几何坐标。
12.根据权利要求11所述的装置,其特征在于,所述上采样单元,具体用于:
通过图卷积神经网络中级联的N个图卷积子网络,基于所述图模型对所述第一体素模型中的每个非空体素进行上采样处理得到第二体素模型,所述N为正整数;
其中,N个图卷积子网络中所采用的采样因子的乘积等于所述第二体素模型相对于所述第一体素模型的采样提升倍数。
13.根据权利要求12所述的装置,其特征在于,所述上采样单元,具体用于:
通过第一图卷积子网络执行,所述第一图卷积子网络为所述多个图卷积子网络中的一个:
基于所述图模型中M个顶点分别对应的几何特征和几何坐标获得所述每个顶点分别对应的(2k)3个候选顶点的几何坐标;k为所述第一图卷积子网络的采样因子;
根据所述(2k)3个候选顶点的几何坐标以及所述M个顶点的分别对应的几何特征从所述每个顶点对应的(2k)3个候选顶点中确定所述每个顶点对应的锚顶点,以得到M个锚顶点;所述锚顶点为所述(2k)3个候选顶点中预测概率最大的候选顶点;
从所述每个锚顶点对应的(2k)3-1个候选顶点中选择衍生顶点,其中,所述衍生顶点对应的体素作为所述第二体素模型中非空体素。
14.根据权利要求13所述的装置,其特征在于,所述上采样单元,具体用于:
提取每个锚顶点对应的(2k)3-1个候选顶点的几何特征,并根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点中确定候选衍生顶点,以得到Nc个候选衍生顶点;其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点中确定的Ni个候选衍生顶点为(2k)3-1个候选顶点中预测为非空体素概率最大的Ni个候选顶点;1≤i≤M,
提取Nc个候选衍生顶点的几何特征,并根据所述Nc个候选衍生顶点的几何特征从所述Nc个候选衍生顶点中选择L个几何特征最大的候选衍生顶点作为衍生顶点,其中所述锚顶点作为所述衍生顶点。
15.根据权利要求14所述的装置,其特征在于,所述上采样单元,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni个候选顶点作为候选衍生顶点,以得到Nc个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率。
16.根据权利要求15所述的装置,其特征在于,所述熵解码单元,还用于从所述码流中解码待解码点云的数量;
其中,所述Nc≤(NGT-M),NGT表示待解码点云的数量。
17.根据权利要求14所述的装置,其特征在于,所述熵解码单元,还用于从所述码流中解码待解码点云的数量;
所述上采样单元,具体用于:
根据每个锚顶点对应的(2k)3-1个候选顶点的几何特征分别从每个锚顶点对应的(2k)3-1个候选顶点确定每个锚顶点对应的候选衍生顶点的数量;
其中,从所述M个锚定点中第i个锚顶点对应的(2k)3-1个候选顶点确定的候选衍生顶点的数量属于第一数量类别,所述第一数量类别为预测所述第i个锚顶点对应的候选衍生顶点的数量分别属于多个数量类别的第一概率中最大概率的数量类别,所述多个数量类别分别对应的数量范围不同;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni ′个候选顶点作为候选衍生顶点,以得到Nc ′个候选衍生顶点;
其中,(2k)3-1个候选顶点分别对应的第二概率为(2k)3-1个候选顶点分别对应的体素包含点云的概率;
在确定满足Nc ′>(NGT-M)时,从所述Nc ′个候选衍生顶点选择Nc个候选衍生顶点。
18.根据权利要求13-17任一项所述的装置,其特征在于,所述上采样单元,具体用于:
根据第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征确定所述(2k)3个候选顶点的几何特征;所述第一顶点为所述M个候选顶点中的任一顶点;
根据所述(2k)3个候选顶点的几何特征预测所述(2k)3个候选顶点中每个候选顶点对应的体素为非空体素的概率;
从所述(2k)3个候选顶点中选择概率最大的候选顶点作为锚顶点。
19.根据权利要求18所述的装置,其特征在于,所述第一图卷积子网络包括第一边缘卷积网络;
所述上采样单元,具体用于:
将所述第一顶点对应的所述(2k)3个候选顶点的几何坐标以及所述第一顶点的分别对应的几何特征作为所述第一边缘卷积网络的输入,通过所述第一边缘卷积网络提取所述(2k)3个候选顶点的几何特征。
20.根据权利要求13-19任一项所述的装置,其特征在于,所述第一图卷积子网络包括图注意力网络、第二多边缘卷积网络;
所述上采样单元,具体用于:
通过所述图注意力网络预测第i个锚顶点对应的(2k)3-1个候选顶点中包括的候选衍生顶点的数量分别属于多个数量类别的第一概率;
根据第i个锚顶点对应的候选衍生顶点的数量从所述第i个锚顶点对应的(2k)3-1个候选顶点中第二概率最大的Ni个候选顶点作为候选衍生顶点,包括:
通过所述第二多边缘卷积网络预测所述第i个锚顶点对应的(2k)3-1个候选顶点分别对应的第二概率;
从所述第i个锚顶点对应的(2k)3-1个候选顶点中选择第二概率最大的Ni候选顶点作为候选衍生顶点。
21.一种点云数据的解码装置,其特征在于,包括至少一个处理器和存储器;
所述存储器,用于存储计算机程序或指令;
所述至少一个处理器,用于执行所述计算机程序或指令,以使得如权利要求1-10中任一项所述的方法被执行。
22.一种芯片***,其特征在于,所述芯片***包括处理器;所述处理器与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现如权利要求1-10任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被计算机执行时,使得如权利要求1-10任一项所述的方法被执行。
24.一种包含计算机程序或指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得上述权利要求1-10任一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436793.2A CN118055244A (zh) | 2022-11-16 | 2022-11-16 | 一种点云数据的解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211436793.2A CN118055244A (zh) | 2022-11-16 | 2022-11-16 | 一种点云数据的解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118055244A true CN118055244A (zh) | 2024-05-17 |
Family
ID=91052575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211436793.2A Pending CN118055244A (zh) | 2022-11-16 | 2022-11-16 | 一种点云数据的解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118055244A (zh) |
-
2022
- 2022-11-16 CN CN202211436793.2A patent/CN118055244A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113574882B (zh) | 使用深度生成性模型的视频压缩 | |
KR102332490B1 (ko) | 심층 신경망용 압축 방법, 칩, 전자 장치 및 매체 | |
JP7225333B2 (ja) | ニューラルネットワークを使用するタイル型画像圧縮 | |
KR20230074137A (ko) | 머신 러닝 시스템들을 이용한 인스턴스 적응적 이미지 및 비디오 압축 | |
EP4205390A1 (en) | Decoding and encoding of neural-network-based bitstreams | |
CN114096987A (zh) | 视频处理方法及装置 | |
CN114067007A (zh) | 图像处理方法与装置、神经网络训练的方法与装置 | |
US11533514B2 (en) | Encoding method, decoding method, information processing method, encoding device, decoding device, and information processing system | |
Zhao et al. | Symmetrical lattice generative adversarial network for remote sensing images compression | |
Khan et al. | Sparse to dense depth completion using a generative adversarial network with intelligent sampling strategies | |
CN117242493A (zh) | 点云解码、上采样及模型训练方法与装置 | |
CN114598883A (zh) | 点云属性的预测方法、编码器、解码器及存储介质 | |
WO2023098688A1 (zh) | 图像编解码方法和装置 | |
Feng et al. | Neural subspaces for light fields | |
US20230254230A1 (en) | Processing a time-varying signal | |
CN118055244A (zh) | 一种点云数据的解码方法及装置 | |
US20230316584A1 (en) | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method | |
WO2022226850A1 (zh) | 点云质量增强方法、编码和解码方法及装置、存储介质 | |
Valenzise et al. | Point cloud compression | |
WO2024060161A1 (zh) | 编解码方法、编码器、解码器以及存储介质 | |
WO2023213903A1 (en) | Data compression and reconstruction using sparse meta-learned neural networks | |
WO2024026712A1 (zh) | 点云编解码方法、装置、设备及存储介质 | |
Sahay | Lossless Compression of event data and optical flow images from event cameras | |
CN117934524A (zh) | 建筑物轮廓提取方法及装置 | |
WO2024073213A1 (en) | Diffusion-based data compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |