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

基于最优传输理论的二维点云形状分区域并行重建方法与流程

2022-02-20 13:33:00 来源:中国专利 TAG:


1.本发明涉及点云形状重建领域,尤其是涉及在cpu上并行实现多区域重建的一种基于最优传输理论的二维点云形状分区域并行重建方法。


背景技术:

2.最优传输理论(optimal transport theory)([1]s.kolouri,s.r.park,m.thorpe,d.slepcev,g.k.rohde.optimal mass transport:signal processing and machine learning applications[j].ieee signal processing magazine.2017.34(4):43

59)是基础数学领域的一个分支,其本质是研究概率分布,与机器学习有一定的共同点,并广泛应用于生成模型、概率性自编码器、变分推断、强化学习和聚类等。进入21世纪以来,最优传输理论与其他学科的联系越来越紧密,其中便包含计算机图形学。
[0003]
de goes等人([2]f.de goes,d.cohen steiner,p.alliez,m.desbrun.an optimal transport approach to robust reconstruction and simplification of 2d shapes[c].computer graphics forum,vol.30.wiley online library,2011,1593

1602)与2011年提出一种基于最优传输理论的二维点云形状云重建的标准框架。首先根据点云建立一个初始的delaunay三角网格,然后根据最优传输理论每一步都计算得到一条半边并将其进行收缩,不断重复此步骤最终得到重建结果。
[0004]
并行处理(parallel processing)是一种在计算机系统中可以同时进行多个处理的计算方法,可以同时处理同一个程序的不同方面,其主要目的就是在处理大型复杂问题的时间。
[0005]
区域生长算法大多应用在图像分割的场景中,其核心思想是以某种人为确定的准则,把具有相同特征的像素合并在一起从而形成一片区域,不同特征的像素集合则构成多个区域。该算法的大致流程是首先对每个待分割的区域中找出一个种子像素点来作为该区域的像素点,根据先前确定的准则,将该种子像素点周围邻近的像素点进行判断合并,然后再将新合并的像素点作为种子点重复上述操作。此过程如同种子一样发芽生长,故也称为种子区域生长算法(region seeds growing)。
[0006]
点云一般通过扫描仪器对物体进行扫描来得到,但通过此方式得到的点云数据有时会掺杂着噪点和离群。另外,一些扫描的对象,特别是建筑物,会存在大量的特征,例如棱角、相交、分叉以及边界。如何正确地处理这些特征和噪点,是一个比较难的问题。


技术实现要素:

