CN113393514B - 一种三维无序点云数据处理方法、系统及设备 - Google Patents

一种三维无序点云数据处理方法、系统及设备 Download PDF

Info

Publication number
CN113393514B
CN113393514B CN202110654715.9A CN202110654715A CN113393514B CN 113393514 B CN113393514 B CN 113393514B CN 202110654715 A CN202110654715 A CN 202110654715A CN 113393514 B CN113393514 B CN 113393514B
Authority
CN
China
Prior art keywords
point cloud
sphere
point
coordinate data
spherical
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
Application number
CN202110654715.9A
Other languages
English (en)
Other versions
CN113393514A (zh
Inventor
陈梦娟
刘希龙
顾庆毅
颜廷钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Shijie Nanjing Technology Co ltd
Institute of Automation of Chinese Academy of Science
Original Assignee
Zhongke Shijie Nanjing Technology Co ltd
Institute of Automation of Chinese Academy of Science
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Shijie Nanjing Technology Co ltd, Institute of Automation of Chinese Academy of Science filed Critical Zhongke Shijie Nanjing Technology Co ltd
Priority to CN202110654715.9A priority Critical patent/CN113393514B/zh
Publication of CN113393514A publication Critical patent/CN113393514A/zh
Application granted granted Critical
Publication of CN113393514B publication Critical patent/CN113393514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/08Projecting images onto non-planar surfaces, e.g. geodetic screens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Geometry (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明属于计算机视觉与数字图像处理领域,具体涉及了一种三维无序点云数据处理方法、系统及装置。本发明的方法包括对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;将预处理三维无序点云数据集中的每个点云转换成球体点云;建立每个球体点云的空间坐标数据和深度值数据;根据中心投影规则将每个球体点云投影在多个角度的投影平面上;根据每个球体点云的空间坐标数据以及预设坐标转换规则计算每个球体点云在每个投影平面中的像素坐标数据。利用该像素坐标数据就可以代替三维无序点云数据进行三维重建。本发明能够防止点云信息丢失,且能够保留深度信息。

Description

一种三维无序点云数据处理方法、系统及设备
技术领域
本发明属于计算机视觉与数字图像处理技术领域,具体涉及了一种三维无序点云数据处理方法、系统及设备。
背景技术
点云是三维数据的一种重要且常用的表示方式,也是立体视觉最基本的数据格式之一。由于观测的对象被记录为一系列表面点的空间坐标,密集存储的点云数据无法直接记录各点的邻域信息。空间距离接近的点在内存中的地址可能相差很远。由此导致的无序性使得点云数据处理难度大于传统二维图像。
目前解决点云无序性的方法有四种,第一种方法是模拟二维图像中的像素点,将点云转化为空间三维体素,该方法以高度的存储稀疏性为代价,虽然保留了空间点的邻域信息,避免了无序性,但对存储空间的要求较高。
第二种方法是利用点云数据中各点相对位置关系对原始点云数据中的点重新排序,但这种方法获得的数据只适用于快速检索等应用,并不能有效表征点云的空间结构,对识别、测量、分割等后续处理的价值有限。
第三种方法是利用对称函数,只要点云数据中包含的点信息不变,无论点的排序如何变化,对称函数总能从中提取到相同的信息。例如,深度网络pointnet利用对称函数max-pooling,在对点云数据中所有点进行一系列同样运算后,获得运算结果中的最大值,在点云分类上取得了良好的效果。但深度学习类方法对样本量要求较高,且计算过程所具有的不可解释和不可操作性限制了其在工业领域的应用。
第四种方法,是将三维点云数据投影成多幅二维深度图,通过不同角度下投影的二维深度图像表征三维点云特征,这种方法可以有效的获取点云特征。其中,现有技术中一般通过基于点云到投影平面的距离进行高斯插值来生成二维深度图,但这个方法只适合于一些小面积无重叠的点云,不适合于包含不同深度结构的点云,因此需要通过双边滤波插值的方法,过滤那些离投影平面最远的点云,以适用于一些有重叠的点云,但是这样就会导致点云信息丢失过多。
发明内容
为了解决现有技术中的上述问题,即信息丢失过多的问题,本发明提供了一种三维无序点云数据处理方法、系统及设备。
本发明的第一方面,提出了一种三维无序点云数据处理方法,所述方法包括:
对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
将所述预处理三维无序点云数据集中的每个点云转换成球体点云;
建立每个所述球体点云的空间坐标数据和深度值数据;
根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
可选地,所述对三维无序点云数据集进行预处理得到预处理三维无序点云数据集包括:
消除三维无序点云数据集中的噪音点;
将去噪后的三维无序点云数据集进行归一化处理得到预处理三维无序点云数据集。
可选地,所述消除三维无序点云数据集中的噪音点包括:
确定三维无序点云数据集中每个点云及其临近的多个点云的原始坐标数据;
根据每个点云及其临近的多个点云的原始坐标数据分别计算每个点云与其临近的各点云的距离;
根据每个点云与其临近的各点云的距离确定每个点云的平均距离和最小距离;
将每个点云的平均距离与第一预设距离阈值比较,并将每个点云的最小距离与第二预设距离阈值进行比较;
若某个点云的平均距离大于第一预设距离阈值,且最小距离大于所述第二预设距离阈值,则确定该点云为噪音点,并进行删除。
可选地,所述将所述预处理三维无序点云数据集中的每个点云转换成球体点云包括:
将预处理三维无序点云数据集中的每个点云确定为球心;
通过公式Ri=1.2
Figure GDA0003874604580000031
确定每个点云对应的球体半径;
通过所述球心和所述球体半径建立每个点云对应的球体点云;
其中,Ri是球体半径,
Figure GDA0003874604580000032
是每个点云的平均距离,i=1、2…N,表征每个点云。
可选地,所述建立每个所述球体点云的空间坐标数据和深度值数据包括:
以视点为原点建立空间坐标系;其中所述视点为观察所有球体点云的空间点;
根据所述视点与其中一个球体点云的球心的第一方向单位向量确定该球体点云上的基准球点,其中,所述基准球点与球心的第二方向单位向量与所述第一方向单位向量垂直;
根据所述第一方向单位向量、第二方向单位向量、球体半径以及球心在该空间坐标系的坐标数据确定基准球点的空间坐标数据;
将所述基准球点绕所述第一方向单位向量以相同角度旋转N次,得到N个其他球点;
根据基准球点的空间坐标数据和旋转矩阵确定N个其他球点的空间坐标数据;其中,所述旋转矩阵如下:
Figure GDA0003874604580000041
根据所述N个其他球点和基准球点的空间坐标数据建立每个球体点云的空间坐标数据;
根据每个球心的空间坐标数据和视点的空间坐标数据计算每个球体点云到视点的距离,将该距离确定为深度值数据。
可选地,所述根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据包括:
确定空间坐标系与相机坐标系的第一转换关系矩阵以及相机坐标系与图像坐标系的第二转换关系矩阵;
根据所述第一转换关系矩阵和所述球体点云的空间坐标数据确定每个球体点云在相机坐标系中的坐标数据;
确定相机坐标系中的坐标数据和第二转换关系矩阵确定每个球体点云在图像坐标系下的像素坐标数据。
可选地,所述方法还包括:
根据每个球体点云上各球点在图像坐标系的坐标数据计算每个球点与同一球体点云上其他球点的度数之和;
若所述度数之和约等于360度,则保留该球点的像素坐标数据;
若所述度数之和小于180度,则删除该球点的像素坐标数据。
可选地,所述方法还包括:
若多个球体点云的像素坐标数据相同,则查找该球体点云的深度值数据;
保留深度值最小的球体点云的像素坐标数据。
本发明第二方面,提出了一种三维无序点云数据处理系统,所述系统包括:
预处理单元,用于对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
转换单元,用于将所述预处理三维无序点云数据集中的每个点云转换成球体点云;
建立单元,用于建立每个所述球体点云的空间坐标数据和深度值数据;
投影单元,用于根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
计算单元,用于根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
本发明的第三方面,提出了一种设备,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现第一方面任一项所述的三维无序点云数据处理方法。
本发明的第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现第一方面所述三维无序点云数据处理方法。
本发明的有益效果:本发明通过对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;将预处理三维无序点云数据集中的每个点云转换成球体点云;建立每个球体点云的空间坐标数据和深度值数据;根据中心投影规则将每个球体点云投影在多个角度的投影平面上;根据每个球体点云的空间坐标数据以及预设坐标转换规则计算每个球体点云在每个投影平面中的像素坐标数据。利用该像素坐标数据就可以代替三维无序点云数据进行三维重建。通过本发明的方法,能够防止点云信息丢失,且能够保留深度信息。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明实施例的一种三维无序点云数据处理方法的流程示意图;
图2是本发明实施例的球体点云投影示意图;
图3是本发明实验一中三维扫描设备扫描的点云示意图;
图4是本发明实验一中三维扫描设备获取点云数据时拍摄的二维实际图像;
图5是本发明实验一中三维无序点云经过投影后得到的二维投影图像;
图6是本发明实验二中从多个角度进行投影后得到的带有深度的二维图像;
图7是本发明实施例的一种三维无序点云数据处理系统的示意图;
图8是用于实现本申请方法、系统、设备实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
本发明提出一种三维无序点云数据处理方法,所述方法包括:
对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
将所述预处理三维无序点云数据集中的每个点云转换成球体点云;
建立每个所述球体点云的空间坐标数据和深度值数据;
根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
为了更清晰地对本发明三维无序点云数据处理方法进行说明,下面结合图1对本发明实施例中各步骤展开详述。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明第一实施例的三维无序点云数据处理方法,包括步骤S101-步骤S105,各步骤详细描述如下:
步骤S101:对三维无序点云数据集进行预处理得到预处理三维无序点云数据集。
在该步骤中,三维无序点云数据可以通过三维扫描设备来获取。
可选地,所述对三维无序点云数据集进行预处理得到预处理三维无序点云数据集包括:
消除三维无序点云数据集中的噪音点;
可选地,所述消除三维无序点云数据集中的噪音点包括:
确定三维无序点云数据集中每个点云及其临近的多个点云的原始坐标数据。
在该步骤中,每个点云临近的多个点云可以是通过肉眼观察确定的与该点云距离最近的多个点云。
根据每个点云及其临近的多个点云的原始坐标数据分别计算每个点云与其临近的各点云的距离。
在该步骤中,各点云的原始坐标数据是根据三维扫描设备扫描得到的,是一个空间坐标数据。在一个示例中,例如两个点云分别为Pm和Pn,Pm的原始坐标为(Xm,Ym,Zm),Pn的原始坐标为(Xn,Yn,Zn)。
首先求得两点在XOY平面内对应投影点的距离
Figure GDA0003874604580000081
最后求得两点的空间距离
Figure GDA0003874604580000082
Figure GDA0003874604580000083
在一个示例中,对于点云Pi,其临近的10个点云分别是{Pi1、Pi2…Pi10}。各临近点云到点云Pi的距离为{di1、di2…di10}。
根据每个点云与其临近的各点云的距离确定每个点云的平均距离和最小距离。
其中,在一个示例中,最小距离dmin=min{di1、di2...di10},式(3);
平均距离
Figure GDA0003874604580000091
将每个点云的平均距离
Figure GDA0003874604580000092
与第一预设距离阈值T1比较,并将每个点云的最小距离dmin与第二预设距离阈值T2进行比较。
若某个点云的平均距离大于第一预设距离阈值,且最小距离大于所述第二预设距离阈值,即
Figure GDA0003874604580000093
且dmin>T2,则确定该点云为噪音点,并进行删除。
其中,第一预设距离阈值可以通过某个点云Pi的平均距离
Figure GDA0003874604580000094
乘以一个预设阈值系数得到。第二预设距离阈值可以通过所有点云的平均距离的均值乘以一个预设阈值系数得到。
将去噪后的三维无序点云数据集进行归一化处理得到预处理三维无序点云数据集。
在本申请实施例中,归一化处理是为了方便后面数据标准化处理,可以采用常规的数学函数进行归一化,例如,(0,1)标准化法,找到所有点云中作为质心的点云,并遍历其他点云与该质心点云的距离,将最大距离Max和最小距离Min记录下来,即(Min=0,Max=1)进行数据的归一化处理。其中,查找最大距离和最小距离可以通过函数np.max()和np.min()进行查找。
步骤S102:将所述预处理三维无序点云数据集中的每个点云转换成球体点云。
三维无序点云数据集中的每个点云是空间中无体积意义的质点,将三维无序点云进行二维投影时,需要将三维无序点云转换成具有尺度信息的球体点云,即空间中具有半径的球体。
可选地,所述将所述预处理三维无序点云数据集中的每个点云转换成球体点云包括:
将预处理三维无序点云数据集中的每个点云Pi确定为球心;
通过公式
Figure GDA0003874604580000101
式(5)确定每个点云对应的球体半径;
通过所述球心和所述球体半径建立每个点云对应的球体点云;
其中,Ri是球体半径,
Figure GDA0003874604580000102
是每个点云的平均距离,i=1、2…N,表征每个点云。
步骤S103:建立每个所述球体点云的空间坐标数据和深度值数据。
从某一视点沿球体点云的球心方向看向球体点云时,会看见球体点云的圆形轮廓,该圆形轮廓与视角方向垂直,该圆形轮廓可以近似认为是由n个点组成的多边形,均匀的取出n个球点来代表该球体点云,并计算这n个球点的空间坐标,基于该构思,给出下述实施例中建立每个所述球体点云的空间坐标数据的步骤。
具体地,所述建立每个所述球体点云的空间坐标数据和深度值数据包括:
以视点为原点建立空间坐标系;其中所述视点为观察所有球体点云的空间点。
根据所述视点与其中一个球体点云的球心的第一方向单位向量确定该球体点云上的基准球点,其中,所述基准球点与球心的第二方向单位向量与所述第一方向单位向量垂直。
根据所述第一方向单位向量、第二方向单位向量、球体半径以及球心在该空间坐标系的坐标数据确定基准球点的空间坐标数据。
具体地,视点的坐标为[0 0 0]T,第一方向单位向量为
Figure GDA0003874604580000111
第二方向单位向量为g,根据第一方向单位向量和第二方向单位向量垂直公式g×t=0,式(6);可求得第二方向单位向量
Figure GDA0003874604580000112
为简便表达,可令
Figure GDA0003874604580000113
Figure GDA0003874604580000114
根据第二方向单位向量即可求得基准球点C1的坐标C1=Rig+pi,式(9)。
其中,在一个示例中,球心在以视点为原点的空间坐标系中的坐标数据可以通过原始坐标系与以视点为原点建立的空间坐标系的仿射变换矩阵来进行求解。仿射变换矩阵是将原始坐标系的坐标数据经过旋转、平移等变换转换成新建立的坐标系中的坐标数据。
将所述基准球点绕所述第一方向单位向量以相同角度旋转N次,得到N个其他球点;即N个球点和基准球点在于第一方向单位向量垂直的圆形轮廓上。
根据基准球点的空间坐标数据和旋转矩阵确定N个其他球点的空间坐标数据;其中,所述旋转矩阵如下:
Figure GDA0003874604580000121
其中,利用基准球点的空间坐标数据与旋转矩阵的乘积即可求得N个其他球点的空间坐标数据,例如,以30度旋转12次,那么第一旋转时,旋转矩阵中的θ=30°,继续旋转30度时,θ=60°,以此类推,得到每个点对应的旋转矩阵,即可计算得到N个其他球点的空间坐标数据。
根据所述N个其他球点和基准球点的空间坐标数据建立每个球体点云的空间坐标数据;
根据每个球心的空间坐标数据和视点的空间坐标数据计算每个球体点云到视点的距离,将该距离确定为深度值数据。
其中,利用两个点的空间坐标数据计算两点的距离的方法参考上述求解两点距离的方法,在此不再赘述。
步骤S104:根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上。参考图2中球体点云的投影示意图。
在该步骤中,首先确定投影平面,以视点指向球心的方向作为Z轴,令投影平面与Z轴垂直,且将所有球体点云中Z值最大的位置确定为投影平面位置,即投影平面方程z=max_z。
步骤S105:根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
可选地,所述根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据包括:
确定空间坐标系与相机坐标系的第一转换关系矩阵以及相机坐标系与图像坐标系的第二转换关系矩阵。
在本申请实施例中,空间坐标系即世界坐标系。为方便处理,可以在开始设置视角时就保持孔教坐标系与相机坐标系的三个方向轴方向不变。
根据所述第一转换关系矩阵和所述球体点云的空间坐标数据确定每个球体点云在相机坐标系中的坐标数据;
确定相机坐标系中的坐标数据和第二转换关系矩阵确定每个球体点云在图像坐标系下的像素坐标数据。
在一个具体的例子中,设视点G在相机坐标系中的坐标为[Gx,Gy,Gz]T,其在空间坐标系中的坐标为[0 0 0]T,则
Figure GDA0003874604580000131
其中,wTC为第一转换关系矩阵,R为旋转矩阵,由于空间坐标与相机坐标系的三个坐标轴方向相同,所以旋转矩阵为单位矩阵,
Figure GDA0003874604580000132
为平移矩阵,且
Figure GDA0003874604580000133
则球点p在相机坐标系中的坐标为
Figure GDA0003874604580000134
其中,
Figure GDA0003874604580000135
是球点P在空间坐标系的坐标数据;
Figure GDA0003874604580000136
是球点在相机坐标系下的坐标数据;
球点P经投影后在图像坐标系下坐标为:
Figure GDA0003874604580000141
其中,
Figure GDA0003874604580000142
为第二转换关系矩阵,
Figure GDA0003874604580000143
是球点在图像坐标系下的坐标数据。
由于图像中像素坐标都是整数,所以最后求得的在图像坐标系下的可以向下取整,以此作为最终的像素坐标数据,由于取整,那么有的球点对应的像素点将不会落在球体点云的投影区域内,所以需要判断球点对应的像素点是否落在投影区域内,具体步骤如下:
根据每个球体点云上各球点在图像坐标系的坐标数据计算每个球点与同一球体点云上其他球点的度数之和;
若所述度数之和约等于360度,则保留该球点的像素坐标数据;
若所述度数之和小于180度,则删除该球点的像素坐标数据。
本领域人员应当了解,由于投影区域为圆形或椭圆形,所以如果是圆内的点,每个球点与其他球点的度数之和应当接近360度,如果是圆外的点,则角度之和不可能接近于180度,以此为基础,判断各个球点对应的像素点是否在圆内部。从而能够将不在投影区域内的数据删除,一方面节省存储空间,另一方面提高数据精度。
可选地,所述方法还包括:
若多个球体点云的像素坐标数据相同,则查找该多个球体点云的深度值数据;
保留深度值最小的球体点云的像素坐标数据。
由于从视点方向查看,在重叠的球体点云中,能够看到的球体点云一定是距离视点最近的球体点云,所以保留深度值最小的球体点云的像素坐标数据,从而保证了数据精度。
下面通过两个实验来验证本申请的方法的正确性和有效性:
实验一:
如图3所示,通过三维扫描设备扫描得到三维无序点云数据图;图4是使用三维扫描设备获取点云数据时拍摄的二维实际图像。
将三维无序点云数据经过上述投影的方法投影得到二维投影图像,如图5所示。
观察三维无序点云数据二维投影图像和原始获得的二维实际图像间,并计算去除背景后两幅图像间的平均误差,计算公式如下:
Figure GDA0003874604580000151
其中,a(i)表示二维实际图像中各个像素极其周围像素共9个像素的像素值的平均值,b(i)表示二维投影图像中各个像素极其周围像素共9个像素的像素值的平均值,n表像素点个数。经过计算,得到两个图像的平均误差D=13,因此可以认为两幅图片具有较小的差距。因此,本申请的方法可以有效从三维无序点云数据中提取出二维图像。
实验二:
实验一是一个维度的,无法体现完整点云的投影,因此通过实验二从多个角度进行投影,得到图6所示的示意图。在图6中,上面一行为各个角度待投影的三维点云数据图像;下面一行为投影后的带有深度信息的投影图像。证明投影出的二维图片并未丢失三维点云的深度信息。
基于同样的发明构思,本发明第二方面,提出了一种三维无序点云数据处理系统,如图7所示,所述系统包括:
预处理单元701,用于对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
转换单元702,用于将所述预处理三维无序点云数据集中的每个点云转换成球体点云;
建立单元703,用于建立每个所述球体点云的空间坐标数据和深度值数据;
投影单元704,用于根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
计算单元705,用于根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的三维无序点云数据处理系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种设备,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现三维无序点云数据处理方法。
本发明第四实施例的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于被所述计算机执行以实现三维无序点云数据处理的方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
下面参考图8,其示出了用于实现本申请方法、系统、设备实施例的服务器的计算机系统的结构示意图。图8示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统包括中央处理单元(CPU,Central Processing Unit)801,其可以根据存储在只读存储器(ROM,Read Only Memory)802中的程序或者从存储部分808加载到随机访问存储器(RAM,Random Access Memory)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O,Input/Output)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (8)

1.一种三维无序点云数据处理方法,其特征在于,所述方法包括:
对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
将所述预处理三维无序点云数据集中的每个点云转换成球体点云,包括:将预处理三维无序点云数据集中的每个点云确定为球心;通过公式
Figure FDA0003864816860000011
确定每个点云对应的球体半径;通过所述球心和所述球体半径建立每个点云对应的球体点云;其中,Ri是球体半径,
Figure FDA0003864816860000012
是每个点云的平均距离,i=1、2…N,表征每个点云;
建立每个所述球体点云的空间坐标数据和深度值数据,包括:以视点为原点建立空间坐标系;其中所述视点为观察所有球体点云的空间点;根据所述视点与其中一个球体点云的球心的第一方向单位向量确定该球体点云上的基准球点,其中,所述基准球点与球心的第二方向单位向量与所述第一方向单位向量垂直;根据所述第一方向单位向量、第二方向单位向量、球体半径以及球心在该空间坐标系的坐标数据确定基准球点的空间坐标数据;将所述基准球点绕所述第一方向单位向量以相同角度旋转N次,得到N个其他球点;根据基准球点的空间坐标数据和旋转矩阵确定N个其他球点的空间坐标数据;根据所述N个其他球点和基准球点的空间坐标数据建立每个球体点云的空间坐标数据;根据每个球心的空间坐标数据和视点的空间坐标数据计算每个球体点云到视点的距离,将该距离确定为深度值数据;
其中,所述旋转矩阵如下:
Figure FDA0003864816860000013
根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
2.根据权利要求1所述的方法,其特征在于,所述对三维无序点云数据集进行预处理得到预处理三维无序点云数据集包括:
消除三维无序点云数据集中的噪音点;
将去噪后的三维无序点云数据集进行归一化处理得到预处理三维无序点云数据集。
3.根据权利要求2所述的方法,其特征在于,所述消除三维无序点云数据集中的噪音点包括:
确定三维无序点云数据集中每个点云及其临近的多个点云的原始坐标数据;
根据每个点云及其临近的多个点云的原始坐标数据分别计算每个点云与其临近的各点云的距离;
根据每个点云与其临近的各点云的距离确定每个点云的平均距离和最小距离;
将每个点云的平均距离与第一预设距离阈值比较,并将每个点云的最小距离与第二预设距离阈值进行比较;
若某个点云的平均距离大于第一预设距离阈值,且最小距离大于所述第二预设距离阈值,则确定该点云为噪音点,并进行删除。
4.根据权利要求1所述的方法,其特征在于,所述根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据包括:
确定空间坐标系与相机坐标系的第一转换关系矩阵以及相机坐标系与图像坐标系的第二转换关系矩阵;
根据所述第一转换关系矩阵和所述球体点云的空间坐标数据确定每个球体点云在相机坐标系中的坐标数据;
确定相机坐标系中的坐标数据和第二转换关系矩阵确定每个球体点云在图像坐标系下的像素坐标数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据每个球体点云上各球点在图像坐标系的坐标数据计算每个球点与同一球体点云上其他球点的度数之和;
若所述度数之和与360度之间的差值在设定范围内,则保留该球点的像素坐标数据;
若所述度数之和小于180度,则删除该球点的像素坐标数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若多个球体点云的像素坐标数据相同,则查找该球体点云的深度值数据;
保留深度值最小的球体点云的像素坐标数据。
7.一种三维无序点云数据处理系统,其特征在于,所述系统包括:
预处理单元,用于对三维无序点云数据集进行预处理得到预处理三维无序点云数据集;
转换单元,用于将所述预处理三维无序点云数据集中的每个点云转换成球体点云,包括:将预处理三维无序点云数据集中的每个点云确定为球心;通过公式
Figure FDA0003864816860000031
确定每个点云对应的球体半径;通过所述球心和所述球体半径建立每个点云对应的球体点云;其中,Ri是球体半径,
Figure FDA0003864816860000032
是每个点云的平均距离,i=1、2…N,表征每个点云;
建立单元,用于建立每个所述球体点云的空间坐标数据和深度值数据,包括:以视点为原点建立空间坐标系;其中所述视点为观察所有球体点云的空间点;根据所述视点与其中一个球体点云的球心的第一方向单位向量确定该球体点云上的基准球点,其中,所述基准球点与球心的第二方向单位向量与所述第一方向单位向量垂直;根据所述第一方向单位向量、第二方向单位向量、球体半径以及球心在该空间坐标系的坐标数据确定基准球点的空间坐标数据;将所述基准球点绕所述第一方向单位向量以相同角度旋转N次,得到N个其他球点;根据基准球点的空间坐标数据和旋转矩阵确定N个其他球点的空间坐标数据;根据所述N个其他球点和基准球点的空间坐标数据建立每个球体点云的空间坐标数据;根据每个球心的空间坐标数据和视点的空间坐标数据计算每个球体点云到视点的距离,将该距离确定为深度值数据;
其中,所述旋转矩阵如下:
Figure FDA0003864816860000041
投影单元,用于根据中心投影规则将每个所述球体点云投影在多个角度的投影平面上;
计算单元,用于根据每个所述球体点云的空间坐标数据以及预设坐标转换规则计算每个所述球体点云在每个投影平面中的像素坐标数据。
8.一种设备,其特征在于,包括:
至少一个处理器;以及
与至少一个所述处理器通信连接的存储器;其中,
所述存储器存储有可被所述处理器执行的指令,所述指令用于被所述处理器执行以实现权利要求1-6任一项所述的三维无序点云数据处理方法。
CN202110654715.9A 2021-06-11 2021-06-11 一种三维无序点云数据处理方法、系统及设备 Active CN113393514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110654715.9A CN113393514B (zh) 2021-06-11 2021-06-11 一种三维无序点云数据处理方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110654715.9A CN113393514B (zh) 2021-06-11 2021-06-11 一种三维无序点云数据处理方法、系统及设备

Publications (2)

Publication Number Publication Date
CN113393514A CN113393514A (zh) 2021-09-14
CN113393514B true CN113393514B (zh) 2022-11-25

Family

ID=77620648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110654715.9A Active CN113393514B (zh) 2021-06-11 2021-06-11 一种三维无序点云数据处理方法、系统及设备

Country Status (1)

Country Link
CN (1) CN113393514B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115063496B (zh) * 2022-08-19 2023-06-27 北京山维科技股份有限公司 一种点云数据快速处理方法及装置
CN115272493B (zh) * 2022-09-20 2022-12-27 之江实验室 一种基于连续时序点云叠加的异常目标检测方法及装置
CN115937466B (zh) * 2023-02-17 2023-07-04 烟台市地理信息中心 一种融合gis的三维模型生成方法、系统及存储介质
CN116030103B (zh) * 2023-03-07 2024-02-27 北京百度网讯科技有限公司 确定砌筑质量的方法、装置、设备和介质
CN116664393B (zh) * 2023-07-05 2024-02-27 北京大学 面部数据漂白方法、装置、计算设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109448106B (zh) * 2018-10-17 2023-03-10 东华理工大学 基于球坐标的植物果实点云重建方法
CN110335295B (zh) * 2019-06-06 2021-05-11 浙江大学 一种基于tof相机的植物点云采集配准与优化方法
CN110910463B (zh) * 2019-10-14 2021-05-14 中国科学院自动化研究所 全视角点云数据定长有序化编码方法、设备及存储介质
CN110866934B (zh) * 2019-10-14 2022-09-09 中国科学院自动化研究所 基于规范性编码的复杂点云分割方法及系统
CN111951197B (zh) * 2020-08-14 2023-10-20 中国科学院自动化研究所苏州研究院 一种基于结构光的点云分割方法
CN112927340B (zh) * 2021-04-06 2023-12-01 中国科学院自动化研究所 一种不依赖于机械摆放的三维重建加速方法、系统及设备

Also Published As

Publication number Publication date
CN113393514A (zh) 2021-09-14

Similar Documents

Publication Publication Date Title
CN113393514B (zh) 一种三维无序点云数据处理方法、系统及设备
AU2013326865B2 (en) Determining image transforms without using image acquisition metadata
CN108228798B (zh) 确定点云数据之间的匹配关系的方法和装置
CN108732582B (zh) 车辆定位方法和装置
AU2018200218A1 (en) Statistical point pattern matching technique
US9147287B2 (en) Statistical point pattern matching technique
Rosten et al. Camera distortion self-calibration using the plumb-line constraint and minimal Hough entropy
CN109272442B (zh) 全景球面图像的处理方法、装置、设备和存储介质
CN116205978A (zh) 三维目标物体映射图像确定方法、装置、设备及存储介质
CN114187589A (zh) 一种目标检测方法、装置、设备和存储介质
WO2023165220A1 (zh) 一种目标物体的检测方法和装置
CN115115655A (zh) 目标分割方法、装置、电子设备、存储介质及程序产品
CN109766896B (zh) 一种相似度度量方法、装置、设备和存储介质
CN110427506A (zh) 空间数据边界处理方法、装置、计算机设备及存储介质
CN112419460B (zh) 烘焙模型贴图的方法、装置、计算机设备和存储介质
CN112051921B (zh) Ar导航地图生成方法、装置、计算机设备和可读存储介质
CN115031635A (zh) 测量方法及装置、电子设备及存储介质
Huang et al. 3D Browsing of Wide‐Angle Fisheye Images Under View‐Dependent Perspective Correction
CN112906092A (zh) 一种映射方法和映射系统
Keyvanfar et al. Performance comparison analysis of 3D reconstruction modeling software in construction site visualization and mapping
CN113643328B (zh) 标定物的重建方法、装置、电子设备及计算机可读介质
CN115393423A (zh) 目标检测方法和装置
CN109887078B (zh) 天空绘制方法、装置、设备和介质
CN113345023A (zh) 箱体的定位方法、装置、介质和电子设备
CN116492082B (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