一种点云骨架提取方法及装置
技术领域
本发明涉及三维图像处理技术领域,特别涉及一种点云骨架提取方法及装置。
背景技术
计算机图形学的快速发展,与之相关的各项技术在理论和实践方面都取得了重大突破。特别是点云模型,在医疗卫生、动画制作、工业设计、模式识别等领域有了十分广泛的应用,因此对于点云模型的分析和处理是图形学研究领域的重要方向之一。但是原始的点云数据存在信息量大、冗余量多、不易保存等问题,因此研究者们提出了图形曲线骨架的概念,用一维的曲线表达三维点云数据,不仅信息量小、易保存,同时还能包含丰富的拓扑信息。目前,曲线骨架已经在三维重建、形状匹配中起到了重要的作用。
随着研究的不断深入,研究者们已经提出了很多骨架提取方法。这些骨架提取方法大致可以分为以下四种:第一种是体素细化法,该方法每次删除位于模型最外层的体素,直到没有可以删除的体素为止,最后剩下的就是模型的骨架。第二种是距离变换法,该方法先计算模型内部每个点到边界上的距离变换,距离的局部极值就是模型中心部位的关键点,连接这些关键点得到模型的骨架。第三种是Voronoi图法,该方法基于中轴线利用Voronoi图思想计算得到模型的骨架。第四种是Reeb图法,该方法先定义一个函数f,然后根据函数f确定模型中每个点对应的函数值,将模型上每个顶点分类聚合到各个分支位置,这些顶点就是Reeb图中的边或者节点,最后得到Reeb图表示的模型骨架。
尽管这些骨架提取方法各有优点,但是也存在不同的缺点。体素细化法只是从模型的局部范围考虑,没有顾虑全局的连通性,因此抗噪声能力差,提取的骨架精确度不高。距离变换法对模型边界噪声敏感,无法保持模型的原始拓扑信息。Voronoi图法和Reeb法都存在抗噪能力低同时计算量大,效率低等问题。
发明内容
有鉴于此,本发明的目的在于提供一种点云骨架提取方法及装置,针对现有点云骨架提取方法对噪声敏感和不能体现图形细节等不足,本发明提出的点云骨架提取方法具有抗噪且精确的特点,使其能基于最优质量传输的方法计算骨架点位置并得到连续的一维曲线骨架,最优质量传输有很强的抗噪声能力,并且通过熵约束可以减少计算复杂度,本发明所述方法能有效解决现有骨架提取方法存在的问题。
为达到上述目的,本发明提供如下技术方案:
一种点云骨架提取方法,包括以下步骤:
对原始点云模型进行采样;
采用基于最优质量传输的方法迭代收缩采样点,提取点云模型的骨架点;
连接骨架点得到曲线骨架。
进一步,所述迭代收缩采样点前包括合并采样点步骤,所述合并采样点步骤具体为通过质量相似度比较来合并采样点。
进一步,所述采用基于最优质量传输的方法迭代收缩采样点,通过以下迭代公式计算质量中心:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量;qi为采样点集合中第j个点所能接受的质量;||pi-qj||为点云集合中第i个点与采样点集合中第j个点之间的欧式距离。
进一步,所述合并采样点具体通过以下方式实现:
当所述采样点与两个或以上采样点相邻时,计算所述相邻采样点的中点,中点的质量为所述采样点的质量和,然后删除所述采样点及相邻采样点,将中点加入采样点集合。
进一步,所述方法还包括对曲线骨架进行平滑处理。
进一步,所述平滑处理通过线性规整项实现,公式为:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量,qi为采样点集合中第j个点所能接受的质量;λ为权重系数,v(qj)为骨架点q的领域内点的个数,N(qj)为骨架点q的领域点集合,qk为领域点集合中的点。
一种点云骨架提取装置,包括点云数据采样模块,用于对原始点云模型进行采样得到采样点集合;
骨架点提取模块,用于基于最优质量传输的方法迭代收缩采样点,提取点云模型的骨架点;
点云骨架生成模块,用于连接骨架点得到曲线骨架;
平滑处理模块,用于对曲线骨架进行平滑处理。
进一步,还包括采样点合并模块,用于在迭代收缩采样点之前通过质量相似度比较来合并采样点。
进一步,所述骨架点提取模块,基于最优质量传输的方法迭代收缩采样点,通过以下迭代公式计算质量中心:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量;qi为采样点集合中第j个点所能接受的质量;||pi-qj||为点云集合中第i个点与采样点集合中第j个点之间的欧式距离。
进一步,所述平滑处理模块,通过线性规整项实现,公式为:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量,qi为采样点集合中第j个点所能接受的质量;λ为权重系数,v(qj)为骨架点q的领域内点的个数,N(qj)为骨架点q的领域点集合,qk为领域点集合中的点。
本发明的有益效果在于:本发明提供的一种点云骨架提取方法及装置,在基于最优质量传输理论计算质量重心的基础上,使得在采样点分布散乱的情况下,能够计算得到接近真实中点的重心点,同时增加了规整项,依靠规整项的约束作用对骨架平滑化,本发明所述方法不受点云模型是否缺失的影响,同时也不受点云噪声和点云分布不均匀的影响,不需要设置过多参数,极大提高了骨架提取的精度。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明所述的点云骨架提取方法的流程图;
图2(a)为输入点云数据的采样图;
图2(b)(c)(d)为采样点收缩为骨架点过程;
图3为连接骨架点得到的曲线骨架;
图4为平滑化处理后的曲线骨架。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
本发明提供一种点云骨架提取方法及装置,基于最优质量传输理论,首先从点云模型中进行随机下采样,假设点云中的每个点携带一部分质量,采样点中的每个点接受一部分质量;然后根据传输代价最小原则计算点云上的质量运输到采样点的最优质量传输方案;接着根据传输方案计算质量重心,保持采样点位于局部质量重心,最后得到模型骨架,如图1所示,本发明所述方法具体包括以下步骤:
步骤1:对输入点云数据进行采样,得到采样点集合;该步骤通过点云骨架提取装置中的点云数据采样模块来实现。
原始点云模型包含大量的点,需要从这些点下采样得到采样点,然后迭代收缩采样点得到骨架点,从而建立骨架。采样点的个数影响到后期生成的曲线骨架,较少的采样点个数可以提高运算效率,而较多的采样个数会让曲线骨架表现出更多的模型细节。通过实验取输入点云数据总数目的10%作为采样点,采样方法采取随机下采样。为了方便描述,下文统一称输入的点云数据集为P,采样所获得的点集为Q。
分配点云上每一个点的质量分布,使其满足如下条件:
其中,p
i为每一个点的质量,n为模型中所有点的个数,一般情况下,采取平均分配的方式,令每个质量都为
相应的,分配每个采样点的质量分布,使其满足如下条件:
其中,q_i为每一个采样能接受的质量,m为采样点的总个数,一般情况下,采取平均分配的方式,令每个质量都为1/m。
步骤2:基于最优质量传输的方法迭代收缩采样点提取点云模型的骨架点,该步骤通过点云骨架提取装置中的骨架点提取模块来实现,采样过程及采样点收缩为骨架点过程如图2所示。
步骤201:计算传输代价,传输代价是使用最优质量传输理论的必要条件,本实施例将采样与原始点之间的距离作为传输代价,距离大小直接反映质量传输代价的大小。
步骤202:更新采样点坐标。在获取传输代价之后,就可以根据迭代公式计算质量重心坐标,迭代公式为:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量;qi为采样点集合中第j个点所能接受的质量;||pi-qj||为点云集合中第i个点与采样点集合中第j个点之间的欧式距离。
相对于传统的使用线性规划计算传输计划,本发明使用熵约束近似计算传输计划,其特点是速度快,准确性好。由对偶理论,在公式(1)的基础上添加熵正则项,当第二项越趋向于0,传输计划越精确,计算效率很低;相反,当第二项越大,传输计划就越模糊,但是计算效率就高。因此,通过实验在熵正则项前加上权重系数,一般取值0.001。具体公式为:
其中,其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量;qi为采样点集合中第j个点所能接受的质量;||pi-qj||为点云集合中第i个点与采样点集合中第j个点之间的欧式距离。λ是权重系数,h(W)为传输计划的熵,定义为:
本实施例采用Sinkhorn动点迭代法计算公式(2),迭代公式为:
其中,P为点云上的质量分布;Q为采样点上的质量分布;K为与传输计划相关的核函数,定义为:
K=e-λ||pi-qj||
其中,λ为权重系数。
迭代完成后,根据公式(3)得到传输计划W,公式为:
W=PKQ (3)
得到传输计划以后,根据公式(1)更新采样点q的位置,公式(1)对q求导并令它等于0,得
步骤203:确定骨架点,合并其他采样点,该步骤通过点云骨架提取装置中的采样点合并模块来实现。
根据最优质量传输理论,质量总是优先传输到传输代价最小的采样点,也就是距离最近的采样点。查询每个采样点邻域集合中点质量传输的情况,当有点将质量传输到其他采样点,表明这两个采样点在位置上存在相邻关系。以此类推,同时位于两个或多个采样点邻域边缘的点会将质量传输到多个采样点,这样多个采样点就存在相邻关系。根据定义,骨架是一维曲线。两个或以上采样点相邻会形成曲面,这些采样点就需要合并,具体包括以下步骤:
确定骨架点:计算每个采样点的相邻关系,当一个采样点与一个或多个采样点相邻,同时相邻的采样点各自不相邻,其可以与这些采样点形成骨架分支,顾其可以成为骨架点。
合并采样点:当一个采样点与两个或以上采样点相邻,同时相邻的采样点也存在相邻的情况,其会形成曲面结构,顾其不能成为骨架点,先计算这些相邻采样点的中点,中点的质量为这些采样点的质量和,然后删除这些采样点,将中点加入采样点集合,最后返回步骤二,重新计算质量重心。
当骨架中不存在需要合并的采样点,就可以进入步骤3。
步骤3:确定并连接骨架点得到曲线骨架,该步骤通过点云骨架提取装置中的点云骨架生成模块来实现,连接骨架点得到的曲线骨架如图3所示。
经过步骤2处理后,采样点集合Q逐渐收缩到点云模型局部中心位置,将这些点用直线逐个相连就可形成曲线骨架。
当所有的采样点都称为骨架点,就可以连接这些点形成曲线骨架。骨架点是不包含连接关系的,连接的原理是再次利用传输计划W找出骨架点的邻域,确定它们之间的连接关系。具体做法是:传输计划记录了每个采样点质量传输情况,每个骨架点上的质量都是点云中的点传输过来的,所有这些点就形成了骨架点的邻域。当骨架点之间邻域有重合部分,则认为这些骨架点是相邻的。相邻骨架点用直线相连,就形成了模型的骨架。
步骤4:利用线性规整项,对骨架作平滑化处理,得到最终的曲线骨架,该步骤通过点云骨架提取装置中的平滑处理模块来实现,使得在骨架点分布不均匀的情况下,依靠规整项的调节作用使得计算得到的骨架分支作平滑化处理,经过平滑化处理的曲线骨架如图4所示。
通过步骤3得到的骨架还可以进行平滑化处理,具体包括以下步骤:
在两个直线相连接的骨架点之间均匀插入若干个点,这些点正好将直线等分成若干个线段,将这些加入到骨架点集合Q中。
加入规整项:
其中,λ为权重系数,v(qj)为骨架点q的领域内点的个数,N(qj)为骨架点q的领域点集合,qk为领域点集合中的点。
规整项对骨架点集Q中点的位置进行了约束,它能使得对于分布散乱的骨架点可在规整项的约束下仍可保持直线分布。
根据迭代公式计算质量重心坐标,迭代公式为:
其中,Wij为质量传输计划,表示点云集合中第i个点和采样点集合中第j个点之间质量传输的大小;pi为点云集合中第i个点的质量,qi为采样点集合中第j个点所能接受的质量;λ为权重系数,v(qj)为骨架点q的领域内点的个数,N(qj)为骨架点q的领域点集合,qk为领域点集合中的点。
骨架点集Q中点数量的增加和规整项的约束,最终得到一个平滑的,并且骨架点均分分布的一维曲线骨架。
本发明还提供了一种点云骨架提取装置,包括上述的点云数据采样模块、骨架点提取模块、点云骨架生成模块及平滑处理模块。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。