[0007]
本发明的目的在于针对现有技术存在的上述问题,提供能有效重建出含噪以及多特征点云形状的一种基于最优传输理论的二维点云形状分区域并行重建方法。
[0008]
本发明包括以下步骤:
[0009]
1)输入二维点云数据,构建delaunay三角网格,计算初始传输计划;
[0010]
2)根据传输代价从当前点云中计算得到合适的点,将其加入到delaunay三角网格
中;
[0011]
3)重复步骤2),直到顶点个数满足设置的条件,然后删除delaunay三角网格的部分边,得到图结构;
[0012]
4)选择图结构中的一条合适的半边,将其进行收缩;
[0013]
5)重复步骤4),直到图结构的顶点数量满足设置的值;
[0014]
6)对于一些数据量较大或由多个独立部分组成的点云,通过检测出若干区域,在这些区域上并行地运行步骤1)~5)进行重建。
[0015]
即完成基于最优传输理论的二维点云形状分区域并行重建。
[0016]
在步骤1)中,所述二维点云数据,支持.txt格式的文件,文件中每一行含两个数,分别为一个点的横坐标和纵坐标,中间用空格隔开。
[0017]
在步骤2)中,所述根据传输代价从当前点云中计算得到合适的点,将其加入到delaunay三角网格中,是根据输入点云数据以及初始delaunay三角网格,不断地从点云剩余的点中选取合适的点添加到delaunay三角网格中,具体步骤可为:首先,选取网格中传输成本最大的一条边;其次,从此边分配到的点集中选取一个对传输成本贡献最大的点p;最后,将点p作为要添加到delaunay三角网格中的顶点。
[0018]
在步骤3)中,不断重复步骤2),然后将得到的delaunay三角网格的部分边删除,从而得到一个图结构,其中被删除的边称为无效边,保留下来的边称为有效边。此过程基于delaunay三角网格中各边的长度来进行,首先,对于delaunay三角网格中的每一条边,从当前的传输计划中搜索是否存在点传输到此边上,如果此边没有被分配到任何点,那么计算此边的长度。当找到所有的这种边后,计算这些边的平均长度,记为avglen。再对delaunay三角网格的边进行遍历,将所有长度大于α
·
avglen的边看作为无效边进行删除。一般将参数α设置为0.3。
[0019]
在步骤4)中,对于经过步骤3)得到的图结构。经过计算选择出一条半边,使得此半边进行收缩后整个图结构的传输代价最小。收缩这条半边,即将半边的起点移至终点使得这两个顶点重合。
[0020]
在步骤5)中,不断重复步骤4),直到图结构的顶点数量满足设置的值,最终得到重建结果。
[0021]
在步骤6)中,对于一些数据量较大的点云或者由多个独立的部分组成的点云,可以对其进行区域划分或者运行区域生长方法检测出多个区域。然后在多个区域上并行地运行步骤1)至5)进行重建。若这多个区域内的点云在原始点云中是互不连接或相交的,那么在各区域得到的重建结果的并集便是最终的整体的重建结果,否则可以进行一次整体重建,将各个区域的重建结果顶点作为一个delaunay网格的顶点,然后对其运行步骤3)到5),得到最终的重建结果。
[0022]
与现有技术相比,本发明具有以下突出的优点:
[0023]
1、用图结构来代替delaunay三角网格。发现在对delaunay三角网格进行简化前,由于要对网格中所有的半边进行其收缩前后的花费差的计算,而且在简化过程中,也要不断地进行这种计算以及不断地更新优先队列,所以边的数量的大小直接影响算法速度的快慢。所以引入图结构的目的就是尽可能的在简化操作前将原有的delaunay三角网格中的一些无效边删除,从而达到加速整个简化过程的目的。
[0024]
2、选择性地选取点加入到delaunay三角网格中。原算法中初始delaunay三角网格的顶点是由点云中全部的点或者一定比例的点构成,而在本发明方法中,初始delaunay三角网格的顶点仅由6个顶点组成。随后提出一种选择合适的点作为delaunay三角网格剩余顶点的方法,此方法是基于最优传输理论来进行的,能够得到一个更好的delaunay三角网格,能够减少后续简化过程的时间消耗。
[0025]
3、提出一种分区域并行处理的方法以针对大型点云数据或者多连通点云数据。此方法主要通过将原来尺寸较大的点云分解成多个部分,然后将算法应用到尺寸较小的点云上并且通过并行处理以提高速度,最后再将各部分拼接起来或者直接取各部分重建结果的并集作为最终结果。
[0026]
本发明提供一种二维点云形状重建方法,其基于最优传输理论,能够有效的重建出含噪以及多特征点云的形状。
附图说明
[0027]
图1为常规重建算法输入二维点云。
[0028]
图2为常规重建算法添加顶点完毕后的delaunay三角网格。
[0029]
图3为常规重建算法将delaunay三角网格中无效边删除后得到的图结构。
[0030]
图4为常规重建算法最终重建结果。
[0031]
图5为本发明分区域并行重建算法输入二维点云,此点云由多个独立的部分组成。
[0032]
图6为本发明分区域并行重建算法点云的区域检测结果,不同颜色的点云代表不同的区域。
[0033]
图7为本发明分区域并行重建算法最终重建结果。
具体实施方式
[0034]
为使本发明的目的、技术方案及优点更加清楚明白,以下实施例将结合附图对本发明作进一步的说明。
[0035]
本发明实施例包括以下步骤:
[0036]
1)输入二维点云数据,构建delaunay三角网格,计算初始传输计划;所述二维点云数据,支持.txt格式的文件,文件中每一行含两个数,分别为一个点的横坐标和纵坐标,中间用空格隔开。
[0037]
2)根据传输代价从当前点云中计算得到合适的点,将其加入到delaunay三角网格中;根据输入点云数据以及初始delaunay三角网格,从点云中计算出合适的点添加到delaunay三角网格中。提出一种计算delaunay三角网格顶点的方法,此方法的核心思想是根据最优传输代价不断地从点云剩余的点中选取合适的点作为顶点添加到delaunay三角网格中。首先,选取网格中传输成本最大的一条边。其次,从此边分配到的点集中选取一个对传输成本贡献最大的点p。最后,将点p作为要添加到delaunay三角网格中的顶点。
[0038]
3)重复步骤2),直到顶点个数满足设置的条件,然后删除delaunay三角网格的部分边,得到图结构;不断重复步骤2),然后将得到的delaunay三角网格的部分边删除,从而得到一个图结构,其中被删除的边称为无效边,保留下来的边称为有效边。此过程基于delaunay三角网格中各边的长度来进行,首先,对于delaunay三角网格中的每一条边,从当
前的传输计划中搜索是否存在点传输到此边上,如果此边没有被分配到任何点,那么计算此边的长度。当找到所有的这种边后,计算这些边的平均长度,记为avglen。再对delaunay三角网格的边进行遍历,将所有长度大于α
·
avglen的边看作为无效边进行删除。一般将参数α设置为0.3。
[0039]
4)选择图结构中的一条合适的半边,将其进行收缩;对于经过步骤3)得到的图结构。经过计算选择出一条半边,使得此半边进行收缩后整个图结构的传输代价最小。收缩这条半边,即将半边的起点移至终点使得这两个顶点重合。
[0040]
5)重复步骤4),直到图结构的顶点数量满足设置的值,即完成基于最优传输理论的二维点云形状分区域并行重建。不断重复步骤4),直到图结构的顶点数量满足设置的值,最终得到重建结果。
[0041]
6)对于一些数据量较大或者由多个独立部分组成的点云,通过检测出若干区域,可以在这些区域上并行地运行步骤1)至5)进行重建。对于一些数据量较大的点云或者由多个独立的部分组成的点云,可以对其进行区域划分或者运行区域生长方法检测出多个区域。然后在多个区域上并行地运行步骤1)至5)进行重建。若这多个区域内的点云在原始点云中是互不连接或相交的,那么在各区域得到的重建结果的并集便是最终的整体的重建结果,否则可以进行一次整体重建,将各个区域的重建结果顶点作为一个delaunay网格的顶点,然后对其运行步骤3)到5),得到最终的重建结果。
[0042]
本发明中需要计算点云与三角网格或图结构之间的传输代价,为便于下文叙述,这里作出如下符号定义:对于网格t(或图结构g)中的任意一条边e和任意一个顶点v。将传输到边e上的点的集合记作se,将传输到顶点v上的点的集合集记作sv。
[0043]
对三角网格t(或图结构g)中的某一条边e,其被分配到的点集se中的点传输到这条边上的传输代价为:
[0044]
coste=ncost
e2
tcost
e2

