CN112330680B - 一种基于查找表加速点云分割的方法 - Google Patents
一种基于查找表加速点云分割的方法 Download PDFInfo
- Publication number
- CN112330680B CN112330680B CN202011218060.2A CN202011218060A CN112330680B CN 112330680 B CN112330680 B CN 112330680B CN 202011218060 A CN202011218060 A CN 202011218060A CN 112330680 B CN112330680 B CN 112330680B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- pointnet
- seg
- basic
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/66—Analysis of geometric attributes of image moments or centre of gravity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉领域下的3D点云分割领域,更具体地,涉及一种基于查找表加速点云分割的方法,开拓性的将查找表的思想应用到点云分割的问题上来,利用访问查找表代替了神经网络的前向计算,极大的加速了点云分割的过程。本发明创新性的将主成分分析应用于点云分割处理上,让分割网络可以摆脱对空间变换网络模块的依赖,使点云分割网络具有旋转不变性的同时减少了计算量。
Description
技术领域
本发明属于计算机视觉领域下的3D点云分割领域,更具体地,涉及一种基于查找表加速点云分割的方法。
背景技术
在无人驾驶***中,根据获取到的点云数据完成实时的分割,从而形成实时的决策是至关重要的。在过去几年中,关于如何在点云分割网络上完成模型压缩和加速模型推断取得了许多进展。比如假定分割网络中的各层网络参数彼此独立,利用控制变量的方法,探究某一层网络参数的设置对整体分割网络的性能影响,从而修剪分割网络中不重要的连接,减少网络层数。同时,将网络参数进行量化处理,将网络参数从浮点数转化为整型数,从而快速完成深度神经网络中卷积层,池化层,全连接层的运算。该类方法通过减少网络参数数量和提升网络运算速度来加快点云分割网络的分割过程。由于该方法对分割网络进行了修剪,减少了网络参数并且损失了网络参数的精度,该方法对网络性能以及分割准确率会有较大影响。
发明内容
本发明为克服上述现有技术中的至少一个缺陷,提供一种基于查找表加速点云分割的方法,利用查找表提升点云网络分割的效率,大幅度减少点云分割花费的时间。
为解决上述技术问题,本发明采用的技术方案是:一种基于查找表加速点云分割的方法,包括以下步骤:
S1.点云数据归一化处理,得到尺寸归一化的点云;
S2.搭建并训练点云分割网络PointNet,点云分割问题可以看作是对点云中每个点的分类问题;其中,网络的输入为N×3的点云数据,N为点云中包含的点的数量,每个点有三维坐标进行表示。网络输出为N×K,K为点云中每个点的分类标签;训练完毕后保存网络参数;
S3.建立特征查找表;
S4.对PointNet_Seg_Basic_Cls部分进行微调,进一步提升分割网络的分割准确率;
S5.对点云进行快速分割,通过特征查找表,获取点云中每个点的特征并将每个点的特征输入到微调后的PointNet_Seg_Basic_Cls网络中获取该点的分类结果;综合每个点的分类情况,最后得到点云的分割结果。
进一步的,所述的步骤S1具体包括:
S11.利用重心平移实现点云平移归一化,首先依据公式计算点云的重心,然后将点云的每个点都跟随着重心移动,每个点平移后的坐标为P'i=Pi-Pcenter;
S12.利用主成分分析方法实现点云旋转归一化;
S13.利用轴对齐包围盒实现点云尺寸归一化。
进一步的,所述的步骤S12具体包括:
S121.计算点云的3×3协方差矩阵,利用特征分解求解三个特征值,从大到小排列为λ1,λ2,λ3,并将对应的特征向量e1,e2,e3构成旋转矩阵R=(e1,e2,e3);
S122.将点云的每个点投影到由e1,e2,e3构成的空间坐标系中,对点云的每个点进行投影操作为Pnew=R-1Pi=RTPi。
进一步的,所述的步骤S13具体包括:
S131.找到点云在x,y和z方向上最小和最大的两个点,分别是Pmin(xmin,ymin,zmin)和Pmax(xmax,ymax,zmax),用最大点减去最小的点得到的三个长度分量分别作为轴对齐包围盒的长宽高;
S132.将点云每个点的三个分量分别除以包围盒的长宽高,得到尺寸归一化的点云,使点云的坐标都分布在[-1,1]区间内。
进一步的,所述的步骤S2具体包括:
S21.去掉PointNet分割网络Point_Seg中的两个T-Net,仅保留最简单的PointNet_Seg_Basic网络结构;因为在点云归一化中提前将点云做了主成分分析对点云进行旋转归一化,点云表示具有旋转不变性,因此在点云分割网络中不再需要T-net结构,所以使用结构简单的PointNet_Seg_Basic作为点云分割网络,好处是节省计算量;
S22.利用训练集训练PointNet_Seg_Basic网络,并且保存最好分割准确率的网络参数。
进一步的,所述的步骤S22中,将网络参数分为两个部分,一是对点云每个点进行特征提取的参数记作PointNet_Seg_Basic_Features_Parameters,二是对每个点的特征进行分类的参数,记作PointNet_Seg_Basic_Cls_Parameters。
进一步的,所述的步骤S3具体包括:
S31.点云经过尺寸归一化后其输入将被固定在空间V中,V=[-1,1]3;将V划分为S3个不相交的相互独立的体素,每个体素的长度为δ=2/S,体积为8/S3;其中S是一个变量,可以根据需求选择不同的S值对空间V进行划分;
S32.将从V中划分出的S3个体素编号,使用一个三维坐标(i,j,k)∈[0,S]3来标识每一个体素,其中(0,0,0)表示V中左下角的体素,(S,S,S)表示右上角的体素;
S33.构建特征查找表T[i][j][k][f],其中i,j,k为体素编号,f表示编号为i,j,k的体素对应的特征向量。
进一步的,所述的步骤S33具体包括:
S331.构建特征提取网络,对PointNet_Seg_Basic点云分割网络进行拆分,分为PointNet_Seg_Basic_Features和PointNet_Seg_Basic_Cls两个部分,其中PointNet_Seg_Basic_Features仅包含PointNet_Seg_Basic中的特征提取部分的网络结构,PointNet_Seg_Basic_Cls仅包含对依据每个点的特征进行分类的网络结构;
S332.将保存的PointNet_Seg_Basic_Features_Parameters恢复到PointNet_Seg_Basic_Features网络结构的参数中;
S333.为V中的每一个体素(i,j,k)生成一个三维坐标点,点的坐标为(i×δ,j×δ,k×δ);将该点通过PointNet_Seg_Basic_Features网络结构,将得到该点的特征向量f;此特征向量f作为编号为i,j,k的体素对应的特征向量;公式表达为:T[i][j][k][f]=pointnet_seg_basic_features(iδ,jδ,kδ);
S334.将得到的特征查找表T[i][j][k][f]保存下来。
进一步的,所述的步骤S4具体包括:
S41.将特征查找表读入内存后,通过查找表查找点云每个点的特征向量;对于点云中的点(u,v,w),该点对应到V中体素的编号为从特征查找表T[i][j][k][f]中找出[i,j,k]对应的特征向量,作为该点(u,v,w)的特征向量;
S42.将保存的PointNet_Seg_Basic_Cls_Parameters恢复到PointNet_Seg_Basic_Cls网络结构的参数中;
S43.利用归一化的点云训练数据对PointNet_Seg_Basic_Cls中的参数进行微调;将PointNet_Seg_Basic网络的PointNet_Seg_Basic_Features部分替换为特征查找表T[i][j][k][f],训练数据在特征查找表中查询到特征向量后,输入到PointNet_Seg_Basic_Cls网络结构中,利用训练数据的ground truth作为监督信号,对PointNet_Seg_Basic_Cls中的参数进行微调;
S44.保存微调后的PointNet_Seg_Basic_Cls中的参数到PointNet_Seg_Basic_Cls_Parameters中。
进一步的,所述的步骤S5具体包括:
S51.读取保存的特征查询表T[i][j][k][f]到内存中;
S52.构建PointNet_Seg_Basic_Cls网络结构,并读取微调后的PointNet_Seg_Basic_Cls_Parameters到PointNet_Seg_Basic_Cls中;
S53.对测试点云数据进行平移、旋转、尺寸归一化处理;
S54.为测试点云的每个点从特征查询表中获取特征,将测试点云每个点的特征输入到PointNet_Seg_Basic_Cls网络中获取该点的分类结果;综合每个点的分类结果最后得到测试点云的分割结果。
在本发明中,开拓性的将查找表的思想应用到点云分割的问题上来,利用访问查找表代替了神经网络的前向计算,极大的加速了点云分割的过程。本发明创新性的将主成分分析应用于点云分割处理上,让分割网络可以摆脱对空间变换网络模块的依赖,使点云分割网络具有旋转不变性的同时减少了计算量。
与现有技术相比,有益效果是:
1.本发明使用特征查询表巧妙地代替了点云分割网络中特征提取的网络结构,点云的特征提取时间完全取决于内存访问时间,计算量大幅减少,仅仅只需要对查询表索引的计算。与其他加速点云分割的技术仍然需要复杂的网络计算相比,本发明更大幅度的提升了点云分割的速度。在使用Intel Xeon E5-2673v4 CPU的条件下,使用现有较快的点云分割网络PointNet(除去T-Net),对具有50万个点的点云进行分割需要平均240秒,而使用本发明提供的分割技术仅需要5.8s秒,在速度上加快了约40倍。
2.本发明使用特征查询表代替了点云分割网络中特征提取的网络结构,省去了点云分割网络中特征提取部分的计算量,极大精简了网络结构,大幅缩小了点云分类需要占用的计算资源,可以摆脱深度点云分割网络对GPU的依赖。该方法可以应用在计算能力有限的移动终端或者嵌入式设备上,从而实现移动端或者嵌入式设备实时的点云分割。
3.本发明在构造出特征查询表之后,对分割网络进行了微调,使得本方法在分割速度比现有点云分割网络快40倍的情况下,分割准确率与PointNet(除去T-net)分割准确率基本一致。本发明在大幅加速点云分割网络的同时,并没有出现其他加速方法中分割准确率下滑严重的情况。
附图说明
图1是本发明方法整体流程示意图。
图2是本发明中查找表以及分割网络的流程示意图。
图3是本发明点云归一化处理示意图。
图4是本发明网络结构示意图。
图5是本发明特征查询表结构示意图。
图6是本发明网络特征提取示意图。
图7是本发明点云分割结构示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
如图1、图2所示,一种基于查找表加速点云分割的方法,具体包括以下步骤:
步骤1:如图3所示,对点云数据归一化处理,图3中左图为未归一化点云,右图是已归一化点云。归一化的步骤如下:
S11.利用重心平移实现点云平移归一化,首先依据公式计算点云的重心,然后将点云的每个点都跟随着重心移动,每个点平移后的坐标为P'i=Pi-Pcenter;
S12.利用主成分分析方法实现点云旋转归一化;
S121.计算点云的3×3协方差矩阵,利用特征分解求解三个特征值,从大到小排列为λ1,λ2,λ3,并将对应的特征向量e1,e2,e3构成旋转矩阵R=(e1,e2,e3);
S122.将点云的每个点投影到由e1,e2,e3构成的空间坐标系中,对点云的每个点进行投影操作为Pnew=R-1Pi=RTPi;
S13.利用轴对齐包围盒实现点云尺寸归一化;
S131.找到点云在x,y和z方向上最小和最大的两个点,分别是Pmin(xmin,ymin,zmin)和Pmax(xmax,ymax,zmax),用最大点减去最小的点得到的三个长度分量分别作为轴对齐包围盒的长宽高;
S132.将点云每个点的三个分量分别除以包围盒的长宽高,得到尺寸归一化的点云,使点云的坐标都分布在[-1,1]区间内。
步骤2:按照如图4所示的网络结构图,搭建并训练点云分割网络;具体包括以下步骤:
S21.搭建并训练点云分割网络。点云分割问题可以看作是对点云中每个点的分类问题。因此网络的输入应为N×3的点云数据,N为点云中包含的点的数量,网络输出为N×K,K为点云中每个点的分类标签。训练完毕后保存网络参数。
S22.去掉PointNet分割网络中的两个T-Net,仅保留最简单的PointNet_Seg_Basic网络结构。因为在点云归一化中提前将点云做了主成分分析来对点云进行旋转归一化,使点云网络具有旋转不变性,因此在点云分割网络中不再需要T-net结构,所以使用结构简单的PointNet_Seg_Basic(如图4所示)作为点云分割网络。
S23.利用训练集训练PointNet_Seg_Basic,并且保存最好分割准确率的网络参数,并将网络参数分为两个部分,一是对点云每个点进行特征提取的参数记作PointNet_Seg_Basic_Features_Parameters,二是用于对每个点的特征进行分类的参数,记作PointNet_Seg_Basic_Cls_Parameters。
步骤3:建立如图5所示的特征查找表,图5中每一个小格子代表一个体素,体素中记录的是该体素对应的特征向量。详细步骤如下:
S31.点云经过尺寸归一化后其输入将被固定在空间V中,V=[-1,1]3;将V划分为S3个不相交的相互独立的体素,每个体素的长度为δ=2/S,体积为8/S3;其中S是一个变量,可以根据需求选择不同的S值对空间V进行划分;
S32.将从V中划分出的S3个体素编号,使用一个三维坐标(i,j,k)∈[0,S]3来标识每一个体素,其中(0,0,0)表示V中左下角的体素,(S,S,S)表示右上角的体素;
S33.构建特征查找表T[i][j][k][f],其中i,j,k为体素编号,f表示编号为i,j,k的体素对应的特征向量;具体包括:
S331.构建特征提取网络,对PointNet_Seg_Basic点云分割网络进行拆分,分为PointNet_Seg_Basic_Features和PointNet_Seg_Basic_Cls两个部分,其中PointNet_Seg_Basic_Features仅包含PointNet_Seg_Basic中的特征提取部分的网络结构,PointNet_Seg_Basic_Cls仅包含对依据每个点的特征进行分类的网络结构;
S332.将保存的PointNet_Seg_Basic_Features_Parameters恢复到PointNet_Seg_Basic_Features网络结构的参数中;
S333.为V中的每一个体素(i,j,k)生成一个三维坐标点,点的坐标为(i×δ,j×δ,k×δ);将该点通过PointNet_Seg_Basic_Features网络结构,将得到该点的特征向量f;此特征向量f作为编号为i,j,k的体素对应的特征向量;公式表达为:T[i][j][k][f]=pointnet_seg_basic_features(iδ,jδ,kδ);
S334.将得到的特征查找表T[i][j][k][f]保存下来。
步骤4:对PointNet_Seg_Basic_Cls部分进行微调,从而避免分割网络的分割准确率下滑;具体包括:
S41.将特征查找表读入内存后,通过查找表查找点云每个点的特征向量,对于点云中的点(u,v,w),该点对应到V中体素的编号为从特征查找表T[i][j][k][f]中找出[i,j,k]对应的特征向量,作为该点的特征向量;
S42.将保存的PointNet_Seg_Basic_Cls_Parameters恢复到PointNet_Seg_Basic_Cls网络结构的参数中;
S43.利用归一化的点云训练数据对PointNet_Seg_Basic_Cls中的参数进行微调;如图6的黑色箭所示将PointNet_Seg_Basic网络的PointNet_Seg_Basic_Features部分提取64维,128维,256维,512维,1024维,2048维特征向量的操作替换为64维,128维,256维,512维,1024维,2048维的特征查找表,训练数据在各个特征查找表中查询到特征向量后,将所有的特征向量衔接在一起,输入到PointNet_Seg_Basic_Cls网络中,利用训练数据的ground truth作为监督信号,对PointNet_Seg_Basic_Cls中的参数微调;
S44.保存微调后的PointNet_Seg_Basic_Cls中的参数到PointNet_Seg_Basic_Cls_Parameters中。
步骤5:如图7所示,对点云进行快速分割;具体包括:
S51.读取各个维度的特征查询表T[i][j][k][f]到内存中
S52.构建PointNet_Seg_Basic_Cls网络结构,并读取微调后的PointNet_Seg_Basic_Cls_Parameters到PointNet_Seg_Basic_Cls中
S53.对测试点云数据进行归一化处理
S54.为测试点云的每个点从各个维度的特征查询表中获取不同维度的特征向量后,将特征向量全部衔接在一起输入到PointNet_Seg_Basic_Cls网络中获取该点的分类结果。综合每个点的分类结果最后得到测试点云的分割结果。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于查找表加速点云分割的方法,其特征在于,包括以下步骤:
S1.点云数据归一化处理,得到尺寸归一化的点云;具体包括:
S11.利用重心平移实现点云平移归一化,首先依据公式计算点云的重心,然后使点云的每个点都跟随着重心移动,每个点平移后的坐标为P'i=Pi-Pcenter;
S12.利用主成分分析方法实现点云旋转归一化;
S13.利用轴对齐包围盒实现点云尺寸归一化;
S2.搭建并训练点云分割网络PointNet,点云分割问题可以看作是对点云中每个点的分类问题;其中,网络的输入为N×3的点云数据,N为点云中包含的点的数量,每个点有三维坐标进行表示;网络输出为N×K,K为点云中每个点的分类标签;训练完毕后保存网络参数;具体包括:
S21.去掉PointNet分割网络PointNet_Seg中的两个T-Net,仅保留最简单的PointNet_Seg_Basic网络结构;
S22.利用训练集训练PointNet_Seg_Basic网络,并且保存最好分割准确率的网络参数;
S3.建立特征查找表;具体包括:
S31.点云经过尺寸归一化后其输入将被固定在空间V中,V=[-1,1]3;将V划分为S3个不相交的相互独立的体素,每个体素的长度为δ=2/S,体积为8/S3;其中S是一个变量,可以根据需求选择不同的S值对空间V进行划分,随着S增大,准确率会略有提升,但V所占用的内存也会随之增大;
S32.为了从V中划分出的S3个体素编号,使用一个三维坐标
(i,j,k)∈[0,S]3来标识每一个体素,其中(0,0,0)表示V中左下角的体素,(S,S,S)表示右上角的体素;
S33.构建特征查找表T[i][j][k][f],其中i,j,k为体素编号,f表示编号为i,j,k的体素对应的特征向量;S33具体包括:
S331.构建特征提取网络,对PointNet_Seg_Basic点云分割网络进行拆分,拆分为PointNet_Seg_Basic_Features和PointNet_Seg_Basic_Cls两个部分,其中PointNet_Seg_Basic_Features仅包含PointNet_Seg_Basic中的特征提取部分的网络结构,PointNet_Seg_Basic_Cls仅包含对依据每个点的特征进行分类的网络结构;
S332.将保存的PointNet_Seg_Basic_Features_Parameters恢复到PointNet_Seg_Basic_Features网络结构的参数中;
S333.为V中的每一个体素(i,j,k)生成一个三维坐标点,点的坐标为(i×δ,j×δ,k×δ),其中δ为体素长度;将生成的点通过PointNet_Seg_Basic_Features网络结构,将得到该点的特征向量f;此特征向量f作为编号为i,j,k的体素对应的特征向量;公式表达为:
T[i][j][k][f]=pointnet_seg_basic_features(iδ,jδ,kδ);
S334.将得到的特征查找表T[i][j][k][f]保存下来;
S4.对PointNet_Seg_Basic_Cls部分进行微调,进一步提升分割网络的分割准确率;
S5.对点云进行快速分割,通过特征查找表,获取点云中每个点的特征并将每个点的特征输入到微调后的PointNet_Seg_Basic_Cls网络中获取该点的分类结果;综合每个点的分类情况,最后得到点云的分割结果。
2.根据权利要求1所述的基于查找表加速点云分割的方法,其特征在于,所述的步骤S12具体包括:
S121.计算点云的3×3协方差矩阵,利用特征分解求解三个特征值,从大到小排列为λ1,λ2,λ3,并将对应的特征向量e1,e2,e3构成旋转矩阵R=(e1,e2,e3);
S122.将点云的每个点投影到由e1,e2,e3构成的空间坐标系中,对点云的每个点进行投影操作为Pnew=R-1Pi=RTPi。
3.根据权利要求2所述的基于查找表加速点云分割的方法,其特征在于,所述的步骤S13具体包括:
S131.找到点云在x,y和z方向上最小和最大的两个点,分别是Pmin(xmin,ymin,zmin)和Pmax(xmax,ymax,zmax),用最大点减去最小的点得到的三个长度分量分别作为轴对齐包围盒的长宽高;
S132.将点云每个点的三个分量分别除以包围盒的长宽高,得到尺寸归一化的点云,使点云的坐标都分布在[-1,1]区间内。
4.根据权利要求1所述的基于查找表加速点云分割的方法,其特征在于,所述的步骤S22中,将保存的网络参数分为两个部分,一是对点云每个点进行特征提取的参数,记作PointNet_Seg_Basic_Features_Parameters,二是对每个点的特征进行分类的参数,记作PointNet_Seg_Basic_Cls_Parameters。
5.根据权利要求1所述的基于查找表加速点云分割的方法,其特征在于,所述的步骤S4具体包括:
S41.将保存的特征查找表读入内存后,通过查找表查找点云每个点的特征向量;对于点云中的点(u,v,w),该点对应到V中体素的编号为其中δ为体素长度;从特征查找表T[i][j][k][f]中找出[i,j,k]对应的特征向量,作为点(u,v,w)的特征向量;
S42.将保存的PointNet_Seg_Basic_Cls_Parameters恢复到PointNet_Seg_Basic_Cls网络结构的参数中;
S43.利用归一化的点云训练数据对PointNet_Seg_Basic_Cls中的参数进行微调;将PointNet_Seg_Basic网络提取特征的PointNet_Seg_Basic_Features部分替换为特征查找表T[i][j][k][f],训练数据在特征查找表中查询到特征向量后,输入到PointNet_Seg_Basic_Cls网络结构中,利用训练数据的ground truth作为监督信号,对PointNet_Seg_Basic_Cls中的参数进行微调;
S44.保存微调后的PointNet_Seg_Basic_Cls中的参数到PointNet_Seg_Basic_Cls_Parameters中。
6.根据权利要求5所述的基于查找表加速点云分割的方法,其特征在于,所述的步骤S5具体包括:
S51.读取保存的特征查询表T[i][j][k][f]到内存中;
S52.构建PointNet_Seg_Basic_Cls网络结构,并读取微调后的PointNet_Seg_Basic_Cls_Parameters到PointNet_Seg_Basic_Cls中;
S53.对点云数据进行平移、旋转、尺寸归一化处理;
S54.为点云的每个点从特征查询表中获取特征,将点云每个点的特征输入到PointNet_Seg_Basic_Cls网络中获取该点的分类结果;综合每个点的分类情况,最后得到点云的分割结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218060.2A CN112330680B (zh) | 2020-11-04 | 2020-11-04 | 一种基于查找表加速点云分割的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011218060.2A CN112330680B (zh) | 2020-11-04 | 2020-11-04 | 一种基于查找表加速点云分割的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112330680A CN112330680A (zh) | 2021-02-05 |
CN112330680B true CN112330680B (zh) | 2023-07-21 |
Family
ID=74323638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011218060.2A Active CN112330680B (zh) | 2020-11-04 | 2020-11-04 | 一种基于查找表加速点云分割的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112330680B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019019680A1 (zh) * | 2017-07-28 | 2019-01-31 | 北京大学深圳研究生院 | 一种基于kd树和优化图变换的点云属性压缩方法 |
US10650278B1 (en) * | 2017-07-21 | 2020-05-12 | Apple Inc. | Semantic labeling of point clouds using images |
CN111462275A (zh) * | 2019-01-22 | 2020-07-28 | 北京京东尚科信息技术有限公司 | 一种基于激光点云的地图生产方法和装置 |
CN111862101A (zh) * | 2020-07-15 | 2020-10-30 | 西安交通大学 | 一种鸟瞰图编码视角下的3d点云语义分割方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10915779B2 (en) * | 2019-04-26 | 2021-02-09 | Unikie Oy | Method for extracting uniform features from point cloud and system therefor |
-
2020
- 2020-11-04 CN CN202011218060.2A patent/CN112330680B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650278B1 (en) * | 2017-07-21 | 2020-05-12 | Apple Inc. | Semantic labeling of point clouds using images |
WO2019019680A1 (zh) * | 2017-07-28 | 2019-01-31 | 北京大学深圳研究生院 | 一种基于kd树和优化图变换的点云属性压缩方法 |
CN111462275A (zh) * | 2019-01-22 | 2020-07-28 | 北京京东尚科信息技术有限公司 | 一种基于激光点云的地图生产方法和装置 |
CN111862101A (zh) * | 2020-07-15 | 2020-10-30 | 西安交通大学 | 一种鸟瞰图编码视角下的3d点云语义分割方法 |
Non-Patent Citations (2)
Title |
---|
Justlookup: One Millisecond Deep Feature Extraction for Point Clouds By Lookup Tables;Hongyang Chao et al.;《 2019 IEEE International Conference on Multimedia and Expo (ICME)》;第1-5页 * |
基于点云数据的逆向工程技术研究综述;王鑫龙;孙文磊;张建杰;黄勇;黄海博;;制造技术与机床(第02期);第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112330680A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107742102B (zh) | 一种基于深度传感器的手势识别方法 | |
Ma et al. | Binary volumetric convolutional neural networks for 3-D object recognition | |
CN109325993B (zh) | 一种基于类八叉树索引的显著性特征强化采样方法 | |
CN104268539B (zh) | 一种高性能的人脸识别方法及*** | |
CN109086437A (zh) | 一种融合Faster-RCNN和Wasserstein自编码器的图像检索方法 | |
CN108596919B (zh) | 一种基于深度图的自动图像分割方法 | |
Keselman et al. | Many-to-many graph matching via metric embedding | |
CN112101430A (zh) | 用于图像目标检测处理的锚框生成方法及轻量级目标检测方法 | |
CN102508917B (zh) | 部分特征图像的多维度目标快速鲁棒检索定位方法 | |
CN109376787B (zh) | 流形学习网络及基于其的计算机视觉图像集分类方法 | |
CN107704867A (zh) | 一种视觉定位中基于衡量因子的图像特征点误匹配剔除方法 | |
CN113283473B (zh) | 一种基于cnn特征映射剪枝的快速水下目标识别方法 | |
CN115861397A (zh) | 一种基于改进fpfh-icp的点云配准方法 | |
Pratikakis et al. | Partial 3D object retrieval combining local shape descriptors with global fisher vectors | |
CN114005046B (zh) | 基于Gabor滤波器和协方差池化的遥感场景分类方法 | |
CN108985346B (zh) | 融合低层图像特征及cnn特征的现勘图像检索方法 | |
CN111597367B (zh) | 基于视图和哈希算法的三维模型检索方法 | |
CN112330680B (zh) | 一种基于查找表加速点云分割的方法 | |
CN113780550A (zh) | 一种量化特征图相似度的卷积神经网络剪枝方法及装置 | |
CN111414958B (zh) | 一种视觉词袋金字塔的多特征图像分类方法及*** | |
CN112270746A (zh) | 基于邻域协方差特征参数阈值的铝合金3d打印点云精简算法 | |
CN109214269B (zh) | 一种基于流形对齐和多图嵌入的人脸姿态对齐方法 | |
CN114926488A (zh) | 基于广义Hough模型和改进金字塔搜索加速的工件定位方法 | |
CN108629356A (zh) | 一种面向用电负荷分类应用的数据存储方法和装置 | |
CN114140495A (zh) | 基于多尺度Transformer的单目标跟踪方法 |
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 |