[0045]
这里将传输成本分解为两个互相垂直的方向上的传输代价来计算,其中ncoste为传输到边e上的点在垂直于边e方向上的传输代价,tcoste为传输到边e上的点在平行于边e方向上的传输代价。
[0046]
点pi在垂直于边e方向上的传输代价为:
[0047][0048]
其中,qi是点pi在边e上的正交投影点,||p
i-qi||2为点pi到点qi距离的平方。
[0049]
对于传输到边e上的点集se在垂直于边e方向上的传输代价为:
[0050][0051]
这个定义比较简单,就是简单地计算出传输到边e上的每个点到边e的欧式距离的平方,然后累加起来再开根号得到。
[0052]
平行于边e方向上的传输代价的计算相对来说比较复杂,首先,假设点集se={pi}被传输到边e上,se的大小记作|se|。这里将边e按照长度平均分成|se|段,即每一段的长度为li=|e|/|se|,其中|e|为边e的长度。把点集se沿着边e按照从一个端点到另一个端点的位置顺序进行排序,并且将相应的垂直于边e的投影点记作点集{qi}。这里,对点集se中的第
i个点pi进行分析,其对应的在边e上的正交投影点为qi。建立一个一维的坐标系(也就相当于数轴),其原点为边e上第i段区域的中点,记作ci。这时,点pi在平行于边e方向上的传输代伤波看作是边e的第i段区域内所有的点到点qi的距离的平方的积分,也就是:
[0053][0054]
把每一个点pi在平行于边e方向上的传输代价累加起来,便得到整个被传输到边e上的点集se在平行于边e方向上的传输代价:
[0055][0056]
下面来介绍一下点到顶点的传输代价的定义。对网格t(或图结构g)中的某一顶点v,其被分配到的点集sv传输到这个顶点的传输代价的定义如下:
[0057][0058]
其中,||p
i-v||2为点pi到顶点v距离的平方。
[0059]
假设给定某种传输计划ω,则在此传输计划下整个网格t(或图结构g)的传输成本为:
[0060][0061]
在有计算传输代价的方法后,下面给出制定最优传输计划的方法:假设现有一个三角网格t(或图结构g)和一组点集s={pi}。首先,对于点集s中的某个点pi,在三角网格t(或图结构g)中找到一条距离点pi最近的一条边,并将点pi先传输到这条边上。对点集s中所有的点都做如上的操作后,这样三角网格t(或图结构g)的每条边e都分配到一组点集se。显然,对于不同的边e,se可能为空,也可能不为空。然后,对每条边e及其分配到的点集se(se不为空),分别计算以下两种分配方式所对应的传输成本:a)保持se中的每个点仍然传输到边e上;b)对se中的每个点p,将其传输到距其最近的边e的一个端点上。分别计算在a)方式下和b)方式下边e相应的传输成本,然后选择a)和b)中对应传输成本最小的一种传输计划作为点集se到边e的最终传输计划。对网格t中的每条边e执行以上操作后,便得到关于整个三角网格t(或图结构g)的最优传输计划。
[0062]
以下结合附图,本发明实施例包括以下步骤:
[0063]

常规重建算法
[0064]
图1为输入二维点云,经过步骤1)和步骤2)后得到图2中的delaunay三角网格。进行步骤3)中的删除无效边操作后得到图3中的图结构,然后对此图结构进行步骤4)及步骤5),得到最终重建结果,如图4所示。
[0065]

分区域并行重建算法
[0066]
图5为输入二维点云,经过区域生长算法进行区域检测后得到图6中各个相互独立的点云区域。然后对各区域内的点云进行并行地重建,即在各区域内的点云上并行地执行
步骤1)至5),最后将各区域重建结果的并集作为整体的最终重建结果,如图7所示。
[0067]
上述二维点云形状重建方法可以在cpu上并行实现,提高处理效率,重建结果精度高,重建速度快。
再多了解一些

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

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

相关文献